Nozioni di base sull'input tocco

Flash Player 10.1 e versioni successive, Adobe AIR 2 e versioni successive

Quando la piattaforma Flash viene eseguita in un ambiente che supporta l'input tocco, le istanze InteractiveObject possono intercettare eventi di tocco e gestori di chiamata. In generale, potete gestire eventi di tocco, multitocco e manovra come altri eventi in ActionScript (vedete Gestione degli eventi per le informazioni di base sulla gestione degli eventi con ActionScript).

Tuttavia, affinché il runtime Flash sia in grado di interpretare un tocco o una manovra, deve essere eseguito in un ambiente hardware e software che supporta l'input tocco o multitocco. Vedete Individuazione dei tipi di input per un grafico in cui vengono confrontati i diversi tipi di touchscreen. Inoltre, se il runtime viene eseguito all'interno di un'applicazione contenitore (ad esempio, un browser), il contenitore passa l'input al runtime. In alcuni casi, l'hardware e il sistema operativo correnti supportano il multitocco, ma il browser contenente il runtime Flash interpreta l'input e non lo passa al runtime. Oppure, lo ignora del tutto.

Nel diagramma seguente viene mostrato il flusso dell'input dall'utente al runtime:

Visualizzazione dell’elemento grafico a dimensioni intere
Flusso dell'input dall'utente al runtime della piattaforma Flash

Fortunatamente, l'API di ActionScript per lo sviluppo di applicazioni di tocco include classi, metodi e proprietà per determinare il supporto per l'input tocco o multitocco nell'ambiente di runtime. L'API utilizzata per determinare il supporto per l'input tocco è l'“API di rilevamento” per la gestione degli eventi di tocco.

Concetti e termini importanti

L'elenco di riferimento seguente contiene termini importanti per la scrittura di applicazioni di gestione degli eventi di tocco:

API di rilevamento
I metodi e le proprietà utilizzati per verificare se l'ambiente di runtime supporta eventi di tocco e modalità di input diverse.

Evento di tocco
Un'azione di input eseguita su un dispositivo abilitato al tocco utilizzando un punto di contatto singolo.

Punto di tocco
Il punto di contatto per un singolo evento di tocco. Anche se il dispositivo non supporta l'input gestuale, potrebbe supportare più punti di tocco simultanei.

Sequenza di tocco
Le serie di eventi che rappresentano la durata di un tocco singolo. Questi eventi includono un unico inizio, zero o più movimenti e un'unica fine.

Evento multitocco
Un'azione di input eseguita su un dispositivo abilitato al tocco utilizzando diversi punti di contatto (ad esempio, più dita).

Evento manovra
Un'azione di input eseguita su un dispositivo abilitato al tocco che traccia alcuni movimenti complessi. Ad esempio, una manovra è toccare uno schermo con due dita e muoverle simultaneamente intorno al perimetro di un cerchio astratto per indicare una rotazione.

Fasi
Istanti di tempo distinti nel flusso di eventi (ad esempio, un inizio e una fine).

Penna
Uno strumento per interagire con lo schermo abilitato al tocco. Una penna può essere più precisa di un dito. Alcuni dispositivi riconoscono solo l'input da un tipo di penna specifico. I dispositivi che riconoscono l'input da penna potrebbero non riconoscere più punti di contatto simultanei o un contatto dito.

Premi e tocca
Un tipo specifico di manovra di input multitocco in cui l'utente preme un dito contro un dispositivo abilitato al tocco e quindi tocca con un altro dito o dispositivo di puntamento. Questa manovra viene spesso utilizzata per simulare il clic con il pulsante destro del mouse nelle applicazioni multitocco.

Struttura API di input tocco

L'API di input tocco di ActionScript è progettata in funzione del fatto che la gestione dell'input tocco dipende dall'hardware e dall'ambiente software del runtime Flash. L'API di input tocco risolve principalmente tre esigenze nello sviluppo di applicazioni di tocco: rilevamento, eventi e fasi. Coordinate queste API per creare un'esperienza prevedibile e reattiva per l'utente, anche se il dispositivo di destinazione è sconosciuto durante lo sviluppo dell'applicazione.

Rilevamento

L'API di rilevamento offre la possibilità di verificare l'ambiente hardware e software in fase di runtime. I valori compilati dal runtime determinano l'input tocco disponibile nel runtime Flash nel suo contesto corrente. Inoltre, utilizzate la raccolta di proprietà e metodi di rilevamento per impostare l'applicazione in modo che reagisca agli eventi del mouse (anziché agli eventi di tocco nel caso in cui lo stesso input tocco non sia supportato dall'ambiente). Per ulteriori informazioni, vedete Rilevamento supporto tocco .

Eventi

ActionScript gestisce gli eventi di input tocco utilizzando listener di eventi e gestori di eventi come nel caso di altri eventi. Tuttavia, la gestione degli eventi di input tocco deve anche tenere in considerazione che:
  • Un tocco può essere interpretato in modi diversi dal dispositivo o sistema operativo: o come una sequenza di tocchi o, globalmente, come una manovra.

  • Un singolo tocco in un dispositivo abilitato al tocco (mediante un dito, una penna o un dispositivo di puntamento) invia sempre anche un evento del mouse. Potete gestire l'evento del mouse con i tipi di evento nella classe MouseEvent. Oppure, potete progettare l'applicazione solo per rispondere a eventi di tocco. Oppure, potete progettare un'applicazione che risponda a entrambi.

  • Un'applicazione può rispondere a più eventi di tocco simultanei e gestire ciascuno di essi separatamente.

L'API di rilevamento viene in genere utilizzata per gestire gli eventi dell'applicazione e il modo in cui vengono gestiti. Una volta che l'ambiente di runtime è noto, l'applicazione può chiamare il gestore appropriato o stabilire l'oggetto evento corretto quando l'utente interagisce con l'applicazione. Oppure, l'applicazione può indicare che quell'input specifico non può essere gestito nell'ambiente corrente e fornire all'utente un'alternativa o informazioni. Per ulteriori informazioni, vedete Gestione eventi di tocco e Gestione evento manovra .

Fasi

Per applicazioni di tocco e multitocco, gli oggetti dell'evento di tocco contengono proprietà per tenere traccia delle fasi dell'interazione utente. Scrivete ActionScript per gestire fasi quali l'inizio, l'aggiornamento e la fine dell'input utente al fine di fornire un feedback all'utente. Rispondete alla fasi del flusso di eventi in modo che gli oggetti visivi cambino quando l'utente tocca e sposta il punto di tocco su uno schermo. Oppure, utilizzate le fasi per tenere traccia di proprietà specifiche di una manovra, come la sua evoluzione.

Per gli eventi punto di tocco, monitorate per quanto tempo l'utente rimane su un oggetto interattivo specifico. Un'applicazione può tenere traccia delle fasi di più punti di tocco simultanei individualmente e gestire ciascuna di esse di conseguenza.

Per una manovra, interpretate informazioni specifiche sulla trasformazione della manovra mentre si verifica. Tracciate le coordinate dei punti di contatto mentre questi si spostano sullo schermo.