Puce et Média

Recherche et développement en multimédia

  • Augmenter la taille
  • Taille par défaut
  • Diminuer la taille
Puce et Média > Flash plate-forme > Action Script 3.0 > Gestion et propagation évènementielle

Gestion et propagation évènementielle

Envoyer Imprimer PDF

Bien que d'apparence plus verbeuse, la gestion des events en AS 3.0 est bien plus souple et adaptable que ce qu'elle ne l'était en AS 2.0. Elle est basée sur un modèle évènementiel appelé DOM 3 Event Model. Voici la signature de la mise en place d'un écouteur

addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
objet.addEventListener("evenement", ecouteur);

AS 3.0 intègre la notion de propagation évènementielle, qui se décompose en 3 phases

  • La capture de l'évènement (useCapture true / false)
  • La cible
  • La remontée

informations transmises

currentTarget vs target - (type)

function affiche_infos(evt:MouseEvent):void {
sortie.text = "CT = " + evt.currentTarget.name
sortie.appendText( "\nT = " + evt.target.name)
}
bleu.addEventListener(MouseEvent.MOUSE_DOWN,affiche_infos)
vert.addEventListener(MouseEvent.MOUSE_DOWN,affiche_infos)

useCapture

this.haut.addEventListener(MouseEvent.MOUSE_DOWN,action,true)
this.bas.addEventListener(MouseEvent.MOUSE_DOWN,action,false)
function action(evt:MouseEvent):void {
sortie.text = "Target : " + evt.target.name
sortie.appendText("\ncurrentTarget : " + evt.currentTarget.name)
}

Soucis de détection rollover et rollout lorsque des enfants sont imbriqués

Lorsqu'un écouteur est placé sur un conteneur et que celui-ci contient des enfants... il est assez complexe de pouvoir détecter lorsque la souris quitte réellement l'ensemble... le mouse_out est capturé même lorsque la souris survole un enfant du conteneur... Il existe pour cela roll_out, voir l'article rollOver/rollOut vs mouseOver/mouseOut de Cédric Tabin sur AStorm Devblog à ce sujet.

 


Puce et Média > Flash plate-forme > Action Script 3.0 > Gestion et propagation évènementielle