SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習 Windowsストアアプリケーション

センサーに対応したWindowsストアアプリを作成する(後編)

速習 Windowsストアアプリケーション 第13回

  • このエントリーをはてなブックマークに追加

 Windowsストアアプリのセンサーについて紹介する第2回目です。今回は「傾斜センサー」「光センサー」「方位センサー」の3つのセンサーと「位置情報」について紹介します。「加速度センサー」「角速度センサー」「コンパス」について紹介した記事は前編をご参照ください。

  • このエントリーをはてなブックマークに追加

本記事で紹介するセンサー

 本記事では以下のセンサーについて紹介します。

  • 傾斜センサー:端末の傾きを取得します。
  • 方位センサー:デバイスの向きを取得します。
  • 光センサー:端末の周りの明るさを取得します。
  • 位置情報:端末の存在する位置を取得します。

センサーを利用する

傾斜センサー

 傾斜センサー(Inclinometer)を利用することで端末の傾きを測定できます。

傾斜センサーの値を取得する

 (サンプルファイル:「InclinometerSample.zip」)

 傾斜センサーの値は、以下のようにReadingChangedイベントで取得します。センサー系のAPIは、多くが同じインターフェースで操作可能な設計になっています。以下のコードも前編で何度か目にしたものとほぼ同じコードです。

傾斜センサーの値を取得する
this.inclinometer = Inclinometer.GetDefault();
if (this.inclinometer == null)
{
    System.Diagnostics.Debug.WriteLine("Inclinometer is null");
}
else
{
    this.inclinometer.ReadingChanged += inclinometer_ReadingChanged;
}

 ReadingChangedで取得した値は、以下のように取り出します。

ReadingChangedで傾斜センサーの変更を取得する
async void inclinometer_ReadingChanged(Inclinometer sender, InclinometerReadingChangedEventArgs args)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        YawDegrees.Text = args.Reading.YawDegrees.ToString();
        PitchDegrees.Text =  args.Reading.PitchDegrees.ToString();
        RollDegrees.Text = args.Reading.RollDegrees.ToString();
    });
}

 また以下のようにイベントハンドラーではなくGetCurrentReading()メソッドを用いて、任意のタイミングで値を取得することも可能です。

GetCurrentReadingで現在の値を取得する
InclinometerReading reading =  this.inclinometer.GetCurrentReading();

 取得した値はそれぞれ以下のような意味を持ちます

YawDegrees(ヨー)

 Z軸方向の回転を表します。Z軸は端末の背面から表面にむけて垂直に伸びる軸です。また回転の値は反時計回りに変化します。

PitchDegrees(ピッチ)

 X軸方向の回転を表します。X軸は端末の画面を手前、Windowsボタンを下にした場合に左から右に伸びる軸です。回転の値はYawDegrees同様に反時計回りに変化します。

RollDegrees(ロール)

 Y軸方向の回転を表します。Y軸はは端末の画面を手前、Windowsボタンを下にした場合に下から上に伸びる軸です。回転の値は先の2つの値と同様に反時計回りに変化します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
方位センサー

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
速習 Windowsストアアプリケーション連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7949 2014/08/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング