Microsoft DirectX 8.0 (Visual Basic) |
ジョイスティックの現在の状態を取得するには、DirectInputDevice8.GetDeviceStateJoystick メソッドまたは DirectInputDevice8.GetDeviceStateJoystick2 メソッドを呼び出す。どちらのメソッドを使用するかは、DIFORMAT_JOYSTICK か DIFORMAT_JOYSTICK2 のどちらでデータ形式が設定されたのかによる (「デバイス データ形式」を参照すること)。state パラメータに返されるジョイスティック状態には、軸座標、ボタンの状態、および視点コントローラの状態などがある。
DIJOYSTATE 型または DIJOYSTATE2 型の POV メンバには、4 つまでの視点コントローラの位置が含まれている。これらは、北から時計回り (または前方) の実角度の 100 倍で表される。中心位置は -1 として報告される。5 つの位置しか持たないコントローラの場合、位置は以下のどれか 1 つの値を取る。
中心位置として、-1 ではなく 65,535 を報告するドライバもある。POV 標識が中心位置にあるかどうかは、次のようにチェックしなければならない。
Dim POVCentered As Boolean POVCentered = MyDijoystate.POV(0) And &HFFFF
buttons メンバは、バイト配列である。データ型によって、32 個または 128 個の各ボタンに 1 要素が対応する。各ボタンの上位ビットは、ボタンがダウン状態で設定され、アップ状態または存在しない場合に消去される
DIJOYSTATE2 型には、軸の速度、加速度、フォース、およびトルクについての情報を提供する追加メンバがある。
詳細については、「ジョイスティック軸データの解釈」を参照すること。