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

flash on 2011-10-2

Get Adobe Flash player
by dyun 05 Oct 2011
    Embed
/**
 * Copyright dyun ( http://wonderfl.net/user/dyun )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/cWYr
 */

package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.filters.BlurFilter;
    import flash.filters.DropShadowFilter;

    public class FlashTest extends Sprite {

        private var _c:Sprite;
        private var _canvas:BitmapData;
        private var _blur:BlurFilter = new BlurFilter(5, 5, 3);
        private var _dsh:DropShadowFilter = new DropShadowFilter();
        private var _ySign:int = 1;

        public function FlashTest() {
            graphics.beginFill(0x000000);
            graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
            
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
            addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
            _c = new Sprite();
            _canvas = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0x000000);
            var bitmap:Bitmap = new Bitmap(_canvas);
            addChild(bitmap);
        }
        
        private function onEnterFrame(e:Event):void {
            var circle:Sprite = createCircle();
            _c.addChild(circle);
            var i:int = _c.numChildren;
            while(i--) {
                circle = _c.getChildAt(i) as Sprite;
                circle.alpha -= 0.015;
                if (circle.alpha <= 0) {
                    _c.removeChild(circle);
                    continue;
                }
                circle.x = circle.x + getXMove();
                circle.y = circle.y + getYMove(circle);
            }
            addChild(_c);
         }
         
         private function getXMove():int {
             var i:int = Math.floor (Math.random () * 2) + 1
             var sign:int = i == 1 ? 1 : -1;
             return sign;
         }
         
         private function getYMove(circle:Sprite):int {
             var w:Number = circle.width;
             var sign:int = (w > 15) ? _ySign : _ySign * (-1); 
             return sign * Math.random() * 30 * (1 - circle.alpha);
         }
        
          private function createCircle():Sprite {
            var c:Sprite = new Sprite();
            c.graphics.beginFill(0xff0000 * Math.random(), 0.3);            
            c.graphics.drawCircle(Math.random() * 30 + 20, Math.random() * 30 + 20, Math.random() * 20);
            c.x = mouseX + getXMove() * Math.random() * 100;
            c.y = mouseY;
            c.filters = [_blur, _dsh];
            return c;
        }
        
        private function onMouseDown(e:Event):void {
            _ySign *= -1;
        }
    }
}