This builds a tsunami-like menu.
I was wondering, if it would be possible to write a function out of it and if possible also to delete the onEnterFrame on an appropriate time, in order to save performance.
stop();
centerx = Stage.width/2;
centery = Stage.height/2;
var menuholder = this.createEmptyMovieClip("menuholder", -1);
menuholder._y = centery;
menucount = 5;
menuitems = [];
miwidth = 50;
miborder = 2;
startx = centerx-((menucount-1)*(miwidth+miborder))/2;
//trace(startx);
for (var i = 0; i<menucount; i++) {
var menuitem = this.menuholder.attachMovie("menuitem"+i, "menu"+i, i);
menuitem._x = startx+i*(miwidth+miborder);
menuitem.id = i;
menuitem.onRollOver = function() {
_root.selected = this;
};
menuitems.push(menuitem);
}
onEnterFrame = function () {
var width = 0;
for (var i = 0; i<menucount; i++) {
var xxm = menuitems*._xmouse;
var yym = menuitems*._ymouse;
var xm = Math.sqrt(xxm*xxm+yym*yym);
if (xm<50) {
menuitems*._xscale = menuitems*._yscale += ((200-xm)-menuitems*._yscale)/3;
} else {
menuitems*._xscale = menuitems*._yscale += (100-menuitems*._yscale)/3;
}
width += menuitems*._width;
}
width += (menucount-1)*miborder;
var xpos = Math.round(centerx-width/2);
for (var i = 0; i<menucount; i++) {
if (i == 0) {
xpos += miborder+menuitems*._width/2;
menuitems*._x = xpos;
} else {
xpos += menuitems[i-1]._width/2+miborder+menuitems*._width/2;
menuitems*._x = xpos;
}
}
};