Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.ui 

Multitouch  - AS3

Packageflash.ui
Classepublic final class Multitouch
HéritageMultitouch Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

La classe Multitouch gère et fournit des informations sur la prise en charge par l’environnement actuel de la gestion des contacts de l’utilisateur à partir de périphériques de saisie, notamment ceux disposant d’au moins deux points tactiles (par exemple, lorsque l’utilisateur déplace des doigts sur un écran tactile). Lorsqu’un utilisateur interagit avec un périphérique, par exemple avec un téléphone portable ou une tablette munis d’un écran tactile, il touche généralement l’écran avec ses doigts ou avec un dispositif de pointage. Bien qu’il existe de nombreux périphériques de pointage, par exemple des souris ou des stylets, la plupart de ces périphériques ne disposent que d’un seul point de contact avec une application. Pour les périphériques de pointage ne disposant que d’un seul point de contact, les événements d’interaction de l’utilisateur peuvent être traités comme événements de souris, ou à l’aide d’un ensemble d’événements tactiles de base (appelés événements de « point tactile »). Toutefois, pour les périphériques de pointage qui disposent de plusieurs points de contact (comme la main d’un utilisateur) et qui effectuent des mouvements complexes, les moteurs d’exécution de Flash prennent en charge un ensemble d’API de gestion d’événements supplémentaires appelées événements de mouvement. L’API pour la gestion des actions de l’utilisateur avec des événements de mouvement comprend les classes suivantes :

  • flash.events.TouchEvent
  • flash.events.GestureEvent
  • flash.events.GesturePhase
  • flash.events.TransformGestureEvent
  • flash.events.PressAndTapGestureEvent

Utilisez les classes répertoriées pour rédiger du code en vue de prendre en charge les événements tactiles. Utilisez la classe Multitouch pour activer et gérer la prise en charge des actions tactiles par l’environnement actuel.

Il est impossible de créer un objet Multitouch directement à partir du code ActionScript. Si vous appelez new Multitouch(), une exception est renvoyée.

Remarque : la fonction Multitouch n’est pas prise en charge pour les fichiers SWF intégrés dans HTML exécutés sous Mac OS.

Consulter les exemples

Plus d’exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  inputMode : String
[statique] Identifie le mode tactile multipoint pour la gestion des événements tactiles et des événements de mouvement.
Multitouch
      mapTouchToMouse : Boolean
[statique] Indique si le moteur d’exécution d’AIR mappe les événements tactiles sur les événements de souris.
Multitouch
  maxTouchPoints : int
[statique] [lecture seule] Nombre maximal de point tactiles simultanés pris en charge par l’environnement actuel.
Multitouch
  supportedGestures : Vector.<String>
[statique] [lecture seule] Tableau Vector (tableau typé de valeurs de chaînes) des types de contacts tactiles multipoints pris en charge par l’environnement actuel.
Multitouch
  supportsGestureEvents : Boolean
[statique] [lecture seule] Indique si l’environnement actuel prend en charge certains mouvements, notamment la rotation de deux doigts sur un écran tactile.
Multitouch
  supportsTouchEvents : Boolean
[statique] [lecture seule] Indique si l’environnement actuel prend en charge les actions tactiles de base, notamment l’appui simple sur un écran tactile.
Multitouch
Méthodes publiques
 MéthodeDéfini par
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
Détails de la propriété

inputMode

propriété
inputMode:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

Identifie le mode tactile multipoint pour la gestion des événements tactiles et des événements de mouvement. Utilisez cette propriété pour vérifier si les événements sont distribués en tant qu’événements tactiles avec plusieurs points de contact et des événements spécifiques pour différents mouvements (telles que la rotation et le panoramique), avec un seul point de contact (par exemple, l’appui simple), ou sans aucun point de contact (le contact est considéré comme un événement de souris). Pour définir cette propriété, utilisez les valeurs de la classe flash.ui.MultitouchInputMode.

La valeur par défaut est gesture.



Implémentation
    public static function get inputMode():String
    public static function set inputMode(value:String):void

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant affiche un message lorsque l’utilisateur appuie sur le carré dessiné sur mySprite sur un écran tactile :
Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT;

var mySprite:Sprite = new Sprite();
var myTextField:TextField = new TextField();

mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0,0,40,40);
addChild(mySprite);

mySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler);

function taphandler(e:TouchEvent): void {
    myTextField.text = "I've been tapped";
    myTextField.y = 50;
    addChild(myTextField);
}
    

mapTouchToMouse

propriété 
mapTouchToMouse:Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 3

Indique si le moteur d’exécution d’AIR mappe les événements tactiles sur les événements de souris.

Lorsque la valeur est définie sur true (valeur par défaut), le moteur d’exécution d’AIR distribue un événement de souris en plus d’un événement tactile pour les entrées tactiles. Lorsque la valeur est définie sur false, le moteur d’exécution ne distribue pas d’autre événement de souris. Si vous définissez cette propriété sur false, il est possible que le code, les bibliothèques et les structures existants qui reposent sur les événements de souris ne fonctionnent pas correctement sur les périphériques qui prennent en charge la saisie tactile.



