15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Accelerometer-Eingabe<br />

Die tatsächliche Zeitspanne zwischen Aktualisierungen des Beschleunigungsmessers kann größer oder kleiner als<br />

dieser Wert sein. Änderungen am Aktualisierungsintervall betreffen alle registrierten Listener. Wenn Sie die<br />

setRequestedUpdateInterval()-Methode nicht aufrufen, werden die Aktualisierungen in der Anwendung gemäß<br />

dem Standardintervall des Geräts durchgeführt.<br />

Die Accelerometer-Daten sind nicht hundertprozentig genau. Sie können einen gleitenden Mittelwert der neuesten<br />

Daten verwenden, um Ungenauigkeiten auszugleichen. Im folgenden Beispiel werden beispielsweise kürzlich<br />

erhaltene Daten des Beschleunigungsmessers bei den aktuellen Daten berücksichtigt, um ein gerundetes Ergebnis zu<br />

erhalten:<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.addEventListener(AccelerometerEvent.UPDATE, updateHandler);<br />

}<br />

else<br />

{<br />

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

}<br />

function updateHandler(event:AccelerometerEvent):void<br />

{<br />

accelRollingAvg(event);<br />

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

}<br />

function accelRollingAvg(event:AccelerometerEvent):void<br />

{<br />

rollingX = (event.accelerationX * FACTOR) + (rollingX * (1 - FACTOR));<br />

rollingY = (event.accelerationY * FACTOR) + (rollingY * (1 - FACTOR));<br />

rollingZ = (event.accelerationZ * FACTOR) + (rollingZ * (1 - FACTOR));<br />

}<br />

Ein solcher gleitender Mittelwert wird jedoch nur bei einem kurzen Aktualisierungsintervall des<br />

Beschleunigungsmessers empfohlen.<br />

Letzte Aktualisierung 27.6.2012<br />

644

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

Saved successfully!

Ooh no, something went wrong!