Джойстик
Базовая Широко поддерживается *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Интерфейс Gamepad API джойстика определяет отдельный джойстик или другой контроллер, позволяя получить доступ к информации, такой как нажатия кнопок, положения осей и идентификатор.
Объект Gamepad может быть возвращен двумя способами: через свойство gamepad события gamepadconnected и gamepaddisconnected, или путем получения любой позиции в массиве, возвращаемом методом Navigator.getGamepads().
Примечание: Поддержка функций джойстика варьируется в зависимости от комбинаций платформ и контроллеров. Даже если контроллер поддерживает определённую функцию (например, тактильную обратную связь), платформа может не поддерживать её для этого контроллера.
Свойства экземпляра
-
Gamepad.axesТолько для чтения -
Массив, представляющий элементы управления с осями, присутствующими на устройстве (например, аналоговые джойстики).
-
Массив объектов
gamepadButton, представляющих кнопки, присутствующие на устройстве. -
Gamepad.connectedТолько для чтения -
Булево значение, указывающее, подключен ли джойстик к системе.
-
Gamepad.displayIdТолько для чтения Устарело Нестандартно -
Возвращает
VRDisplay.displayIdсвязанногоVRDisplay(если применимо) —VRDisplay, которым джойстик управляет отображаемой сценой. -
Gamepad.handТолько для чтения Экспериментально -
Перечисление, определяющее, в какой руке удерживается контроллер или, скорее всего, удерживается.
-
Gamepad.hapticActuatorsТолько для чтения Экспериментально -
Массив, содержащий объекты
GamepadHapticActuator, каждый из которых представляет аппаратное обеспечение тактильной обратной связи, доступное на контроллере. -
Gamepad.vibrationActuatorТолько для чтения -
Объект
GamepadHapticActuator, который представляет аппаратное обеспечение тактильной обратной связи, доступное на контроллере. -
Gamepad.idТолько для чтения -
Строка, содержащая идентификационную информацию о контроллере.
-
Gamepad.indexТолько для чтения -
Целое число, которое автоматически увеличивается, чтобы быть уникальным для каждого устройства, подключенного к системе.
-
Gamepad.mappingТолько для чтения -
Строка, указывающая, переназначил ли браузер элементы управления на устройстве на известную компоновку.
-
Gamepad.poseТолько для чтения Экспериментально -
Объект
GamepadPose, представляющий информацию о позе, связанную с контроллером WebVR (например, его положение и ориентация в 3D-пространстве). -
Gamepad.timestampТолько для чтения -
DOMHighResTimeStamp, представляющий последнее время обновления данных для этого джойстика.
Пример
window.addEventListener("gamepadconnected", (e) => {
console.log(
"Gamepad connected at index %d: %s. %d buttons, %d axes.",
e.gamepad.index,
e.gamepad.id,
e.gamepad.buttons.length,
e.gamepad.axes.length,
);
});
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильное устройство | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Gamepad |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
axes |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
buttons |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
connected |
25 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
displayId |
Нет | 15–79 | 9864–98Поддержка macOS была включена в Firefox 64.55–98Поддержка Windows была включена в Firefox 55. |
Нет | Нет | 55–80В настоящее время поддерживается только Google Daydream. |
55–98 | 42–57В настоящее время поддерживается только Google Daydream. |
Нет | 6.0–13.0В настоящее время поддерживается только Google Daydream. |
Нет |
hand |
Нет | 15–79 | 55 | Нет | Нет | Нет | 55 | Нет | Нет | Нет | Нет |
hapticActuators |
Нет | 15–79 | 55 | Нет | Нет | Нет | 55 | Нет | Нет | Нет | Нет |
id |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
vibrationActuator |
68 | 79 | Нет | 55 | 16.4 | 68 | Нет | 48 | Нет | 10.0 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Gamepad