6

この記事「高解像度マウスの動きを利用する」を読んで-http://msdn.microsoft.com/en-us/library/windows/desktop/ee418864(v= vs.100 ).aspx、私は1つがすべきだと推測します入力デバイスからのより正確な読み取りには、生の入力を使用します。

この記事では、WM_MOUSEMOVEの主な欠点は、画面の解像度に制限されていることです。

RAWMOUSE構造を詳しく調べると、lLastXとlLastYは長い値であり、それらを介してデルタを取得していることがわかります。

私には、WM_MOUSEMOVEとWM_INPUTは同じように見えますが、WM_INPUTでは加速(ポインター弾道)が適用されない点が異なります。

WM_MOUSEMOVEとWM_INPUTの両方が画面解像度に制限されていますか?

もしそうなら、WM_INPUTを使用する利点は何ですか?

4

2 に答える 2

11

RAWMOUSEは、マウスのネイティブ解像度に基づいてマウスの論理座標を提供します。

つまり、マウスの実際の動きを確認できます。

Windowsは、マウスの速度と加速(弾道)設定を使用してカーソル位置を更新します。もちろん、この2つはリンクされていないため、カーソルの動きを生成するには、マウスの見かけの動きを解釈する必要があります。それ以外の場合、複数のマウスをサポートするにはどうすればよいでしょうか。

ポインターを制御したい場合は、私が知る限り、Windowsマウスの弾道計算を複製する理由はありません。ただウィンドウにそれをさせてください。したがって、ポインタを制御するには、WM_MOUSEMOVEを使用する必要があります。つまり、アプリケーションでマウスアクセラレーション設定を無効にする場合を除きます。

ただし、プレーヤーのPOV(視点)を制御する場合、またはマウスを使用して宇宙船の飛行ヨークなどのゲーム内オブジェクトを制御する場合は、RAWMOUSEデータを使用すると、マウスの動きに可能な限り最適にアクセスできます。 、そしてあなたはそれを飛行ヨーク/POVの動きに変換するためにあなた自身のアルゴリズムを実装することができます。

于 2012-05-05T13:35:52.467 に答える
2

これを使用する主な利点と理由は、rawInputを使用すると2つ以上のマウスを使用できることです。現在、2つのマウス/マイクを使用して2人のプレーヤーがプレイするように設計された小さなゲームのプロトタイプを作成しています。より複雑ですが、外部ライブラリをリンクする必要がないため、機能し、悪くはありません。

于 2012-09-06T11:02:33.937 に答える