【问题标题】:Corrective Feedback (Picture as Feedback) in PsychopyPsychopy中的纠正反馈(图片作为反馈)
【发布时间】: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:'

标签: feedback psychopy


【解决方案1】:

感谢大家的帮助。我终于搞定了。我确实必须将消息标记为 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2020-09-09
    • 2014-02-17
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多