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 | 游戏杆按钮 14 | 游戏杆轴 14 |
B | 游戏杆按钮 13 | 游戏杆轴 13 |
X | 游戏杆按钮 15 | 游戏杆轴 15 |
是 | 游戏杆按钮 12 | 游戏杆轴 12 |
左摇杆 | 无 | 轴 1 (X) - 水平,轴 2 (Y) - 垂直 |
右摇杆 | 无 | 轴 3 - 水平,轴 4 - 垂直 |
向上方向键 | 游戏杆按钮 4 | 仅限基本配置:轴 2 (Y) |
向右方向键 | 游戏杆按钮 5 | 仅限基本配置:轴 1 (X) |
向下方向键 | 游戏杆按钮 6 | 仅限基本配置:轴 2 (Y) |
向左方向键 | 游戏杆按钮 7 | 仅限基本配置:轴 1 (X) |
暂停 | 游戏杆按钮 0 | 无 |
L1/R1 | 游戏杆按钮 8/游戏杆按钮 9 | 游戏杆轴 8/游戏杆轴 9 |
L2/R2 | 游戏杆按钮 10/游戏杆按钮 11 | 游戏杆轴 10/游戏杆轴 11 |