センサークラス | jAction

センサークラス



 

センサークラスは端末の傾きや端末を動かしたときの加速度などを取得するクラスです。

具体的に取得できるデータはこちらになります。

①端末の向きが変わったときのデータ

②端末を動かしたときの加速度、傾き、回転加速度(現在iPhoneのみ対応)

 

●チュートリアルサンプルはこちら。ダウンロードして、こちらのチュートリアルをはじめてください。

その中にはいっているmain.jsにコードを追加していきます。

※②の端末を動かしたときの加速度、傾き、回転加速度については、iPhoneのみ対応なのでiPhoneでご確認ください。

 

①端末の向きが変わったときのデータ

これは、端末が横向きが縦向きかを判定するためのものです。
まず、端末の向きが変わったときのイベントを設置します。

 ja.root.addEventListener(“orientationChange”,this);

上記のイベントが発生したときのメソッドを追加します。

これにより、イベントから渡されたorientationオブジェクトを取り出すことができ、そのプロパティーportraitで、端末が横か縦かを判定します。
e.portraitがtrueだったら縦向きで、e.portraitがfalseだったら横向きということがわかります。

this.orientationChange=function(orientation)

{
   if(orientation.portrait == true)
   {
      //縦向きになったときの処理
   }
   else
   {
      //横向きにになったときの処理
   }

}

 

②端末を動かしたときの加速度、傾き、回転加速度(現在iPhoneのみ対応)

これにより、端末を傾けたりして、アクションを起こすなどのゲームアプリなどをつくることが可能です。

まず、端末を動かしたときのイベントを設置します。

ja.root.addEventListener(“devicemotion”,this);

このイベントが発生したときのメソッドを追加します。

イベントからsensorオブジェクトが渡されます。これ傾きや加速度の情報が入っています。

this.devicemotion=function(sensor)

{
  //端末の傾き X座標はsensor.gravity.x Y座標はsensor.gravity.y、
     Z座標はsensor.gravity.z

  //加速度 X座標はsensor.accele.x Y座標はsensor.accele.y、
     Z座標はsensor.accele.z

     //回転加速度 X座標はsensor.rotation.beta
     Y座標はsensor.rotation.gamma、Z座標はsensor.rotation.alpha
}

 

●それぞれデータの取得方法

端末の傾きについては、プロパティーgravityにデータがはいっていて、

それぞれ、X座標はsensor.gravity.x 、 Y座標はsensor.gravity.y、Z座標はsensor.gravity.zで取得。

加速度については、プロパティーacceleにデータははいっていて、

それぞれ、X座標に対してはsensor.accele.x 、 Y座標に対してはsensor.accele.y、 Z座標に対してはsensor.accele.zで取得。

回転加速度については、プロパティーrotationにデータははいっていて、

それぞれ、X座標に対してはsensor.rotation.beta  Y座標に対してはsensor.otation.gamma、 Z座標に対してはsensor.rotation.alphaで取得。

※X座標、Y座標、Z座標については下記画像を参照ください。