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:
Name | KeyCode | Axis |
---|---|---|
A | 조이스틱 버튼 14 | 조이스틱 축 14 |
B | 조이스틱 버튼 13 | 조이스틱 축 13 |
X | 조이스틱 버튼 15 | 조이스틱 축 15 |
Y | 조이스틱 버튼 12 | 조이스틱 축 12 |
Left Stick | 해당 없음 | 축 1(X) - 가로, 축 2(Y) - 세로 |
오른쪽 스틱 | 해당 없음 | 축 3 - 가로, 축 4 - 세로 |
D패드 위로 | 조이스틱 버튼 4 | 기본 프로파일에만 해당: 축 2(Y) |
D패드 오른쪽 | 조이스틱 버튼 5 | 기본 프로파일에만 해당: 축 1(X) |
D패드 아래로 | 조이스틱 버튼 6 | 기본 프로파일에만 해당: 축 2(Y) |
D패드 왼쪽 | 조이스틱 버튼 7 | 기본 프로파일에만 해당: 축 1(X) |
일시정지 | 조이스틱 버튼 0 | 해당 없음 |
L1/R1 | 조이스틱 버튼 8/조이스틱 버튼 9 | 조이스틱 축 8/조이스틱 축 9 |
L2/R2 | 조이스틱 버튼 10/조이스틱 버튼 11 | 조이스틱 축 10/조이스틱 축 11 |