Advance to different SlideStates for different responses

Erin erin.siebert at gmail.com
Mon Aug 27 23:13:08 UTC 2012



hi Paul,

Thank you for the reply.  I did have HitTest inline script in my experiment 
already to detect the mouse click responses on my stimulus slide.  However, 
I was able to successfully incorporate your script into my experiment, and 
it worked!  Thank you so much for your help, it is extremely appreciated!  
Hopefully it will be a help to others as well.  Thanks again!


Erin





On Saturday, August 25, 2012 4:35:54 AM UTC-4, Paul Groot wrote:
>
> Hi Erin
>  
> I think you missed one important ingredient: the HitTest method. This 
> function is required to determine which object was selected. It will return 
> the name of the object. The GetCursorPos function is also required to get 
> the current cursor coordinates because the HitTest function requires a 
> screen coordinate. The Stimulus slide should contain a mouse input mask and 
> have a duration of infinite because you would like to catch a single mouse 
> click. The InputMask Correct attribute is of no use because you will have 
> to check the accuracy explicitly.
>  
> Here is a small example script that could work. This inline script assumes 
> you also added a list attribute with the name CorrectImage. It contains 
> values L or R to indicate correct left or right selection. These L/R values 
> should be identical to the names of the SlideImage objects! 
>  
> Dim ptMouse As Point
> Dim strHit As String
> Dim strCorrectImage As String
>  
> Dim theState as SlideState
> Set theState = Stimulus.States (Stimulus.ActiveState)
>  
> 'get current mouse coordinate
> Mouse.GetCursorPos ptMouse.x, ptMouse.y
>
> 'and check which object was selected (if any)
> strHit = theState.HitTest(ptMouse.x, ptMouse.y)
>
> 'get the correct selection from the trial list
> 'This attribute should contain 'L' or 'R' in this example
> strCorrectImage = c.GetAttrib("CorrectImage")
>
> 'compare both strings ignoring case
> 'ACC is not set automatically, so must do this explicitly
> If strcomp(strHit,strCorrectImage,1)=0 Then
>    Stimulus.ACC = 1
>    Select Case UCase(strCorrectImage)
>    Case "L"
>       ImageFeedback.ActiveState = "LeftCorrect"
>    Case "R"
>       ImageFeedback.ActiveState = "RightCorrect"
>    Case Else
>       Debug.Assert False
>    End Select
>
> Else
>    Stimulus.ACC = 0 
>    ImageFeedback.ActiveState = "Incorrect" 
> End If
>  
> You also might add the following lines before and after the Stimulus slide 
> to show and hide the cursor:
>
> Mouse.ShowCursor True
> Mouse.ShowCursor False
>  
> Hope I didn't make any mistakes in the example because I didn't have the 
> opportunity to test it myself.
>
> Cheers
> Paul
>  
>
>  
> 2012/8/24 Erin <erin.s... at gmail.com <javascript:>>
>
>> Hello everyone,
>> I have a simple experiment that displays two images on the screen.  The 
>> two SlideImages are named "LeftImage" and "RightImage," and are diplayed on 
>> a Slide named "Stimulus."  On each trial, one image is correct, and one is 
>> incorrect; responses are made with a mouse click on an image.  
>>  
>> After a response is made, I want to advance to the Slide 
>> "ImageFeedback," displaying one of three SlideStates "LeftCorrect," 
>> "RightCorrect," or "Incorrect," depending on the response.
>>  
>> I am tring to figure out what the appropriate inline script would be to 
>> accomplish this.  I am thinking something similar to the following may 
>> work, but I know this isn't quite right:
>>  
>>  
>> If strHit = c.GetAttrib("LeftImage") and Stimulus.ACC=1, Then
>> Set ImageFeedback.ActiveState = "LeftCorrect" 
>>
>> Else
>>
>> If strHit = c.GetAttrib("RightImage") and Stimulus.ACC=1, Then
>> Set ImageFeedback.ActiveState = "RightCorrect"
>>
>> Else
>>
>> If Stimulus.ACC=0,
>> Set ImageFeedback.ActiveState = "Incorrect"
>>
>> End If
>>
>>  
>>
>> I looked at the example programs "Response Areas For Mouse Input" and 
>> "LoadImageUpunMouseClick."  I also searched though the Google Group, and 
>> found some similar posts, but was unable to come up with an inline script 
>> solution that worked.  Any help would be very appreciated.  I will post the 
>> solution that I get to work.  Thanks so much!
>>  
>>  
>>
>> Erin
>>
>>  
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "E-Prime" group.
>> To post to this group, send email to e-p... at googlegroups.com<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> e-prime+u... at googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/e-prime/-/xIDmOlnPo4YJ.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
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.
To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/WHrmA5Jxn1IJ.
For more options, visit https://groups.google.com/groups/opt_out.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20120827/a2aab1b5/attachment.htm>


More information about the Eprime mailing list