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 zuXRInputSourcegehören, sind nicht in dem Array enthalten, das durchnavigator.getGamepads()zurückgegeben wird. Gamepads sind ausschließlich mit der WebXR-Hardware verbunden und keine Allzweck-Gaming-Geräte.Gamepad.idist ein leerer String ("").Gamepad.indexist-1.Gamepad.connectedisttrue, bis dieXRInputSourceaus der Liste der aktiven XR-Eingabequellen entfernt wird oder dieXRSessionbeendet wird.- Wenn eine Achse, die durch
Gamepad.axesgemeldet wird, eine Achse eines Touchpads darstellt, ist der Wert 0, wenn die zugehörigeGamepadButton.touched-Eigenschaftfalseist. Gamepad.mappinggibt "xr-standard" zurück.
Beispiele
>Verwendung einer Gamepad-Eingabequelle
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> |