My attempt at it…
[AS]MovieClip.prototype.drawCircle = function(x, y, d, lineThick, rgb, alpha) {
var r = d/2;
var c1 = r*(Math.SQRT2-1);
var c2 = r*Math.SQRT2/2;
this.lineStyle(lineThick, rgb[0], alpha[0]);
this.beginFill(rgb[1], alpha[1]);
this.moveTo(x+r, y);
this.curveTo(x+r, y+c1, x+c2, y+c2);
this.curveTo(x+c1, y+r, x, y+r);
this.curveTo(x-c1, y+r, x-c2, y+c2);
this.curveTo(x-r, y+c1, x-r, y);
this.curveTo(x-r, y-c1, x-c2, y-c2);
this.curveTo(x-c1, y-r, x, y-r);
this.curveTo(x+c1, y-r, x+c2, y-c2);
this.curveTo(x+r, y-c1, x+r, y);
this.endFill();
return this;
};
var p = 0, t = 15;
MovieClip.prototype.explode = function() {
if (this._xscale-t>0) {
for (var i = p; i<p+t; i++) {
mc = this.duplicateMovieClip(“newClip”+i, i);
mc.createEmptyMovieClip(“clip”, 0).drawCircle(0, 0, 20, 1, [0x000000, 0xE6E6E6], [100, 50]);
mc._xscale = this._xscale-t;
mc._yscale = this._yscale-t;
mc.newX=random(550), mc.newY=random(400);
mc.onEnterFrame = function() {
this._x += (this.newX-this._x)/17;
this._y += (this.newY-this._y)/17;
};
mc.vibrate();
}
p += t;
}
this.removeMovieClip();
};
MovieClip.prototype.vibrate = function() {
this.clip.cx = this.clip._x;
this.clip.cy = this.clip._y;
this.clip.onEnterFrame = function() {
this._x = this.cx+(1+Math.random()*5);
this._y = this.cy+(1+Math.random()*5);
};
this.onRollOver = explode;
};
this.createEmptyMovieClip(“circle”, 1);
circle.createEmptyMovieClip(“clip”, 1).drawCircle(0, 0, 20, 1, [0x000000, 0xE6E6E6], [100, 50]);
circle.vibrate();[/AS]