Grundlagen der Berührungseingabe

Flash Player 10.1 und höher, Adobe AIR 2 und höher

Wenn die Flash-Plattform in einer Umgebung ausgeführt wird, die die Berührungseingabe unterstützt, können InteractiveObject-Instanzen auf Berührungsereignisse warten und Ereignisprozeduren aufrufen. Im Allgemeinen werden Berührungs-, Multitouch- und Gestenereignisse wie jedes andere Ereignis in ActionScript verarbeitet. (Grundlegende Informationen zur Ereignisverarbeitung in ActionScript finden Sie unter Verarbeiten von Ereignissen .)

Doch damit die Flash-Laufzeit Berührungen oder Gesten interpretieren kann, muss die Hardware- und Software-Umgebung, in der die Laufzeit ausgeführt wird, die Eingabe per Berührung oder Multitouch unterstützen. Unter Erkennen von Eingabetypen finden Sie eine Vergleichsübersicht über die verschiedenen Touchscreen-Typen. Wenn die Laufzeit in einer Containeranwendung ausgeführt wird (wie beispielsweise in einem Browser), ist außerdem zu beachten, dass dieser Container die Eingabe an die Laufzeit übergibt. In manchen Fällen bieten die Hardware und das Betriebssystem zwar Multitouch-Unterstützung, doch der Browser, in dem die Flash-Laufzeit ausgeführt wird, interpretiert die Eingabe und gibt sie nicht an die Laufzeit weiter. Möglicherweise wird die Eingabe vom Browser auch vollständig ignoriert.

Die folgende Abbildung zeigt den Verlauf der Eingabe vom Benutzer zur Laufzeit:

Grafik in Originalgröße anzeigen
Verlauf der Eingabe vom Benutzer zur Laufzeit der Flash-Plattform

Die ActionScript-API zur Entwicklung von Anwendungen mit Berührungserkennung umfasst Klassen, Methoden und Eigenschaften, mit denen ermittelt werden kann, ob die Eingabe per Berührung oder Multitouch in der Laufzeitumgebung unterstützt wird. Zu diesem Zweck verwenden Sie die „Discovery API“ (Erkennungs-API) für die Verarbeitung von Berührungsereignissen.

Wichtige Konzepte und Begriffe

In der folgenden Liste werden wichtige Begriffe erläutert, die beim Erstellen von Anwendungen mit Berührungsereignisverarbeitung von Bedeutung sind:

Discovery API
Die Methoden und Eigenschaften, mit denen ermittelt werden kann, ob die Laufzeitumgebung Berührungsereignisse und verschiedene Eingabemodi unterstützt.

Berührungsereignis
Eine Eingabeaktion, die auf einem berührungsempfindlichen Gerät über einen einzelnen Kontaktpunkt vorgenommen wird.

Berührungspunkt
Der Kontaktpunkt bei einem einzelnen Berührungsereignis. Auch wenn ein Gerät die Gesteneingabe nicht unterstützt, bietet es möglicherweise Unterstützung für mehrere Berührungspunkte gleichzeitig.

Berührungssequenz
Die Ereignisserie, die die Abfolge einer einzelnen Berührung darstellt. Dazu zählen der Anfang, keine oder mehrere Bewegungen und das Ende der Berührungssequenz.

Multitouch-Ereignis
Eine Eingabeaktion, die auf einem berührungsempfindlichen Gerät über mehrere Kontaktpunkte vorgenommen wird (etwa mit mehreren Fingern).

Gestenereignis
Eine Eingabeaktion, die auf einem berührungsempfindlichen Gerät über eine komplexe Bewegung vorgenommen wird. Eine Geste kann beispielsweise ausgeführt werden, indem der Benutzer den Bildschirm mit zwei Fingern berührt und die Finger dann gleichzeitig kreisförmig bewegt, um eine Drehung anzuzeigen.

Phasen
Bestimmte Zeitpunkte im Ereignisablauf (wie Beginn und Ende).

Stift
Ein Instrument zur Interaktion mit einem berührungsempfindlichen Bildschirm. Mithilfe eines Stifts lässt sich die Berührung präziser steuern als mit einem Finger. Manche Geräte erkennen nur die Eingabe über einen bestimmten Stift. Geräte, die die Stifteingabe erkennen, können nicht unbedingt auch mehrere Kontaktpunkte gleichzeitig oder die Eingabe per Finger erkennen.

Drücken und Tippen
Eine bestimmte Art von Multitouch-Eingabegeste, bei der der Benutzer mit einem Finger auf das berührungsempfindliche Gerät drückt und dann mit einem anderen Finger oder Zeigegerät darauf tippt. Mit dieser Geste wird häufig das Klicken mit der rechten Maustaste in Multitouch-Anwendungen simuliert.

