OrientationSensor.GetCurrentReading Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.