2017-01-03 9 views
0

テスト中に被験者がキーボードで行を回転できるテストを実行する必要があります。psychopic、キーボードでポリゴンの特性を変更する

私は多く見てきましたが、良い答えが見つかりませんでした。

は、これまでのところ、私はこれを試してみました:

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

pの値を変更した後、その特性を更新するためにラインオブジェクトに実際に適用してから、画面に描画する必要があります。

何かのように:また

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

event.waitKeys()だけでも単一のキー押下のために、キーのリストを返すことに注意してください。だから、キーのあなたのチェックが実際にこのようになります。

if 'n' in resp_key: 

いうより:

if resp_key == 'n': 

をも動的に更新するポリゴンのいくつかの例についてPsychoPyコーダビューのデモメニューの下shapes.pyデモをチェックしてください。このデモではキーボードのやり取りは使用されていませんが、まだ役立つかもしれません。

関連する問題