加速度センサーの入力を検知する

加速度センサー

ほとんどのWindowsタブレットには加速度センサーが付いています。

加速度センサーはデバイスを傾けるだけで入力をすることができるのでよりゲームが直感的になります。

 
加速度センサーを利用するにあたって、「どの軸を固定とした回転か」を考える必要があります。

以下の図のように

デバイスの上向きをY軸、

デバイスの横向きをX軸、

デバイスの奥向きをZ軸

として座標軸考えます。

 

6

 

加速度の値はちょうど軸の向きが重力と同じ向きになると1.0、重力と逆向きで0.0の値をとります。

 

 

X軸固定回転

デバイスのX軸を固定とする回転は、AccelerationY値とAccelerationZ値が変化します。

3

 

 

Y軸固定回転

デバイスのY軸を固定とする回転は、AccelerationX値とAccelerationZ値が変化します。

 

4

 

Z軸固定回転

デバイスのZ軸を固定とする回転は、AccelerationX値とAccelerationY値が変化します。

 

5

 

Accelerometer

加速度センサーを利用するには、Accelerometerクラスを使います。

以下の名前空間を追加しましょう。

 

Accelerometerクラスのインスタンスをメンバに追加します。

 

InitializeメソッドでAccelerometerのGetDefaultメソッドでAccelerometerのインスタンスを取得します。

もし、デバイスに加速度センサーがついていなければGetDefaultメソッドがnullを返します。

ReportIntervalでどれだけの間隔で加速度センサーの値を更新するかを決定します。

 

UpdateメソッドでGetCurrentReadingメソッドをもちいて現在の加速度センサーの値を取得します。

 

サンプル

 

BvuQVKWCEAEsVHK

 

 

サンプルコード

SmapleGameMono_9_InputAccel.zip

 

目次