Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

Browser-Kompatibilität

Siehe auch

Verwendung der Gamepad API