topical media & game development

talk show tell print

actionscript-book-SimpleClock-com-example-programmingas3-clock-SimpleClock.ax

actionscript-book-SimpleClock-com-example-programmingas3-clock-SimpleClock.ax [swf] flex


  package  {
          import mx.core.UIComponent;
  
          public class @ax-actionscript-book-SimpleClock-com-example-programmingas3-clock-SimpleClock extends UIComponent 
          {
                  //import com.example.programmingas3.clock.AnalogClockFace; 
                  import flash.events.TimerEvent;
                  import flash.utils.Timer;
                  
                  
The time display component.

  
                  public var face:actionscript_book_SimpleClock_com_example_programmingas3_clock_AnalogClockFace;
                  
                  
The Timer that acts like a heartbeat for the application.

  
                  public var ticker:Timer;
                  
                  public static const millisecondsPerMinute:int = 1000 * 60;
          public static const millisecondsPerHour:int = 1000 * 60 * 60;
          public static const millisecondsPerDay:int = 1000 * 60 * 60 * 24;
                  
                  
Sets up a @ax-actionscript-book-SimpleClock-com-example-programmingas3-clock-SimpleClock instance.

  
                  public function initClock(faceSize:Number = 200):void 
                  {
                      // sets the invoice date to today’s date
              var invoiceDate:Date = new Date();
              
              // adds 30 days to get the due date
              var millisecondsPerDay:int = 1000 * 60 * 60 * 24;
              var dueDate:Date = new Date(invoiceDate.getTime() + (30 * millisecondsPerDay));
  
              var oneHourFromNow:Date = new Date(); // starts at the current time
                      oneHourFromNow.setTime(oneHourFromNow.getTime() + millisecondsPerHour);
                      
                          // Creates the clock face and adds it to the Display List
                          face = new actionscript_book_SimpleClock_com_example_programmingas3_clock_AnalogClockFace(Math.max(20, faceSize));
                          face.init();
                          addChild(face);
                          
                          // Draws the initial clock display
                          face.draw();
  
                          // Creates a Timer that fires an event once per second.
                  ticker = new Timer(1000); 
                  
                  // Designates the onTick() method to handle Timer events
              ticker.addEventListener(TimerEvent.TIMER, onTick);
              
              // Starts the clock ticking
              ticker.start();
          }
  
                  
Called once per second when the Timer event is received.

  
          public function onTick(evt:TimerEvent):void 
          {
                  // Updates the clock display.
              face.draw();
          }                
          }
  }


(C) Æliens 27/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.