API additions to use on the Android device

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

Powered by Drupal, an open source content management system