banner

Précédent   InfographiK - Communauté Graphique > FLASH & ACTION SCRIPT > Débuter avec Flash > Les cours de base

Réponse
 
LinkBack Outils de la discussion
  #1 (permalink)  
Vieux 04/04/2007, 13h03
Avatar de Smike
Administrateur
 
Date d'inscription: May 2002
Localisation: 26
Messages: 3 012
Zoom [ActionScript] La programmation événementielle

Dans le cadre de sites, RIA, et autres applications plus complexe, une bonne gestion des évènements permet de gagner du temps, gagner en efficacité, en maintenance et permet surtout des actions/interactions qui pourraient très bien être quasi impossible sans celle-ci.
Plusieurs classes vont être étudiées au cours de ces articles.
  • La classe EventDispatcher, contenu dans le package mx.events de Macromedia.
  • La classe Delegate contenu dans le package mx.utils de Macromedia

Quelques classes issues de la scène Flash. (pas mal de développeurs travaillent sur ces gestions d'évènements. Certains améliore/complète les classes de MM, d'autres refont directement tout leur package events.

Peut-être que le simple terme d'évènement ne vous dis rien. Pas d'inquietude, vous avez l'habitude des les utiliser, peut-être, sans le savoir.

Commençons par un exemple tout simple :

ActionScript Code:
  1. mcBouton.onPress = function():Void {
  2. //quelques actions....
  3. }

Ce code permet d'exécuter une action quand le bouton mcBouton est pressé. Et bien au réagit à l'évènement "onPress" du MovieClip. Vous voyez… ça fait longtemps que vous utilisez des évènements…

Un autre exemple suite à un tuto réalisé sur les MotionTween de Flash Mx 2004 :

ActionScript Code:
  1. maTween = new Tween(mcClip, "_x", Strong.easeOut, mcClip._x, _xmouse, 50, false);
  2. maTween.onMotionFinished = function():Void {
  3. trace("Mouvement terminé !");
  4. }

Et bien on réagit à l'évènement "onMotionFinished " pour exécuter un traitement. On a donc l'habitude d'écouter des évènements dans les divers développement que nous réalisons au quotidien. Maintenant, dans le cadre de développement de nos propres classes, packages, .... il est très utile de savoir construire ces évènements.

Pourquoi et comment la classe Tween envoi un message "onMotionFinished".
Car pour vulgariser, et surtout mieux comprendre aussi, on dit que l'on envoi un message à un écouteur. Pour shakespear : Broadcast Event to Listener.

Enfin, dernier petit exemple avant de fermer cette première partie de présentation, l'utilisation composant de Mx 2004 (donc architecture V2). Prenons le composant Button pour écouter si un bouton est pressé, ou autres, on peut soit utiliser l'ancienne méthode donc:

ActionScript Code:
  1. cbtButton.onPress = function():Void {
  2. //actions
  3. }

Dans ce cas, notre boutton réagit comme un MovieClip. On peut aussi, et là c'est beaucoup mieux, utiliser les évènements spécifique qui sont "dispatchés" (envoyés) par le button. Dans ce cas on fera plutot :

ActionScript Code:
  1. cbtButton.addEventListener("click", this);
  2. function click():Void {
  3. //actions
  4. }

Dans ce cas là, on va attendre que le bouton nous envoi un message "click" pour effectuer les actions.... L'aide de Flash Mx 2004 est bien pour ça, si vous regarder de plus près les classe, vous verez que la liste des évènements de chaque classe est repertoriés. Ce qui permet de connaitre les messages qui seront envoyés par nos objets…


Source : Adddvance.net
__________________
[La musique fait danser les consciences]
Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 09h42.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0 Tous droits réservés.
Version française #13 par l'association vBulletin francophone

Communauté Graphique
CNIL : 1130886