Multitouch in Flash und AIR

Seit dem 02. Februar ist Adobe AIR 2.0 beta 2 unter Adobe Labs verfügbar und bereits seit Mitte Dezember 2009 gibt es eine Betaversion des FlashPlayers 10.1. Eine der Neuerungen ist die Unterstützung von Multitouch Events. Dies eröffnet neue Wege der Interaktion und bringt ein ganz neue Benutzererfahrung die schon von dem IPhone bzw. IPodTouch bekannt ist.

Die Voraussetzung ist natürlich eine entsprechende Hardware. Um die Multitouchfähigkeit testen zu können ist entweder ein multitouchfähiger Touchscreen oder ein Touchpad wie zum Beispiel beim MacBook Pro erforderlich. Außerdem kommt es darauf an wie viele Touchpunkte das Eingabegerät unterstützt, von Flash Seite gib es hier keine Einschränkungen.

Doch wie sieht das Ganze in ActionScript aus? Die Multitouchfähigkeit basiert hauptsächlich auf folgenden Events

  • flash.events.TouchEvent
  • flash.events.GestureEvent
  • flash.events.TransformGestureEvent

Multitouch Input Mode
Es gibt zwei Multitouch Modi MultitouchInputMode.TOUCH_POINT und MultitouchInputMode.GESTURE. Um Multitouch Events verwenden zu können, muss die statische Variable inputMode der Multitouch Klasse gesetzt werden: Multitouch.inputMode = MultitouchInputMode.GESTURE;. Wird der Modus „touchPoint“ gewählt werden TouchEvents dispatched, wird der modus „gesture“ gewählt werden GestureEvents und TransformGestureEvents dispatched. Anhand der TouchPoint Events können die verschiedenen Berührungspunkte ausgelesen und verarbeitet werden.
In diesem Eintrag will ich aber auf die Gestures eingehen. Es werden die vom IPhone bekannten Gesten für zoomen, drehen und wischen (mit zwei oder drei Fingern) und der tab mit zwei Fingern unterstützt.

  • TransformGestureEvent.GESTURE_ZOOM
  • TransformGestureEvent.GESTURE_ROTATE
  • TransformGestureEvent.GESTURE_PAN (2 Finger)
  • TransformGestureEvent.GESTURE_SWIPE (3 Finger)
  • GestureEvent.GESTURE_TWO_FINGER_TAP

Test Anwendung
Um die Funktionen zu testen habe ich eine einfach AIR Anwendung gemacht in der Bild über die Gesures gedreht, gezoomt, und bewegt werden kann. Mein Test AIR App kann hier heruntergeladen werden, es wird allerdings die AIR 2.0beta Runtime benötigt und natürlich ein Eingabegerät das Multitouch unterstützt.

Anwendung auf Propeller
Mein Kollege Alex hat gestern einen Beitrag zu seinem Propeller-Experiment geschrieben, diesen habe ich genommen und mit Multitouchfähigkeiten ausgestattet. Über die Geste Rotation kann der Propeller rotiert werden, über zoom kann gezoomt werden und das Wischen mit 3 Fingern wechelt die Farbe. Hier gibts die AIR Applikation, viel Spaß beim ausprobieren.