Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, to com um probleminha...
Eu gero um menu dinamicamente a partir de um arquivo XML. Até ai beleza.
No mesmo laço que crio os MC ja vou criando as funções, só que, todos os botões ficam com a mesma (a ultima)
segue o cod:
System.useCodepage = true;
var file:XML=new XML();
file.ignoreWhite = true;
file.load("../xml/menu.xml");
file.onload = function($sucess)
{
if($sucess)
{
px = -500 //ponto x inicial dos botoes
nos = this.firstChild.childNodes.length //quantos botoes
trace(nos)
for(c=0;c<nos;c++)
{
//as variaveis do xml
label = this.firstChild.childNodes[c].attributes.label;
cor = this.firstChild.childNodes[c].attributes.cor;
link = this.firstChild.childNodes[c].attributes.page;
tipo = this.firstChild.childNodes[c].attributes.type;
target = this.firstChild.childNodes[c].attributes.target;
largura = this.firstChild.childNodes[c].attributes.largura;
//cria o botão...
menu_mc.attachMovie("botao_"+cor,"dinamico"+c,c)
//posicao x do botao
largura = parseInt(largura)
menu_mc["dinamico"+c]._x= px
menu_mc["dinamico"+c]._y=-430
//largura do botao
setProperty(menu_mc["dinamico"+c], _width, largura);
//após criar o botao, seta a posicao inicial do proximo
px = px+largura+10;
//cria o campo texto dentro do botão...
texto = menu_mc["dinamico"+c].createTextField("texto", 1, 10, 1, 150, 22);
menu_mc["dinamico"+c].texto.text = label;
//formata o texto do botao...
formatodoTexto = new TextFormat();
formatodoTexto.font = "Arial";
formatodoTexto.size = 11;
formatodoTexto.italic = false;
formatodoTexto.bold = false;
formatodoTexto.letterSpacing = 1;
formatodoTexto.color = 0xFFFFFF;
menu_mc["dinamico"+c].texto.setTextFormat(formatodoTexto);
menu_mc["dinamico"+c].onRelease = function()
{
abre(link, tipo, target);
}
menu_mc["dinamico"+c].onRollOver = function()
{
trace( c )
}
}
}
else
{
trace("Ops! O XML do menu não pôde ser carregado :( ");
}
}
nesse trace( c ) ele deveria mostrar entre 0 e 5 , mas mostra só 6
o menu ele monta certinho...
Carregando comentários...