Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Qu’est ce que l’ActionScript 3 ch10

Qu’est ce que l’ActionScript 3 ch10

Ratings:
(0)
|Views: 225|Likes:
Published by youtreau

More info:

Published by: youtreau on Sep 16, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/20/2014

pdf

text

original

 
Chapitre 10 – Diffusion d’événements personnalisés – version 0.1.1
1
29
 Thibault Imbertpratiqueactionscript3.bytearray.org
10
Diffusion d’événementspersonnalisés
M
P
L’histoire
Dans une application ActionScript, la communication inter objets seréalise majoritairement par la diffusion d’événements natifs oupersonnalisés. Mais qu’est ce qu’un événement personnalisé ?Il s’agit d’un événement qui n’existe pas au sein du lecteur Flash maisque nous ajoutons afin de gérer les différentes interactions entre nosobjets. Depuis très longtemps ActionScript intègre différentes classespermettant de diffuser nos propres événements.La première fut
AsBroadcaster
intégrée depuis le lecteur Flash 5,son implémentation native l’avait rendu favorite des développeursActionScript. Sa remplaçante
BroadcasterMX
introduite plus tardpar Flash MX et codée en ActionScript fut moins bien accueillie.Aujourd’hui ces classes n’existent plus en ActionScript 3 et sontremplacées par la classe native
flash.events.EventDispatcher
.
 
Chapitre 10 – Diffusion d’événements personnalisés – version 0.1.1
2
29
 Thibault Imbertpratiqueactionscript3.bytearray.org
Au sein d’une interface graphique nous pourrions imaginer un boutondiffusant en événement indiquant son état actif ou inactif. Une classegénérant des fichiers PDF pourrait diffuser des événements relatifs auprocessus de création du fichier. Ainsi, la diffusion d’événementspersonnalisés constitue la suite logique à la création d’objetspersonnalisés.
La classe EventDispatcher
Comme nous le voyons depuis le début de l’ouvrage, ActionScript 3est un langage basé sur un modèle événementiel appelé
 Document Object Model
. Celui-ci repose sur la classe
EventDispatcher
donttoutes les classes natives de l’API du lecteur Flash héritent.Dans le code suivant nous voyons la relation entre la classe
EventDispatcher
et deux classes graphiques :
var monSprite:Sprite = new Sprite();// affiche : truetrace( monSprite is EventDispatcher );var monClip:MovieClip = new MovieClip();// affiche : truetrace( monClip is EventDispatcher );
Rappelez-vous, toutes les classes issues du paquetage
flash
sont dessous-classes d’
EventDispatcher
et possèdent donc ce typecommun.Nous créons un
Sprite
puis nous écoutons un événementpersonnalisé auprès de ce dernier :
// création d'un Spritevar monSprite:Sprite = new Sprite();// écoute de l'événement monEventmonSprite.addEventListener ( "monEvenement", ecouteur );// fonction écouteurfunction ecouteur ( pEvt:Event ):void{trace( pEvt );}
La classe
Sprite
ne diffuse pas par défaut d’événement nommé
monEvenement
, mais nous pouvons le diffuser simplement grâce à laméthode
dispatchEvent
public function dispatchEvent(event:
dont voici la signature :
 
Chapitre 10 – Diffusion d’événements personnalisés – version 0.1.1
3
29
 Thibault Imbertpratiqueactionscript3.bytearray.org
En ActionScript 2 la méthode
dispatchEvent
diffusait un objetévénementiel non typé. Nous utilisions généralement un objet littéralauquel nous ajoutions différentes propriétés manuellement.En ActionScript 3, afin de diffuser un événement nous devons créerun objet événementiel, représenté par une instance de la classe
flash.events.Event
:
// création de l'objet événementielvar objetEvenementiel:Event = new Event (type, bubbles, cancelable);
Le constructeur de la classe
Event
 
accepte trois paramètres :
type
 
: le nom de l’événement à diffuser.
bubbles
 
: indique si l’événement participe à la phase de remontée.
cancelable
Dans la plupart des situations nous n’utilisons que le premierparamètre
: indique si l’événement peut être annulé.
type
de la classe
Event
.Une fois l’objet événementiel crée, nous le passons à la méthode
dispatchEvent
:
// création d'un spritevar monSprite:Sprite = new Sprite();// écoute de l'événement monEventmonSprite.addEventListener ( "monEvenement", ecouteur );// fonction écouteurfunction ecouteur (pEvt:Event):void{
// affiche [Event type="monEvenement" bubbles=false cancelable=falseeventPhase=2]
trace( pEvt );}
// création de l'objet événementielvar objetEvenementiel:Event = new Event (“monEvenement”, bubbles,cancelable);// nous diffusons l'événement monEvenement monSprite.dispatchEvent (objetEvenementiel);
Généralement, nous ne créons pas l’objet événementiel séparément,nous l’instancions directement en paramètre de la méthode
dispatchEvent
:
// création d'un Spritevar monSprite:Sprite = new Sprite();// écoute de l'événement monEventmonSprite.addEventListener ("monEvenement", ecouteur );

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->