【发布时间】:2015-06-08 10:31:49
【问题描述】:
我正在使用 PsychoPy Builder 创建一个实验。 我有视觉和听觉刺激,任务是学习它们之间的关联。 当参与者按下右键时,会出现“正确”的答案。但是,当参与者按错键时,我不想只显示“错误”。还要:“正确答案是……”然后显示正确联想的图片或声音。
我创建了一个名为“反馈”的例程。它包含代码组件、文本组件和图片组件(或声音组件)。 在条件文件(.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)
我猜,我没有正确执行“显示图像”命令。正确的命令如何?听觉刺激又如何?
当我运行实验时,当我按下正确的按键时它似乎可以工作(但是,当时也显示了图片,它应该只是文本....),但是当我按下错误的键时,实验停止。
当我强制它结束时,我收到以下消息:
运行:C:\Dateien\Forschung\Experimente\Legasthenie_Crossmodal\Experiment\Visual_manual\Vis_Man_lastrun.py Traceback(最近一次通话最后一次)
文件“C:\Dateien\Forschung\Experimente\Legasthenie_Crossmodal\Experiment\Visual_manual\Vis_Man_lastrun.py”,第 406 行, 反馈文本.setText(消息)
文件“C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.82.01-py2.7.egg\psychopy\visual\text.py”,第 240 行,在设置文本 setAttribute(self, 'text', text, log)
文件“C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.82.01-py2.7.egg\psychopy\tools\attributetools.py”,第 100 行,在设置属性 setattr(self, attrib, value) # 设置属性,如果存在就调用attributeSetter
文件“C:\Program Files (x86)\PsychoPy2\lib\site-packages\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 行,在文字 self.dict['text'] = unicode(text)
UnicodeDecodeError:“ascii”编解码器无法解码位置 43 中的字节 0xc3:序数不在范围内(128) 异常 UnicodeDecodeError:
【问题讨论】:
-
它显示了什么?它显示文本吗?它会播放声音吗?另外,代码组件是在例程中的图像和声音组件之上还是之下?
-
我假设文本组件有 text=$message ?
-
当我再次运行它时,它会显示文本和图像,但只有在按键正确时才会显示。如果它错了,实验就会停止,我必须强制它关闭。代码组件位于例程中的图像/声音上方(顶部)。是的,文本组件有 text=$message。在我输入图像/声音之前,反馈工作正常。
-
使用崩溃时收到的错误消息更新您的问题。一些常见的嫌疑人:你确定
corrective_FB完全正确,包括路径和小/大字母吗?你的 imageStim 真的叫“Form_stimulus2”,还记得小写/大写字母吗? -
看起来问题出在文本而不是图像或声音文件名上。如果你明确地把它变成一个 unicode 字符串会发生什么,像这样:
message=u'Ups, das war falsch. Die richtige Antwort wäre:'