Microsoft DirectX 8.0 (C++) |
拡張機能の付いたジョイスティック デバイスの状態を表す。この構造体は、IDirectInputDevice8::GetDeviceState メソッドで使用する。
typedef struct DIJOYSTATE2 { LONG lX; LONG lY; LONG lZ; LONG lRx; LONG lRy; LONG lRz; LONG rglSlider[2]; DWORD rgdwPOV[4]; BYTE rgbButtons[128]; LONG lVX; LONG lVY; LONG lVZ; LONG lVRx; LONG lVRy; LONG lVRz; LONG rglVSlider[2]; LONG lAX; LONG lAY; LONG lAZ; LONG lARx; LONG lARy; LONG lARz; LONG rglASlider[2]; LONG lFX; LONG lFY; LONG lFZ; LONG lFRx; LONG lFRy; LONG lFRz; LONG rglFSlider[2]; } DIJOYSTATE2, *LPDIJOYSTATE2;
拡張機能付きジョイスティックのアクセス用にデバイスを準備するには、IDirectInputDevice8::SetDataFormat メソッドを呼び出し、c_dfDIJoystick2 グローバルデータ形式変数を渡す。
軸が相対モードである場合は、適切なメンバが位置の変化量を格納する。絶対モードの場合には、同じメンバが軸の絶対位置を格納する。
POV インジケータの中心位置を 65,535 と報告するドライバもある。POV インジケータが中心位置にあるかどうかは、次のようにして確認する。
BOOL POVCentered = (LOWORD(dwPOV) == 0xFFFF);
注 : Microsoft® DirectX® 7 では、一部のジョイスティックのスライダを Z 軸に割り当て、それ以降のコードでそのメンバからデータを取得することができた。DirectX 8 では、同じスライダを rglSlider 配列に割り当てる。アプリケーションを DirectX 8 に移植する場合は、この点を考慮する必要がある。rglSlider 配列からスライダ データを取得するために必要な変更があれば行うこと。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。