By AndrewPapale - 1/18/2023
Hi Inquisit Team,
I'm trying to dynamically change a picture's /hposition attribute trial by trial, but it is not working. I've tried two approaches. 1) Defining one image and changing the /hposition programatically. This did not alter the /hposition attribute correctly, the picture stayed at the default position. 2) Define a default image <picture defaultimage> and change the picture in the picture.defaultimage.item.1 to be a new image in a new position. This also resulted in the image in the default position. I know there has to be a way to do this, any help is appreciated!
I would prefer not to define a new <trial> block with each image separately, I know that's another option.
Thanks, Andrew
|
By AndrewPapale - 1/18/2023
+xHi Inquisit Team, I'm trying to dynamically change a picture's /hposition attribute trial by trial, but it is not working. I've tried two approaches. 1) Defining one image and changing the /hposition programatically. This did not alter the /hposition attribute correctly, the picture stayed at the default position. 2) Define a default image <picture defaultimage> and change the picture in the picture.defaultimage.item.1 to be a new image in a new position. This also resulted in the image in the default position. I know there has to be a way to do this, any help is appreciated! I would prefer not to define a new <trial> block with each image separately, I know that's another option. Thanks, Andrew I'm going to try implementing a list, following from: https://forums.millisecond.com/Topic16071.aspx
|
By AndrewPapale - 1/18/2023
+x+xHi Inquisit Team, I'm trying to dynamically change a picture's /hposition attribute trial by trial, but it is not working. I've tried two approaches. 1) Defining one image and changing the /hposition programatically. This did not alter the /hposition attribute correctly, the picture stayed at the default position. 2) Define a default image <picture defaultimage> and change the picture in the picture.defaultimage.item.1 to be a new image in a new position. This also resulted in the image in the default position. I know there has to be a way to do this, any help is appreciated! I would prefer not to define a new <trial> block with each image separately, I know that's another option. Thanks, Andrew I'm going to try implementing a list, following from: https://forums.millisecond.com/Topic16071.aspx This also did not seem to work. Here's some example code of what I'm trying to do. I'm trying to change /hposition from a list in the <trial> based on an expression values.fogPos. Basically the idea is we want this fog image to move around the circle to different locations and stay there for a few trials.
<picture fog0> / items = ("fog0.png") //default / hposition = expressions.centerx + expressions.widthchange_angle0 / vposition = expressions.centery + expressions.heightchange_angle0 / size = (30%, 30%) / erase = false </picture>
<picture fog30> / items = ("fog30.png") //default / hposition = expressions.centerx + expressions.widthchange_angle150 / vposition = expressions.centery + expressions.heightchange_angle150 / size = (30%, 30%) / erase = false </picture>
<list fog_hpos> /items = ( expressions.centerx + expressions.widthchange_angle0, expressions.centerx + expressions.widthchange_angle30, expressions.centerx + expressions.widthchange_angle60, expressions.centerx + expressions.widthchange_angle90, expressions.centerx + expressions.widthchange_angle120, expressions.centerx + expressions.widthchange_angle150 ) / selectionmode = list.fog_hpos.currentindex / selectionrate = always </list>
<picture uncertainty> / items = ("fog0.png") //default / hposition = list.fog_hpos.nextvalue / vposition = list.fog_vpos.nextvalue / size = (30%, 30%) / erase = false </picture>
<trial experiment_U> / ontrialbegin = [ if (values.fogPos==30){ picture.uncertainty.item.1 = "fog30.png"; list.fog_hpos.item(6); list.fog_vpos.item(6); } ] / stimulustimes = [0 = uncertainty;] </trial>
Thanks -A
|
By AndrewPapale - 1/18/2023
+x+x+xHi Inquisit Team, I'm trying to dynamically change a picture's /hposition attribute trial by trial, but it is not working. I've tried two approaches. 1) Defining one image and changing the /hposition programatically. This did not alter the /hposition attribute correctly, the picture stayed at the default position. 2) Define a default image <picture defaultimage> and change the picture in the picture.defaultimage.item.1 to be a new image in a new position. This also resulted in the image in the default position. I know there has to be a way to do this, any help is appreciated! I would prefer not to define a new <trial> block with each image separately, I know that's another option. Thanks, Andrew I'm going to try implementing a list, following from: https://forums.millisecond.com/Topic16071.aspx This also did not seem to work. Here's some example code of what I'm trying to do. I'm trying to change /hposition from a list in the <trial> based on an expression values.fogPos. Basically the idea is we want this fog image to move around the circle to different locations and stay there for a few trials.
<picture fog0> / items = ("fog0.png") //default / hposition = expressions.centerx + expressions.widthchange_angle0 / vposition = expressions.centery + expressions.heightchange_angle0 / size = (30%, 30%) / erase = false </picture>
<picture fog30> / items = ("fog30.png") //default / hposition = expressions.centerx + expressions.widthchange_angle150 / vposition = expressions.centery + expressions.heightchange_angle150 / size = (30%, 30%) / erase = false </picture>
<list fog_hpos> /items = ( expressions.centerx + expressions.widthchange_angle0, expressions.centerx + expressions.widthchange_angle30, expressions.centerx + expressions.widthchange_angle60, expressions.centerx + expressions.widthchange_angle90, expressions.centerx + expressions.widthchange_angle120, expressions.centerx + expressions.widthchange_angle150 ) / selectionmode = list.fog_hpos.currentindex / selectionrate = always </list>
<picture uncertainty> / items = ("fog0.png") //default / hposition = list.fog_hpos.nextvalue / vposition = list.fog_vpos.nextvalue / size = (30%, 30%) / erase = false </picture>
<trial experiment_U> / ontrialbegin = [ if (values.fogPos==30){ picture.uncertainty.item.1 = "fog30.png"; list.fog_hpos.item(6); list.fog_vpos.item(6); } ] / stimulustimes = [0 = uncertainty;] </trial>
Thanks -A I got it working, dumb syntax error. It worked the first way I tried it. I was defining values.fogPos with 2 equal signs instead of 1.
|
By Dave - 1/18/2023
+x+x+x+xHi Inquisit Team, I'm trying to dynamically change a picture's /hposition attribute trial by trial, but it is not working. I've tried two approaches. 1) Defining one image and changing the /hposition programatically. This did not alter the /hposition attribute correctly, the picture stayed at the default position. 2) Define a default image <picture defaultimage> and change the picture in the picture.defaultimage.item.1 to be a new image in a new position. This also resulted in the image in the default position. I know there has to be a way to do this, any help is appreciated! I would prefer not to define a new <trial> block with each image separately, I know that's another option. Thanks, Andrew I'm going to try implementing a list, following from: https://forums.millisecond.com/Topic16071.aspx This also did not seem to work. Here's some example code of what I'm trying to do. I'm trying to change /hposition from a list in the <trial> based on an expression values.fogPos. Basically the idea is we want this fog image to move around the circle to different locations and stay there for a few trials.
<picture fog0> / items = ("fog0.png") //default / hposition = expressions.centerx + expressions.widthchange_angle0 / vposition = expressions.centery + expressions.heightchange_angle0 / size = (30%, 30%) / erase = false </picture>
<picture fog30> / items = ("fog30.png") //default / hposition = expressions.centerx + expressions.widthchange_angle150 / vposition = expressions.centery + expressions.heightchange_angle150 / size = (30%, 30%) / erase = false </picture>
<list fog_hpos> /items = ( expressions.centerx + expressions.widthchange_angle0, expressions.centerx + expressions.widthchange_angle30, expressions.centerx + expressions.widthchange_angle60, expressions.centerx + expressions.widthchange_angle90, expressions.centerx + expressions.widthchange_angle120, expressions.centerx + expressions.widthchange_angle150 ) / selectionmode = list.fog_hpos.currentindex / selectionrate = always </list>
<picture uncertainty> / items = ("fog0.png") //default / hposition = list.fog_hpos.nextvalue / vposition = list.fog_vpos.nextvalue / size = (30%, 30%) / erase = false </picture>
<trial experiment_U> / ontrialbegin = [ if (values.fogPos==30){ picture.uncertainty.item.1 = "fog30.png"; list.fog_hpos.item(6); list.fog_vpos.item(6); } ] / stimulustimes = [0 = uncertainty;] </trial>
Thanks -A I got it working, dumb syntax error. It worked the first way I tried it. I was defining values.fogPos with 2 equal signs instead of 1. Alright, glad to hear.
|
|