現在 DirectInput8 のライブラリを作っているのですが
ジョイスティックの入力取得の挙動がおかしいので
どこかが間違っていると思うのですが、SDKのサンプルには
載っていなかったので質問させてもらいます
ソースは添付したものになりますが
肝心な入力の取得は CDxInput8::Test2() になります
初期化などで間違っているかもしれませんし、
全体にわたって見てみただけると助かります
現在の挙動はジョイスティックの十字キーを押すと何も反応ないのですが、
キーボードを押しっぱなしにした状態で十字キーを押すと正常に反応するという
現象が起きてしまいます
どこかがメモリエラー発生しているのかよくわからないのです
助言をお願いします
ジョイスティックの挙動がおかしい?
Re:ジョイスティックの挙動がおかしい?
問題なのはTest2を呼び出している位置です。
GetMessageはメッセージが飛んでくるまでは、内部でスリープします。
従って、キーボード操作やマウス操作など、ウインドウメッセージが飛んで来た時しか
Test2が呼び出されることはありません。
GetMessageはメッセージが飛んでくるまでは、内部でスリープします。
従って、キーボード操作やマウス操作など、ウインドウメッセージが飛んで来た時しか
Test2が呼び出されることはありません。
Re:ジョイスティックの挙動がおかしい?
PeekMessage( )でメッセージのチェックをして処理したらどうでしょう for (;;) { if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if (!GetMessage(&msg, NULL, 0, 0)) { break; } TranslateMessage(&msg); DispatchMessage(&msg); } else { gInput8.Test2(); Sleep(10); } }