Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
GamepadButton
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2017.
* Some parts of this feature may have varying levels of support.
DieGamepadButton-Schnittstelle definiert eine einzelne Taste eines Gamepads oder eines anderen Controllers und ermöglicht den Zugriff auf den aktuellen Zustand verschiedener Arten von Tasten, die auf dem Steuergerät verfügbar sind.
EinGamepadButton-Objekt wird zurückgegeben, wenn ein beliebiger Wert des Arrays abgefragt wird, das von derbuttons-Eigenschaft derGamepad-Schnittstelle zurückgegeben wird.
In diesem Artikel
Instanz-Eigenschaften
GamepadButton.pressedSchreibgeschütztEin boolescher Wert, der anzeigt, ob die Taste derzeit gedrückt (
true) oder nicht gedrückt (false) ist.GamepadButton.touchedSchreibgeschütztEin boolescher Wert, der anzeigt, ob die Taste derzeit berührt (
true) oder nicht berührt (false) ist.GamepadButton.valueSchreibgeschütztEin doppelter Wert, der verwendet wird, um den aktuellen Zustand von analogen Tasten darzustellen, wie z.B. die Trigger bei vielen modernen Gamepads. Die Werte sind normalisiert im Bereich von 0,0 bis 1,0, wobei 0,0 für eine nicht gedrückte Taste steht und 1,0 für eine vollständig gedrückte Taste.
Beispiel
Die Tastenwerte im folgenden Beispiel werden als ein Array vonGamepadButton-Objekten gespeichert. Dieses einfache Beispiel überprüft, ob derGamepadButton.value einer Taste größer als0 ist oder ob dieGamepadButton.pressed-Eigenschaft anzeigt, dass die Taste 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> |