1

現時点では、WM_MOUSEMOVE メッセージを使用するだけですが、マウスの動きが最大解像度に制限されます。では、Win32 (OpenGl ウィンドウ上) でマウスをキャプチャする最良の方法は何ですか? freeglut や余分なライブラリは使いたくありません。

4

3 に答える 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 に答える