import flash.sensors.Accelerometer;
import flash.geom.Vector3D;
import flash.text.TextField;
import flash.events.AccelerometerEvent;
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 100;
text_field.border = true;
stage.addChild(text_field);
var acc_vector_old:Vector3D = new Vector3D();
if(Accelerometer.isSupported){
// アクセラレータオブジェクトを作成
var accelerometer:Accelerometer = new Accelerometer();
// 取得時間隔を変更
accelerometer.setRequestedUpdateInterval(10);
// 更新がある度に実行されるイベント
accelerometer.addEventListener(AccelerometerEvent.UPDATE, function (e:AccelerometerEvent):void{
// 今回の加速度ベクトルと前回の加速度ベクトルとの差分を計算
var x:Number = e.accelerationX - acc_vector_old.x;
var y:Number = e.accelerationY - acc_vector_old.y;
var z:Number = e.accelerationZ - acc_vector_old.z;
// 今回の加速度ベクトルを残す
acc_vector_old.x = e.accelerationX;
acc_vector_old.y = e.accelerationY;
acc_vector_old.z = e.accelerationZ;
// 加速度の変化をテキストフィールドに出力
var str:String = "";
str += "x:" + x + "\n";
str += "y:" + y + "\n";
str += "z:" + z + "\n";
text_field.text = str;
});
}
最終更新:2013年12月27日 17:00