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

Namespace

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

Metadata

Windows.winmd

참고 항목

OrientationSensor

 

 

표시:
© 2014 Microsoft