XRInputSourceEvent
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die XRInputSourceEvent
-Schnittstelle der WebXR Device API beschreibt ein Ereignis, das auf einem WebXR-Benutzereingabegerät, wie einem Handcontroller, einem Blickverfolgungssystem oder einem Bewegungserkennungssystem, aufgetreten ist. Genauer gesagt, repräsentieren sie eine Änderung im Zustand einer XRInputSource
.
Um mehr über die Handhabung von Eingaben in einem WebXR-Projekt zu erfahren, lesen Sie den Artikel Eingaben und Eingabequellen.
Konstruktor
XRInputSourceEvent()
-
Erstellt und gibt ein neues
XRInputSourceEvent
-Objekt zurück, dessen Eigenschaften denen im bereitgestellteneventInitDict
-Wörterbuch entsprechen.
Instanz-Eigenschaften
frame
Schreibgeschützt-
Ein
XRFrame
-Objekt, das die benötigten Informationen über den Ereignisrahmen bereitstellt, in dem das Ereignis aufgetreten ist. Dieser Rahmen könnte in der Vergangenheit gerendert worden sein, anstatt ein aktueller Rahmen zu sein. Da dies ein Ereignisrahmen ist, nicht ein Animationsrahmen, können Sie dieXRFrame
-MethodegetViewerPose()
nicht darauf aufrufen; verwenden Sie stattdessengetPose()
. inputSource
Schreibgeschützt-
Ein
XRInputSource
-Objekt, das angibt, welche Eingabequelle das Eingabeereignis erzeugt hat.
Instanz-Methoden
Die XRInputSourceEvent
-Schnittstelle definiert keine Methoden; jedoch werden mehrere Methoden von der Elternschnittstelle, Event
, geerbt.
Ereignisarten
select
-
Wird an eine
XRSession
gesendet, wenn die sendende Eingabequelle eine primäre Aktion vollständig abgeschlossen hat. selectend
-
Wird an eine
XRSession
gesendet, wenn eine laufende primäre Aktion endet oder wenn eine Eingabequelle mit einer laufenden primären Aktion vom System getrennt wurde. selectstart
-
Wird an eine
XRSession
gesendet, wenn eine Eingabequelle ihre primäre Aktion beginnt, was darauf hinweist, dass der Benutzer mit einem befehlsähnlichen Eingang begonnen hat, z. B. das Drücken eines Triggers oder Knopfes, das Aussprechen eines Sprachbefehls, das Tippen auf ein Touchpad oder Ähnliches. squeeze
-
Wird an eine
XRSession
gesendet, wenn die sendende Eingabequelle eine primäre Quetschaktion vollständig abgeschlossen hat. squeezeend
-
Wird an eine
XRSession
gesendet, wenn eine laufende primäre Quetschaktion endet oder wenn eine Eingabequelle mit einer laufenden primären Quetschaktion getrennt wird. squeezestart
-
Wird an eine
XRSession
gesendet, wenn eine Eingabequelle ihre primäre Quetschaktion beginnt, was darauf hinweist, dass der Benutzer begonnen hat, den Controller zu greifen, zu quetschen oder zu fassen.
Beispiele
Der untenstehende Code richtet Handler für primäre Aktionsereignisse ein, um festzustellen, wann der Benutzer auf Objekte in der Szene klickt (schießt/anstupst/was auch immer).
xrSession.addEventListener("select", (event) => {
let targetRayPose = event.frame.getPose(
event.inputSource.targetRaySpace,
myRefSpace,
);
if (targetRayPose) {
let hit = myHitTest(targetRayPose.transform);
if (hit) {
/* handle the hit */
}
}
});
Spezifikationen
Specification |
---|
WebXR Device API # xrinputsourceevent-interface |
Browser-Kompatibilität
BCD tables only load in the browser