Gamepad
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since март 2017 г..
* Some parts of this feature may have varying levels of support.
Интерфейс Gamepad Gamepad API определяет отдельный геймпад или контроллер, предоставляющий доступ к такой информации, как: нажатие кнопок, позиции осей, и id.
Объект Gamepad может быть возвращён в одном из двух случаев: как свойство gamepad событий gamepadconnected и gamepaddisconnected, или считыванием любой позиции в массиве, возвращённом методом Navigator.getGamepads().
Свойства
Gamepad.displayIdТолько для чтения-
Возвращает
VRDisplay.displayIdсвязанный сVRDisplay(при необходимости) —VRDisplayотображаемая область которого управляется геймпадом. Gamepad.idТолько для чтения-
DOMStringсодержит идентификационную информацию о контроллере. Gamepad.indexТолько для чтения-
Целое автоинкрементируемое значение, уникальное для каждого устройства, подключённого в данный момент к системе.
Gamepad.mappingТолько для чтения-
Строка, указывающая, переназначил ли браузер элементы управления устройства на уже известный шаблон.
Gamepad.connectedТолько для чтения-
Логическое свойство показывающее, подключён ли геймпад к системе в данный момент.
-
Массив объектов
gamepadButtonпредставляющих кнопки устройства. Gamepad.axesТолько для чтения-
Массив, представляющий элементы управления осями устройства (например, аналоговые стики).
Gamepad.timestampТолько для чтения-
DOMHighResTimeStampпредставляет время последнего обновления данных геймпада.
Экспериментальные расширения для Gamepad
Следующие интерфейсы определены в спецификации Gamepad Extensions, и предоставляют доступ к экспериментальным возможностям, таким как тактильная обратная связь (haptic feedback) и информация о положении WebVR контроллера.
Gamepad.handТолько для чтения-
Перечисляемое значение, которое определяет в какой руке находится контроллер.
Gamepad.hapticActuatorsТолько для чтения-
Массив, содержащий объекты
GamepadHapticActuator, каждый из которых представляет собой аппаратные средства тактильной обратной связи (haptic feedbac) доступные для контроллера. Gamepad.poseТолько для чтения-
Объект
GamepadPoseпредставляет информацию о положении WebVR контроллера (например, позиция и ориентация в 3D пространстве).
Пример
window.addEventListener("gamepadconnected", function (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,
);
});
Спецификации
| Specification |
|---|
| Gamepad> # gamepad-interface> |
| Gamepad Extensions> # partial-gamepad-interface> |
Совместимость с браузерами
Loading…