Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/08/18 14:00

 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つの値と同様に反時計回りに変化します。


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

著者プロフィール

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

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

バックナンバー

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

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5