Compartir a través de


OrientationSensor.GetCurrentReading Método

Definición

Obtiene la lectura del sensor actual.

public:
 virtual OrientationSensorReading ^ GetCurrentReading() = GetCurrentReading;
OrientationSensorReading GetCurrentReading();
public OrientationSensorReading GetCurrentReading();
function getCurrentReading()
Public Function GetCurrentReading () As OrientationSensorReading

Devoluciones

Lectura del sensor actual.

Ejemplos

En el ejemplo siguiente se muestra cómo una aplicación para UWP compilada con XAML y C# recupera la lectura actual del sensor de orientación.

private void DisplayCurrentReading(object sender, object args)
{
    OrientationSensorReading reading = _sensor.GetCurrentReading();
    if (reading != null)
    {
        // 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);
    }
}

Comentarios

Una aplicación puede usar este método para sondear el sensor de la lectura actual como alternativa al registro de un controlador de eventos ReadingChanged . Esta sería la alternativa preferida para una aplicación que actualiza su interfaz de usuario a una velocidad de fotogramas específica. Si sondea una o varias veces, la aplicación debe establecer un reportInterval deseado. Esto informa al controlador del sensor de que se deben asignar recursos para satisfacer las solicitudes de sondeo posteriores.

Antes de usar el valor devuelto de este método, la aplicación debe comprobar primero que el valor no es NULL. (Si el valor es NULL e intenta recuperarlo, Windows generará una excepción).

Se aplica a