Объявление
public static string[] GetJoystickNames();Возвращает
string[] Возвращает массив имен джойстиков и геймпадов.
Описание
Получает список имен устройств ввода, соответствующих индексу оси, настроенной в диспетчере ввода.
Возвращенные строки берутся из "дружественного имени" подключенного устройства, которое сообщает операционная система. То есть имена не фиксированы и, скорее всего, будут различаться в зависимости от устройства, драйвера и самой ОС.
Эти строки предназначены для использования на экранах конфигурации ввода. Таким образом, вместо меток, таких как "Джойстик 1", вы можете отображать более понятные имена, такие как "Logitech WingMan". Чтобы считывать значения с разных джойстиков, вам необходимо назначить соответствующие оси для количества джойстиков, которые вы хотите поддерживать, в диспетчере ввода.
Позиция джойстика в этом массиве соответствует номеру джойстика, т. е. имя в позиции 0 этого массива соответствует джойстику, который передает данные в "Джойстик 1" в Диспетчере ввода, имя в позиции 1 соответствует «Джойстик 2» и так далее. Обратите внимание, что некоторые записи в массиве могут быть пустыми, если для этого номера джойстика не подключено ни одно устройство.
using UnityEngine;
public class Example : MonoBehaviour
{
// Печатает имя джойстика при обнаружении движения.
void Update()
{
// требует, чтобы вы установили оси "Joy0X" - "Joy3X" и "Joy0Y" - "Joy3Y" в 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");
}
}
}
}