viernes, 23 de septiembre de 2011

Uso de la clase TransformGestureEvent en ActionScript 3.0 para dispositivos móviles

Los Gestures en los dispositivos móviles, es cuando el usuario toca con más de un dedo la pantalla, por ejemplo, cuando toca con al menos dos dedos la pantalla para hacer un zoom de la imagen. Lo primero que debemos hacer para utilizar los Gestures en ActionScript 3.0 es definir si el dispositivo puede generar los eventos de Gestures.

Hay que importar la clase:

import flash.ui.Multitouch;

En esta clase sabremos si el dispositivo tiene o no la propiedad de recibir los Gestures. Por ejemplo, el emulador de Flash NO detecta estos eventos, ya que la pantalla, por lo general, no es TouchScreen. Lo primero que debemos preguntar es si el dispositivo soporta los eventos:

if (Multitouch.supportsTouchEvents)
{

   /* el código va aqui */  
}

Observe que no instanciamos el objeto, lo utilizamnos directamente, como lo hacemos con la clase Math.

El siguiente paso es indicarle a Flash (o Flex) que vamos a utilizar el modelo de Gestures:

Multitouch.inputMode = MultitouchInputMode.GESTURE;
Hay que importar la siguiente clase, la cual tiene las constantes:

import flash.ui.MultitouchInputMode;

Una vez que ya tenemos la definición del modelo de eventos, hay que detectar a los mismos, en este caso hay que importar la clase correspondiente:

import flash.events.TransformGestureEvent;
Los eventos que podemos detectar son:

 GESTURE_PAN : String = "gesturePan"

GESTURE_ROTATE : String = "gestureRotate"

GESTURE_SWIPE : String = "gestureSwipe"

GESTURE_TWO_FINGER_TAP : String = "gestureTwoFingerTap"

GESTURE_ZOOM : String = "gestureZoom"

Más adelante daremos ejemplos para cada uno de los eventos

1 comentario:

  1. Hola Paco, es posible usar esta clase en una pantalla táctil de un PC y que sea una aplicación web, NO en un fichero AIR?
    Muchas gracias

    ResponderEliminar