OrientationSensor.GetCurrentReading | getCurrentReading Method

取得目前的感應器讀數.

語法


var orientationSensorReading = orientationSensor.getCurrentReading();

參數

這個 方法 沒有參數。

傳回值

型別: OrientationSensorReading

目前的感應器讀數。

備註

應用程式可以使用這個方法向感應器輪詢目前的讀數,做為註冊 ReadingChanged 事件處理常式的替代方法。這對於以特定畫面播放速率更新其使用者介面的應用程式而言,會是偏好的替代方式。 無論輪詢一次或多次,應用程式都必須建立所需的 ReportInterval。這樣會告知感應器驅動程式,應該配置資源以滿足後續輪詢要求

在使用這個方法的傳回值之前,應用程式必須先確認該值不是 null。(如果值為 null,而您嘗試擷取該值,Windows 就會產生例外狀況)。

下列範例示範以 XAML 和 C# 建置的 Windows 市集應用程式如何擷取方向感應器的目前讀數。


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


下列範例示範使用 JavaScript 針對 Windows 建置的 Windows 市集應用程式如何擷取方向感應器的目前讀數。


function getCurrentReading() {
    var reading = sensor.getCurrentReading();
    if (reading) {
        // Quaternion values
        var quaternion = reading.quaternion;    // get a reference to the object to avoid re-creating it for each access
        document.getElementById("readingOutputQuaternion").innerHTML =
               "W: " + quaternion.w.toFixed(6)
            + " X: " + quaternion.x.toFixed(6)
            + " Y: " + quaternion.y.toFixed(6)
            + " Z: " + quaternion.z.toFixed(6);

        // Rotation Matrix values
        var rotationMatrix = reading.rotationMatrix;
        document.getElementById("readingOutputRotationMatrix").innerHTML =
               "M11: " + rotationMatrix.m11.toFixed(6)
            + " M12: " + rotationMatrix.m12.toFixed(6)
            + " M13: " + rotationMatrix.m13.toFixed(6)
            + " M21: " + rotationMatrix.m21.toFixed(6)
            + " M22: " + rotationMatrix.m22.toFixed(6)
            + " M23: " + rotationMatrix.m23.toFixed(6)
            + " M31: " + rotationMatrix.m31.toFixed(6)
            + " M32: " + rotationMatrix.m32.toFixed(6)
            + " M33: " + rotationMatrix.m33.toFixed(6);
    }
}


需求

支援的最小用戶端

Windows 8

支援的最小伺服器

不支援

支援的最小電話

Windows Phone 8

命名空間

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadata

Windows.winmd

請參閱

OrientationSensor

 

 

顯示:
© 2015 Microsoft