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

forked from: code on 2008-12-18

second time on wonderfl
circles orbit circles
the blue circles' orbit depends upon mouseX, mouseY;
draw sprite to bitmap data, apply blur filter.
// forked from modernCarpentry's code on 2008-12-18
// second time on wonderfl

// circles orbit circles
// the blue circles' orbit depends upon mouseX, mouseY;
// draw sprite to bitmap data, apply blur filter.


package
{
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.BlendMode;
    import flash.events.Event;
    import flash.geom.Rectangle;
    import flash.geom.Point;
    import flash.filters.BlurFilter;

    public class OrbitDraw extends Sprite
    {
        //count
        private var c:Number = 0;
        
        //orbit radius
        private var or:Number = 100;

        //circle radius
        private var r:Number = 20;      

        //blur filter
        private var blur:BlurFilter

        //bitmap fun
        private var bd:BitmapData;

        //display object to draw onto bitmap data
        private var dob:Sprite;

        public function OrbitDraw()
        {    
            stage.align = "TOP_LEFT";
            stage.scaleMode = "noScale";
    
            bd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0);
            var bm:Bitmap = new Bitmap(bd);
            addChild(bm);

            blur = new BlurFilter(10, 10);

            dob = new Sprite();

            addEventListener(Event.ENTER_FRAME, frame);
        }

        private function frame(event:Event):void
        {
            c+= .07;
            dob.graphics.clear();

            bd.lock();
            
            var cx:Number = mouseX  + Math.cos(c) * or;
            var cy:Number = mouseY  + Math.sin(c) * or;

            dob.graphics.beginFill(0x0000ff);
            dob.graphics.drawCircle(cx, cy, r)
            
            cx = cx + Math.cos(-2*c)*or;
            cy = cy + Math.sin(-2*c)*or;            

            dob.graphics.beginFill(0x00ff00);
            dob.graphics.drawCircle(cx, cy, r/2);

            cx = cx + Math.cos(4*c)*or/2;
            cy = cy + Math.sin(4*c)*or/2;

            dob.graphics.beginFill(0xffff00);
            dob.graphics.drawCircle(cx, cy, r/4);

            cx = cx + Math.cos(-8*c)*or/4;
            cy = cy + Math.sin(-8*c)*or/4;

            dob.graphics.beginFill(0xff7000);
            dob.graphics.drawCircle(cx, cy, r/6);
            

            bd.draw(dob);
            bd.applyFilter(bd, new Rectangle(0,0, stage.stageWidth, stage.stageHeight), new Point(), blur)

            bd.unlock();            
            
        }
    }



};