Gamepad: buttons-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die buttons-Eigenschaft der Gamepad-Schnittstelle gibt ein Array von GamepadButton-Objekten zurück, die die auf dem Gerät vorhandenen Tasten repräsentieren.

Jeder Eintrag im Array ist 0, wenn die Taste nicht gedrückt ist, und ungleich null (typischerweise 1.0), wenn die Taste gedrückt ist.

Wert

Ein Array von GamepadButton-Objekten.

Beispiele

Je nach Art der Taste 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

Specification
Gamepad
# dom-gamepad-buttons

Browser-Kompatibilität

Siehe auch