*************************************************** Maßnahmen für die Präsentation von Bildern *************************************************** ****Formeln**** / displaysize = abs(openended.enterdisplaysize.response)*2.54*0,87157552765421 / pixpercm = display.width/expressions.displaysize / pixpercmbyline = values.linelength_px/8.56 / displaysizebyline = display.width/expressions.pixpercmbyline / displaydiagonalcalculated = expressions.displaysizebyline/2.54/0,87157552765421 / factorsize = (display.width/600) * (10,1/expressions.displaysize) / vectorposition = (((10,1 + 0,5)/2)/expressions.displaysize)*display.width ++++/displaysize: Umrechnung der Displaydiagonale in Länge in cm /factorsize: Faktor zum Umrechnung der Größe der Stimuli /vectorposition: Vektor zum Verschieben der Stimuli nach links bzw. rechts von der Mitte aus (0,5cm Lücke) /pixpercm: Eine praktische Variable, die wir hervorragend für die Positionierung der sensitiven Bereiche nutzen können /pixpercmbyline: Die selbe Variable, hier durch den changelinelength trial erhalten /displaysizebyline: Die Breite des Displays, durch changelinelength erhalten /displaydiagonalcalculated: ...umgerechnet auf die Display-Diagonale++++ ####Für das Seitenverhältnis (z.B. bei 4:3) müssen wir noch kontrollieren!#### ****Kennst du deine Display-Größe?**** / items = ("Do you know the size of your display in inches?") / position = (50,50) / items = ("I know my display size") / position = (70,80) / items = ("I don't know my display size") / position = (30,80) / stimulusframes = [1=doyouknowittext, yes, no] / validresponse = (yes, no) / correctresponse = (yes) / inputdevice = mouse / branch = [if(trial.doyouknowit.correct) openended.enterdisplaysize] / branch = [if(trial.doyouknowit.error) trial.changelinelength] ++++Entweder direkt zur Eingabe, oder erst zum Check++++ ****Buttons**** / items = ("Smaller") / position = (35,90) / erase = false / items = ("Larger") / position = (65,90) / erase = false / items = ("Confirm: <%values.linelength_px%>px") / position = (50,90) / erase = false ****Modifizierte Elemente aus "Absolute Sizing"-Skript**** / stimulusframes = [1 = eraser, instructions, line, arrow, smaller, larger, confirm] / validresponse = (smaller, larger, confirm) / correctresponse = (confirm) / correctmessage = (textshowdisplaysize, 3000) / inputdevice = mouse / ontrialend = [if (trial.changelinelength.response == "smaller") values.linelength_px -= 2] / ontrialend = [if (trial.changelinelength.response == "larger") values.linelength_px += 2] / ontrialend = [expressions.displaysize = expressions.displaysizebyline] / branch = [if (trial.changelinelength.response != "confirm") trial.changelinelength] / branch = [if (values.linelength_px<400 || values.linelength_px>500) trial.doesntwork] ++++Die ersten beiden /ontrialend-Attribute verändern die Länge der Linie je nach Button-Click++++ ++++Die nächsten beiden schicken einen bei nicht passender Größe zum Ende des Experiments++++ ++++Das /branch-Attribut sorgt dafür, dass mit Confirm abgeschickt wird++++ / linelength_px = 400 ++++Startlänge der Linie++++ / 1 = "Take a credit card or another card with the same measures (Cash Card, ID, etc...) and hold its long side against the line on the screen. Click the buttons to change its size. When the line has the same size as the side of your credit card, click 'Confirm' and proceed with the experiment." / items = instructions / position = (50%, 75%) / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) / txcolor = (0, 0, 0) / erase = false / shape = rectangle / color = (black) / erase = false / size = (1px*values.linelength_px,10px) / position = (10%, 50%) / halign = left / erase = false / shape = rectangle / color = white / position = (50%, 50%) / size = (100%, 100%) / erase = false / items = ("↓ Align corner here") / position = (9.9%, 48%) / halign = left / valign = bottom / erase = false / fontstyle = ("Arial", 1.5%, false, false, false, false, 5, 1) / txcolor = (0, 0, 0) ****Anzeigen der Display-Diagonalen**** / items = ("Your display diagonal is <%expressions.displaydiagonalcalculated%> inches. Wait a short moment...") / position = (50,50) ****Abfragen der Display-Diagonalen**** / items = ("Please indicate your display diagonal in inches.") / area = (800, 200) / position = (50, 40) / stimulusframes = [1=qenterdisplaysize] / position = (50, 45) / linelength = 5 / numlines = 1 / mouse = true / range = (10.1, 30) / inputdevice = keyboard / buttonlabel = "Confirm" / ontrialend = [replaceall(openended.enterdisplaysize.response,",",".")] ####Habe die Maximalgröße jetzt erstmal nach Gefühl auf 30 inch besgrenzt#### ++++Das /ontrialbegin-Attribut wandelt ein eingegebenes Komma in einen Punkt um++++ ****Größe passt nicht**** / items = ("Sorry but your screen size doesn't fit the requirements of this study. Press Enter to leave the experiment.") / doesntfit = 0 / stimulusframes = [1=doesntworktext] / validresponse = (28,23) / inputdevice = keyboard / branch = [if(trial.doesntwork.response==28)values.doesntfit += 1] ++++Wenn der Bildschirm nicht passt, wird value.doesntfit von 0 zu 1 => dies lässt nach Enter-Druck das Experiment abbrechen++++ ****Als Block definieren**** / trials = [1=doyouknowit] / stop = [openended.enterdisplaysize.response != 0] ****First part of the actual tasks**** / items = ("In the following you will be presented a set of mistake-search tasks. They consist of two similar images, one of which has a few alternations. You are supposed to click on the area in the left image, where you spotted the mistake. For each trial you have 60 seconds of time in which you should try to find as many mistakes as possible. Now press Enter Enter to proceed") / hjustify = left / stimulusframes = [1=instructiontext] / validresponse = (28) / inputdevice = keyboard / trials = [1=instruction] ****Experiment**** / blocks = [1=displaysize; 2=searchtaskinstruction] / stop = [values.doesntfit == 1]