強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Unityで開発する場合の「SUPERGAMER俺」のゲームパッド情報

Unityから「SUPERGAMER俺」のゲームパッド部分の情報はどの様に割り当てられているか調査してみました。

なお、十字キーについてはアプリ内から取得出来ない様です。 KeyCode.UpArrow なども含め、Unityから取得可能な全コードで確認してみましたがいずれのコードでも入力を取得出来ませんでした。もし、UnityかAndroidのプログラムにて取得に成功した方がおられましたらコメント欄にて情報を頂けましたら嬉しいです(^_^;)

コード情報

【ボタンの情報】

ボタン 対応する値
A joystick button 0
B joystick button 1
X joystick button 3
Y joystick button 4
L1 joystick button 6
R1 joystick button 7
L2 joystick button 8
R2 joystick button 9
SELECT joystick button 10
START joystick button 11
L3 joystick button 13
R3 joystick button 14


【アナログスティックの情報】

スティック 対応する値
左アナログ水平 X axis
左アナログ垂直 Y axis
右アナログ水平 3rd axis (Joysticks and Scrollwheel)
右アナログ垂直 4th axis (Joysticks)

使い方

ボタン

ここでは例として Button 0 を押されているか判定するコードを記述します。

【キーコードを直接指定する場合】

if (Input.GetKey(KeyCode.Joystick1Button0)) {
}

【Input Managerを使う場合】
Input Managerを開き、項目を追加。「Name」には「button0」、「Positive Button」には「joystick button 0」と記述します。

以下の記述で入力判定が可能です。

if (Input.GetButton("button0")) {
}
スティック

ここでは右アナログスティックの水平方向への入力情報の取得方法について解説します。

まずはInput Managerを開き、項目を追加。「Name」には「axis3」、「Axis」の値を「3rd axis〜」を選択します。

以下の記述で入力値を取得出来ます。値の範囲は -1〜1 です。

float axis3 = Input.GetAxis("axis3");

ちなみに「Axis」では以下の様な値を選択可能です。

よく使う「Horizontal」と「Vertical」にはそれぞれ、「X axis」と「Y axis」が設定されています。