Two ways.... 1. Add the repeat count parameter to the constructor:
labelTimer = new Timer(5000, messages.length); 2. A little math is required (Arrays are zero based and the first event triggered will have a count of 1. We need to take that into account): <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="onCreationComplete()"> <mx:Script> <![CDATA[ private var labelTimer:Timer; private var messages:Array = [ "This is my first message", "This is my second message", "This is my last message"]; private function onCreationComplete():void { labelTimer = new Timer(1500); labelTimer.addEventListener(TimerEvent.TIMER, labelTimerTriggered); labelTimer.start(); } private function labelTimerTriggered(event:TimerEvent):void { if(labelTimer.currentCount > messages.length - 1) { labelTimer.stop(); } timerLabel.text = messages[(labelTimer.currentCount - 1) % messages.length]; } ]]> </mx:Script> <mx:Label id="timerLabel"/> </mx:Application> --- In flexcoders@yahoogroups.com, Angelo Anolin <angelo_ano...@...> wrote: > > Hi Steve, > > Thanks for the sample code. I was able to come up with something quite similar to what you have posted. > > One question still remains, though. I tried to issue a timer.stop() command when for example, all the text values have been displayed in the label control, but the timer event does not seem to stop. > > How to specifically stop the timer once all the messages have been displayed? > > Thanks. > > Angelo > > > > > ________________________________ > From: valdhor valdhorli...@... > To: flexcoders@yahoogroups.com > Sent: Saturday, 24 October, 2009 2:07:16 > Subject: [flexcoders] Re: Delay / Pause between script executions > > > Here is a simple example: > > <?xml version="1.0" encoding="utf- 8"?> > <mx:Application xmlns:mx="http: //www.adobe. com/2006/ mxml" layout="vertical" > creationComplete= "onCreationCompl ete()"> > <mx:Script> > <![CDATA[ > private var labelTimer:Timer; > private var messages:Array = [ "This is my first message", > "This is my second message", > "This is my last message"]; > > private function onCreationComplete( ):void > { > labelTimer = new Timer(5000); // 5 Seconds > labelTimer.addEvent Listener( TimerEvent. TIMER, labelTimerTriggered ); > labelTimer.start( ); > } > > private function labelTimerTriggered (event:TimerEven t):void > { > timerLabel.text = messages[labelTimer .currentCount % messages.length] ; > } > ]]> > </mx:Script> > <mx:Label id="timerLabel" text="This is my first message"/> > </mx:Application> > > HTH > > > Steve > > > --- In flexcod...@yahoogro ups.com, Angelo Anolin <angelo_anolin@ ...> wrote: > > > > Hi Flexcoders, > > > > I know this may sound very elementary but I cannot figure the hell out of me how to achieve this. > > > > I have a label control. I want to display different messages after every 5 seconds, such as: > > > > myLabel.text = "This is my first message" > > // Need to delay for about 5 seconds here > > > > myLabel.text = "This is my second message" > > // Need to delay for about 5 seconds here > > > > myLabel.text = "This is my last message" > > > > I cannot figure out how to properly use the pause or timer utilities in achieving this. > > > > Any idea would be appreciated. > > > > Thanks. > > Regards, > > Angelo > > >