package { import com.kingnare.controls.MyMatrix; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.utils.Timer; [SWF(width="680", height="2000", backgroundColor="#333333", framerate="30")] public class KMatrix extends Sprite { private var sign:Array; private var index:int; private var timer:Timer; private var matrix:MyMatrix; private var rndMod:Boolean; public function KMatrix() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener(MouseEvent.CLICK, clickHandler); sign = [MyMatrix.DEFAULT_FRAME, MyMatrix.START_FRAME, MyMatrix.SUCCESS_FRAME, MyMatrix.WARNING_FRAME, MyMatrix.ERROR_FRAME]; index = 1; rndMod = false; matrix = new MyMatrix(); addChild(matrix); matrix.count = 1000; matrix.columnNum = 60; matrix.x = 10; matrix.y = 10; timer = new Timer(10); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); } private function timerHandler(event:TimerEvent):void { if(timer.currentCount<=matrix.count) { matrix.setStatus(timer.currentCount-1, sign[rndMod?Math.floor(Math.random()*sign.length):index]); } else { index++>=sign.length?index=1:null; timer.reset(); timer.start(); } } private function clickHandler(event:MouseEvent):void { rndMod = !rndMod; } } }