2009-04-24 183 views
4

我正在写一个简单的游戏,我要用鼠标控制摄像头(使用GlutPassiveMotionFunc)。如何在OpenGL/Glut中更改鼠标光标的位置?

我要去俯仰和偏航以关闭回调之间的差异鼠标,但我认为这将是一个好主意,“力”鼠标回到每次他们试图移动它时,屏幕的中央。这样他们的光标不会在屏幕的边缘,他们不能再朝那个方向移动。

我可以使用什么Glut/OpenGL命令来强制改变鼠标的位置?

回答

10

使用glutWarpPointer(x, y),其中xy(均为int S)的像素(相对于窗口的原点)。例如:

glutWarpPointer(windowWidth/2, windowHeight/2); 
+0

此解决方案对我无效,因为glutWarpPointer(x,y)也会重置鼠标位置。 – 2013-04-05 14:38:40

0

对不起,对于迟到的答案。我的意思是,当我使用glutWrapPointer函数后,如果我打印出x和y值,我无法捕捉到光标上的变化,并且它总是打印出我提供的glutWrapPointer函数内的值。我做了什么来解决它是在openGl的Animate函数中移动这个函数,并且它工作正常。