Condividi tramite


OrientationSensor.GetCurrentReading Metodo

Definizione

Ottiene la lettura corrente del sensore.

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

Restituisce

Lettura del sensore corrente.

Esempio

L'esempio seguente illustra come un'app UWP compilata con XAML e C# recupera la lettura corrente per il sensore di orientamento.

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

Commenti

Un'applicazione può usare questo metodo per eseguire il polling del sensore per la lettura corrente come alternativa alla registrazione di un gestore eventi ReadingChanged . Si tratta dell'alternativa preferita per un'applicazione che aggiorna l'interfaccia utente a una frequenza di fotogrammi specifica. Indipendentemente dal fatto che il polling venga eseguito una o più volte, l'applicazione deve stabilire un reportInterval desiderato. In questo modo il driver del sensore informa che le risorse devono essere allocate per soddisfare le richieste di polling successive

Prima di usare il valore restituito da questo metodo, l'applicazione deve prima verificare che il valore non sia Null. Se il valore è Null e si tenta di recuperarlo, Windows genererà un'eccezione.

Si applica a