2015-06-08 103 views
1

我正在用PsychoPy Builder創建一個實驗。 我有視覺和聽覺刺激,任務是學習它們之間的關聯。 當參與者按下右鍵時,出現答案「正確」。但是,當參與者按錯了鍵時,我想不僅顯示「錯誤」。而且:「正確的答案是......」然後顯示正確關聯的圖片或聲音。Psychopy反饋(Picture as Feedback)

我創建了一個名爲「反饋」的例程。它包含Code組件,Text組件和Picture組件(或聲音組件)。 在條件文件(.xlsx)中,應該顯示的圖片(聲音)稱爲「corrective_FB」。

在代碼組件中的「開始實驗」,我有

message='' 

在代碼部分我已經在「開始程序」寫了下面的代碼:

if Antwort_manuell.corr:#stored on last run routine 
     message="Richtig!" 
    else: 
     message="Ups, das war falsch. Die richtige Antwort wäre:" 
     Form_stimulus2.setImage(corrective_FB) 

我猜,我沒有正確地執行「顯示圖像」命令。如何正確的命令?那對於聽覺刺激怎麼樣?

當我運行實驗時,它似乎工作,當我按下正確的按鍵(但是,圖片顯示,然後,它應該只是文本....),但是當我按錯了鍵,實驗停止。

當我迫使它結束,我得到的follwing消息:

運行:C:\ Dateien \ Forschung \ Experimente \ Legasthenie_Crossmodal \實驗\ Visual_manual \ Vis_Man_lastrun.py 回溯(最近通話最後一個)

文件 「C:\ Dateien \ Forschung \ Experimente \ Legasthenie_Crossmodal \實驗\ Visual_manual \ Vis_Man_lastrun.py」,線路406,在 Feedbacktext.setText(消息)

文件「C:\ Program文件(x86)\ PsychoPy2 \ lib \ site-packages \ psychopy-1.82.01-py2.7.egg \ psychopy \ visual \ text.py「,第240行,setText setAttribute(self,'text'文件,日誌)

文件「C:\ Program Files(x86)\ PsychoPy2 \ lib \ site-packages \ psychopy-1.82.01-py2.7.egg \ psychopy \ tools \ attributetools.py」,行100,中的setAttribute SETATTR(個體經營,ATTRIB,值)#組屬性,調用attributeSetter如果存在

文件「C:\ Program Files文件(x86)的\ PsychoPy2 \ LIB \站點包\ psychopy-1.82 .01-py2.7.egg \ psychopy \ tools \ attributetools.py「,第20行,在__set__ newValue = self.func(obj,value)

文件「C:\ Program Files(x86)\ PsychoPy2 \ lib \ site-packages \ psychopy-1.82.01-py2.7.egg \ psychopy \ visual \ text.py「,第231行,在文本 自我。字典 [ '文本'] = unicode的(文本)

UnicodeDecodeError錯誤: 'ASCII' 編解碼器不能在位置43進行解碼字節0xc3:順序不在範圍內(128) 異常的UnicodeDecodeError:

+0

這是什麼節目?它顯示文字嗎?它播放聲音嗎?此外,程序中的圖像和聲音組件的代碼組件是高於還是低於? –

+0

我假設文本組件有文本= $消息? –

+0

當我再次運行它時,它顯示文本和圖像,但只有當按鍵正確時才顯示。如果它錯了,實驗就會停止,我不得不迫使它關閉。 代碼組件位於程序中的圖像/聲音之上(頂部)。是的,文本組件具有text = $消息。 在我輸入圖像/聲音之前,反饋正常工作。 – Sarah

回答

0

謝謝一切爲了你的幫助。我終於找到了工作。我確實必須將該消息標記爲unicode字符串。 我必須更明確地定義刺激如何顯示正確和錯誤的答案。 我不知道,如果我以最聰明的方式做到了,但它有效。我感謝的建議如何可以做到更「漂亮」,但是這是我的代碼看起來像現在:

if Antwort_manuell.corr:#stored on last run routine 
    message="Richtig!" 
    Form_stimulus2.size = 0 
else: 
    message=u"Ups, das war falsch. Die richtige Antwort wäre:" 
    Form_stimulus2.setImage(corrective_FB) 
    Form_stimulus2.size = 5 

而對於聲音的代碼是:

if key_tester.corr:#stored on last run routine 
    message="Richtig!" 
    sound_1.volume = 0 
else: 
    message=u"Ups, das war falsch. Die richtige Antwort wäre:" 
    sound_1.setSound(corrective_FB) 
    sound_1.volume = 1