入力スキームは、開発しているアプリケーションの種類に依存します。Unity の Input Manager 設定で特定のアクションを設定できます。デフォルトでは、Unity Input Horizontal (並行) 軸はゲームコントローラの D パッドにマップされ、左のアナログスティックは拡張プロファイルコントローラにマップされます。特定のコントローラーのボタンに対応する KeyCode と軸については、入力のマッピング を参照してください。
このコード例は、対応する入力処理を示しています。
using UnityEngine;
public class Jumping : MonoBehaviour
{
Rigidbody2D rb;
float jumpForce = 100f;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetButtonDown("Jump"))
{
rb.AddForce(new Vector2(0f, jumpForce));
}
}
}
このコード例は、対応する入力処理を示しています。
using UnityEngine;
public class Shooting : MonoBehaviour
{
float bulletSpeed = 500f;
public Transform gun;
public Rigidbody2D bullet;
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
var bulletInstance = Instantiate(bullet, gun.position, gun.rotation);
bulletInstance.AddForce(gun.up * bulletSpeed);
}
}
}
Unity Input 設定で、以下を使ってコントローラー入力のマッピングを行えます。
名前 | キーコード | 軸 |
---|---|---|
A | joystick button 14 | joystick axis 14 |
B | joystick button 13 | joystick axis 13 |
X | joystick button 15 | joystick axis 15 |
Y | joystick button 12 | joystick axis 12 |
Left Stick | 該当なし | Axis 1 (X) - Horizontal、Axis 2 (Y) - Vertical |
Right Stick | 該当なし | Axis 3 - Horizontal、Axis 4 - Vertical |
D-pad Up | joystick button 4 | Basic profile only: Axis 2 (Y) |
D-pad Right | joystick button 5 | Basic profile only: Axis 1 (X) |
D-pad Down | joystick button 6 | Basic profile only: Axis 2 (Y) |
D-pad Left | joystick button 7 | Basic profile only: Axis 1 (X) |
Pause | joystick button 0 | 該当なし |
L1/R1 | joystick button 8 / joystick button 9 | joystick axis 8 / joystick axis 9 |
L2/R2 | joystick button 10 / joystick button 11 | joystick axis 10 / joystick axis 11 |