Version: Unity 6.0 (6000.0)
语言 : 中文
检测游戏控制器
测试和调试 iOS 应用程序

处理游戏控制器输入

输入方案依赖于正在开发的应用程序类型。您可以在 Unity 的输入管理器 (Input Manager) 设置中配置特定操作。默认情况下,Unity 的水平输入轴会映射到游戏控制器的方向键,而左摇杆则会映射到扩展配置的控制器上。请参考输入映射,了解与特定控制器按钮对应的 KeyCode 和轴。

示例:为 Jump 操作设置游戏手柄的 A 按钮。

  1. 选择编辑 (Edit) > 项目设置 (Project Settings)
  2. 选择输入管理器 (Input Manager) 类别。
  3. 打开 Jump 操作。
  4. 正按钮 (Positive Button) 设置为 游戏杆按钮 14 (joystick button 14)

以下是对应的输入处理代码示例:

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));
        }
    }
}

示例:为 Fire 操作设置游戏手柄的 X 按钮。

  1. 选择编辑 (Edit) > 项目设置 (Project Settings)
  2. 选择输入管理器 (Input Manager) 类别。
  3. 打开 Fire1 操作。
  4. 正按钮 (Positive Button) 设置为游戏杆按钮 15 (joystick button 15)

以下是对应的输入处理代码示例:

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 输入设置中控制器输入的映射表:

名称 KeyCode
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

其他资源:

检测游戏控制器
测试和调试 iOS 应用程序