ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Temporiser un évènement
Vous avez 2 possibilités pour gérer un interval de temps :
- Avec la fonction setInterval :

//Imports Flash
import flash.events.MouseEvent;

function maFonction(e:MouseEvent):void
{
//actions…
}
var duree:Number = 3000; //durée estimée en millisecondes (1000 = 1 seconde)
var monIntervalle:uint = setInterval(maFonction, duree);

Ici, on exécute la fonction maFonction toute les trois secondes (duree = 3000 = 3 secondes).

Pour supprimer un intervalle, on fait :

clearInterval(monIntervalle);

Exemple :
Ici, lorsqu'on clique sur le bouton monBouton, on exécute, une seule fois, la fonction maFonction après que cinq secondes se soient écoulées.

//Imports Flash
import flash.events.MouseEvent;

function maFonction(e:MouseEvent):void
{
clearInterval(monIntervalle); //Suppression de l'intervalle 'monIntervalle'
}

function creation(e:MouseEvent):void
{
var duree:Number = 5000; //Duréé de 5 seconde
var monIntervalle:uint = setInterval(maFonction, duree); //Création de l'intervalle
//Au bout de 5 secondes, j'exécute la fonction 'maFonction'
}
monBouton.addEventListener(MouseEvent.CLICK, creation);
//Lorsque je clique sur 'monBouton', j'exécute la fonction 'creation'


- Avec la fonction Timer :

//Imports Flash
import flash.utils.Timer;
import flash.events.TimerEvent;

//Création du timer
var monTimer:Timer = new Timer(1000,5); //Temps (milli-secondes), nombre de répétition
monTimer.addEventListener(TimerEvent.TIMER, boucleTimer); //Executé à chaque fin de boucle
monTimer.addEventListener(TimerEvent.TIMER_COMPLETE, finTimer); //Executé à la fin de la dernière boucle
monTimer.start(); //Lancement du timer

//Fonction executé à chaque boucle
function boucleTimer(e:TimerEvent):void
{
trace("Fin d'une boucle");
}

//Fonction executé à la fin de la dernière boucle
function finTimer(e:TimerEvent):void
{
trace("Fin du timer");
}
Commentaire(s)
Aucun.