GamepadButton
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die GamepadButton
-Schnittstelle definiert einen einzelnen Knopf eines Gamepads oder eines anderen Controllers und ermöglicht den Zugriff auf den aktuellen Zustand verschiedener Arten von Knöpfen, die auf dem Steuergerät verfügbar sind.
Ein GamepadButton
-Objekt wird zurückgegeben, indem ein beliebiger Wert des Arrays abgefragt wird, das von der buttons
-Eigenschaft der Gamepad
-Schnittstelle geliefert wird.
Instanz-Eigenschaften
-
Ein boolescher Wert, der angibt, ob der Knopf derzeit gedrückt (
true
) oder nicht gedrückt (false
) ist. -
Ein boolescher Wert, der angibt, ob der Knopf derzeit berührt (
true
) oder nicht berührt (false
) ist. -
Ein Doppelwert, der verwendet wird, um den aktuellen Zustand von analogen Knöpfen darzustellen, wie zum Beispiel die Trigger auf vielen modernen Gamepads. Die Werte sind normalisiert im Bereich von 0,0 bis 1,0, wobei 0,0 einen nicht gedrückten Knopf und 1,0 einen vollständig gedrückten Knopf darstellt.
Beispiel
Die Knopfwerte im folgenden Beispiel werden als ein Array von GamepadButton
-Objekten gespeichert. Dieses einfache Beispiel überprüft, ob der GamepadButton.value
eines Knopfes größer als 0
ist oder ob die GamepadButton.pressed
-Eigenschaft anzeigt, dass der Knopf gedrückt wurde.
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
Specification |
---|
Gamepad # gamepadbutton-interface |
Browser-Kompatibilität
BCD tables only load in the browser