Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -SHIELD WIRELESS CONTROLLERのキーコード一覧-

定数部分だけを書きます
if(Input.GetKey(『ココに書く』)){
    //ボタンが押された
}

例)↑ボタンの定数はKeyCode.UpArrow
if(Input.GetKey(KeyCode.UpArrow)){
	//ボタンが押された
}
上下左右部分はジョイスティック扱いになります
Input.GetAxisRawで,どのくらいその方向に傾いているのかが取得可能です
if(Input.GetAxisRaw("Vertical") < 0){
	//上に傾いている
}else if(0 < Input.GetAxisRaw("Vertical")){
	//下に傾いている
}else{
	//上下方向には傾いていない
}
if(Input.GetAxisRaw("Horizontal") < 0){
	//左に傾いている
}else if(0 < Input.GetAxisRaw("Horizontal")){
	//右に傾いている
}else{
	//左右方向には傾いていない
}

○環境

・NVIDIA SHIELD Tablet (Android OS 4.4.2)
・NVIDIA SHIELD WIRELESS CONTROLLER

○SHIELD WIRELESS CONTROLLERのキー取得

↑:反応なし
↓:反応なし
←:反応なし
→:反応なし

左スティック
斜め方向に入れた時は,VerticalとHorizontalが両方変化する
上:Input.GetAxisRaw("Vertical") < 0
下:0 < Input.GetAxisRaw("Vertical")
左:Input.GetAxisRaw("Horizontal") < 0
右:0 < Input.GetAxisRaw("Horizontal")

右スティック:反応なし(対処方法)

機器に文字が打たれており,それぞれ以下のように認識される
(カッコ内はPSコントローラー配置との対比)
X(□):KeyCode.JoystickButton2
Y(△):KeyCode.JoystickButton3
A(×):KeyCode.JoystickButton0
B(○):KeyCode.JoystickButton1

L1:KeyCode.JoystickButton4
R1:KeyCode.JoystickButton5
L2:反応なし
R2:反応なし

L3:KeyCode.JoystickButton8
R3:KeyCode.JoystickButton9

他のボタンは反応しない
手前のパッド部分はマウスとして取得可能(長押しで右クリックは不可)

※複数台認識の Joystick?Buttonが使用可能です


※Unity4.5.4にて調査した結果であり,バージョンによって違う可能性があります


TOPプログラマ専用Unityでゲーム開発

Melonbooks DL