ジョイパッドとその関連関数
ジョイパッドについて説明を行おうと思います。
ジョイパッドというのはいわゆるゲームコントローラーです。
まずジョイパッドの接続がされている数を取得するにはGetJoypadNum関数を利用します。
また、ジョイパッドの入力を受け付けたい場合はGetJoypadInputState関数を利用します。
このように情報を取得したければ
GetJoypadNum ジョイパッドが接続されている数を取得する
GetJoypadInputState ジョイパッドの入力状態を得る
GetJoypadAnalogInput ジョイパッドのアナログ的なレバー入力情報を得る
GetJoypadDirectInputState ジョイパッドのDirectInputから取得できる情報を得る
GetJoypadXInputState ジョイパッドのXInputから取得できる情報を得る
SetJoypadDeadZone ジョイパッドの方向入力の無効範囲を設定する
と多くの取得関数がリファレンスで公開されています。
非公開関数として、入力デバイスがXInputに対応しているかを調べるCheckJoypadXInput関数や、
ジョイパッドでの入力をキーボード入力に変換するSetJoypadInputToKeyInput関数があります。
さらにPOV(十字キー)の入力を受け付けるGetJoypadPOVState関数やジョイパッドを再接続するReSetupJoypad関数もあります。
デバックのために振動機能を無効にしたい場合はSetUseJoypadVibrationFlag関数を使います
<今日の関数>
公開関数
GetJoypadNum:ジョイパッドが接続されている数を取得する
GetJoypadInputState:ジョイパッドの入力状態を得る
GetJoypadAnalogInput:ジョイパッドのアナログ的なレバー入力情報を得る
GetJoypadDirectInputState:ジョイパッドのDirectInputから取得できる情報を得る
GetJoypadXInputState:ジョイパッドのXInputから取得できる情報を得る
SetJoypadDeadZone:ジョイパッドの方向入力の無効範囲を設定する
StartJoypadVibration:ジョイパッドの振動を開始する
StopJoypadVibration:ジョイパッドの振動を停止する
非公開関数
CheckJoypadXInput関数:
宣言:int CheckJoypadXInput(int InputType ) ;
概略:指定の入力デバイスが XInput に対応しているかどうかを取得する
引数: InputType:調べる入力デバイス
戻り値:0:成功
-1:エラー発生
解説:指定の入力デバイスが XInput に対応しているかどうかを取得する( 戻り値 TRUE:XInput対応の入力デバイス FALSE:XInput非対応の入力デバイス -1:エラー )( DX_INPUT_KEY や
DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返す )
SetJoypadInputToKeyInput関数:
宣言:int SetJoypadInputToKeyInput(int InputType, int PadInput, int KeyInput1, int KeyInput2 = -1 , int KeyInput3 = -1 , int KeyInput4 = -1 ) ;
概略:ジョイパッドの入力に対応したキーボードの入力を設定する
引数: InputType:設定する入力デバイス PadInput:設定するバッド KeyInput1,2,3,4:設定するキー
戻り値:0:成功
-1:エラー発生
解説:ジョイパッドの入力に対応したキーボードの入力を設定する
( InputType:設定を変更するパッドの識別子( DX_INPUT_PAD1等 )
PadInput:設定を変更するパッドボタンの識別子( PAD_INPUT_1 等 )
KeyInput1:PadInput を押下したことにするキーコード( KEY_INPUT_A など )その1
KeyInput2:その2、-1で設定なし
KeyInput3:その3、-1で設定なし
KeyInput4:その4、-1で設定なし )
GetJoypadPOVState関数:
宣言:int GetJoypadPOVState(int InputType, int POVNumber ) ;
概略:ジョイパッドのPOV入力の状態を得る
引数:)InputType:調べる入力デバイス POVNumber:調べるPOV
戻り値:指定のPOVデータの角度、単位は角度の100倍( 90度なら 9000 )。ただし中心なら-1
解説:ジョイパッドのPOV入力の状態を得る( 戻り値 指定のPOVデータの角度、単位は角度の100倍( 90度なら 9000 )
中心位置にある場合は -1 が返る
ReSetupJoypad関数
宣言:int ReSetupJoypad( void ) ;
概略:ジョイパッドの再セットアップを行う
引数:なし
戻り値:0:成功
-1:エラー発生
解説:ジョイパッドの再セットアップを行う( 新たに接続されたジョイパッドがあったら検出される )
SetUseJoypadVibrationFlag関数
宣言:int SetUseJoypadVibrationFlag( int Flag ) ;
概略:ジョイパッドの振動機能を使用するかどうかを設定する
引数:Flag
TRUE:振動機能を利用する
FALSE:振動機能を利用しない
戻り値:0:成功
-1:エラー発生
解説:ジョイパッドの振動機能を使用するかどうかを設定する( TRUE:使用する FALSE:使用しない )
※非公開関数の解説は私が書いています。一貫性を持たせるために可能な限りDxlib制作者様に似せて書いておりますが改善の要望等ありましたらコメントをお願い致します