Bagikan melalui


OrientationSensor.GetCurrentReading Metode

Definisi

Mendapatkan pembacaan sensor saat ini.

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

Mengembalikan

Pembacaan sensor saat ini.

Contoh

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML dan C# mengambil pembacaan saat ini untuk sensor orientasi.

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

Keterangan

Aplikasi dapat menggunakan metode ini untuk melakukan polling sensor untuk pembacaan saat ini sebagai alternatif untuk mendaftarkan penanganan aktivitas ReadingChanged . Ini akan menjadi alternatif yang disukai untuk aplikasi yang memperbarui antarmuka penggunanya pada kecepatan bingkai tertentu. Baik polling sekali atau berkali-kali, aplikasi harus membuat ReportInterval yang diinginkan. Ini menginformasikan driver sensor bahwa sumber daya harus dialokasikan untuk memenuhi permintaan polling berikutnya

Sebelum menggunakan nilai yang dikembalikan dari metode ini, aplikasi harus terlebih dahulu memeriksa bahwa nilainya tidak null. (Jika nilainya null dan Anda mencoba mengambilnya, Windows akan menghasilkan pengecualian.)

Berlaku untuk