string[] 返回一个包含操纵杆和游戏手柄设备名称的数组。
检索与在输入管理器中配置的轴索引相对应的一系列输入设备名称。
注意:此 API 是旧版 Input
类的一部分,不推荐用于新项目。此处提供文档是为了支持使用旧输入管理器和 Input 类的旧版项目。对于新项目,您应该使用更新的 Input System 包。(阅读更多).
返回的字符串取自操作系统报告的已连接设备的“友好名称”。也就是说,名称不是固定的,并且可能因设备、驱动程序和操作系统本身而异。
这些字符串旨在用于输入配置屏幕 - 这样,您就可以显示更有意义的名称(如“罗技 WingMan”),而不是显示诸如“操纵杆 1”之类的标签。要读取来自不同操纵杆的值,您需要在输入管理器中为要支持的操纵杆数量分配相应的轴。
此数组中操纵杆的位置对应于操纵杆编号,即此数组中位置 0 的名称用于将数据馈送到输入管理器中“操纵杆 1”的操纵杆,位置 1 的名称对应于“操纵杆 2”,依此类推。请注意,如果该操纵杆编号未连接任何设备,则数组中的一些条目可能为空。
using UnityEngine;
public class Example : MonoBehaviour { // Prints a joystick name if movement is detected.
void Update() { // requires you to set up axes "Joy0X" - "Joy3X" and "Joy0Y" - "Joy3Y" in the Input Manager for (int i = 0; i < 4; i++) { if (Mathf.Abs(Input.GetAxis("Joy" + i + "X")) > 0.2 || Mathf.Abs(Input.GetAxis("Joy" + i + "Y")) > 0.2) { Debug.Log(Input.GetJoystickNames()[i] + " is moved"); } } } }