包含此页的版本:
不含此页的版本:
Unity 包括游戏控制器 控制游戏中对象和角色的设备。
请参阅术语表框架,仅当项目中的脚本引用Input.GetJoystickNames.如果可用,Unity iOS 运行时会动态加载框架。
要获取所有可用控制器的列表,请调用Input.GetJoystickNames.您可以随时重新检查此列表,以检测控制器是否已连接或分离。
可以调用此 API 来检测附加的控制器类型。名称遵循以下模式:[$profile_type,$connection_type] joystick $number by $model.$profile_type可以是基本的,也可以是扩展的,并且$connection_type是有线的,也可以是无线的。当 Unity 检测到至少一个控制器时,您可以禁用屏幕触摸控件或修改它们以补充控制器输入。
以下代码示例检查是否有任何控制器连接到设备。
using System.Collections;
using UnityEngine;
public class GameControllers : MonoBehaviour
{
private bool connected = false;
IEnumerator CheckForControllers() {
while (true) {
var controllers = Input.GetJoystickNames();
if (!connected && controllers.Length > 0) {
connected = true;
Debug.Log("Connected");
} else if (connected && controllers.Length == 0) {
connected = false;
Debug.Log("Disconnected");
}
yield return new WaitForSeconds(1f);
}
}
void Awake() {
StartCoroutine(CheckForControllers());
}
}