Unity 6.3
0 онлайн 70 гостей 3 в системе
Вход

Input.GetJoystickNames

Declaration

public static string[] GetJoystickNames();

Возвращаемое значение

string[] Возвращает массив имен устройств джойстика и геймпада.

Описание

Получает список имен устройств ввода, соответствующих индексу оси, настроенной в диспетчере ввода.

Примечание: Этот API является частью устаревшего менеджера ввода. Рекомендуется не использовать этот API в новых проектах. Для новых проектов используйте пакет Input System. Чтобы узнать больше о вводе, обратитесь к Вводимые ресурсы.

Возвращаемые строки взяты из "дружественного имени" подключенного устройства, как сообщается операционной системой. То есть, имена не являются фиксированными и, вероятно, будут варьироваться между устройствами, драйверами и самим OS.

Эти строки предназначены для использования в экранах конфигурации ввода — таким образом, вместо отображения надписей типа "Джойстик 1", вы можете показать более значимые имена типа "Logitech WingMan". Для чтения значений от различных джойстиков, вам нужно назначить соответствующие оси для количества джойстиков, которые вы хотите поддерживать в менеджере ввода.

Позиция джойстика в этом массиве соответствует номеру джойстика, i.e. имя в позиции 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"); } } } }