OrientationSensor Class

Representa un sensor de orientación.

Este sensor devuelve una matriz de giro y un cuaternión que se pueden utilizar para ajustar la perspectiva del usuario en una aplicación de juego.

Sintaxis


var orientationSensor = Windows.Devices.Sensors.OrientationSensor;

Atributos

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

Members

A continuación se indican los tipos de miembros de OrientationSensor (Clase):

Eventos

A continuación se indican los eventos de OrientationSensor (Clase).

EventoDescripción
ReadingChanged Occurs each time the orientation sensor reports a new sensor reading.

 

Métodos

The OrientationSensor Clase tiene estos métodos. Con C#, Visual Basic y C++, también hereda métodos de Object Clase.

MétodoDescripción
GetCurrentReading Gets the current sensor reading
GetDefault Gets the default orientation sensor.

 

Propiedades

OrientationSensorClase tiene estas propiedades.

PropiedadTipo de accesoDescripción

MinimumReportInterval

De sólo lecturaGets the minimum report interval supported by the sensor.

ReportInterval

Lectura/escrituraGets or sets the report interval supported by the sensor.

 

Comentarios

En el ejemplo siguiente se muestra cómo una aplicación de la Tienda Windows compilada con XAML y C# usa el método GetDefault para establecer una conexión con un sensor de orientación. Si no se encuentra ningún sensor de orientación, el método devolverá un valor nulo.


_sensor = OrientationSensor.GetDefault();


El siguiente ejemplo muestra cómo una aplicación de la Tienda Windows compilada con XAML registra un controlador de eventos ReadingChanged.


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);
    }
}


En el ejemplo siguiente se muestra el controlador de evento ReadingChanged.


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);
    });
}


Requisitos

Cliente mínimo admitido

Windows 8 [Aplicaciones de la Tienda Windows, aplicaciones de escritorio]

Servidor mínimo admitido

Ninguno admitido [Aplicaciones de la Tienda Windows, aplicaciones de escritorio]

Teléfono mínimo admitido

Windows Phone 8

Espacio de nombres

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

Metadatos

Windows.winmd

Vea también

Inicio rápido de OrientationSensor
Ejemplo de OrientationSensor

 

 

Mostrar:
© 2015 Microsoft