ink blot?

by attunedesigns
♥2 | Line 52 | Modified 2009-10-07 05:54:39 | MIT License
play

ActionScript3 source code

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

// forked from nitoyon's Hello World!!!
package{
    import flash.display.*;
    import flash.text.*;
    import flash.filters.*;
    import flash.geom.*;
	import flash.utils.*;
    import caurina.transitions.Tweener;

    public class InkBlot extends Sprite{
        private var bd:BitmapData;
		
        public function InkBlot():void{
            var tf:TextField = new TextField();
            tf.defaultTextFormat=new TextFormat('_sans',17,0,true);
			tf.textColor = 0x000000;
            tf.text = "ink\nblot";
            tf.autoSize = "left";
            bd = new BitmapData(tf.width, tf.height, false, 0x3399ff);
            bd.draw(tf);
            bd.applyFilter(bd, bd.rect, new Point(), new BlurFilter());
            bd.draw(tf);

            for(var i:int = 0; i < bd.width; i++){
                for(var j:int = 0; j < bd.height; j++){
                    if (bd.getPixel(i,j)!==0) continue;
			var c:Sprite=new Circle(bd.getPixel(i, j),Math.random()*5+1);
			addChild(c);
			c.x=i*5-5;
			c.y=j*5-5;
			c.scaleX=c.scaleY=0;
					
			Tweener.addTween(
                        c, 
                        {
                            x: i * 5,
                            y: j * 5,
			    scaleX: 1,
			    scaleY: 1,
                            delay: .5+i/40,
                            time: (j)*.1,
			    transition:'easeoutelastic',
			    transitionParams:{overshoot:10}
                        }
                    );
                }
            }
        }
    }
}


import flash.display.Sprite;

class Circle extends Sprite{
    public function Circle(color:uint,s:Number):void{
        graphics.beginFill(color);
        graphics.drawCircle(0, 0, s);
    }
}

Forked