Basisprincipes van aanraakinvoer

Flash Player 10.1 of hoger, Adobe AIR 2 of hoger

Wanneer het Flash Platform wordt uitgevoerd in een omgeving die ondersteuning biedt voor aanraakinvoer, kunnen InteractiveObject-instanties luisteren naar aanraakgebeurtenissen en handlers aanroepen. Over het algemeen worden aanraak-, multitouch- en bewegingsgebeurtenissen op dezelfde manier afgehandeld als andere gebeurtenissen in ActionScript (zie Gebeurtenissen afhandelen voor algemene informatie over het afhandelen van gebeurtenissen met ActionScript).

Voor een correcte interpretatie van een aanraking of beweging moet de Flash-runtime worden uitgevoerd in een hardware- en softwareomgeving die ondersteuning biedt voor aanraak- of multitouch-invoer. Zie Invoertypen vaststellen voor een grafiek waarin verschillende typen aanraakschermen worden vergeleken. Als de runtime wordt uitgevoerd in een containertoepassing (zoals een browser), geldt bovendien dat die container de invoer doorgeeft aan de runtime. In sommige gevallen wordt multitouch weliswaar ondersteund door de huidige hardware en het besturingssysteem, maar wordt de invoer geïnterpreteerd door de browser waarin de Flash-runtime wordt uitgevoerd, en niet doorgegeven aan de Flash-runtime. Het komt ook voor dat de invoer wordt genegeerd.

Het volgende diagram laat zien hoe de invoer wordt doorgegeven van de gebruiker naar de runtime:

Afbeelding op volledige grootte weergeven
Invoerstroom van gebruiker naar de Flash Platform-runtime

Gelukkig beschikt de ActionScript-API voor het ontwikkelen van aanraaktoepassingen over klassen, methoden en eigenschappen waarmee de ondersteuning voor aanraak- en multitouch-invoer in runtimeomgevingen kan worden vastgesteld. De API waarmee u de ondersteuning voor aanraakinvoer kunt vaststellen is de API voor detectie voor aanraakgebeurtenisafhandeling.

Belangrijke concepten en termen

De volgende woordenlijst bevat belangrijke termen voor het schrijven van toepassingen voor het afhandelen van aanraakgebeurtenissen:

API voor detectie
De methoden en eigenschappen waarmee de runtimeomgeving kan worden getest op ondersteuning voor aanraakgebeurtenissen en andere invoermodi.

Aanraakgebeurtenis
Een handeling die wordt ingevoerd op een aanraakapparaat via een enkel contactpunt.

Aanraakpunt
Het contactpunt voor een enkele aanraakgebeurtenis. Zelfs als een apparaat geen ondersteuning biedt voor bewegingsinvoer, kan het apparaat ondersteuning bieden voor meerdere gelijktijdige aanraakpunten.

Aanraakreeks
De reeks gebeurtenissen die staat voor de levensduur van een enkele aanraking.. Deze gebeurtenissen omvatten één beginpunt, nul of meer verplaatsingen en één eindpunt.

Multitouch-gebeurtenis
Een handeling die wordt ingevoerd op een aanraakapparaat met meerdere contactpunten (bijvoorbeeld met meer vingers tegelijkertijd).

Bewegingsgebeurtenis
Een handeling die wordt ingevoerd op een aanraakapparaat waarbij een complexe beweging wordt getraceerd. Een voorbeeld van een beweging is wanneer u een scherm met twee vingers aanraakt, waarna u uw vingers gelijktijdig verplaatst in de vorm van een abstracte cirkel om een rotatie aan te geven.

Fasen
Afzonderlijke tijdstippen in de gebeurtenisstroom (zoals het begin- en eindpunt)

Pen
Een instrument voor interactie met een aanraakscherm. Een pen werkt preciezer dan een vinger. Sommige apparaten herkennen alleen invoer van een bepaald type pen. Apparaten die peninvoer herkennen hoeven niet per se invoer via meerdere contactpunten of met meerdere vingers tegelijkertijd te herkennen.

Druk- en tikbeweging
Een specifiek type multitouch-invoerbeweging waarbij de gebruiker één vinger tegen het aanraakapparaat drukt en vervolgens met een andere vinger of aanwijsapparaat tikt. Deze beweging wordt vaak gebruikt om het rechtsklikken bij de muis te simuleren bij multitouch-toepassingen.

