2009-04-24 74 views
4

私はシンプルなゲームを書いています。私はマウスのカメラを(GlutPassiveMotionFuncを使って)コントロールしています。OpenGL/Glutでマウスカーソルの位置を変更するにはどうすればよいですか?

私はコールバック間のマウスの違いに基づいてピッチを微調整しようとしていますが、マウスを移動しようとするたびに画面の中央にマウスを強制的に戻しておくことをお勧めします。この方法では、カーソルは画面の端にはなく、その方向にそれ以上移動することはできません。

マウスの位置を変更するにはどのようなGlut/OpenGLコマンドを使用できますか?

答えて

10

xy(どちらもints)が(ウィンドウの起点に対して)ピクセルで表示されます。例:

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

glutWarpPointer(x、y)もマウスの位置をリセットするので、この解決法は私のためには機能しません。 –

+0

「マウスの位置をリセットする」とはどういう意味ですか?これはそれがするべきことです(この場合、マウスを再センタリングするためにglutWarpPointerを呼び出す前にマウスの位置を読みます)。多分私はあなたがしようとしていることを誤解していますか? – hbw

0

ご迷惑をおかけして申し訳ありません。私が意味したのは、私がglutWrapPointer関数を使用した後、xとyの値を出力すると、カーソルの変更をキャッチできなくなり、常に提供されたglutWrapPointer関数内の値が出力されます。私が修正したのは、この関数をopenGlのAnimate関数の中に移動することでした。うまくいきました。

関連する問題