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

asteroid belt

Get Adobe Flash player
by watom 25 Dec 2008
    Embed
// write as3 code here..
package{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.Point;
    //
    [SWF(width="465", height="465", frameRate="20")]
    //
    public class one extends Sprite{
        /**
        **/
        private var clips:Array;
        private var deg:Number;
        /**
        **/
        public function one():void{
            //
            graphics.beginFill(0x030303);
            graphics.drawRect(0,0,465,465);
            graphics.endFill();
            //
            clips = [];
            for(var i:int=0;i<300;i++){
                var c:Sprite = new Sprite();
                c.graphics.beginFill(0xf0f0f0);
                //c.graphics.drawCircle(0,0,3);
                c.graphics.drawRect(15,15,1,1)
                c.graphics.endFill();
                addChild(c);
                clips.push({clip:c,deg:Math.random()*10+5,dist:Math.random()*0.1});
            }
            //
            deg = 0;
            //
            addEventListener(Event.ENTER_FRAME,onEnterHandler,false);
        }
        /**
        **/
        public function onEnterHandler(e:Event):void{
            for(var i:int=0;i<clips.length;i++){
                var sp:Sprite = clips[i].clip as Sprite;
                if(sp){
                    moveClip(sp,clips[i].deg,clips[i].dist);
                }
            }
        }
        /**
        **/
        public function moveClip(target:Sprite,degNum:Number,dist:Number):void{
            var mousePt:Point = new Point(stage.mouseX,stage.mouseY);
            var clipPt:Point = new Point(target.x,target.y);
            var en:Point = Point.interpolate(clipPt,mousePt,0.86+dist);
            //
            var r:Number = Math.PI/180*target.rotation;
            var p:Point = Point.polar(Point.distance(clipPt,mousePt)*0.1,r);
            //en = en.add(p);
            en.offset(p.x,p.y);
            //
            target.x = en.x;
            target.y = en.y;
            //
            target.rotation += degNum;
        }
    }
}