ActionScript 2: setTimeout call a function with a delay

[:en]Just in case you forgot how to call a function with a delay or with parameters in ActionScript 2 (as2).
If you are looking for the ActionScript 3 version see this post.
I will show you how to do that, it’s really simple:

// Create a variable to store the timeout id and call the setTimeout function
var my_timedProcess:Number
// Call the setTimeout function with : The function to call and the time in milliseconds,
my_timedProcess = setTimeout(my_delayedFunction, 2000);

function my_delayedFunction () {
    trace("my_delayedFunction");
}

var my_timedProcess2:Number
// You also can add parameters to the setTimeout. Just add parameters separated by commas
my_timedProcess2 = setTimeout(my_delayedFunctionWithParams, 3000, "fruits", "food");

// Then set your parameters in your function.
function my_delayedFunctionWithParams (arg1, arg2) {
    trace("my_delayedFunctionWithParams: "+arg1+ " "+arg2);
}

// If you want to stop the timeout use this line
// clearTimeout(my_timedProcess)

That’s all :)[:fr]Juste au cas où vous avez oublié comment lancer une fonction avec un délai en Flash avec ActionScript 2 (as2). Voici la solution !
Si vous cherchez la version ActionScript 3 c’est ici.

// Déclarer une variable pour stocker l'id du setTimeout
var my_timedProcess:Number
// Appeler la fonction setTimeout avec ces paramètres : La fonction à appeler avec le délai en millisecondes
my_timedProcess = setTimeout(my_delayedFunction, 2000);

function my_delayedFunction () {
    trace("my_delayedFunction");
}

var my_timedProcess2:Number
// On peut aussi ajouter des paramètres dans le setTimeout. Simplement en les ajoutant les un derrière les autres séparés par des virgules.
my_timedProcess2 = setTimeout(my_delayedFunctionWithParams, 3000, "fruits", "food");

// Ensuite rajouter les paramètres dans la fonction appelée.
function my_delayedFunctionWithParams (arg1, arg2) {
    trace("my_delayedFunctionWithParams: "+arg1+ " "+arg2);
}

// Si on souhaite stopper le setTimeout il suffit d'utiliser le clearTimeout
// clearTimeout(my_timedProcess)

C’est tout :)[:]

Author: Benoit Freslon