InvertCircle on 2010-1-31

by komatsu
♥0 | Line 46 | Modified 2010-01-31 14:12:01 | MIT License
play

ActionScript3 source code

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

package {
	import flash.display.BlendMode;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.events.TimerEvent;
    import flash.display.Sprite;
    import flash.utils.Timer;
    
    [SWF(backgroundColor="#000000", frameRate=30)]
    public class InvertCircle extends Sprite {
    		private var baseSprite:Sprite;
    		private var stw:uint = stage.stageWidth;
    		private var sth:uint = stage.stageHeight;
    		private var bmp:BitmapData;
    		private var bm:Bitmap = new Bitmap();
        public function InvertCircle() {
        		baseSprite = new Sprite();
        		addChild(baseSprite);
        		bmp = new BitmapData(stw,sth,false,0x0);
        		bm.bitmapData=bmp;
        		baseSprite.addChild(bm);

            
            var drawTimer:Timer = new Timer(100);
            drawTimer.addEventListener(TimerEvent.TIMER , setCircle);
         	drawTimer.start();
            
            var clearTimer:Timer = new Timer(10000);
            clearTimer.addEventListener(TimerEvent.TIMER , clearFunc);
         	clearTimer.start();
            
        }
        private function setCircle(evtObj:TimerEvent):void{
        		var rectSprite:Sprite = new Sprite();
       		rectSprite.graphics.beginFill(0xFFFFFF);
       		rectSprite.graphics.drawCircle(0,0,Math.random()*200+5);
        		rectSprite.x = Math.random()*stw;
        		rectSprite.y = Math.random()*sth;
        		rectSprite.blendMode = BlendMode.INVERT;
        		baseSprite.addChild(rectSprite);
        		        		
        		bmp.draw(baseSprite);

			baseSprite.removeChild(rectSprite);
			rectSprite = null;
			
			
			
        }
        private function clearFunc(evtObj:TimerEvent):void{
        		bmp.dispose();
        		bmp = new BitmapData(stw,sth,false,0x0);
        		bm.bitmapData=bmp;
        }
    }
}