RelativeOrientationSensor - Web-APIs | MDN
Konstruktor
RelativeOrientationSensor()-
Erstellt ein neues
RelativeOrientationSensor-Objekt.
Instanz-Eigenschaften
Keine spezifischen Eigenschaften; erbt Eigenschaften von seinen Vorfahren OrientationSensor und Sensor.
Instanz-Methoden
Keine spezifischen Methoden; erbt Methoden von seinen Vorfahren OrientationSensor und Sensor.
Ereignisse
Keine spezifischen Ereignisse; erbt Ereignisse von seinem Vorfahren, Sensor.
Beispiele
Einfaches Beispiel
Das folgende Beispiel, das lose auf Intels Orientation Phone Demo basiert, instanziiert einen RelativeOrientationSensor mit einer Frequenz von 60 Mal pro Sekunde.
Hinweis:
Das Intel-Demo, auf dem dies basiert, verwendet den AbsoluteOrientationSensor. Bei jeder Messung wird OrientationSensor.quaternion verwendet, um ein visuelles Modell eines Telefons zu drehen.
js
const options = { frequency: 60, referenceFrame: "device" };
const sensor = new RelativeOrientationSensor(options);
sensor.addEventListener("reading", () => {
// model is a Three.js object instantiated elsewhere.
model.quaternion.fromArray(sensor.quaternion).inverse();
});
sensor.addEventListener("error", (error) => {
if (event.error.name === "NotReadableError") {
console.log("Sensor is not available.");
}
});
sensor.start();
Berechtigungsbeispiel
Die Verwendung von Orientierungssensoren erfordert das Anfordern von Berechtigungen für mehrere Gerätesensoren. Da die Permissions-Schnittstelle Versprechungen verwendet, ist eine gute Möglichkeit, Berechtigungen anzufordern, die Verwendung von Promise.all.
js
const sensor = new RelativeOrientationSensor();
Promise.all([
navigator.permissions.query({ name: "accelerometer" }),
navigator.permissions.query({ name: "gyroscope" }),
]).then((results) => {
if (results.every((result) => result.state === "granted")) {
sensor.start();
// …
} else {
console.log("No permissions to use RelativeOrientationSensor.");
}
});
Spezifikationen
| Spezifikation |
|---|
| Orientation Sensor # relativeorientationsensor-interface |
Browser-Kompatibilität
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.