心理,用键盘改变poligon特征

时间:2017-01-03 22:51:23

标签: python psychopy

我需要运行一个测试,测试期间主体能够用键盘旋转一条线。

我一直在寻找,但我没有找到一个好的答案。

到目前为止,我已经尝试过这个:

p = 0
polygon = visual.Line(
    win=win,
    name='polygon',
    units='cm', 
    start=(-(2, 0.5)[0]/2.0, 0),
    end=(+(2, 0.5)[0]/2.0, 0),
    ori=p,
    pos=(0, 0),
    lineWidth=1,
    lineColor=[1,1,1],
    lineColorSpace='rgb',
    fillColor=[1,1,1],
    fillColorSpace='rgb',
    opacity=1,
    depth=0.0,
    interpolate=True
)

while True:
   resp_key = event.waitKeys(keyList=['n','m','return']) 

   if resp_key == 'n':
      p = p-1
   elif resp_key == 'm':
      p = p+1
   elif resp_key == 'return':
      break

谢谢!

1 个答案:

答案 0 :(得分:1)

更改p的值后,您需要将其实际应用于线对象以更新其特征,然后将其绘制到屏幕上。

e.g。类似的东西:

polygon.ori = p
polygon.draw()
win.flip()

另外,请注意event.waitKeys()会返回一个键列表,即使只有一个按键也是如此。因此,您对密钥的检查应该看起来像这样:

if 'n' in resp_key:

而不是:

if resp_key == 'n':

另请参阅PsychoPy编码器视图中演示菜单下的shapes.py演示,了解动态更新多边形的一些示例。虽然该演示不使用键盘交互,但它可能仍然对您有用。