在 Psychopy 中获取键盘响应
Getting keyboard response in Psychopy
我的问题可以简化为:参与者按下一个键,然后出现一条文本说 "you pressed ..."
为此,我创建了两个例程。在例程 1 中,有一个文本和键盘 (key_resp) 组件。在文本组件中,它只是说 "please press 1 or 2"。键盘组件允许键 1 或 2。
在第二个例程中,我有一个代码和 text_2 组件。代码在 "begin routine" 标签中,代码为:
if key_resp.keys[0] == '1':
message = 'you pressed one'
else:
message = 'you pressed two'
在 text_2 组件中,我只有“$message”。现在,当我 运行 这个时,我得到错误:
名称错误:未定义名称 'message'。
然后我在"begin experiment"选项卡中的例程1中添加了代码。代码很简单:
message = 'This message will not be displayed because of if/else in routine 2'
现在,这次实验真正开始了,但是它显示了不需要的消息。如何显示参与者的键盘响应?
您必须将 text_2
组件文本字段设置为更新 "Every routine" 而不是保持不变。如果该字段设置为常量,则假定该值在实验开始时可用。因此,如果在该阶段未定义它,则会出现错误(您已通过提供在开始时定义的设置值来诊断错误)。您现在可以安全地删除该代码,因为您提供的值会在例程的每个 运行 上更新。
请注意,https://discourse.psychopy.org 的社区论坛可能是获得此类支持的更好场所。 Whosebug 更倾向于其他人普遍感兴趣的基于代码的问题和答案,并且可以用单一 question/answer 格式回答(而论坛允许来回讨论来解决问题) .
我的问题可以简化为:参与者按下一个键,然后出现一条文本说 "you pressed ..."
为此,我创建了两个例程。在例程 1 中,有一个文本和键盘 (key_resp) 组件。在文本组件中,它只是说 "please press 1 or 2"。键盘组件允许键 1 或 2。
在第二个例程中,我有一个代码和 text_2 组件。代码在 "begin routine" 标签中,代码为:
if key_resp.keys[0] == '1':
message = 'you pressed one'
else:
message = 'you pressed two'
在 text_2 组件中,我只有“$message”。现在,当我 运行 这个时,我得到错误:
名称错误:未定义名称 'message'。
然后我在"begin experiment"选项卡中的例程1中添加了代码。代码很简单:
message = 'This message will not be displayed because of if/else in routine 2'
现在,这次实验真正开始了,但是它显示了不需要的消息。如何显示参与者的键盘响应?
您必须将 text_2
组件文本字段设置为更新 "Every routine" 而不是保持不变。如果该字段设置为常量,则假定该值在实验开始时可用。因此,如果在该阶段未定义它,则会出现错误(您已通过提供在开始时定义的设置值来诊断错误)。您现在可以安全地删除该代码,因为您提供的值会在例程的每个 运行 上更新。
请注意,https://discourse.psychopy.org 的社区论坛可能是获得此类支持的更好场所。 Whosebug 更倾向于其他人普遍感兴趣的基于代码的问题和答案,并且可以用单一 question/answer 格式回答(而论坛允许来回讨论来解决问题) .