在我的实验中,参与者必须用视觉评分量表进行一系列评分。在
首先,我初始化屏幕并添加相应的可视化组件。我的变量recall
创建评级量表,提供两个选项:“是”和“否”。在
稍后,使用vasTitle
变量创建一个标题,询问“你还记得这幅画吗?”他们必须回答“是”或“否”,与问题出现在同一屏幕上。在
现在,我想根据参与者回答“是”还是“否”来调整我的recall
语句,但我不知道如何做。如果参与者回答“否”,我想说明他们对之前答案的信心(这就是问题所在,在这种情况下)。在
我通过创建另一个尺度来做到这一点,他们必须回答“是”或“否”,他们对自己之前的答案很有信心,他们是否记得这幅画。当我运行我的代码时,它会在我对recall
变量设置条件时中断。你可以在代码的末尾看到我所做的努力,但似乎行不通。在
from psychopy import visual
# Intialize screen
win = visual.Window(size=(1440, 900), fullscr=True, screen=0, allowGUI=False, allowStencil=False, monitor='testMonitor', color=[0,0,0],
colorSpace='rgb', blendMode='avg', useFBO=True, units='deg')
# Initialize Visual Components
recall = visual.RatingScale(win, choices=("Yes", "No"), markerStart=0.5, singleClick=False,
disappear=False, respKeys=['left', 'right'], showAccept=False, acceptKeys='up')
vasTitle = visual.TextStim(win=win, ori=0, name='vasTitle', text=u'+', font=u'Arial',
pos=[0, 5], height=1.0, wrapWidth=None, color=u'white', colorSpace='rgb', opacity=1,
depth=0.0)
vasScore = visual.TextStim(win=win, ori=0, name='vasScore', text=u'+', font=u'Arial',
pos=[0, -3], height=1.0, wrapWidth=None, color=u'white', colorSpace='rgb', opacity=1,
depth=0.0)
confidence2 = visual.RatingScale(win, low=1, high=6, labels=("Sure I don't know", "Sure I know"),
marker='glow', markerColor='LightGrey', singleClick=False, noMouse=True,
showValue=False, markerStart = 3.5, showAccept=False,
leftKeys='left', rightKeys='right', acceptKeys = 'up',
disappear=False)
# Start trial of experiment
for tr in range(1):
# Recall
recall.reset()
vasTitle.setText('Do you remember this painting?')
while recall.noResponse:
vasTitle.draw()
recall.draw()
win.flip()
showText(text='+', time=0.5, FrameRate=Exp.FrameRate)
if recall.Response == "No": #PROBLEM HERE
confidence2.reset()
vasTitle.setText('How sure are you of your previous answer?')
while confidence2.noResponse:
vasTitle.draw()
confidence2.draw()
vasScore.setText('%i' %(confidence2.getRating()))
vasScore.draw()
win.flip()
showText(text='+', time=0.5, FrameRate=Exp.FrameRate)
你应该多研究一下如何使用这个库。在您的代码中,
recall
是visual.RatingScale
的一个实例。当用户验证了最终答案时,while recall.noResponse
循环似乎结束了(向上键)。此循环结束后,您可以访问不同的属性:以下是一些帮助您的链接:
github项目https://github.com/psychopy/versions/blob/master/psychopy/visual/ratingscale.py RatingScale()的api文档http://www.psychopy.org/api/visual/ratingscale.html#psychopy.visual.RatingScale
相关问题 更多 >
编程相关推荐