Algo que hay que saber de los Menus Desplegables
Yo siempre he visto que los programas donde generas menus, son menus para insertar en html que le dan una mejor navegacion a tu web basada en varias urls .html, osea que si por ejemplo quieres tu menu para tu pagina desarrollada en flash, ahi te va a costar mas trabajo incluirlos, pero si eso es lo que tu necesitas pues aqui te dejo unos links que funcionan al estilo
widget:
Este menu cuesta 6USDProgramas:
Si quieres hacer talacha(curro, aprender pues):
Y por utlimo y no por eso menos importante, el
Jumpeye Flash Menu Pack del que habla sirio, son componentes y tienen precio, puedes encontrar vinculos de descarga, pero siempre van a ser vinculos rotos, no hay otra,
o pagas o lo desarrollas.

despues de todas estas cosas que consegui, preguntandole a mi amigo GOOGLE(que tambien es tu amigo), te siguiero que si no te sirvio el videotutorial o el menu acordion simple, entonces tomes como ejemplo el que tienes hecho, basado en el tutorial.
Te explico la mecanica del tutorial "Crear un menú desplegable con cantidad de items dinamicos".
Date cuenta como se crea la pestaña de menus:
Código ActionScript :
attachMovie("menu_mc", "menu_mc", 999);
menu_mc._x = titulo_btn._x;
menu_mc._y = titulo_btn._y+21;
menu_mc._visible = false;
Notaste como lo crea, lo posiciona y lo vuelve invisible, y luego la magia para desplegar el menu
Código ActionScript :
titulo_btn.onRollOver = function() {
menu_mc._visible = true;
};
Cuando el mouse pasa por arriba, se hace visible y aparece. Luego vienen unas funciones incluidas en item.as:
Código ActionScript :
function menu4item() {
titulo_txt.text = titulo;
menu_mc.label1_txt.text = label1;
menu_mc.label2_txt.text = label2;
menu_mc.label3_txt.text = label3;
menu_mc.label4_txt.text = label4;
menu_mc.label5_txt._visible = false;
menu_mc.miBtn5_btn._visible = false;
menu_mc.label6_txt._visible = false;
menu_mc.miBtn6_btn._visible = false;
menu_mc.label7_txt._visible = false;
menu_mc.miBtn7_btn._visible = false;
menu_mc.label8_txt._visible = false;
menu_mc.miBtn8_btn._visible = false;
menu_mc.label9_txt._visible = false;
menu_mc.miBtn9_btn._visible = false;
menu_mc.label10_txt._visible = false;
menu_mc.miBtn10_btn._visible = false;
onEnterFrame = function () {
if ((menu_mc._ymouse>80) or (menu_mc._ymouse<-21) or (menu_mc._xmouse<0) or (menu_mc._xmouse>150)) {
menu_mc._visible = false;
}
};
}
Su funcion es convertir a la instancia de menu_mc que este en ese nivel, en un menu de mas de un elemento y menos de 10 elementos, osea, si ejecuto menu4item(); mi menu sera de 4 elementos, desaparece todos los elementos que no son necesarios, y agrega la funcion onEnterFrame, funcion ejecutada constantemente la cual evalua que si el mouse sale de los limites del menu, este vuela a desaparecer "_visible = false";
Para agregar Submenus, primero vamos a reescribir item.as
item.as - Estoy creando un archivo completamente compatible con la version anterior, pero hace las cosas a mi modo. solo borra el anterior y pega este, podras correr el ejemplo que ya tenias y veras que sigue funcionando igual.
Código ActionScript :
// designed & developed by hRod - Lic. Rodrigo Diaz Medina www.rodrigodm.com - www.rodrigodm.com/blog
// modificado por LongeVie www.cristalab.com/usuario/64767-longevie :P
function menu1item() {
genera_menu( 1 );
}
function menu2item() {
genera_menu( 2 );
}
function menu3item() {
genera_menu( 3 );
}
function menu4item() {
genera_menu( 4 );
}
function menu5item() {
genera_menu( 5 );
}
function menu6item() {
genera_menu( 6 );
}
function menu7item() {
genera_menu( 7 );
}
function menu8item() {
genera_menu( 8 );
}
function menu9item() {
genera_menu( 9 );
}
function menu10item() {
genera_menu( 10 );
}
function genera_menu( n:Number, enfoque:MovieClip )
{
//Evalua de 1 a 10 items, default 1
n = ( n >= 1 && n <= 10 )? n : 1 ;
//Indaga sobre el clip padre
enfoque = ( enfoque == undefined )? menu_mc._parent : enfoque ;
//Tiene titulo?
var contit:Boolean = enfoque.titulo_txt != undefined;
//submenus pueden contener submenus, tenemos que ver en que nivel de submenus estamos
enfoque.submenu_level = 0;
var aux:MovieClip = enfoque._parent;
while( aux.menu_mc != undefined )
{
enfoque.submenu_level++;
aux = aux._parent;
}
//Si tenemos titulo, le damos el valor
if( contit )
{
enfoque.titulo_txt.text = enfoque.titulo;
}
//asignamos valores
for( var i:Number = 0; i <= 10; i++ )
{
enfoque.menu_mc["label" + i + "_txt"].text = enfoque["label" + i];
enfoque.menu_mc["label" + i + "_txt"]._visible = i <= n;
enfoque.menu_mc["miBtn" + i + "_btn"]._visible = i <= n;
enfoque.index = n;
enfoque.onEnterFrame = function () {
//Validaciones de cuando debe desaparecer este menu, modificadas para ser compatibles con submenus
if ((this.menu_mc._ymouse > (20 * this.index)) || (this.menu_mc._ymouse < (contit?-21:0)) || (this.menu_mc._xmouse < (this.submenu_level * -150)) || (this.menu_mc._xmouse > 150)) {
this.menu_mc._visible = false;
}
};
}
}
Bueno, ahora al fotograma llamado "as" en flash
Usas la funcion createEmptyMovieClip, esa funcion crea clips vacios, clips que van a contener a nuestros submenus, entonces en el primer fotograma las cosas se van a ver muy repetidas pero con un nuevo "enfoque", en este caso, vamos a agregar un submenu de 3 items al menu numero 4.
Código ActionScript :
//ESTO YA LO TENIAMOS!!
/**********************************************
Para determninar el numero de items del
menu, ver el AS de la capa "Nº items"
***********************************************
Aqui los parametros de inicio
----------------------------------------------*/
attachMovie("menu_mc", "menu_mc", 999);
menu_mc._x = titulo_btn._x;
menu_mc._y = titulo_btn._y+21;
menu_mc._visible = false;
titulo_btn.onRollOver = function() {
menu_mc._visible = true;
};
/*----------------------------------------------
Aqui editamos las etiquetas de cada botón
(dejar las comillas)
----------------------------------------------*/
var titulo = "CRISTALAB";// este es el boton pricipal/titular
var label1 = "Comic";
var label2 = "foros";
var label3 = "tutoriales";
var label4 = "ejemplos";
var label5 = "boton 5";
var label6 = "boton 6";
var label7 = "boton 7";
var label8 = "boton 8";
var label9 = "boton 9";
var label10 = "boton 10";
/*--------------------------------------------
Aqui las acciones de cada botón
----------------------------------------------*/
menu_mc.miBtn1_btn.onRelease = function() {
menu_mc.label1_txt.setTextFormat(visitado);
//aqui las acciones del boton 1
trace("presionaste el boton 1");
};
menu_mc.miBtn2_btn.onRelease = function() {
menu_mc.label2_txt.setTextFormat(visitado);
//aqui las acciones del boton 2
trace("presionaste el boton 2");
};
menu_mc.miBtn3_btn.onRelease = function() {
menu_mc.label3_txt.setTextFormat(visitado);
//aqui las acciones del boton 3
trace("presionaste el boton 3");
};
menu_mc.miBtn4_btn.onRelease = function() {
menu_mc.label4_txt.setTextFormat(visitado);
//aqui las acciones del boton 4
trace("presionaste el boton 4");
};
menu_mc.miBtn5_btn.onRelease = function() {
menu_mc.label5_txt.setTextFormat(visitado);
//aqui las acciones del boton 5
trace("presionaste el boton 5");
};
menu_mc.miBtn6_btn.onRelease = function() {
menu_mc.label6_txt.setTextFormat(visitado);
//aqui las acciones del boton 6
trace("presionaste el boton 6");
};
menu_mc.miBtn7_btn.onRelease = function() {
menu_mc.label7_txt.setTextFormat(visitado);
//aqui las acciones del boton 7
trace("presionaste el boton 7");
};
menu_mc.miBtn8_btn.onRelease = function() {
menu_mc.label8_txt.setTextFormat(visitado);
//aqui las acciones del boton 8
trace("presionaste el boton 8");
};
menu_mc.miBtn9_btn.onRelease = function() {
menu_mc.label9_txt.setTextFormat(visitado);
//aqui las acciones del boton 9
trace("presionaste el boton 9");
};
menu_mc.miBtn10_btn.onRelease = function() {
menu_mc.label10_txt.setTextFormat(visitado);
//aqui las acciones del boton 10
trace("presionaste el boton 10");
};
//creamos un formato de textopara el boton visitado
var visitado:TextFormat=new TextFormat("verdana", 10, 0x666666, false, false);
// designed & developed by hRod - Lic. Rodrigo Diaz Medina www.rodrigodm.com - www.rodrigodm.com/blog
//************************OJO************************
//ESTO ES LO NUEVO PARA EL SUBMENU
createEmptyMovieClip("submenu3_mc", 1000);
//a esto me refiero con nuevo enfoque
submenu3_mc.attachMovie("menu_mc", "menu_mc", 999);
//Despliega a la derecha
submenu3_mc._x = titulo_btn._x + titulo_btn._width;
submenu3_mc._y = titulo_btn._y + titulo_btn._height + ( 3 * 20 );
//3 * 20, significa que son 3 submenus y cada submenu tiene 20 pixeles de altura
submenu3_mc.menu_mc._visible = true;
//Solo lo queremos de 3 subitems sin titulo(obviamente)
submenu3_mc.label1 = "somos tres";
submenu3_mc.label2 = "submenus";
submenu3_mc.label3 = "nuevos";
//AQUI IDENTIFICAMOS LOS SUBMENUS
menu_mc.miBtn4_btn.onRollOver = function()
{
submenu3_mc.menu_mc._visible = true;
}
Ahora nos vamos a la capa llamada "Nº Items"
Aqui solo cambia una linea, como explique antes, items.as es compatible, entonces no modificamos, solo "registramos" el nuevo submenu:
Código ActionScript :
//NADA CAMBIA
/**********************************************
Para determinar el numero de items del menu cambie
el numero de la función, del 1 al 10 de acuerdo al
numero que vaya a usar ej. menu2items(); o
menu5items(); o menu10items(); etc.
***********************************************/
#include "items.as"
menu4item();
//OJO ESTE ES EL NUEVO SUBMENU
genera_menu( 3, submenu3_mc );
ahora solo pruebalo, bueno, lo dejo en esta face por 2 motivos, el primero es que posiblemente no necesites esto y yo este trabajando a lo menso

, mi segundo motivo es porque si esto es lo que necesitas, entonces intentes terminar bien el script o en su defecto continuar este post paso a paso, pero eso sera tu decision. Suerte.