Hey there ! This is a little script to made a simple countdown on 12/12/2012 at 12:12:12. You know, the end of the world 😉
The result.
And the code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; /** * @author Aymeric */ public class Countdown extends Sprite { private var target:Date; private var now:Date; private var currentTime:Number; private var targetTime:Number; private var time:TextField; private var format:TextFormat; public function Countdown() { target = new Date(2012, 11, 12, 12, 12, 12); // january = 0 -> december = 11 time = new TextField(); format = new TextFormat("Arial", 30); time.textColor = 0xFF0000; time.x = stage.stageWidth/2 - 100; time.y = stage.stageHeight/2 - 50; time.embedFonts = true; addChild(time); addEventListener(Event.ENTER_FRAME, refresh); } private function refresh(e:Event):void { now = new Date(); currentTime = now.getTime(); targetTime = target.getTime(); var nbrSeconds:Number = (targetTime - currentTime)/1000; var seconds:Number = Math.floor(nbrSeconds%60); var minutes:Number = Math.floor(nbrSeconds/60%60); var hours:Number = Math.floor(nbrSeconds/3600%24); var days:Number = Math.floor(nbrSeconds/3600/24); var secondText:String; var minuteText:String; var hourText:String; if (seconds < 10) { secondText = "0" + seconds; } else { secondText = seconds.toString(); } if (minutes < 10) { minuteText = "0" + minutes; } else { minuteText = minutes.toString(); } if (hours < 10) { hourText = "0" + hours; } else { hourText = hours.toString(); } time.text = days.toString() + " : " + hourText + " : " + minuteText + " : " + secondText; time.autoSize = TextFieldAutoSize.LEFT; time.setTextFormat(format); } } } |
I used an EnterFrame to refresh the countdown, but I have hesitated with a Timer which is called each seconds. I think the EnterFrame is better because the Timer depends of user’s computer. If you can highlight me, do not hesitate !