8 – ActionScript 3 ou l’art d’écouter
© Groupe Eyrolles, 2008
135
Examinons cette méthode. Nous constatons la présence du paramètre
useCapture qui est réglé à false par défaut. Ce paramètre est utilisé pour
indiquer à la méthode si elle doit ou non capturer les conteneurs parents
de l’objet cible. Dans notre cas, c’est inutile car nous désirons capturer
uniquement les événements associés à l’objet cible. En effet, le but de
notre fonctionnalité est de capturer des événements uniquement localisés sur les en-têtes de nos composants TitleWindow (DragTitleWindow,
pour être précis). Nous laisserons donc ce paramètre par défaut à false.
Les événements à capturer sont donc de trois types. Ce sont tous les trois
des événements produits par des interactions de l’utilisateur avec la
souris, qui feront intervenir la clase MouseEvent du paquetage
flash.events. En effet, nous devons capturer dans l’ordre :
1 un événement dit Mouse Down (clic de souris et sélection de l’en-tête
du composant DragTitleWindow) ;
2 un mouvement dit Mouse Move (déplacement de la souris, en maintenant l’événement Mouse Down actif pour déplacer simultanément le
composant DragTitleWindow) ;
3 un mouvement dit Mouse Up (relâchement de la souris pour déposer
le composant DragTitleWindow à l’endroit où se trouve le curseur).
Ces trois événements décrivent dans l’ordre le processus du « glisserdéposer » que nous souhaitons mettre en œuvre. Ils pourront être codés
de cette façon :
Méthodes pour ajuster les trois écouteurs
Ainsi, nous capturerons les événements localisés sur l’objet cible en utilisant les trois interactions de la souris MOUSE_DOWN, MOUSE_MOVE et
MOUSE_UP, toutes trois définies dans la classe MouseEvent. À chaque fois
qu’un écouteur interceptera l’événement, il déclenchera l’exécution des
fonctions spécifiques que nous avons déclarées sous les noms de
gestionMouseDown(), gestionMouseMove() et gestionMouseUp().
Le code source de notre fichier de classe aura donc cette structure :
Méthodes ajustant les trois écouteurs
addEventListener(MouseEvent.MOUSE_DOWN, gestionMouseDown);
addEventListener(MouseEvent.MOUSE_MOVE, gestionMouseMove);
addEventListener(MouseEvent.MOUSE_UP, gestionMouseUp);
package actionscript.newTitleWindow
{
// importation de la classe TitleWindow
import mx.containers.TitleWindow;
© Groupe Eyrolles, 2008
135
Examinons cette méthode. Nous constatons la présence du paramètre
useCapture qui est réglé à false par défaut. Ce paramètre est utilisé pour
indiquer à la méthode si elle doit ou non capturer les conteneurs parents
de l’objet cible. Dans notre cas, c’est inutile car nous désirons capturer
uniquement les événements associés à l’objet cible. En effet, le but de
notre fonctionnalité est de capturer des événements uniquement localisés sur les en-têtes de nos composants TitleWindow (DragTitleWindow,
pour être précis). Nous laisserons donc ce paramètre par défaut à false.
Les événements à capturer sont donc de trois types. Ce sont tous les trois
des événements produits par des interactions de l’utilisateur avec la
souris, qui feront intervenir la clase MouseEvent du paquetage
flash.events. En effet, nous devons capturer dans l’ordre :
1 un événement dit Mouse Down (clic de souris et sélection de l’en-tête
du composant DragTitleWindow) ;
2 un mouvement dit Mouse Move (déplacement de la souris, en maintenant l’événement Mouse Down actif pour déplacer simultanément le
composant DragTitleWindow) ;
3 un mouvement dit Mouse Up (relâchement de la souris pour déposer
le composant DragTitleWindow à l’endroit où se trouve le curseur).
Ces trois événements décrivent dans l’ordre le processus du « glisserdéposer » que nous souhaitons mettre en œuvre. Ils pourront être codés
de cette façon :
Méthodes pour ajuster les trois écouteurs
Ainsi, nous capturerons les événements localisés sur l’objet cible en utilisant les trois interactions de la souris MOUSE_DOWN, MOUSE_MOVE et
MOUSE_UP, toutes trois définies dans la classe MouseEvent. À chaque fois
qu’un écouteur interceptera l’événement, il déclenchera l’exécution des
fonctions spécifiques que nous avons déclarées sous les noms de
gestionMouseDown(), gestionMouseMove() et gestionMouseUp().
Le code source de notre fichier de classe aura donc cette structure :
Méthodes ajustant les trois écouteurs
addEventListener(MouseEvent.MOUSE_DOWN, gestionMouseDown);
addEventListener(MouseEvent.MOUSE_MOVE, gestionMouseMove);
addEventListener(MouseEvent.MOUSE_UP, gestionMouseUp);
package actionscript.newTitleWindow
{
// importation de la classe TitleWindow
import mx.containers.TitleWindow;
