Découverte de la prise en charge des actions tactiles

Flash Player 10.1 et les versions ultérieures, Adobe AIR 2 et les versions ultérieures

Pour définir l’étendue de la saisie tactile traitée par l’application, faites appel aux propriétés de la classe Multitouch . Testez ensuite l’environnement pour vous assurer de la prise en charge des événements gérés par le code ActionScript. Déterminez tout d’abord le type de saisie tactile pris en charge par l’application. Les options disponibles sont touch point, gesture ou none (interprétez toute saisie tactile comme un clic de souris et n’utilisez que des gestionnaires d’événement de souris). Faites ensuite appel aux propriétés et méthodes de la classe Multitouch pour vous assurer que le moteur d’exécution tourne dans un environnement qui prend en charge la saisie tactile requise par l’application. Testez l’environnement d’exécution pour vérifier s’il prend en charge les types de saisie tactile (l’interprétation des mouvements, par exemple) et réagissez en conséquence.
Remarque : la classe Multitouch contient des propriétés statiques, qui n’appartiennent à aucune occurrence de classe. Utilisez-les avec la syntaxe de Multitouch.property, par exemple :
var touchSupport:Boolean = Multitouch.supportsTouchEvents;

Définition du type de saisie

Etant donné qu’un événement tactile se compose parfois d’un grand nombre d’éléments ou de phases, le moteur d’exécution de Flash doit pouvoir identifier le type de saisie tactile à interpréter. Si le doigt se contente de toucher un écran tactile, le moteur d’exécution distribue-t-il un événement tactile ? Attend-il plutôt un mouvement ? Le moteur d’exécution suit-il l’action tactile en tant qu’événement de bouton de souris enfoncé ? Une application qui prend en charge la saisie tactile doit déterminer le type d’événement tactile géré pour le moteur d’exécution de Flash. La propriété Multitouch.inputMode permet de déterminer le type de saisie tactile à l’intention du moteur d’exécution. Le mode de saisie correspond à l’une des trois options suivantes :
Aucun (None)
Les événements tactiles ne sont pas gérés différemment. Définissez comme suit cette option : Multitouch.inputMode=MultitouchInputMode.NONE et traitez la saisie à l’aide de la classe MouseEvent.

Points tactiles uniques
Chaque saisie tactile est interprétée individuellement et tous les points tactiles peuvent être suivis et gérés. Définissez comme suit cette option : Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT et traitez la saisie à l’aide de la classe TouchEvent.

Saisie par mouvement
Le périphérique ou le système d’exploitation interprète la saisie en tant que mouvement complexe du doigt à l’écran. Le périphérique ou le système d’exploitation affecte globalement le mouvement à un événement de saisie par mouvement unique. Définissez comme suit cette option : Multitouch.inputMode=MultitouchInputMode.GESTURE et traitez la saisie à l’aide des classes TransformGestureEvent, PressAndTapGestureEvent ou GestureEvent.

Voir Gestion des événements tactiles pour visualiser un exemple qui fait appel à la propriété Multitouch.inputMode en vue de définir le type de saisie avant de traiter un événement tactile.

Test de la prise en charge de la saisie tactile

D’autres propriétés de la classe Multitouch proposent des valeurs permettant d’adapter l’application à la prise en charge de la saisie tactile dans l’environnement actuel. Le moteur d’exécution de Flash renseigne les valeurs associées au nombre de points tactiles simultanés autorisés ou aux mouvements disponibles. Si le moteur d’exécution tourne dans un environnement qui ne prend pas en charge la gestion des événements tactiles requise par l’application, proposez une autre solution à l’utilisateur. Assurez par exemple la prise en charge des événements de souris ou affichez des informations relatives aux fonctions disponibles ou non dans l’environnement actuel.

Vous disposez également de l’API de prise en charge du clavier, des actions tactiles et de la souris (voir Découverte des types de saisie ).

Pour plus d’informations sur les tests de compatibilité, voir Résolution des problèmes .