SHOEISHA iD

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

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

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

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

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


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

 Windowsストアアプリでは端末に搭載された様々なセンサーが利用可能です。コンパスを利用すれば、端末が東西南北のどの方向を向いているかが取得できます。また、加速度センサーでは端末がどの方向に動いた(加速を与えられたか)などが取得できます。センサーを利用することでWindowsストアアプリは端末の様々な情報を取得可能になり、アイデア次第でインタラクティブな楽しみを追加することができます。

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

 もちろん、Windowsストアアプリは必ずしもこのようなセンサーを有した端末で実行されているとは限りません。センサーを利用する際には、それが存在するかのチェックが必要になることを覚えておきましょう。

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

 本記事では主だった以下のセンサーの使い方と、簡単なサンプルコードを紹介します。

  • 加速度センサー:端末にかかる加速度を取得できます。
  • 角速度センサー:端末の回転速度を取得できます。
  • コンパス:端末の向いている方位を取得できます。

 以下のセンサーは次回の記事で紹介する予定です。

  • 傾斜センサー:端末の傾きを取得できます。
  • デバイスの向き:デバイスの向きを取得することできます。
  • 光センサー:端末の周りの明るさを取得できます。

センサーの有無をチェックする

 先ほども書きましたが、Windowsストアアプリが実行される端末に必ずセンサーが搭載されているとは限りません。アプリケーションの開発者は、アプリケーションが実行されている環境で「センサーが利用可能かどうか」を確認した上でセンサーを利用する必要があります。

 センサーが利用可能かどうかの確認は以下のように行います(コードはCheckSensorプロジェクトからの抜粋です)

センサーのチェック
// 加速度センサーが利用可能か調べる
this._accelerometer = Accelerometer.GetDefault();

if (this._accelerometer != null)
{
    this.accelerometerTextBlock.Text = "加速度センサー: 利用可能";
}
else
{
    this.accelerometerTextBlock.Text = "加速度センサー: 利用不可";
}

// 角速度センサーが利用可能か調べる
this._gyrometer = Gyrometer.GetDefault();

if (this._gyrometer != null)
{
    this.gyrometerTextBlock.Text = "角速度センサー: 利用可能";
}
else
{
    this.gyrometerTextBlock.Text = "角速度センサー: 利用不可";
}

// コンパスが利用可能か調べる
this._compass = Compass.GetDefault();

if (this._compass != null)
{
    this.compassTextBlock.Text = "コンパス: 利用可能";
}
else
{
    this.compassTextBlock.Text = "コンパス: 利用不可";
}

 上記コードでは、加速度センサー、角速度センサー、コンパスという3つのセンサーの有無をそれぞれ確認しています。コードを見てお分かりだと思いますが、3つともほぼ同じ書き方でチェックを行っています。

 このようにWindowsストアアプリでは、それぞれセンサーがほぼ同じ書き方で利用できるのが特徴です。これについては後のサンプルでさらにはっきりすると思います。

 サンプルのCheckSensorプロジェクトの実行結果として、センサーを搭載していない端末(例えばデスクトップPC)では以下のような実行結果を得ます。

センサー非搭載の端末での実行結果
センサー非搭載の端末での実行結果

 これはシュミレーターでも同様の結果になります。Windows Phoneではエミュレーターの仮想センサーが充実していたのですが、Windowsストアアプリの場合は、センサーを搭載した実機がないと開発が困難な状態です。

 センサーを搭載しているタブレットなどで実行すると以下のような表示を得ます。

センサーを搭載した端末の実行結果
センサーを搭載した端末の実行結果

 プロジェクトのコードを覗いてみれば、先に紹介した3つ以外のセンサーもほぼ同じ手順でチェックしていることが分かると思います。

 それでは、実際にセンサーを操作してみましょう。

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

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

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

メールバックナンバー

次のページ
センサーを利用する

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7835 2014/07/29 20:06

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング