forked from: Chapter 22 Example 6

by rodrigocardozo forked from Chapter 22 Example 6 (diff: 1)
♥0 | Line 60 | Modified 2011-11-18 00:30:47 | MIT License
play

ActionScript3 source code

/**
 * Copyright rodrigocardozo ( http://wonderfl.net/user/rodrigocardozo )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/wmFV
 */

// forked from actionscriptbible's Chapter 22 Example 6
package {
  import flash.display.Sprite;
  import flash.utils.Timer;

  public class ch22ex6 extends Sprite {
    public function ch22ex6()
    {
      var timer:Timer = new Timer(1000);
      var nyc:LocalClock = new LocalClock(timer, "New York City, USA", -5);
      var paris:LocalClock = new LocalClock(timer, "Paris, France", 1);
      var tokyo:LocalClock = new LocalClock(timer, "Tokyo, Japan", 10);
      addChild(nyc);
      nyc.y = 0;
      addChild(paris);
      paris.y = 50;
      addChild(tokyo);
      tokyo.y = 100;
      timer.start();
    }
  }
}

import flash.utils.Timer;
import flash.events.*;
import flash.display.Sprite;
import flash.text.*;

class LocalClock extends Sprite {
  private var location:String;
  private var timezoneOffset:int;
  private var labelTF:TextField;
  private var clockTF:TextField;
  
  public function LocalClock(timer:Timer, location:String, tzOffset:int) {
    this.location = location;
    this.timezoneOffset = tzOffset;
    labelTF = new TextField();
    clockTF = new TextField();
    labelTF.autoSize = clockTF.autoSize = TextFieldAutoSize.LEFT;
    labelTF.width = labelTF.height = clockTF.width = clockTF.height = 0;
    labelTF.selectable = clockTF.selectable = false;
    labelTF.defaultTextFormat = new TextFormat("_serif", 12, 0, false, true);
    clockTF.defaultTextFormat = new TextFormat("_typewriter", 12, 0x6AF685);
    clockTF.background = true;
    clockTF.backgroundColor = 0x000000;
    labelTF.text = location;
    clockTF.y = labelTF.textHeight + 5;
    addChild(labelTF);
    addChild(clockTF);
    timer.addEventListener(TimerEvent.TIMER, onTimer);
  }
  
  private function onTimer(event:TimerEvent = null):void {
    var date:Date = new Date();
    date.hoursUTC += timezoneOffset;
    clockTF.text = pad(date.hoursUTC) + ":"
                 + pad(date.minutesUTC) + ":"
                 + pad(date.secondsUTC);
  }
  
  private function pad(n:Number):String {
    var s:String = n.toString();
    while (s.length < 2) s = "0" + s;
    return s;
  }
}