How to fade from slide1 to slide2 (inline?)

David McFarlane mcfarla9 at msu.edu
Tue Apr 19 15:42:49 UTC 2011


Mia

Do I correctly read that you want to present the 
second stimulus by decreasing its transparency / 
increasing its opacity over the first 
stimulus?  I don't know much about managing 
transparency/opacity of visual stimuli, but I 
wonder if Canvas.RopMode = ebROPModeMerge (see 
the online E-Basic Help) could help you here?

You might also ask PST's trained staff at 
http://support.pstnet.com/e%2Dprime/support/login.asp 
-- they strive to respond to all requests in 
24-48 hours, and this is pretty much their 
substitute for proper documentation, so make full 
use of it.  In any event, please post back here with your results.

-- David McFarlane, Professional Faultfinder


>hahaha, well there you go >.< the lines already broke up differently
>when I posted the message as compared to when I wrote it... so do make
>sure to 'green out' all my comments in the code by using 's , before
>you try to run it...  it will definitely not run if my squaks are
>still considered code by the program :/
>
>On Apr 19, 3:06 pm, liwenna <liwe... at gmail.com> wrote:
> > Michiel, I was planning on suggesting exactly that :)
> >
> > Although I'd like to propose doing it without a list and with a single
> > proc that switches back and forth to show the same slide over again
> > with the necessary variables modified... it's about as easy and gives
> > less mess in the edat files...  I did this for a moving object,
> > inspired by your example, only a week ago... :)
> >
> > I can't test this idea right now for I don't have e-prime where I am,
> > but you could try these steps:
> >
> > First off.. try this in a new and experiment/e-studiofile, you can add
> > all the other elements of your task once you got the fading working.
> >
> > Your experiment file (blank! not basic...) shows you a sessionproc. On
> > the sessionproc add a list, call it triallist for instance, and
> > associate a procedure by typing the desired name of the procedure
> > (trialproc?) into the column 'procedure'. You could make several
> > levels, but for now a single level will also suffice.
> >
> > At the beginning of the trialprocedure place an inline with the
> > following code  (copy/paste everything between ****'s. The lines that
> > start wat a '  should colour green in e-prime, they are comments, not
> > code... if e-prime breaks up the sentences differently and part of the
> > comments do show up in black, blue or orange font, then add ' s  at
> > the beginning of each line that is not code, so that they turn green):
> >
> > ****************
> > 'create all the variables you'll need:
> > dim r as integer
> > dim g as integer
> > dim b as integer
> > dim vr as string
> > dim vb as string
> > dim vg as string
> > dim stepcounter as integer
> >
> > 'assign value 255 to the red green and blue channels, rgb 255,255,255
> > is white
> > r=255
> > b=255
> > g=255
> >
> > 'map the integer values of r, g, and b onto the string variables vr,
> > vb and vg (there is probably a far better way to do this, but I don't
> > know how)
> > vr$= r
> > vb$= b
> > vg$= g
> >
> > 'use the string rgb variables to modify the backgroundcolor of the
> > textobject
> > 'this is the line that I am most unsecure about and as said can't test
> > it right now.... It assumes a slide text subobject (so.. the textbox
> > on your slide) to be called text1, which 'afaik is the default setting
> > for the first textbox you place on the slide, text2 for the next etc.
> > if you didn't change these names this might work... also might not...
> > I'll test it 'myself tomorrow. I could not find the proper code
> > anywhere and I kinda wonder how the program would know what text1 on
> > which slide to manipulate...
> > text1.BackColor = CColor (""& vr$ &","& vg$ &","& vb$ &"")
> >
> > *****************
> >
> > Now after this inline place your slide and put a textbox on it (which
> > will likely be named text1 by default).
> > In this example I'll try to change the color from white to red in 51
> > steps... each phase (52, including the starting phase) will then be
> > shown for the duration of the slide... say that you want the
> > transition to take about 1,5 second... then each phase shoudl be shown
> > for 1500/52 = 28,8 ms... this is impossible so for now set the
> > duration of the slide to 29ms, which probably won't work exactly as
> > well timed as one would want, but let's focus on the fading first....
> >
> > Directly after the slide place another inline with the following code:
> >
> > ******************
> > 'first the values of green and blue will be decreased by 5 points, we
> > started at 255,255,255 and this way after 51 repeats we will end at
> > 255,0,0, which is pure red
> > r = r
> > g = g - 5
> > b = b - b
> >
> > 'map the integer values of rgb onto the string variables of rgb
> > vr$= r
> > vb$= b
> > vg$= g
> >
> > 'assign the new value to text1.backcolor
> > Text1.BackColor = CColor (""& vr$ &","& vg$ &","& vb$ &"")
> >
> > 'stepcounter keeps track of the number of times the above code is
> > executed, after the 52 step the fading is done and the values of g and
> > b will actually be negative (-5) so
> > 'it's time to stop the sequence and move on... for that place a label
> > after this inline (on the same procedure!), that you call endlabel, at
> > step 52 the program will continue at 'that label.
> > stepcounter = stepcounter + 1
> > if stepcounter = 52 then goto endlabel
> >
> > 'if however the fading is completed yet, the program should return
> > back and show the same slide again, but now with the new values of RGB
> > that were modified in the 'above lines. For that place a label
> > inbetween the first inline and the slide. This label should be called
> > againlabel.
> > if stepcounter < 52 then goto againlabel
> > ************
> >
> > I think... that if you run the little program that you just created,
> > you should see some fading happening.... :)  although things kinda
> > depend on the line "Text1.BackColor = ..." that I am fairly unsure
> > about :/
> >
> > best,
> >
> > liw
> >
> > On Apr 19, 12:53 pm, Michiel Spape <Michiel.Sp... at nottingham.ac.uk>
> > wrote:
> >
> > > Hiya,
> > > Sounds like a nice paradigm!
> > > ... however, fading, much like movement, is 
> not all that easy in E-Prime, though it can be 
> done. For a nice example, see the E-Primer 
> thingy (on my website, about me, underneath 
> everything else - it takes some time to 
> download) in which you learn, somewhere, to 
> make a box move. Knowing that, you can do the same, but then with the colour.
> > > So, one, you realise that colours in 
> E-Prime are represented as 3 bytes (i.e. 3 
> values between 0 and 255) in RGB (redgreenblue) 
> space. Thus, from Red (255, 0, 0) to Blue 
> (0,0,255), should be possible by going linearly 
> from 255->0 on the first (red) dimension, and 
> 0->255 on the third (blue) dimension - passing, 
> for instance, somewhere along the way 128,0,128 (purple).
> > > Knowing that, you could do all this neatly 
> using a little list in between your stimuli to 
> do the whole fading. The list can then have an 
> exit-time of exactly the amount of time you 
> wish to spend fading. Inside the list is the 
> simple procedure with a slide taking, say, 15 
> ms, and then you change the colour attributes 
> just before every time the slide is shown. For 
> instance, if the slide would have a text 
> display showing [name], in forecolour being 
> [colour], you could simply change the attribute as long as you know:
> > > - How much time has passed since beginning of the fading?
> > > - How long should the slide take?
> > > - What's the begin colour?
> > > - What's the end colour?
> > > Then, you could simply linearly interpolate 
> between colours and set the [colour] accordingly.
> >
> > > Well, there are quite a few ways to go 
> about this, but none, as far as I can see, for 
> a first-time E-Prime user exactly simple. As 
> for pixel-by-pixel fading, you could do that... 
> but it will take some canvas programming. More difficult than the above.
> > > Best,
> > > Mich
> >
> > > Michiel Spapé
> > > Research Fellow
> > > Perception & Action group
> > > University of Nottingham
> > > School of Psychologywww.cognitology.eu
> >
> > > -----Original Message-----
> > > From: e-prime at googlegroups.com 
> [mailto:e-prime at googlegroups.com] On Behalf Of miamalika
> > > Sent: 19 April 2011 11:32
> > > To: E-Prime
> > > Subject: How to fade from slide1 to slide2 (inline?)
> >
> > > Hey there!
> >
> > > I have a problem. I want to create a Stroop imagery task which
> > > functions as following: first, a color NAME is presented and the
> > > subjects have to imagine that color in a following box (white text
> > > frame in a slide). Then, a second slide is presented (same text frame
> > > in a slide) but with a back color varying.
> >
> > > Now I want a gradual change between the white empty text box and the
> > > colored text box so that the colors appear to "fade in".
> >
> > > How can I do this? I'm pretty new to e-prime so it should be an easy
> > > solution..
> >
> > > I also thought about fading a picture in pixel by pixel or to have the
> > > brightness of 1 slide gradually changing from white to the color.
> >
> > > What appears best to you? How could I do this?
> >
> > > Thank you and best regards
> > > Mia

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.



More information about the Eprime mailing list