Surface の加速度センサーの値を取得する
「Windows ランタイム拡張機能」を使用すると比較的、簡単に加速度センサーの値の取得の実装が可能です。
以下は、Visual Studio 2015 での手順です。バージョンによって設定が異なる部分があるかと思います。
- Visual C++ の 「空のプロジェクト」 を作成
- プロジェクトに「Source.cpp」を追加して、下記をコピペ
#include <iostream> using namespace Platform; using namespace Windows::Devices::Sensors; [MTAThread] int main(void) { Accelerometer^ accelerometer = Accelerometer::GetDefault(); if (accelerometer) { accelerometer->ReadingChanged += ref new Windows::Foundation::TypedEventHandler<Accelerometer^, AccelerometerReadingChangedEventArgs^>( [](Accelerometer^ sender, AccelerometerReadingChangedEventArgs^ args) { std::cout << "X:" << args->Reading->AccelerationX; std::cout << "Y:" << args->Reading->AccelerationY; std::cout << "Z:" << args->Reading->AccelerationZ << std::endl; }); } std::cin.get(); return 0; }
- プロジェクトのプロパティで「構成のプロパティ」→「C/C++」→「全般」→「追加の #using ディレクトリ」に下記の2つのパスを追加。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcpackages\
C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\
- 同じ画面で「Windows ランタイム拡張機能の使用」を「はい (/ZW)」に設定
- 「構成のプロパティ」→「C/C++」→「コード生成」の「最小リビルドを有効にする」を「いいえ (/Gm-)」に設定
- プロジェクトをビルド&実行