Grunder för pekrörelser

Flash Player 10.1 och senare, Adobe AIR 2 och senare

När Flash-plattformen körs i en miljö som stöder pekrörelser kan InteractiveObject-instanser lyssna efter pekhändelser och anropa hanterare. Normalt hanteras pek-, gest- och multitouch-händelser på samma sätt som andra typer av händelser i ActionScript (se Hantera händelser för grundläggande information om händelsehantering med ActionScript).

Men för att Flash-körningen ska kunna tolka pekfunktioner och gester måste körningen köras i miljö med maskinvara och programvara som har stöd för pek- eller multitouch-funktioner. Se Identifiera indatatyper för en jämförande tabell av olika typer av pekskärmar. Om körningen körs inom ett behållarprogram (till exempel en webbläsare) skickas indata till körningen via behållaren. I vissa fall stöds multitouch i den aktuella maskinvaru- och operativsystemmiljön, men indata tolkas av webbläsaren som fungerar som behållare för Flash-körningen och skickas inte vidare till körningen. Eller så ignoreras dessa indata helt och hållet.

I följande diagram beskrivs indataflödet från användare till körning:

Visa grafik i full storlek
Indataflöde från användare till Flash-plattformkörning

Men ActionScript API för utveckling av program med pekfunktioner innehåller dess bättre klasser, metoder och egenskaper för att avgöra om det finns stöd för pek- och multitouch-funktioner i körningsmiljön. Om du vill avgöra stödet för pekfunktioner använder du ett API för identifiering av pekhändelsehantering.

Viktiga termer och begrepp

Följande referenslista innehåller viktiga termer för programmering med pekhändelsehantering:

API för identifiering
Metoder och egenskaper som används för att testa om körningsmiljön har stöd för pekhändelser och andra inmatningssätt.

Pekhändelse
En indataåtgärd som utförs med en enda kontaktyta på en enhet med stöd för pekfunktioner.

Kontaktpunkt
Kontaktpunkten för en enda pekhändelse. Även om en enhet inte har stöd för indata med hjälp av gester kan den ha stöd för flera samtidiga kontaktpunkter.

Peksekvens
Den serie av händelser som tillsammans utgör en pekhändelse från början till slut. Dessa händelser utgörs av en början, en (eller inga) eller flera åtgärder samt ett slut.

Multitouch-händelse
En indataåtgärd som utförs med flera kontaktpunkter (till exempel flera fingrar) på en enhet med stöd för pekfunktioner.

Gesthändelse
En indataåtgärd som utförs genom att spåra ett rörelsemönster på en enhet med stöd för pekfunktioner. En gest kan till exempel vara att peka på skärmen med två fingrar och samtidigt flytta dem i en cirkel för att indikera rörelse.

Faser
Avskilda tidpunkter i händelseflödet (till exempel början och slut).

Styluspenna
Ett verktyg för interaktion med en pekskärm. En styluspenna har större precision än ett finger. Vissa enheter kan endast känna av indata med en särskild typ av styluspenna. Enheter som känner av indata med styluspennor kanske inte kan känna av fingerkontakt eller flera samtidiga kontaktpunkter.

Tryck-och-peka
En särskild typ av gest för multitouch-indata där användaren trycker ett finger mot pekskärmen och sedan pekar på den med ett annat finger eller något annat pekdon. Den här gesten används ofta för att simulera ett högerklick med en mus i program med multitouch-funktioner.

API-struktur för pekrörelser

ActionScript API för pekrörelser har skapats för att lösa problemet med att pekrörelsehantering är beroende av Flash-körningens maskinvaru- och programvarumiljö. API för pekrörelser är huvudsakligen utformade för tre aspekter av utveckling för program med pekfunktioner: identifiering, händelser och faser. Använd dessa API tillsammans för ett mer förutsägbart beteende och bättre responsivitet för användaren, även om målenheten inte är känd vid utvecklingen av programmet.

Identifiering

Med API:et för identifiering kan du testa maskinvaru- och programvarumiljön vid körningen. De värden som anges av körningen avgör vilka pekfunktioner som är tillgängliga för Flash-körningen i den aktuella miljön. Du kan även använda en uppsättning egenskaper och metoder för identifiering om du vill att programmet ska svara på mushändelser istället för pekhändelser, om det skulle vara så att vissa pekfunktioner inte stöds i den aktuella miljön. Mer information finns i Identifiering för stöd av pekfunktioner.

Händelser

ActionScript hanterar händelser för pekrörelser med händelseavlyssnare på samma sätt som med andra händelser. Men vid hantering av pekhändelser gäller även följande:
  • En pekhändelse kan tolkas på flera olika sätt av enheten eller operativsystemet, antingen som en sekvens av flera pekhändelser, eller tillsammans, som en gest.

  • Vid en enskild pekning på en pekskärm (med ett finger, en styluspenna eller annat pekdon) skickas alltid även en mushändelse. Du kan hantera mushändelsen med händelsetyperna i klassen MouseEvent. Eller så kan du utforma programmet så att det endast svarar på pekhändelser. Eller skapa ett program som svarar på både pekhändelser och mushändelser.

  • Ett program kan svara på flera samtidiga pekhändelser och hantera varje händelse separat.

Normalt används API:et för identifiering för hantering av de händelser som programmet hanterar, och på vilket sätt de ska hanteras. När programmet har identifierat körningsmiljön kan det anropa den lämpliga hanteraren eller etablera ett korrekt händelseobjekt när användaren interagerar med programmet. Eller så kan programmet indikera att specifika indata inte kan hanteras i den aktuella miljön och tillhandahålla ett alternativ eller information till användaren. Mer information finns i Hantering av pekhändelser och Hantering av gesthändelser.

Faser

I program med pek- och multitouch-funktioner finns objekt för pekhändelser som innehåller egenskaper för att spåra faserna av användarinteraktion. Skriv ActionScript-kod som hanterar faserna för till exempel början, uppdatering och slut av indata från användaren och som ger användaren återkoppling på dessa indata. Svara på händelsefaser genom att ändra på visuella objekt när användaren pekar på eller flyttar kontaktpunkten på skärmen. Eller använd faserna för att spåra särskilda egenskaper hos en gest samtidigt som den utförs.

För kontaktpunkthändelser spårar du hur lång tid som användaren uppehåller sig på ett visst interaktivt objekt. Ett program kan spåra flera samtidiga kontaktpunktfaser separat och hantera varje kontaktpunkt därefter.

För gester tolkar du informationen om gestens utveckling samtidigt som den utförs. Spåra koordinaterna för kontaktpunkten (eller kontaktpunkterna) samtidigt som de förflyttas på skärmen.