Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ponto&vetor

Problema com XML e AS

Recommended Posts

Olá pessoal, estou desenvolvendo um menu com xml e actionscript, está funcionando quase tudo perfeitamente, a não ser por uma coisa... gostaria de uma ajuda

 

cada botão principal chama um submenu, e neste tem outros botões que chamam um segundo submenu, e o conteúdo de cada um deles é relativo ao XML, até aí tudo bem, está ok. mas... (copiem para algum editor com números das linhas, para facilitar...)

 

qtd = menu_xml.firstChild.childNodes.length;

//botoes

for (i=0; i<qtd; i++) {

_root.attachMovie("botao", "botao"+i, 10+i, {_x:margemEsquerda+(112*i), _y:0});

_root["botao"+i].quadro.gotoAndStop(i+1);

_root["botao"+i].createEmptyMovieClip("containerSub", 15+i, {_x:112*i, _y:0});

_root["botao"+i].containerSub._visible = false;

//container inserido, visible false

_root["botao"+i].quadro.onRelease = function() {

this._parent.containerSub._visible=true

};

//submenu1

for (j=0; j<menu_xml.firstChild.childNodes.childNodes.length; j++) {

_root["botao"+i].containerSub.attachMovie("submenu", "submenu"+j, 20+j, {_x:0, _y:40+(20*j)});

_root["botao"+i].containerSub["submenu"+j].fundo.gotoAndStop(i+1);

//submenu1 inseridos

//submenu2

for (k=0; k<menu_xml.firstChild.childNodes.childNodes[j].childNodes.length; k++) {

_root["botao"+i].containerSub["submenu"+j].createEmptyMovieClip("containerSub2", 25+k, {_x:112, _y:0});

_root["botao"+i].containerSub["submenu"+j].containerSub2._visible = false;

//container inserido, visible false

_root["botao"+i].containerSub["submenu"+j].fundo.onRelease = function(){

this._parent.containerSub2._visible=true

}

//submenu2

_root["botao"+i].containerSub["submenu"+j].containerSub2.attachMovie("submenu", "submenu"+k, 30+k, {_x:112, _y:0+(20*k)});

_root["botao"+i].containerSub["submenu"+j].containerSub2["submenu"+k].fundo.gotoAndStop(i+1);

//submenu2 inseridos

if(menu_xml.firstChild.childNodes.childNodes[j].childNodes[k].attributes.pagina != undefined){

trace(menu_xml.firstChild.childNodes.childNodes[j].childNodes[k].attributes.pagi

na)

}

_root["botao"+i].containerSub["submenu"+j].containerSub2["submenu"+k].fundo.onRelease=function(){

if(menu_xml.firstChild.childNodes.childNodes[j].childNodes[k].attributes.pagina != undefined){

trace(menu_xml.firstChild.childNodes.childNodes[j].childNodes[k].attributes.pagi

na)

}

}

}

}

o problema acontece bem no fim, na linha 48, onde ao clicar no botao do submenu2 deveria retornar o valor do attributes.pagina (se não for undefined). Não é erro de childNodes, pois na linha 44 eu pedi para retornar exatamente a mesma coisa e deu ok (no caso, o attributes.pagina retorna a URL da página a ser carregada)

 

Eu sei que tá meio embaralhado aqui, mas colem em um editor com números nas linhas (o próprio flash por exemplo) e será bem mais claro

 

Alguém pode me dar uma força? É só o que falta pro meu menu ficar pronto!!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

só uma dica, quando o endereço do objeto ficar muito grande, coloque dentro de uma variável

 

o seu problema pode resolver assim, setando a variável pagina do XML no próprio botão:

 

 

var  btSub = _root["botao"+i].containerSub["submenu"+j].containerSub2["submenu"+k]
btSub.fundo.pag =  menu_xml.firstChild.childNodes.childNodes[j].childNodes[k].attributes.pagina
btSub.fundo.onRelease=function(){
  if(this.pag != undefined){
	trace(this.pag)
  }
}

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.