TimeShock

by umhr
♥0 | Line 79 | Modified 2015-09-17 20:27:56 | MIT License
play

ActionScript3 source code

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

package

{

    import flash.display.Sprite;

    import flash.events.Event;

    

    /**

     * ...

     * @author umhr

     */

    [SWF(width = 465, height = 465, backgroundColor = 0x000000, frameRate = 60)]

    public class WonderflMain extends Sprite 

    {

        

        public function WonderflMain() 

        {

            if (stage) init();

            else addEventListener(Event.ADDED_TO_STAGE, init);

        }

        

        private function init(e:Event = null):void 

        {

            removeEventListener(Event.ADDED_TO_STAGE, init);

            // entry point

            stage.scaleMode = "noScale";

            stage.align = "TL";

            

            addChild(new Canvas());

        }

        

    }

    

}





    

    import flash.display.Shape;

    import flash.display.Sprite;

    import flash.events.Event;

    import flash.text.TextField;

    import flash.text.TextFormat;

    /**

     * ...

     * @author umhr

     */

     class Canvas extends Sprite 

    {

        private var _bg:Shape = new Shape();

        private var _oldTime:Number = 0;

        private var _tf:TextField = new TextField();

        private var _frame:int = 0;

        public function Canvas() 

        {

            init();

        }

        private function init():void 

        {

            if (stage) onInit();

            else addEventListener(Event.ADDED_TO_STAGE, onInit);

        }



        private function onInit(event:Event = null):void 

        {

            removeEventListener(Event.ADDED_TO_STAGE, onInit);

            // entry point

            

            mouseEnabled = false;

            addChild(_bg);

            

            var size:int = stage.stageWidth / 3;

            

            _tf.defaultTextFormat = new TextFormat("_sans", size, 0xFFFFFF, true);

            _tf.text = "";

            _tf.width = stage.stageWidth;

            _tf.height = size*2.5;

            _tf.selectable = _tf.mouseEnabled = false;

            //_tf.border = true;

            addChild(_tf);

            

            stage.addEventListener(Event.ENTER_FRAME, stage_enterFrame);

        }

        

        private function stage_enterFrame(e:Event):void 

        {

            var time:Number = new Date().time;

            var currentTime:Number = Math.floor( time / 1000);

            _frame ++;

            if (_oldTime != currentTime) {

                drawBG(currentTime);

                _frame = 0;

            }

            _oldTime = currentTime;

            

            _tf.text = time.toString().substring(8) + "\n" + _frame;

        }

        

        private function drawBG(seed:Number):void 

        {

            _bg.graphics.clear();

            _bg.graphics.beginFill(random(seed) * 0xFFFFFF);

            _bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);

            _bg.graphics.endFill();

        }

        

        private function random(seed:Number):Number{

            seed = (seed * 1664525 + 1013904223) % 0x100000000;

            return seed / 0x100000000;

        }

    }