ActionScript : Lancer une fonction après un délais avec setTimeout

Posted on 14:35

Il a y différentes façons de lancer une fonction après un délais :

  • Avec un évènement enter frame
  • Avec une instance de la classe Timer
  • Avec une animation Motion Tween
  • Avec un évènement enter frame et la fonction getTimer
  • Et avec la fonction setTimeout (Voir setTimeout  sur le livedocs d’Adobe)

Comment utiliser le setTimeout ?

  • Tout d’abord il faut créer une variable assignée à l’identifiant du setTimout

  • La fonction setTimeout retourne un identifiant unique (uint) à chaque fois que vous appelez cette fonction. Sauvegarder cet identifiant dans la variable dédiée.

  • Cet ideitifiant doit être supprimé avec la fonction cleatTimeout pour stopper le processus si la fonction du setTimeout n’a pas été appelée.

NB :

  • Si vous souhaitez lancer un setInterval déjà lancé n’oubliez pas de supprimer l’ancien identifiant. Dans ce cas le précédent setTimeout ne sera pas arrêté.
  • Il faut savoir que le setTimeout ne peut pas être en pause ou relancé après son arrêt.
  • Toujours assigner une variable pour chaque setTimout
  • Le délais du setTimout est basé sur le temps et non pas sur la durée des frames.
  • Quand vous supprimez un setTimeout la fonction qui devait être appelée n’est pas lancée.
  • Vous n’avez pas besoin de supprimer un setTimeout when the setTimeout est déjà terminé mais cela ne coûte rien de le faire quand même.

Ajouter des paramètres dans le setTimeout :

La fonction lancée par le setTimout peut recevoir plusieurs arguments.

Pour ajouter des arguments ajoutez simplement des arguments après le second paramètre du setTimeout:

Bien entendu la fonction qui doit être lancée doit avoir exactement le bon nombre d’arguments.

Exemple:

Télécharger la source : www.benoitfreslon.com Launch a function after a delay with setTimeout.zip