Shooting Stars

A’ight, here’s another entry for y’all…
I managed to get it down to 15 lines of code by storing the return values of functions in arrays (objs[0].va, objs*.va, objs[n].vb).


Stage.scaleMode = "noScale";
objs = [createEmptyMovieClip(0,getNextHighestDepth())];
objs[0].va = [objs[0].lineStyle(0, 0, 0), objs[0].beginFill(0xEEDD00, 100), objs[0].moveTo(0, 0)];
for (a=0, r=15; a<=Math.PI*2; a+=Math.PI*0.2, r = 12+(12-r)) {
    objs[0].lineTo(Math.cos(a)*r, Math.sin(a)*r);
}
(Mouse.hide()) ? i=1 : null;
onEnterFrame = function() {
    objs* = objs[0].duplicateMovieClip(i,getNextHighestDepth());
    objs*.va = [_root.objs[0]._x = _root._xmouse, _root.objs[0]._y = _root._ymouse, objs*.xspeed = random(20)+1-10, objs*.yspeed = random(20)+1-10];
    for (n=1; n<(i+1); n++) {
        objs[n].vb = [objs[n]._alpha -= 5, objs[n]._height -= 1, objs[n]._width -= 1, objs[n]._x += objs[n].xspeed, objs[n]._y += objs[n].yspeed];
        (objs[n]._alpha < -5) ? objs[n].removeMovieClip() : null;
    }
    i++;
    objs[0]._rotation += 5;
}

-Ben