13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Accelerometer input<br />

var accl:Accelerometer;<br />

var rollingX:Number = 0;<br />

var rollingY:Number = 0;<br />

var rollingZ:Number = 0;<br />

const FACTOR:Number = 0.25;<br />

if (Accelerometer.isSupported)<br />

{<br />

accl = new Accelerometer();<br />

accl.setRequestedUpdateInterval(200);<br />

accl.addEv<strong>en</strong>tList<strong>en</strong>er(AccelerometerEv<strong>en</strong>t.UPDATE, updateHandler);<br />

}<br />

else<br />

{<br />

accTextField.text = "Accelerometer feature not supported";<br />

}<br />

function updateHandler(ev<strong>en</strong>t:AccelerometerEv<strong>en</strong>t):void<br />

{<br />

accelRollingAvg(ev<strong>en</strong>t);<br />

accTextField.text = rollingX + "\n" + rollingY + "\n" + rollingZ + "\n";<br />

}<br />

function accelRollingAvg(ev<strong>en</strong>t:AccelerometerEv<strong>en</strong>t):void<br />

{<br />

rollingX = (ev<strong>en</strong>t.accelerationX * FACTOR) + (rollingX * (1 - FACTOR));<br />

rollingY = (ev<strong>en</strong>t.accelerationY * FACTOR) + (rollingY * (1 - FACTOR));<br />

rollingZ = (ev<strong>en</strong>t.accelerationZ * FACTOR) + (rollingZ * (1 - FACTOR));<br />

}<br />

However, this moving average is only desirable if the accelerometer update interval is small.<br />

Last updated 6/6/2012<br />

606

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!