0

ジャイロマウスを作っています。ドライバー スクリプトはセンサー入力を読み取り、それに応じて win32api コマンドでマウスを動かします。

win32api.SetCursorPos((xStart-int(dh*xsensitivity),ypos))

Counter Strike Source などのフル スクリーン ゲームを開くと、マウスがまったく機能しません。クリック入力のみが機能しますが、銃を真下に向け、一種の発作を起こします。

ゲーム内でマウスを制御するものとやり取りできる方法はありますか?

4

1 に答える 1

2

私は Windows プログラミングにあまり詳しくありませんが、ビデオ ゲーム (Counter Strike) は DirectInput (DirectX の) メソッドを使用してマウスの移動を読み取っていると推測されます。つまり、マウス モーション イベントを取得するために DirectInput を使用しており、Python の win32api.SetCursorPos はカーソルを指定された位置に「ワーピング」しており、中間の移動メッセージを生成していません。

ほとんどの場合、MS Win32 API 呼び出し SendInput を使用して、マウス移動メッセージを作成し、OS レベルでイベント キューにプッシュする必要があります。

.NET テクノロジに精通している場合は、IronPython (.NET ランタイムとやり取りできる Python インタープリター) を試してみてください。このような場合、Codeplex の Input Simulator プロジェクトには、マウス移動イベントを入力キューにプッシュするためのメソッドが定義されています。

于 2012-05-09T06:11:56.270 に答える