OrientationSensor Class

Stellt einen Ausrichtungssensor dar.

Dieser Sensor gibt eine Drehmatrix und eine Quaternion zurück, die verwendet werden können, um die Sicht des Benutzers in einer Spielanwendung anzupassen.

Syntax


var orientationSensor = Windows.Devices.Sensors.OrientationSensor;

Attribute

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

Member

OrientationSensorKlasse hat diese Membertypen:

Ereignisse

OrientationSensorKlasse hat diese Ereignisse.

EreignisBeschreibung
ReadingChanged Occurs each time the orientation sensor reports a new sensor reading.

 

Methoden

The OrientationSensor Klasse hat diese Methoden. Mit C#, Visual Basic und C++ erbt es auch Methoden aus Object Klasse.

MethodeBeschreibung
GetCurrentReading Gets the current sensor reading
GetDefault Gets the default orientation sensor.

 

Eigenschaften

Der OrientationSensorKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

MinimumReportInterval

SchreibgeschütztGets the minimum report interval supported by the sensor.

ReportInterval

Lese-/SchreibzugriffGets or sets the report interval supported by the sensor.

 

Hinweise

Das folgende Beispiel zeigt, wie eine mit XAML und C# erstellte Windows Store-App diese GetDefault-Methode verwendet, um eine Verbindung mit einem Ausrichtungssensor herzustellen. Wenn kein Ausrichtungssensor gefunden wird, gibt die Methode einen Nullwert zurück.


_sensor = OrientationSensor.GetDefault();


Das folgende Beispiel veranschaulicht, wie eine mit XAML erstellte Windows Store-App einen ReadingChanged-Ereignishandler registriert.


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_sensor != null)
    {
        // Establish the report interval
        _sensor.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _sensor.ReadingChanged += new TypedEventHandler<OrientationSensor, OrientationSensorReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No orientation sensor found", NotifyType.StatusMessage);
    }
}


Im folgenden Beispiel wird der ReadingChanged-Ereignishandler dargestellt.


async private void ReadingChanged(object sender, OrientationSensorReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        OrientationSensorReading reading = e.Reading;

        // Quaternion values
        SensorQuaternion quaternion = reading.Quaternion;   // get a reference to the object to avoid re-creating it for each access
        ScenarioOutput_X.Text = String.Format("{0,8:0.00000}", quaternion.X);
        ScenarioOutput_Y.Text = String.Format("{0,8:0.00000}", quaternion.Y);
        ScenarioOutput_Z.Text = String.Format("{0,8:0.00000}", quaternion.Z);
        ScenarioOutput_W.Text = String.Format("{0,8:0.00000}", quaternion.W);

        // Rotation Matrix values
        SensorRotationMatrix rotationMatrix = reading.RotationMatrix;
        ScenarioOutput_M11.Text = String.Format("{0,8:0.00000}", rotationMatrix.M11);
        ScenarioOutput_M12.Text = String.Format("{0,8:0.00000}", rotationMatrix.M12);
        ScenarioOutput_M13.Text = String.Format("{0,8:0.00000}", rotationMatrix.M13);
        ScenarioOutput_M21.Text = String.Format("{0,8:0.00000}", rotationMatrix.M21);
        ScenarioOutput_M22.Text = String.Format("{0,8:0.00000}", rotationMatrix.M22);
        ScenarioOutput_M23.Text = String.Format("{0,8:0.00000}", rotationMatrix.M23);
        ScenarioOutput_M31.Text = String.Format("{0,8:0.00000}", rotationMatrix.M31);
        ScenarioOutput_M32.Text = String.Format("{0,8:0.00000}", rotationMatrix.M32);
        ScenarioOutput_M33.Text = String.Format("{0,8:0.00000}", rotationMatrix.M33);
    });
}


Anforderungen

Mindestens unterstützter Client

Windows 8 [Windows Store-Apps, Desktop-Apps]

Mindestens unterstützter Server

Keine unterstützt [Windows Store-Apps, Desktop-Apps]

Mindestens unterstütztes Telefon

Windows Phone 8

Namespace

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadaten

Windows.winmd

Siehe auch

OrientationSensor-Quickstart
OrientationSensor-Beispiel

 

 

Anzeigen:
© 2014 Microsoft