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