現時点では、WM_MOUSEMOVE メッセージを使用するだけですが、マウスの動きが最大解像度に制限されます。では、Win32 (OpenGl ウィンドウ上) でマウスをキャプチャする最良の方法は何ですか? freeglut や余分なライブラリは使いたくありません。
5574 次
3 に答える
1
ゲームとリアルタイムのDirectInputは非常に適していますが、やや使いにくいです。
これはコアのwin32 apiではありません。入力を取得するwinapiの方法は、独自の更新ループによって駆動されるGetCursorPos / SetCursorPosのいずれかであるため、独自の頻度でクエリとリセットを行います。
またはSetCaptureを実行してからWM_MOUSEMOVEでSetCursorPosを呼び出します。カーソルの位置を設定するポイントは、最後の更新以降にカーソルが移動した量であるデルタを取得し、カーソルをウィンドウの中央に戻すことができるように、移動の余地を与えることです。
于 2013-10-27T09:10:22.567 に答える
0
あなたの最善の策は、DirectInput (セットアップが少し面倒かもしれません) またはRawInputを使用することです。
RawInputの使用ページにかなり包括的な例があります (例 2 を参照)。
于 2013-10-27T09:12:48.493 に答える