Gamepad
Интерфейс Gamepad
Gamepad API определяет отдельный геймпад или контроллер, предоставляющий доступ к такой информации, как: нажатие кнопок, позиции осей, и id.
Объект Gamepad
может быть возвращён в одном из двух случаев: как свойство gamepad
событий unsupported templ: event и 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 |
Совместимость с браузерами
BCD tables only load in the browser