Implémentation
    public static function get mapTouchToMouse():Boolean
    public static function set mapTouchToMouse(value:Boolean):void

Eléments de l’API associés

maxTouchPoints

propriété 
maxTouchPoints:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

Nombre maximal de point tactiles simultanés pris en charge par l’environnement actuel.

Remarque : Sous Android, pour les périphériques prenant en charge plus de deux points tactiles, la valeur renvoyée est 2.



Implémentation
    public static function get maxTouchPoints():int

Eléments de l’API associés

supportedGestures

propriété 
supportedGestures:Vector.<String>  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

Tableau Vector (tableau typé de valeurs de chaînes) des types de contacts tactiles multipoints pris en charge par l’environnement actuel. Le tableau de chaînes peut être utilisé comme types d’événements en vue d’enregistrer des écouteurs d’événement. Les valeurs possibles sont les constantes des classes GestureEvent, PressAndTapGestureEvent et TransformGestureEvent (telles que GESTURE_PAN).

Si le moteur d’exécution de Flash se trouve dans un environnement qui ne prend pas en charge les mouvements tactiles multipoints, la valeur est définie sur null.

Remarque : sous Mac OS 10.5.3 et les versions ultérieures, Multitouch.supportedGestures renvoie des valeurs non nulles (indiquant peut-être de façon erronée que les événements de mouvement sont pris en charge), même si le matériel actuel ne prend pas en charge ce type d’événements.

Utilisez cette propriété pour vérifier la prise en charge des mouvements tactiles multipoints. Utilisez ensuite des gestionnaires d’événements pour les mouvements tactiles multipoints disponibles. Pour les mouvements non pris en charge dans l’environnement actuel, vous devez créer un système de gestion d’événements alternatif.



Implémentation
    public static function get supportedGestures():Vector.<String>

Plus d’exemples

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant ajoute les écouteurs d’événement appropriés pour chaque mouvement individuel pris en charge dans l’environnement actuel. Le contenu du tableau vectoriel Multitouch.supportedGestures change pour inclure tous les mouvements disponibles à l’environnement logiciel et matériel actuels pour le moteur d’exécution de Flash. Si le tableau vectoriel Multitouch.supportedGestures ne contient pas l’un des mouvements TransformGestureEvent, aucun écouteur d’événement n’est ajouté pour ce mouvement. Cet exemple est fourni par Holly Schinsky.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

    for each (var item:String in Multitouch.supportedGestures) {
        trace("gesture " + item);
        if (item == TransformGestureEvent.GESTURE_PAN)
            img.addEventListener(TransformGestureEvent.GESTURE_PAN, onPan);
        else if (item == TransformGestureEvent.GESTURE_ROTATE)
            img.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);
        else if (item == TransformGestureEvent.GESTURE_SWIPE)
            img.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);
        else if (item == TransformGestureEvent.GESTURE_ZOOM)
            img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
    }

supportsGestureEvents

propriété 
supportsGestureEvents:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

Indique si l’environnement actuel prend en charge certains mouvements, notamment la rotation de deux doigts sur un écran tactile. Les événements de mouvement sont répertoriés dans les classes GestureEvent, PressAndTapGestureEvent et TransformGestureEvent.

Remarque : sous Mac OS 10.5.3 et les versions ultérieures, cette valeur est toujours définie sur true. Multitouch.supportsGestureEvent renvoie true, même si le matériel ne prend pas en charge les événements de mouvement.



Implémentation
    public static function get supportsGestureEvents():Boolean

Plus d’exemples

Eléments de l’API associés

supportsTouchEvents

propriété 
supportsTouchEvents:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2, Flash Lite 4

Indique si l’environnement actuel prend en charge les actions tactiles de base, notamment l’appui simple sur un écran tactile. Les événements tactiles sont répertoriés dans la classe TouchEvent.



Implémentation
    public static function get supportsTouchEvents():Boolean

Plus d’exemples

Eléments de l’API associés

MultitouchExample.as

L’exemple suivant vérifie tout d’abord si les événements de mouvement sont pris en charge (si l’ordinateur ne prend pas en charge ces événements, le tableau de vecteurs Multitouch.supportedGestures renvoie null ; l’affectation de la valeur null au vecteur de chaînes provoque une erreur d’exécution). Si les événements de mouvement sont pris en charge, l’exemple affiche les événements de la classe TransformGestureEvent pris en charge dans l’environnement actuel :
package {
    import flash.ui.Multitouch;
    import flash.ui.MultitouchInputMode;
    import flash.display.Sprite;
    import flash.text.TextField;

    public class MultitouchExample extends Sprite {

        Multitouch.inputMode = MultitouchInputMode.GESTURE;

        public function MultitouchExample() {

            if(Multitouch.supportsGestureEvents){
                var supportedGesturesVar:Vector.<String> = Multitouch.supportedGestures;
                var deviceSupports:TextField = new TextField();
                deviceSupports.width = 200;
                deviceSupports.height = 200;
                deviceSupports.wordWrap = true;

                for (var i:int=0; i<supportedGesturesVar.length; ++i) {
                    deviceSupports.appendText(supportedGesturesVar[i] + ",  ");
                    addChild(deviceSupports);
                }
            }
        }
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.