我对OpenGL编程比较陌生,我在将鼠标放在中心时遇到了一些麻烦。从我所看到的,当鼠标开始移动时调用glutPassiveMotionFunc(),而不是在移动结束时调用,因为在函数中,我将鼠标位置设置回中心:
def on_mouse_move(x, y):
xpos = glut.glutGet(glut.GLUT_WINDOW_WIDTH) / 2
ypos = glut.glutGet(glut.GLUT_WINDOW_HEIGHT) / 2
glut.glutWarpPointer(xpos, ypos)
glut.glutPassiveMotionFunc(on_mouse_move)
glut.glutMotionFunc(on_mouse_move)
但是每当我再次开始移动时,光标只会移回中心。如果我停止移动鼠标,光标将停留在它最后的位置,然后当我再次开始移动它时,它会将其移回中心。
如何在动作结束时调用该功能,或者至少在动作停止后再调用一次以重置它?