ponto&vetor 0 Denunciar post Postado Fevereiro 14, 2008 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
Eder Fortunato 15 Denunciar post Postado Fevereiro 15, 2008 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