我正在开发AS3中的小应用程序。
我想放一个计算AccelerometerEvent
速度的函数。
示例:
当你“扔”你的手机时(当然把它放在你的手中!),它显示你扔的“远”。
因此,如果用力量“投掷”它将显示“53米”(例如)。
有办法吗? (也许是通过converty accelerationX和accelerationY,但我真的不确定)
编辑:
这是我的代码:
var lastShake:Number = 0;
var shakeWait:Number = 500;
var vout:Vout = new Vout();
var acc:Accelerometer = new Accelerometer();
var duree:Timer;
acc.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate);
duree=new Timer(5000,1);
function onAccUpdate(e:AccelerometerEvent):void
{
if(getTimer() - lastShake > shakeWait && (e.accelerationX >= 1.5 || e.accelerationY >= 1.5 || e.accelerationZ >= 1.5))
{
shakeIt();
lastShake = getTimer();
}
}
function shakeIt()
{
vout.play();
duree.start();
acc.removeEventListener(AccelerometerEvent.UPDATE, onAccUpdate);
duree.addEventListener(TimerEvent.TIMER_COMPLETE, stopThrow);
}
function stopThrow(event : TimerEvent)
{
duree.stop();
acc.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate);
}
您认为我可以在哪里以及如何添加:
if (accelerationX > 0 && < 10){
trace 1m
}
if (accelerationX > 10 && < 20){
trace 2m
...
..
etc
你认为这是更好的方法吗?
谢谢