Here you have an easy way to detect shakes on mobile devices with equipped accelerometer:
var lastShake:Number = 0; var shakeWait:Number = 600; var acc:Accelerometer = new Accelerometer(); acc.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate); 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() { trace("device has been shaked"); } |
Enjoy!