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

View in English Always switch to English

XRInputSource: gamepad-Eigenschaft

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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

Die schreibgeschützte XRInputSource-Eigenschaft gamepad gibt ein Gamepad-Objekt zurück, das den Zustand der Tasten und Achsen der XR-Eingabequelle beschreibt, wenn es sich um einen Gamepad-ähnlichen oder vergleichbaren Gerätetyp handelt. Sollte das Gerät nicht wie ein Gamepad sein, ist der Wert dieser Eigenschaft null.

Die zurückgegebene Gamepad-Instanz verhält sich so, wie es in der Gamepad API beschrieben ist. Es gibt jedoch einige wichtige Punkte zu beachten:

  • Gamepad-Instanzen, die zu XRInputSource gehören, sind nicht in dem Array enthalten, das durch navigator.getGamepads() zurückgegeben wird. Gamepads sind ausschließlich mit der WebXR-Hardware verbunden und keine Allzweck-Gaming-Geräte.
  • Gamepad.id ist ein leerer String ("").
  • Gamepad.index ist -1.
  • Gamepad.connected ist true, bis die XRInputSource aus der Liste der aktiven XR-Eingabequellen entfernt wird oder die XRSession beendet wird.
  • Wenn eine Achse, die durch Gamepad.axes gemeldet wird, eine Achse eines Touchpads darstellt, ist der Wert 0, wenn die zugehörige GamepadButton.touched-Eigenschaft false ist.
  • Gamepad.mapping gibt "xr-standard" zurück.

Beispiele

Verwendung einer Gamepad-Eingabequelle

js
for (const source of frame.session.inputSources) {
  const gamepad = source.gamepad;
  if (gamepad) {
    if (gamepad.buttons[2].pressed) {
      // do something
    }
  }
}

Spezifikationen

Spezifikation
WebXR Gamepads Module - Level 1
# dom-xrinputsource-gamepad

Browser-Kompatibilität