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