版本: Unity 6 (6000.0)
语言英语
  • C#

Input.GetJoystickNames

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每一项更改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static string[] GetJoystickNames();

返回值

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