PennController for IBEX › Forums › Support › Image Issue › Reply To: Image Issue
November 2, 2021 at 6:12 pm
#7469
![](https://www.pcibex.net/wp-content/uploads/2018/10/IMG_8365-e1540835663655-150x150.jpg)
Keymaster
Hi Ana,
The shuffle
command actually re-prints elements that were shuffled, which can cause glitches for elements positioned relatively to another element. My suggestion is to have the shuffle
command executed early on when the Canvas element is hidden, and only reveal that element later. Here is a rewrite of one of your two Template
commands:
Template( "TestWordList.csv" , row =>
newTrial("block1",
newText("fix", "+") // create a fixation cross
.css("font-size","80px")
.print("center at 50%" , "center at 50%")
.log()
,
newTimer("fixtime",300).log().start().wait() // present the fixation cross
,
getText("fix").remove() // remove the fixation cross
,
newImage("pic", row.Image1)
.size(200,200)
.print("center at 50vw", "center at 50vh")
,
newCanvas("words", 820, 820)
.add("center at 35%", "middle at 38%", newText("1",row.Word1).css("font-size", "40px") )
.add("center at 65%", "middle at 38%", newText("unrel",row.Unrelated).css("font-size", "40px") )
.hidden()
.center()
.print()
,
newSelector("words")
.disableClicks()
.add( getText("1") , getText("unrel") )
.shuffle()
.keys("F", "J")
.log()
.disable()
,
newTimer("pictime",1000).log().start().wait()
,
getImage("pic").remove()
,
newTimer(50).start().wait()
,
getCanvas("words").visible()
,
getSelector("words").enable().wait()
)
)
Note that I name and log
the Timer elements rather than the visual elements (which are now printed early on) and I moved the keys
command below the shuffle
one, because I presume you want to preserve the left-F/right-J association
Jeremy