Temporiser une action : Classe Timer() |
![]() |
![]() |
![]() |
Pour aborder cette ressource, nous allons devoir utiliser la classe Timer() qui permet de répéter une action un nombre de fois définis (ou infini). Elle remplace l'utilisation de la fonction setInterval(). Vous avez besoin d'exécuter une ligne d'instruction toutes les 10 minutes, ou vous voulez au contraire exécuter en continu, à raison de 5 fois par seconde une instruction, dans ce cas commencez par écrire cette ligne d'instruction :
var moteur:Timer = new Timer(1000,50);
Vous venez de spécifier dans votre programme, que toutes les secondes (1000 millisecondes pour spécifier intervalle temps d'une seconde), il va répéter une action. Il y aura 50 répétitions (on peut d'ailleurs en déduire que cette répétition va durer 50 secondes). Nous venons d'écrire "il va répéter une action", oui, mais laquelle ? Celle-ci : function tourner(evt:TimerEvent) { aiguille.rotation+=6; }Vous noterez que le type auquel vous faites habituellement référence (MouseEvent, ou Event) n'est pas le même : TimerEvent. Pour être plus précis nous devez relier la déscription de l'action à celle de la mesure du temps, puis finir par lancer cette répétition. Voici donc un exemple complet. Une occurrence intitulée aiguille va simuler le mouvement de la troteuse d'une montre. moteur.start(); aiguille.rotation+=6; }
aiguilleMinutes.rotation+=6; } moteur.addEventListener(TimerEvent.TIMER_COMPLETE,finMinute); moteur.stop(); } aiguille.addEventListener(MouseEvent.MOUSE_DOWN,arreterMontre); |