DIJOYSTATE
DIJOYSTATE 型は、ジョイスティック デバイスの状態に関する情報を格納する ("ジョイスティック" には、ゲーム パッドやステアリング ホイールなど、ほかのコントローラも含まれる)。この型は、DirectInputDevice.GetDeviceStateJoystick メソッドで使用される。
Type DIJOYSTATE
buttons(0 To 31) As Byte
POV(0 To 3) As Long
rx As Long
ry As Long
rz As Long
slider(0 To 1) As Long
x As Long
y As Long
z As Long
End Type
メンバ
- buttons
- ボタンの状態の配列。バイトの上位ビットは、対応するボタンがダウン状態にあるときに設定され、ボタンがアップ状態または存在しないときには消去される。
- POV
- 最高 4 つまでの方向コントローラ (視点ハットなど) の現在位置。この位置は、北から (ユーザーの正面側) 時計回りの実角度の 100 倍で表される。中心位置は通常 -1 と報告されるが、これについては「注意」を参照すること。5 つの位置しか持たないインジケータの場合、コントローラの値は -1、0、9,000、18,000、27,000 のいずれか 1 つの値を取る。
- rx
- ジョイスティックの x 軸回転の情報。ジョイスティックにこの軸がなければ、値はゼロである。
- ry
- ジョイスティックの y 軸回転の情報。ジョイスティックにこの軸がなければ、値はゼロである。
- rz
- ジョイスティックの z 軸回転の情報 (方向舵のコントロールでよく呼び出される)。ジョイスティックにこの軸がなければ、値はゼロである。
- slider
- 2 つの追加軸の値。その意味はジョイスティックにより異なる。これらの値に関する意味情報を取得するには、DirectInputDevice.GetObjectInfo メソッドを使用する。
- x
- ジョイスティックの x 軸の情報 (通常は、スティックの左右の動き)。
- y
- ジョイスティックの y 軸の情報 (通常は、スティックの前後の動き)。
- z
- ジョイスティックの z 軸の情報 (通常は、スロットル制御)。ジョイスティックにこの軸がなければ、値はゼロである。
注意
ジョイスティック型のアクセスをするには、DirectInputDevice.SetCommonDataFormat メソッドを呼び出し、DIFORMAT_JOYSTICK 形式定数を渡すことで、デバイスの準備をしなければならない。
軸が相対モードである場合は、適切なメンバが位置の変化量を格納する。絶対モードの場合には、同じメンバが軸の絶対位置を格納する。
POV インジケータの中心位置を 65,535 と報告するドライバもある。POV インジケータが中心位置にあるかどうかは、次のようにして確認する。
Dim POVCentered as Boolean
POVCentered = MyDijoystate.POV(0) And &HFFFF;
参照
DIJOYSTATE2