2009-04-24 191 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函數中移動這個函數,並且它工作正常。