In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

Happy Birthday

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

    public class Foo extends Sprite{
        private var bd:BitmapData;
        public function Foo():void{
            var tf:TextField = new TextField();
            tf.textColor = 0xFF4444;
            tf.text = "Happy\nBirthday!!!";
            tf.autoSize = "left";
            bd = new BitmapData(tf.width, tf.height, false, 0xffff88);
            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++){
                    var circle:Circle = new Circle(bd.getPixel(i, j));
                    circle.realx = i * 10; circle.realy = j * 10;
                    circle.x = circle.realx + Math.random() * 300 - 150;
                    circle.y = circle.realy + Math.random() * 300 - 150;
                    circle.alpha = 0;
                    addChild(circle);
                    Tweener.addTween(
                        circle, {
                            x: circle.realx, y: circle.realy, alpha: 1, time: 1,
                            delay: Math.sqrt(i + j) * Math.random() * 2
                        }
                    );
                }
            }
        }
    }
}


import flash.display.Sprite;
import caurina.transitions.Tweener;
import flash.filters.GlowFilter;

class Circle extends Sprite{
    public var realx:int;
    public var realy:int;
    public function Circle(color:uint):void{
        graphics.beginFill(color);
        graphics.drawCircle(0, 0, 6);
        graphics.endFill();
        mouseEnabled = true;
        
        var self:Circle = this;
        addEventListener("mouseOver", function(e:*):void{
            self.parent.addChild(self);
            
            filters = [new GlowFilter(0xffffff, .5)];
            Tweener.addTween(self, {
                x: realx + Math.random() * 200 - 100,
                y: realy + Math.random() * 200 - 100,
                time: 1.2,
                onComplete: function():void{
                    Tweener.addTween(self, {
                        x: self.realx, y: self.realy, time: .5,
                        transition: 'easeOutSine',
                        onComplete: function():void{
                            filters = [];
                        }
                    });
                }
            });
        });
    }
}