OrientationSensor.GetCurrentReading Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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).