GamepadButton
Базовая Широко поддерживается *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Интерфейс GamepadButton определяет отдельную кнопку геймпада или другого контроллера, позволяя получить доступ к текущему состоянию различных типов кнопок, доступных на устройстве управления.
Объект GamepadButton возвращается при запросе любого значения массива, возвращаемого свойством buttons интерфейса Gamepad.
Свойства экземпляра
-
Булево значение, указывающее, нажата ли кнопка в данный момент (
true) или не нажата (false). -
Булево значение, указывающее, нажата ли кнопка в данный момент (
true) или нет (false). -
Двойное значение, используемое для представления текущего состояния аналоговых кнопок, таких как спусковые крючки на многих современных геймпадах. Значения нормированы в диапазоне 0.0 — 1.0, где 0.0 соответствует ненажатой кнопке, а 1.0 — полностью нажатой кнопке.
Пример
Значения кнопок в примере ниже хранятся в массиве объектов GamepadButton. Этот простой пример проверяет, является ли GamepadButton.value кнопки больше, чем 0, или свойство GamepadButton.pressed указывает, что кнопка нажата.
function gameLoop() {
const gp = navigator.getGamepads()[0];
if (gp.buttons[0].value > 0 || gp.buttons[0].pressed) {
b--;
} else if (gp.buttons[1].value > 0 || gp.buttons[1].pressed) {
a++;
} else if (gp.buttons[2].value > 0 || gp.buttons[2].pressed) {
b++;
} else if (gp.buttons[3].value > 0 || gp.buttons[3].pressed) {
a--;
}
ball.style.left = `${a * 2}px`; // ball is a UI widget
ball.style.top = `${b * 2}px`;
requestAnimationFrame(gameLoop);
}
Спецификации
| Спецификация |
|---|
| Gamepad # gamepadbutton-interface |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
GamepadButton |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
pressed |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
secure_context_required |
86 | 86 | 91 | 72 | Нет | 86 | 91 | Нет | Нет | Нет | Нет |
touched |
73 | 15 | 55 | 60 | Нет | 73 | 55 | 52 | Нет | 11.0 | 73 |
value |
21 | 12 | 29 | 15 | 10.1 | 25 | 32 | 14 | 10.3 | 1.5 | 4.4 |
См. также
© 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/GamepadButton