Gamepad: buttons-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2017 browserübergreifend verfügbar.
Die schreibgeschützte Eigenschaft buttons des Gamepad-Interfaces gibt ein Array von GamepadButton-Objekten zurück, die die Tasten des Geräts repräsentieren.
Jeder Eintrag im Array ist 0, wenn die Taste nicht gedrückt ist, und ungleich null (üblicherweise 1.0), wenn sie gedrückt ist.
Wert
Ein Array von GamepadButton-Objekten.
Beispiele
Je nach Tastentyp müssen wir auf die Eigenschaften GamepadButton.value oder GamepadButton.pressed zugreifen. Dieses Beispiel unterstützt beide:
js
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);
}
Spezifikationen
| Spezifikation |
|---|
| Gamepad> # dom-gamepad-buttons> |