連続して質問して申し訳ありませんがどうか質問させてください。
早速ですがDirectInputのモジュールを作っているんですが、
ジョイスティックからのデータの受け取りで、
各ボタンは問題ないのですが、十字ボタンからのデータを、
うまく認識してくれません。
●Input.h
--省略--
class Input{
public:
BOOL JoyData(int ButtonNo);
BOOL UP() {return JoyData(0);}
BOOL DOWN() {return JoyData(1);}
};
●Input.cpp
BOOL Input::JoyData(int No)
{
DIJOYSTATE2 js;
m_pJoystick->Acquire();
m_pJoystick->GetDeviceState(sizeof(DIJOYSTATE2), &js);
switch(ButtonNo){
case 0:
if(js.lY < 0) return TRUE; // Up
break;
case 1:
if(js.lY > 0) return TRUE; // DOWN
break;
}
}
●Main.cpp
HRESULT hr;
if( FAILED( hr = CMyD3DApplication::FrameMove(fElapsedTime))) return hr;
D3DXMATRIX matWorld;
D3DXMATRIX matRotY;
D3DXMATRIX matRotX;
m_DInput.JoyUpdate();
if(m_DInput.UP()) m_fWorldRotX += m_fElapsedTime * 0.5f; //UP
if(m_DInput.DOWN()) m_fWorldRotX -= m_fElapsedTime * 0.5f; //DOWN
D3DXMatrixRotationX( &matRotX, m_fWorldRotX );
ポリゴン一つ表示させているのですが、十字ボタンを押していないのに勝手に
下側に動き出してしまうのです。
十字ボタンはどの様な値でゲームパッドからデータを受け取っているのでしょうか
この十字ボタンがうまく動かない現象どうかご教授おねがいします。
No.1ベストアンサー
- 回答日時:
いい加減に物言うと、まあ大体のジョイパットって、入力値に微妙なゴミの
値が必ずと言っていいほど入るので、
if(js.lY < 0) return TRUE; // Up
とかみたいに 0 で判定取るのはよくないです。
デバックで常にどんな値が入っているか確認してみてください。
定まっていないはずです。
まあ初期化時の軸範囲次第ですが、軸範囲が 10000 なら 2000 ~ 4000 位で取ると
良いかもです。
まあどうしても 0 でやりたいと言うのなら
DirectInput の初期化時にデットゾーンを指定してみてください。
DIPROP_DEADZONE がキーワードです。
ただ、デットゾーンに関してはなんか上手いこと簡単な資料がぱっと
見つからないんですよ。コレが
参考URLはMSDNです。
簡単にやるやら、0 で判定しないのが楽です。
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUが16bitでも32bitOSでコンパ...
-
プログラミングでArduinoのc++...
-
プログラマーです。このDB設計...
-
0 == False はいいけど
-
プログラム言語について c言語...
-
Python、プログラミングについ...
-
swift言語の最適化 swift最適化...
-
c++でテンプレートのコードでわ...
-
C言語 入力した値から0までの数...
-
プログラムを斜めに並べる
-
写真のプログラムは、1からnま...
-
スタックフレームの消滅
-
プログラミング 2つの整数を読...
-
大量のデータを読み込んで表示...
-
バッチファイルで以下のような...
-
Windows formアプリで データグ...
-
C言語 配列と関数の練習問題
-
double型が正常に認識されてい...
-
Bitcoin、BTCはブロックチェー...
-
C言語 バッファについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
How to replace an old file wi...
-
十字ボタンのデータについて
-
VBAのCodeModule.Linesの記入方法
-
マイクラ1.7.10のエナジークリ...
-
JavaScript?jQuery?で書き方...
-
C言語 exitの使い方
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
エクセルへのデータの貼付時に...
-
配列の値を置換するにはどうす...
-
EXCEL/VBA 変数の値をクリップ...
-
だれがとけるの?
-
C言語 列挙型(enum型)変数について
-
VisualStudio2022でC言語プログ...
-
[VBS]変数を定数に変換する方法...
-
jsp~jspにhiddenを使って変数...
-
プログラミングについての質問...
おすすめ情報