API Gamepad - это простой и последовательный способ для разработчиков получать доступ к сигналам с геймпадов и других игровых контроллеров и реагировать на них. Он содержит три интерфейса, два события и одну специализированную функцию, чтобы реагировать на подключение и отключение геймпадов, а также получать доступ к другой информации о самих геймпадах и о том, какие кнопки и другие элементы управления в настоящее время нажимаются.
Интерфейсы
Gamepad
- Представляет собой геймпад/контроллер, подключенный к компьютеру.
GamepadButton
- Представлят собой кнопку одного из подлюченных контроллеров
GamepadEvent
- Объект события, представляющий запущенные события, связанные с геймпадами.
Экспериментальные расширения геймпада
GamepadHapticActuator
- Представляет собой аппаратное обеспечение в контроллере, предназначенное для обеспечения тактильной обратной связи с пользователем (если таковая имеется), чаще всего вибрационное оборудование.
GamepadPose
- Представляет собой позу контроллера (например, положение и ориентацию в трехмерном пространстве) в случае контроллера WebVR. Это не используется в более новом стандарте WebXR.
Сморите также extensions to the Gamepad interface (расширения интерфейса геймпада) для функций, которые позволяют получить доступ к вышеуказанной информации.
Расширения для других интерфейсов
Навигатор
Navigator.getGamepads()
- Расширение объекта
Navigator
, возвращающее масссив объектовGamepad
по одному для каждого подключенного геймпада.
События окна
Window.ongamepadconnected
- Представляет собой обработчик событий, который будет выполняться при подключении геймпада (когда срабатывает событие
gamepadconnected
). Window.ongamepaddisconnected
- Представляет собой обработчик событий, который будет выполняться при отключении геймпада (когда срабатывает событие
gamepaddisconnected
).
Учебные пособия и руководства
Технические характеристики
Спецификация | Статус | Примечание |
---|---|---|
Gamepad Extensions | Редакторский черновик | Определяет Experimental Gamepad extensions. |
Gamepad Определение 'The Gamepad API specification' в этой спецификации. |
Рабочий черновик | Первононачальное определение |
Совместимость браузера
BCD tables only load in the browser
Таблица совместимости на этой странице создается на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте: https://github.com/mdn/browser-compat-data and send us a pull request.
Прочтите также
- The Gamepad API, авторы: Тед Мельчарек и Роберт Найман
- Simple API demo page (source)