Yo suelo crear los menús así:
Creo un mc que contiene un campo de texto dinámico (texto_txt), un fondo (del color que quiero que sea el boón en estado de reposo) y un mc al que llamo tinta_mc (del color que quiero que tenga el botón cuando esté activo)... luego le añado brillos, degradados o lo que le haga falta... guardo el mc como boton_principal (original eh?

) y lo vinculo para action script.
en una capa a la que llamo "AS - menu_principal" escribo esto:
numBotones = 5 //indico el numero de botones que tendrá el menú
//******************************************************************
//función que pone reinicia el menú
//******************************************************************
function resetearMenu(){
for (var i = 0; i<numBotones; i++) {
this["boton"+i+"_mc"].tinta_mc._visible = false;
this["boton"+i+"_mc"].enabled = true;
}
}
//******************************************************************
//función de los botones
//******************************************************************
function adelante(numero, destino){
resetearMenu();
this["boton"+numero+"_mc"].tinta_mc = true;
this["boton"+numero+"_mc"].enabled = false;
cargador_mc.loadMovie(destino); //carga un swf en un mc del escenario al que llamé cargador_mc
}
//******************************************************************
//función que crea el menú
//******************************************************************
function colocarBotones() {
for (var i = 0; i<numBotones; i++) {
attachMovie("clip_boton", "boton"+i+"_mc", i);
this["boton"+i+"_mc"].tinta_mc._visible = false;
this["boton"+i+"_mc"]._x += valorSeparacion*i;
}
boton0_mc.texto_txt.text = "NombreBoton0";
...
boton4_mc.texto_txt.text = "NombreBoton4";
boton0_mc.onRelease = function(){
adelante(0,"miswf0.swf");
}
...
boton4_mc.onRelease = function(){
adelante(4,"miswf4.swf");
}
adelante(0,"miswf0.swf");
}
colocarBotones();