/*Stopper (Component) 1.0 2007.07.16 Károlyi Gyula 0:00:00:00 = óra,perc,mp,szazad,mp beállítások: hourEnable: Boolean default=false minuteEnable: Boolean default=true hundredEnable: Boolean default=true fontColor: Color default=black functions: stopperStart() Stopper indítás. stopperStop() Stopper megállítás. stopperClear() Stopper megállítás és törlés változók: valueNumber az utolsó vagy az aktuális stopper idő század mp-ben. valueString az utolsó vagy az aktuális stopper idő string-ben. */ import mx.core.UIComponent; [IconFile("stopper.png")] class Stopper extends UIComponent { static var symbolName:String = "Stopper"; static var symbolOwner:Object = Stopper; var className:String = "Stopper"; private var stopper:MovieClip; private var boundingBox_mc:MovieClip; private var megyBoolean:Boolean; private var kijelzo:TextField; private var induloIdo:Number; private var intervalID:Number; private var kiTF:TextFormat; [Inspectable(defaultValue=0)] public var fontColor:Color; [Inspectable(defaultValue=false)] public var hourEnable:Boolean; [Inspectable(defaultValue=true)] public var minuteEnable:Boolean; [Inspectable(defaultValue=true)] public var hundredEnable:Boolean; public var valueNumber:Number; public var valueString:String; function Stopper() { } function init():Void { super.init(); boundingBox_mc._visible = false; boundingBox_mc._width = 0; boundingBox_mc._height = 0; megyBoolean = false; } public function createChildren():Void { stopper = createObject("stopperFinal", "stopper", 10); size(); } function draw():Void { betuFormazas(); stopperClear(); super.draw(); } function size():Void { super.size(); stopper._width = width; stopper._height = height; invalidate(); stopperClear(); } private function betuFormazas() { kiTF = new TextFormat(); kiTF.color = Number(fontColor); stopper.kijelzo.setTextFormat(kiTF); stopper.kijelzo.setNewTextFormat(kiTF); } public function stopperStart() { induloIdo = int(getTimer()/10); if (megyBoolean == false) { intervalID = setInterval(this, "szamol", 9); megyBoolean = true; } } public function stopperStop() { clearInterval(intervalID); megyBoolean = false; } public function stopperClear() { stopper.kijelzo.text = ""; if (hourEnable) { stopper.kijelzo.text = "0:"; } if (minuteEnable) { stopper.kijelzo.text += "00:"; } stopper.kijelzo.text += "00"; if (hundredEnable) { stopper.kijelzo.text += ":00"; } } private function szamol() { var ido:Number = int(getTimer()/10)-induloIdo; valueNumber = ido; var nulla:String = "00"; // var szazadMp:String = String(ido%100); var szazadMpNulla:String = nulla.substr((2-szazadMp.length), (2-szazadMp.length)); // var masodPerc:String = String(int(ido/100)-int((int(ido/100)/60))*60); var masodPercNulla:String = nulla.substr((2-masodPerc.length), (2-masodPerc.length)); // var perc:String = String(int(ido/6000)-int((int(ido/6000)/60))*60); var percNulla:String = nulla.substr((2-perc.length), (2-perc.length)); // var ora:String = String(int(ido/360000)); stopper.kijelzo.text = ""; if (hourEnable) { stopper.kijelzo.text = ora+":"; } if (minuteEnable) { stopper.kijelzo.text += percNulla+perc+":"; } stopper.kijelzo.text += masodPercNulla+masodPerc; if (hundredEnable) { stopper.kijelzo.text += ":"+szazadMpNulla+szazadMp; } valueString = stopper.kijelzo.text; updateAfterEvent(); } }