De API-structuur voor aanraakinvoer

De ActionScript-API voor aanraakinvoer is ontworpen met het oog op het feit dat het afhandelen van aanraakinvoer afhankelijk is van de hardware- en softwareomgeving van de Flash-runtime. De API biedt een primaire aanpak van drie behoeften bij de ontwikkeling van aanraaktoepassingen: detectie, gebeurtenissen en fasen. De coördinatie van deze API biedt een voorspelbare en gewenste ervaring voor de gebruiker, zelfs als u het doelapparaat niet kent tijdens de ontwikkeling van uw toepassing.

Detectie

De API voor detectie biedt de mogelijkheid om de hardware- en softwareomgeving tijdens runtime te testen. De waarden die door de runtime worden ingevuld bepalen welke aanraakinvoer beschikbaar is voor de Flash-runtime in de huidige context. Met de verzameling detectie-eigenschappen en -methoden kunt u de toepassing laten reageren op muisgebeurtenissen (in plaats van aanraakgebeurtenissen voor het geval dat sommige aanraakinvoer niet wordt ondersteund door de omgeving). Zie Detectie voor aanraakondersteuning voor meer informatie.

Gebeurtenissen

ActionScript beheert aanraakgebeurtenissen met behulp van gebeurtenislisteners en -handlers, net als bij andere gebeurtenissen. Bij aanraakgebeurtenissen moet u echter ook rekening houden met het volgende:
  • Een aanraking kan op meerdere manieren worden geïnterpreteerd door een apparaat of besturingssysteem, bijvoorbeeld als een reeks aanrakingen of, collectief, als een beweging.

  • Bij een enkele aanraking op een aanraakapparaat (met een vinger, pen of aanwijsapparaat) wordt altijd ook een muisgebeurtenis verzonden. U kunt de muisgebeurtenis afhandelen met de gebeurtenistypen in de MouseEvent-klasse. Of u kunt uw toepassing zo ontwerpen dat deze alleen reageert op aanraakgebeurtenissen. U kunt de toepassing natuurlijk ook ontwerpen dat op beide gebeurtenistypen wordt gereageerd.

  • Een toepassing kan reageren op meerdere gelijktijdige aanraakgebeurtenissen en elke gebeurtenis afzonderlijk afhandelen.

Gebruik de API voor detectie vooral om de gebeurtenissen die door uw toepassing worden afgehandeld, conditioneel af te handelen, en ook om te bepalen hoe de gebeurtenissen worden afgehandeld. Nadat de runtimeomgeving is verkend door de toepassing, wordt de juiste handler aangeroepen of wordt bepaald wat het juiste gebeurtenisobject is voor de gebruikersinteractie met de toepassing. Het komt ook voor dat de toepassing aangeeft dat specifieke invoer niet kan worden afgehandeld in de huidige omgeving en dat de gebruiker een alternatief krijgt aangeboden of hierover wordt geïnformeerd. Zie Aanraakgebeurtenissen afhandelen en Bewegingsgebeurtenissen afhandelen voor meer informatie.

Fasen

Bij aanraak- en multitouch-toepassingen bevatten aanraakgebeurtenisobjecten bepaalde eigenschappen waarmee de fasen van de gebruikersinteractie kunnen worden getraceerd. Schrijf ActionScript-code voor de afhandeling van fasen zoals de begin-, update- of eindfase van gebruikersinvoer. Zo kunt u de gebruikers voorzien van feedback. Laat het programma reageren op eindfasen, zodat visuele objecten veranderen als de gebruiker ze aanraakt en het aanraakpunt op het scherm verplaatst. U kunt de fasen ook gebruiken om bepaalde eigenschappen van een beweging bij te houden tijdens de uitvoering van de beweging.

Voor aanraakpuntgebeurtenissen kunt u bijhouden hoe lang de gebruiker 'stil blijft staan' bij een bepaald interactief object. Een toepassing kan alle fasen van een gebeurtenis met meerdere gelijktijdige aanraakpunten afzonderlijk bijhouden en overeenkomstig afhandelen.

Zorg ervoor dat u bij bewegingen ook de specifieke informatie over de transformatie van de beweging tijdens de uitvoering ervan kunt interpreteren. Houd de coördinaten van het contactpunt (of meerdere contactpunten) bij tijdens de verplaatsingen op het scherm.