source: Mobile revolution by Serge Jespers
Gestures
public function init():void
{
Multitouch.inputMode = MultitouchInputMode.GESTURE;
logo.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate );
logo.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom );
}
private function onRotate(evt:TransformGestureEvent):void
{
// pssst... you should try rotationX or Y
logo.rotation += evt.rotation;
}
private function onZoom(evt:TransformGestureEvent):void {
logo.scaleX *= evt.scaleX;
logo.scaleY *= evt.scaleY;
}
Screen orientation
import flash.events.StageOrientationEvent;
stage.addEventListener("orientationChange", orientationChangedHandler);
function orientationChangedHandler(event:StageOrientationEvent)
{
dummy.width = stage.stageWidth - 20;
dummy.height = stage.stageHeight - 20;
}
Accelerometer
var accelerometer = new Accelerometer();
accelerometer.addEventListener(AccelerometerEvent.UPDATE, onMove);
accelerometer.setRequestedUpdateInterval(40);
function onMove(event:AccelerometerEvent):void {
var ax = event.accelerationX*20;
var ay = (event.accelerationY*20)*-1;
var az = event.accelerationZ;
football.x += ax;
football.y += ay;
football.scaleX = football.scaleY = az;
}
Geo location
import flash.sensors.Geolocation;
import flash.events.GeolocationEvent;
var geo = new Geolocation();
geo.setRequestedUpdateInterval(1000);
geo.addEventListener(GeolocationEvent.UPDATE, onTravel);
function onTravel(event:GeolocationEvent):void
{
long.text = event.latitude.toString();
lat.text = event.longitude.toString();
heading.text = event.heading.toString();
speed.text = event.speed.toString();
hacc.text = event.horizontalAccuracy.toString();
vacc.text = event.verticalAccuracy.toString();
}
Finger size to assume, many recommend 45px