The input scheme is dependent on the type of application you are developing. You can set up specific actions in Unity’s Input Manager settings. By default, the Unity Input Horizontal axis is mapped to the game controller D-pad and the left analog stick is mapped to extended profile controllers. See Input mapping for the KeyCodes and Axes that correspond to specific controller buttons.
This code example demonstrates the corresponding input handling:
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));
}
}
}
This code example demonstrates the corresponding input handling:
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);
}
}
}
You can map controller input in the Unity Input settings using the following:
名前 | KeyCode | Axis |
---|---|---|
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 |