XRInputSourceArray: forEach() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die Methode forEach() von XRInputSourceArray führt den angegebenen Callback einmal für jede Eingabequelle im Array aus, beginnend bei Index 0 und fortschreitend bis zum Ende der Liste.
Syntax
forEach(callback) forEach(callback, thisArg) Parameter
callback-
Eine Funktion, die einmal für jeden Eintrag im Array
xrInputSourceArrayausgeführt wird. Der Callback akzeptiert bis zu drei Parameter:currentValue-
Ein
XRInputSourceObjekt, das den Wert des aktuell imxrInputSourceArrayverarbeiteten Elements darstellt. currentIndexOptional-
Ein Ganzzahlwert, der den Index im Array angibt, an dem sich das durch
currentValuegegebene Element befindet. Wenn Sie die Indexnummer nicht benötigen, können Sie dies weglassen. sourceListOptional-
Das
XRInputSourceArrayObjekt, das verarbeitet wird. Wenn Sie diese Information nicht benötigen, können Sie dies weglassen.
thisArgOptional-
Der Wert, der als
thisverwendet wird, während der Callback ausgeführt wird. Beachten Sie, dass SiethisArgweglassen können, wenn Sie die Pfeilfunktions-Notation (=>) verwenden, um den Callback bereitzustellen, da alle Pfeilfunktionenthislexikalisch binden.
Rückgabewert
Undefined.
Beispiele
Dieses Beispiel-Snippet ruft die Eingabeliste für eine Sitzung ab und versucht, jede unterstützte Art von Eingabegerät zu behandeln.
let inputSources = xrSession.inputSources; inputSources.forEach((input) => { if (input.gamepad) { checkGamepad(input.gamepad); } else if ( input.targetRayMode === "tracked-pointer" && input.handedness === player.handedness ) { /* Handle main hand controller */ handleMainHandInput(input); } else { /* Handle other inputs */ } }); Für jede Eingabe in der Liste leitet der Callback Gamepad-Eingaben an eine checkGamepad() mit dem Gamepad-Objekt der Eingabe, das von ihrer gamepad-Eigenschaft genommen wird, als Eingabe weiter.
Für andere Geräte suchen wir nach tracked-pointer Geräten in der Haupthand des Spielers und leiten diese an eine handleMainHandInput() Methode weiter.
Spezifikationen
This feature does not appear to be defined in any specification.>Browser-Kompatibilität
Siehe auch
- Eingaben und Eingabequellen
- Die
ArrayMethodeforEach() XRInputSource