實驗過程:
界面上有四個區域,每個區域顯示一個數字,其中一個數字爲正確答案,鼠標點擊之後FeedbackDisplay給予反饋。
難點:
1.E-prime默認不顯示光標,怎樣顯示鼠標光標呢?又如何在顯示下一個刺激時關掉鼠標光標呢?
2.如何獲得鼠標的點擊信息?又如何根據點擊信息確定點擊區域呢?
針對第一個問題:
我是在Slide6中收集鼠標點擊,所以在此之前需要創建inline語句:
Mouse.ShowCursor True
這樣光標就能好好顯示了。相應的slide6顯示後寫入語句“Mouse.ShowCursor False”,鼠標光標就停止顯示了。
針對第二個問題:
Dim theState As SlideState
Set theState=Slide6.States("Default")
Dim strHit As String
Dim theMouseResponseData As MouseResponseData
If Slide6.InputMasks.Responses.Count > 0 then
Set theMouseResponseData=CMouseResponseData(Slide6.InputMasks.Responses(1))
strHit = theState.HitTest(theMouseResponseData.CursorX,theMouseResponseData.CursorY)
'這一步就獲取了鼠標點擊的位置,並且這一步將鼠標點擊的位置轉換成所在位置控件的名稱
If strHit=c.GetAttrib("answer")Then
Slide6.CRESP=c.GetAttrib("answer")
Slide6.ACC=1
End if
End if
我還在List中對answer的值進行了修改:
answer的值全部改成了控件的名稱"V1 ,V2,V3.."
這樣只需要判斷鼠標點擊位置控件的名稱是否和正確答案所在控件名稱是否相同即可。
strHit=c.GetAttrib("answer")