Revision: 44104
Updated Code
at April 7, 2011 00:02 by scottwatkins
Updated Code
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(); }
Revision: 44103
Updated Code
at April 6, 2011 23:57 by scottwatkins
Updated Code
/** * 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(); }
Revision: 44102
Updated Code
at April 6, 2011 07:26 by scottwatkins
Updated Code
/** * 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); timer.removeEventListener(TimerEvent.TIMER, f); }); timer.start(); }
Revision: 44101
Updated Code
at April 6, 2011 07:26 by scottwatkins
Updated Code
/** * 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); timer.removeEventListener(TimerEvent.TIMER, f); if (repeat == 1) timer = null; }); timer.start(); }
Revision: 44100
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 6, 2011 07:14 by scottwatkins
Initial Code
/** * 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); timer.removeEventListener(TimerEvent.TIMER, f); timer = null; }); timer.start(); }
Initial URL
Initial Description
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.
Initial Title
ActionScript 3 Delay Function
Initial Tags
Initial Language
ActionScript 3