Hola por ahorita no dispongo de Flash.(De hecho siempre que respondo de la casa, no dispongo de Flash). Asi que no puedo probar tus clases, pero se ven bien estructuradas.
Pero mira el detalle es que no tienes una funcion, acomodar Menu. Bien es sencillo, ya que conocemos el nombre de instancia de los elementos, pues juguemos con eso. Algo del tipo:
copy/paste en una nueva pelicula:
Código :
function mueveteBoton(clip:MovieClip, x:Number, y:Number) {
import mx.transitions.Tween;
new Tween(clip, "_y", "", clip._y, y, 0.5, true);
}
function acomoda(botonNivel) {
for (var i = 0; i<botonNivel; i++) {
mueveteBoton(this["boton"+i], 0, i*45);
}
for (var i = botonNivel; i<missecciones.length; i++) {
mueveteBoton(this["boton"+i], 0, (i*45)+100);
}
}
function creaBoton(Nivel:Number, text:String) {
nue = createEmptyMovieClip("boton"+Nivel, Nivel);
nue.Nivel = Nivel;
nue.onRelease = function() {
acomoda(this.Nivel);
};
with (nue) {
beginFill(0xF3F3F3, 20);
lineStyle(1, 0xDDDDDD);
lineTo(200, 0);
lineTo(200, 40);
lineTo(0, 40);
lineTo(0, 0);
createTextField("texto", 0, 0, 0, 200, 40);
texto.text = text;
texto.selectable = false;
_y = Nivel*45;
}
}
function creaMenu(secciones:Array) {
for (i in secciones) {
creaBoton(i, secciones[i]);
}
}
missecciones = new Array("Mision", "Vision", "euh?", "WTF?");
creaMenu(missecciones);Mas que nada checa la funcion acomoda, haber si te da una idea.
Saludos y suerte!