Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá!
estou criando um menu dinâmico, com submenus. Os parâmetros vão ser passados tudo por xml, mas por enquanto estou criando matrizes para fazer isso.
Estou fazendo assim, criei um MovieClip chamado Botao, e exportei para o ActionScrip. Dentro dele tem uma array chamado subMenus.
no stage tem uma Array chamada botoes que são os botões. tem um for que lê a array pra saber quantos botões serão criados, está assim:
for (i = 0; i <= numBtns; i++){
botoes.push(new Botao());
//botoes[i] = new Botao();
this.addChild(botoes[i]);
botoes[i].x = posX; posX += 120;
botoes[i].txtTitle.text = botoes[i].texto = "Teste de menu " + (i+1);
botoes[i].id = i;
botoes[i].link = links[i];
botoes[i].frame = "_self";
botoes[i].subMenu = boolSubMenus[i];
if (botoes[i].subMenu)
constructSubMenu(botoes[i], i);
}
reparem que tem uma função constrói subMenu. Quando subMenu é verdade, então ele constrói um subMenu, por enquanto o pârametro i não tem função, mas vai servir pra saber quantos subMenus vão ser.
aqui está a função constructSubMenu
function constructSubMenu(botao:MovieClip, id:int){
var posY:int = 25;
botao.subMenus.push(new Botao); //erro aqui
trace("ID.:",botao.id);
trace("Array:",botao.subMenus);
botao.addChild(botao.subMenus[i]);
botao.subMenus[i].y = posY; posY += 25;
}
o problema na linha 'botao.subMenu.push', eu não consigo add um item na matriz que tá dentro de um MC.
a referência tá certa, tanto que se eu comentar a 'botao.subMenu.push' e as 2 últimas 'addChild' e a do 'y' ele exibe normalmente. Mas lógico que exibe null
porque não added nada.
como posso resolver isso?
Carregando comentários...