次の方法で共有


OrientationSensor.GetCurrentReading メソッド

定義

現在のセンサーの読み取り値を取得します。

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

戻り値

現在のセンサーの読み取り。

次の例では、XAML と C# を使用して構築された UWP アプリが方向センサーの現在の読み取り値を取得する方法を示します。

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 イベント ハンドラーを登録する代わりに、現在の読み取り用のセンサーをポーリングできます。 これは、特定のフレーム レートでユーザー インターフェイスを更新するアプリケーションの推奨される代替手段です。 ポーリングが 1 回か複数回かにかかわらず、アプリケーションは目的の ReportInterval を確立する必要があります。 これにより、後続のポーリング要求を満たすためにリソースを割り当てる必要があることをセンサー ドライバーに通知します

このメソッドの戻り値を使用する前に、アプリケーションは最初に値が null ではないことをチェックする必要があります。 (値が null で取得しようとすると、Windows によって例外が生成されます)。

適用対象