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
Loading…
Siehe auch
- Eingaben und Eingabequellen
- Die
ArrayMethodeforEach() XRInputSource