Поделиться через


OrientationSensor.GetCurrentReading Метод

Определение

Возвращает текущее показания датчика.

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

Возвращаемое значение

Текущее считывание датчика.

Примеры

В следующем примере показано, как приложение UWP, созданное на основе XAML и C#, извлекает текущие данные для датчика ориентации.

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

Комментарии

Приложение может использовать этот метод для опроса датчика для текущего чтения в качестве альтернативы регистрации обработчика событий ReadingChanged . Это будет предпочтительным вариантом для приложения, которое обновляет свой пользовательский интерфейс с определенной частотой кадров. Независимо от того, выполняется ли опрос один или несколько раз, приложение должно установить нужный ReportInterval. Это информирует драйвер датчика о том, что ресурсы должны быть выделены для удовлетворения последующих запросов опроса.

Прежде чем использовать возвращаемое из этого метода значение, приложение должно сначала проверка, что значение не равно NULL. (Если значение равно NULL и вы пытаетесь получить его, Windows создаст исключение.)

Применяется к