私は PsychoPy を使用しており、マウスがクリックされたときにマウスの位置を出力したいと考えています。
位置の実際の出力は、while ループ内に配置する必要があります。以下のコードを使用してクリックすると、同じ位置を出力する複数の出力行が表示されます。クリックごとに出力を 1 つだけ印刷したいと考えています。
これは私が使用しているコードです:
#!/usr/bin/env python2
from psychopy import visual, core, event
from pyglet.gl import *
width = 600
height = 600
myWin = visual.Window([width,height], color='white',units='pix',monitor='testMonitor')
#This will set the windows units (pixels) to GL units
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0, width, 0, height, -1, 1)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glEnable(GL_BLEND)
glBlendFunc(GL_ZERO, GL_SRC_COLOR)
myMouse = event.Mouse() # will use myWin by default
while True:
#Triangle left
glColor3f(1.0, 0.0, 0.0)
glBegin(GL_TRIANGLES)
glVertex3f(150, 550, 1)
glVertex3f(50, 350, 1)
glVertex3f(250, 350, -1)
glEnd()
if myMouse.getPressed()[0]:
myMouse.clickReset()
print myMouse.getPos()
myWin.flip()
core.quit()
私がやっていることは何か間違っていますか?while ループの「フレーム レート」を変更する必要がありますか?