/ Published in: ActionScript 3
                    
                                        
I've updated this snippet to remove the timer and null it after the function is repeated `repeat` times. You use it like this:  
delay(functionname, [param1, param2], 350, 3);
This will call `functionname` three times with a 350 millisecond delay between each call and pass `param1` and `param2` to the function.
If you need to call a function that doesn't accept parameters, pass an empty array `[]` to the second argument.
                delay(functionname, [param1, param2], 350, 3);
This will call `functionname` three times with a 350 millisecond delay between each call and pass `param1` and `param2` to the function.
If you need to call a function that doesn't accept parameters, pass an empty array `[]` to the second argument.
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
import flash.events.TimerEvent;
import flash.utils.Timer;
/**
* delay function
* a quick and easy delay function that can call a function with parameters. configurable
* with delay time and repeat frequency
*
* @param func:Function The function to call when timer is complete
* @param params:Array An array of parameters to pass to the function
* @param delay:int [OPTIONAL] The number of milliseconds to wait before running the function
* @param repeat:int [OPTIONAL] The number of times the function should repeat
*/
private function delay(func:Function, params:Array, delay:int = 350, repeat:int = 1):void
{
var f:Function;
var timer:Timer = new Timer(delay, repeat);
timer.addEventListener(TimerEvent.TIMER, f = function():void
{
func.apply(null, params);
if (timer.currentCount == repeat)
{
timer.removeEventListener(TimerEvent.TIMER, f);
timer = null;
}
});
timer.start();
}
Comments
 Subscribe to comments
                    Subscribe to comments
                
                