Struktur der API für die Berührungseingabe

Mit der ActionScript-API für die Berührungseingabe kann berücksichtigt werden, dass die Verarbeitung der Berührungseingabe sich nach der Hardware- und Software-Umgebung der Flash-Laufzeit richtet. Die API für die Berührungseingabe ist schwerpunktmäßig für drei Aspekte der Entwicklung von berührungsempfindlichen Anwendungen vorgesehen: Erkennung, Ereignisse und Phasen. Durch eine Koordination dieser API-Aspekte können Sie ein vorhersehbares Anwendungsverhalten mit angemessenen Reaktionen für den Benutzer entwickeln, auch wenn bei der Entwicklung der Anwendung noch nicht bekannt ist, auf welchem Zielgerät sie ausgeführt wird.

Erkennung

Mit der Discovery API zur Erkennung kann die Hardware- und Software-Umgebung zur Laufzeit überprüft werden. Die von der Laufzeit angegebenen Werte bestimmen, welche Berührungseingabe in der Flash-Laufzeit im aktuellen Kontext verfügbar ist. Richten Sie Ihre Anwendung mithilfe der Erkennungseigenschaften und -methoden auch so ein, dass sie auf Mausereignisse reagieren kann (anstelle von Berührungsereignissen, falls eine bestimmte Berührungseingabe nicht von der Umgebung unterstützt wird). Weitere Informationen finden Sie unter Erkennung der Berührungsunterstützung .

Ereignisse

ActionScript verarbeitet Ereignisse für die Berührungseingabe wie jedes andere Ereignis mithilfe von Ereignis-Listenern und Ereignisprozeduren. Bei der Verarbeitung von Ereignissen für die Berührungseingabe müssen jedoch auch folgende Aspekte berücksichtigt werden:
  • Berührungen können vom Gerät oder Betriebssystem entweder als Sequenz aus einzelnen Berührungen oder insgesamt als Geste interpretiert werden.

  • Bei einer einzelnen Berührung eines berührungsempfindlichen Geräts (mit einem Finger, Stift oder Zeigegerät) wird auch immer ein Mausereignis ausgelöst. Das Mausereignis kann mit den Ereignistypen der MouseEvent-Klasse verarbeitet werden. Sie können Ihre Anwendung aber auch so gestalten, dass sie entweder nur auf Berührungsereignisse oder auf beide Ereignistypen reagiert.

  • Eine Anwendung kann auf mehrere gleichzeitig ausgeführte Berührungsereignisse reagieren und jedes dieser Ereignisse separat verarbeiten.

Normalerweise verwenden Sie die Discovery API für eine bedingte Verarbeitung der Ereignisse in der Anwendung und um festzulegen, wie die Ereignisse verarbeitet werden. Sobald die Anwendung die Laufzeitumgebung kennt, kann sie die passende Ereignisprozedur aufrufen oder das richtige Ereignisobjekt bestimmen, wenn der Benutzer mit der Anwendung interagiert. Wenn die Anwendung feststellt, dass eine bestimmte Eingabeart in der aktuellen Umgebung nicht unterstützt wird, kann sie dem Benutzer eine Alternative oder entsprechende Informationen bereitstellen. Weitere Informationen finden Sie unter Verarbeitung von Berührungsereignissen und Verarbeitung von Gestenereignissen .

Phasen

Bei Anwendungen mit Berührungs- und Multitouch-Eingabe enthalten die Berührungsereignisobjekte Eigenschaften, mit denen die Phasen der Benutzerinteraktion verfolgt werden. Erstellen Sie ActionScript-Code zur Verarbeitung der Benutzereingabephasen wie „Beginn“, „Aktualisierung“ oder „Ende“, um dem Benutzer Feedback zu geben. Implementieren Sie Reaktionen auf Ereignisphasen, damit visuelle Objekte sich ändern, wenn der Benutzer sie berührt und den Berührungspunkt auf dem Bildschirm verschiebt. Sie können die Phasen auch verwenden, um bestimmte Eigenschaften einer Geste zu verfolgen, während die Geste durchgeführt wird.

Bei Berührungspunktereignissen sollte verfolgt werden, wie lange der Benutzer ein bestimmtes interaktives Objekt berührt. Eine Anwendung kann die Phasen mehrerer gleichzeitiger Berührungspunkte einzeln verfolgen und entsprechend verarbeiten.

Bei einer Geste sollten spezifische Informationen über die Transformation der Geste interpretiert werden. Verfolgen Sie die Koordinaten von einem oder mehreren Kontaktpunkten bei der Bewegung über den Bildschirm.