情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Gyrometer.ReadingChanged | readingchanged Event

ジャイロメーターが現在のセンサー読み取り結果を報告するたびに発生します。

構文


function onReadingChanged(eventArgs) { /* コード */ }
 
// addEventListener syntax
gyrometer.addEventListener("readingchanged", onReadingChanged);
gyrometer.removeEventListener("readingchanged", onReadingChanged);
 
- or -

gyrometer.onreadingchanged = onReadingChanged;


イベント情報

Delegate TypedEventHandler<Gyrometer, GyrometerReadingChangedEventArgs>

解説

アプリケーションでは、センサーの読み取り結果を取得するためにこのイベント ハンドラーを登録できます。アプリケーションは、目的の ReportInterval を確立する必要があります。これによって、アプリケーションの要件を満たすためにリソースを割り当てる必要があることをセンサー ドライバーに通知します。

アプリケーションは、ReportInterval プロパティを設定して、このイベントの頻度を設定します。

C# と XAML でビルドされた Windows ストア アプリケーションが ReadingChanged のイベント ハンドラーを登録する方法を次の例に示します。


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_gyrometer != null)
    {
        // Establish the report interval
        _gyrometer.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _gyrometer.ReadingChanged += new TypedEventHandler<Gyrometer, GyrometerReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No gyrometer found", NotifyType.StatusMessage);
    }
}


次の例は、ReadingChanged イベント ハンドラーを示しています。


async private void ReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        GyrometerReading reading = e.Reading;
        ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AngularVelocityX);
        ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AngularVelocityY);
        ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AngularVelocityZ);
    });
}


JavaScript でビルドされた Windows ストア アプリケーションが ReadingChanged のイベント ハンドラーを登録する方法を次の例に示します。


function enableReadingChangedScenario() {
    if (gyrometer) {
        // Set the reportInterval to enable the sensor events
        gyrometer.reportInterval = reportInterval;

        document.addEventListener("msvisibilitychange", msVisibilityChangeHandler, false);
        gyrometer.addEventListener("readingchanged", onDataChanged);
        document.getElementById("scenario1Open").disabled = true;
        document.getElementById("scenario1Revoke").disabled = false;
    } else {
        WinJS.log && WinJS.log("No gyrometer found", "sample", "error");
    }
}


次の例は、ReadingChanged イベント ハンドラーを示しています。


function onDataChanged(e) {
    var reading = e.reading;

    document.getElementById("eventOutputX").innerHTML = reading.angularVelocityX.toFixed(2);
    document.getElementById("eventOutputY").innerHTML = reading.angularVelocityY.toFixed(2);
    document.getElementById("eventOutputZ").innerHTML = reading.angularVelocityZ.toFixed(2);
}


要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

サポートなし

最小限サポートされる携帯電話

Windows Phone 8

名前空間

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

メタデータ

Windows.winmd

参照

Gyrometer

 

 

表示: