ezequielg 1 Denunciar post Postado Julho 12, 2007 Olá comunidade! Tenho um SWF que gera uma galeria de imagens com base em um XML. Acontece que o SWF não está lendo as tags HTML e ainda estão sendo gerados quadros em branco. Abaixo uma explicação mais detalhada do que está ocorrendo. Abaixo o endereço do SWF para consulta http://www.provaievede.com.br/xml_flash_php fotos.xml <?xml version="1.0" encoding="iso-8859-1" ?> <fotos> <foto grande="fotos/lua.jpg" thumb="fotos/luathumb.jpg" /><![CDATA[<b>Marcos Aurélio</b>Fones: (81) 3429-3902 | (81) 9685-2226email: novo.destino@terra.com.br Reg. Atuação: Alagoas, ParaÃba, Pernambuco, Ceará, Rio Grande do Norte, Maranhão, Piauà Marcas: Base]]><foto grande="fotos/flor.jpg" thumb="fotos/florthumb.jpg" /> <![CDATA[]]><foto grande="fotos/nuvens.jpg" thumb="fotos/nuvensthumb.jpg" /> <![CDATA[]]><foto grande="fotos/pilar.jpg" thumb="fotos/pilarthumb.jpg" /> <![CDATA[]]></fotos> fotos.swf - Action //include "lmc_tween.as"// criando o objeto XMLvar meuXML:XML = new XML();// ignorando os espaços em brancomeuXML.ignoreWhite = true;// quando o XML carregarmeuXML.onLoad = function():Void{ // variável que retorna a altura de todos os thumbs juntos altura = (thumb._height*meuXML.childNodes[0].childNodes.length+meuXML.childNodes[0].childNodes.length*2); // criando um loop for for(i=0;i<meuXML.childNodes[0].childNodes.length;i++){ // duplicando o movieclip thumb duplicateMovieClip("thumb","thumb"+i,i+1); thumbs = _root.tudo_mc["thumb"+i]; // posição de cada thumb thumbs._y += (thumb._height+2)*i; // criando uma instância da classe MovieClipLoader var MCL1:MovieClipLoader = new MovieClipLoader(); // carregando um arquivo no objeto MCL1, de acordo com o primeiro nó do XML, o nó filho atual (i) do atributo thumb, movieclip alvo: thumbs.mostra MCL1.loadClip(meuXML.childNodes[0].childNodes[i].attributes.thumb,thumbs.mostra); thumbs.onEnterFrame = function():Void{ // variável que checa o progresso do objeto MCL1 progresso1 = MCL1.getProgress(this.mostra); // texto do campo pct_thumb: bytes carregados / bytes totais * 100 + o sinal de porcentagem this.pct_thumb.text = Math.ceil(progresso1.bytesLoaded / progresso1.bytesTotal * 100) + "%"; // se os bytes carregados forem iguais ao bytes totais, deixa o campo de texto invisível, se não, ele continua visível progresso1.bytesLoaded == progresso1.bytesTotal ? this.pct_thumb._visible = false : this.pct_thumb._visible = true; } // variável de referência, que indica o nó atual thumbs.atual = i; // texto do campo de texto "campo" // thumbs.campo.text = i+1; // retirando a mãozinha do mouse thumbs.btn.useHandCursor = false; // quando clicar no movieclip thumbs.btn.onRelease = function():Void{ // outra instância da classe MovieClipLoader var MCL2:MovieClipLoader = new MovieClipLoader(); // carregando o arquivo MCL2.loadClip(meuXML.childNodes[0].childNodes[this._parent.atual].attributes.grande,_root.mc); // mesma lógica do MCL1 this.onEnterFrame = function():Void{ progresso2 = MCL2.getProgress(_root.mc); _root.pct.text = Math.round(progresso2.bytesLoaded/progresso2.bytesTotal*100) + "%"; progresso2.bytesLoaded == progresso2.bytesTotal ? _root.pct._visible = false : _root.pct._visible = true; } // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc _root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual]; } // quando passar o mouse thumbs.btn.onRollOver = function():Void{ // pequena mudança de contraste _root.tudo_mc["thumb"+this._parent.atual].mostra.contrastTo(50,1); } // quando tirar o mouse thumbs.btn.onRollOut = function():Void{ // voltando ao normal _root.tudo_mc["thumb"+this._parent.atual].mostra.contrastTo(100,1); } } // criando as ações para a barra de rolagem _root.rolagem.drag.onPress = function():Void{ var xmin = this._x; var xmax = this._x; var ymin = 0; var ymax = this._parent.fundo._height - this._height; this.startDrag(false, xmin, ymin, xmax, ymax); this.onRelease = this.onReleaseOutside = function():Void{ stopDrag(); delete this.onMouseMove(); } this.onEnterFrame = function():Void{ _root.tudo_mc._y += (-Math.round((this._y / ymax) * (altura - _root.rolagem._height)) - _root.tudo_mc._y)/3; }}}// carregando o arquivo XMLmeuXML.load("fotos.xml");Desde já agradeço a atenção dos amigos.Abraços Compartilhar este post Link para o post Compartilhar em outros sites
leila•trupe 1 Denunciar post Postado Julho 12, 2007 Pra resolver a interpretação das tags HTML, use htmlText e nao thumbs.campo.text = i+1; fica assim:thumbs.campo.htmlText = "texto"; Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 12, 2007 você deve habibilitar o html tambémthumbs.campo.html = true thumbs.campo.htmlText = "texto"; Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 12, 2007 Pra resolver a interpretação das tags HTML, use htmlText e nao thumbs.campo.text = i+1; fica assim: thumbs.campo.htmlText = "texto"; Obrigado Leila, mas não é este o campo que pega o texto. A questão das tags HTML já encontrei uma solução e estou postando pois poderá ajudar outros. Uma das linhas do código estava assim: // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc_root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual];Mudei ela para isso // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc_root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual].nodeValue;Acrescentado nodeValue Quando ao estar gerando mais um quadro em branco, não consegui resolver ainda Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 12, 2007 Galera já revisei todo o código e não encontrei o porque está sendo gerado um quadro em branco entre as fotos. Abaixo o endereço do SWF para ver o problemas http://www.provaievede.com.br/xml_flash_php O problema está neste trecho de código, mas não consigo enchergar. Como dizem que sempre quem está de fora encherga melhor do que quem está dentro, por favor, dêem uma olhada pra mim. // criando um loop for for(i=0;i<meuXML.childNodes[0].childNodes.length;i++){ // duplicando o movieclip thumb duplicateMovieClip("thumb","thumb"+i,i+1); thumbs = _root.tudo_mc["thumb"+i]; // posição de cada thumb thumbs._y += (thumb._height+2)*i; // criando uma instância da classe MovieClipLoader var MCL1:MovieClipLoader = new MovieClipLoader(); // carregando um arquivo no objeto MCL1, de acordo com o primeiro nó do XML, o nó filho atual (i) do atributo thumb, movieclip alvo: thumbs.mostra MCL1.loadClip(meuXML.childNodes[0].childNodes[i].attributes.thumb,thumbs.mostra); thumbs.onEnterFrame = function():Void{ // variável que checa o progresso do objeto MCL1 progresso1 = MCL1.getProgress(this.mostra); // texto do campo pct_thumb: bytes carregados / bytes totais * 100 + o sinal de porcentagem this.pct_thumb.text = Math.ceil(progresso1.bytesLoaded / progresso1.bytesTotal * 100) + "%"; // se os bytes carregados forem iguais ao bytes totais, deixa o campo de texto invisível, se não, ele continua visível progresso1.bytesLoaded == progresso1.bytesTotal ? this.pct_thumb._visible = false : this.pct_thumb._visible = true; } // variável de referência, que indica o nó atual thumbs.atual = i; // texto do campo de texto "campo" // thumbs.campo.text = i+1; // retirando a mãozinha do mouse // thumbs.btn.useHandCursor = false; // quando clicar no movieclip thumbs.btn.onRelease = function():Void{ // outra instância da classe MovieClipLoader var MCL2:MovieClipLoader = new MovieClipLoader(); // carregando o arquivo MCL2.loadClip(meuXML.childNodes[0].childNodes[this._parent.atual].attributes.grande,_root.mc); // mesma lógica do MCL1 this.onEnterFrame = function():Void{ progresso2 = MCL2.getProgress(_root.mc); _root.pct.text = Math.round(progresso2.bytesLoaded/progresso2.bytesTotal*100) + "%"; progresso2.bytesLoaded == progresso2.bytesTotal ? _root.pct._visible = false : _root.pct._visible = true; } // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc _root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual].nodeValue; } Código completo //include "lmc_tween.as"// criando o objeto XMLvar meuXML:XML = new XML();// ignorando os espaços em brancomeuXML.ignoreWhite = true;// quando o XML carregarmeuXML.onLoad = function():Void{ // variável que retorna a altura de todos os thumbs juntos altura = (thumb._height*meuXML.childNodes[0].childNodes.length+meuXML.childNodes[0].childNodes.length*2); // criando um loop for for(i=0;i<meuXML.childNodes[0].childNodes.length;i++){ // duplicando o movieclip thumb duplicateMovieClip("thumb","thumb"+i,i+1); thumbs = _root.tudo_mc["thumb"+i]; // posição de cada thumb thumbs._y += (thumb._height+2)*i; // criando uma instância da classe MovieClipLoader var MCL1:MovieClipLoader = new MovieClipLoader(); // carregando um arquivo no objeto MCL1, de acordo com o primeiro nó do XML, o nó filho atual (i) do atributo thumb, movieclip alvo: thumbs.mostra MCL1.loadClip(meuXML.childNodes[0].childNodes[i].attributes.thumb,thumbs.mostra); thumbs.onEnterFrame = function():Void{ // variável que checa o progresso do objeto MCL1 progresso1 = MCL1.getProgress(this.mostra); // texto do campo pct_thumb: bytes carregados / bytes totais * 100 + o sinal de porcentagem this.pct_thumb.text = Math.ceil(progresso1.bytesLoaded / progresso1.bytesTotal * 100) + "%"; // se os bytes carregados forem iguais ao bytes totais, deixa o campo de texto invisível, se não, ele continua visível progresso1.bytesLoaded == progresso1.bytesTotal ? this.pct_thumb._visible = false : this.pct_thumb._visible = true; } // variável de referência, que indica o nó atual thumbs.atual = i; // texto do campo de texto "campo" // thumbs.campo.text = i+1; // retirando a mãozinha do mouse // thumbs.btn.useHandCursor = false; // quando clicar no movieclip thumbs.btn.onRelease = function():Void{ // outra instância da classe MovieClipLoader var MCL2:MovieClipLoader = new MovieClipLoader(); // carregando o arquivo MCL2.loadClip(meuXML.childNodes[0].childNodes[this._parent.atual].attributes.grande,_root.mc); // mesma lógica do MCL1 this.onEnterFrame = function():Void{ progresso2 = MCL2.getProgress(_root.mc); _root.pct.text = Math.round(progresso2.bytesLoaded/progresso2.bytesTotal*100) + "%"; progresso2.bytesLoaded == progresso2.bytesTotal ? _root.pct._visible = false : _root.pct._visible = true; } // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc _root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual].nodeValue; } // quando passar o mouse thumbs.btn.onRollOver = function():Void{ // pequena mudança de contraste _root.tudo_mc["thumb"+this._parent.atual].mostra.contrastTo(50,1); } // quando tirar o mouse thumbs.btn.onRollOut = function():Void{ // voltando ao normal _root.tudo_mc["thumb"+this._parent.atual].mostra.contrastTo(100,1); } } // criando as ações para a barra de rolagem _root.rolagem.drag.onPress = function():Void{ var xmin = this._x; var xmax = this._x; var ymin = 0; var ymax = this._parent.fundo._height - this._height; this.startDrag(false, xmin, ymin, xmax, ymax); this.onRelease = this.onReleaseOutside = function():Void{ stopDrag(); delete this.onMouseMove(); } this.onEnterFrame = function():Void{ _root.tudo_mc._y += (-Math.round((this._y / ymax) * (altura - _root.rolagem._height)) - _root.tudo_mc._y)/3; } }}// carregando o arquivo XMLmeuXML.load("fotos.xml");Obrigado galera! Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 12, 2007 Galera? Ninguém tem idéia do que está acontecendo? Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 13, 2007 teria como você postar o FLAassim facilitaria a vida do pessoal aqui poder te ajudar Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 13, 2007 Olá Eder! Fera, no link abaixo estão disponíveis todos os arquivos que estou usando. http://www.provaievede.com.br/xml_flash_php/flash_xml.zip Aqui você pode encontrar o exemplo on-line http://www.provaievede.com.br/xml_flash_php Obrigado pela força mano. Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 15, 2007 Bom dia Eder!Você conseguiu baixar os arquivos e dar uma analisada neles?---------------------------------------------------------------------------------------------------Olá Eder!Fera, no link abaixo estão disponíveis todos os arquivos que estou usando.http://www.provaievede.com.br/xml_flash_php/flash_xml.zipAqui você pode encontrar o exemplo on-linehttp://www.provaievede.com.br/xml_flash_phpObrigado pela força mano.--------------------------------------------------------------------------------------------------- teria como você postar o FLAassim facilitaria a vida do pessoal aqui poder te ajudar Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 17, 2007 dei uma olhada no seus arquivos e vi que o erro era por causa do XML, não estava bem formatado mudei ele pra ficar assim <?xml version="1.0" encoding="iso-8859-1" ?> <fotos> <foto grande="fotos/lua.jpg" thumb="fotos/luathumb.jpg" ><![CDATA[<b>Lua</b> <br />Foto noturna]]></foto><foto grande="fotos/flor.jpg" thumb="fotos/florthumb.jpg" ><![CDATA[<b>Margarida</b> <br />Linda flor]]></foto><foto grande="fotos/nuvens.jpg" thumb="fotos/nuvensthumb.jpg" ><![CDATA[<b>Céu</b> <br />Ao contemplar o céu, me aproximo de ti ó Pai!]]></foto><foto grande="fotos/pilar.jpg" thumb="fotos/pilarthumb.jpg" ><![CDATA[<b>Muro</b> <br />Teste para ter uma idéia de como se comporta o texto com mais de uma linha. Teste para ter uma idéia de como se comporta o texto com mais de uma linha. Teste para ter uma idéia de como se comporta o texto com mais de uma linha. Teste para ter uma idéia de]]></foto></fotos> e no AS, a unica linha q tem q mexer é nessa _root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual].childNodes Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 18, 2007 Eder, muito obrigado pela atenção.Realmente agora está funcionando.Com a alteração do AS que você sugeriu, o Flash não interpreta mais as tags HTML.Tem como fazer com que o Flash continue interpretando-as?Mano, você tem algum livro de XML e AS para indicar a um iniciante como eu?Valeu pela força fera. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 18, 2007 ele ta jogando com as tag´s, então você dá um "jeitinho" _root.descricao.htmlText = meuXML.childNodes[0].childNodes[this._parent.atual].childNodes_root.descricao.htmlText = _root.descricao.text Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 19, 2007 Olá Eder! Valeu pela ajuda mano. Agora está perfeito! Estou colocando o arquivo on-line para quem quiser. http://www.provaievede.com.br/xml_flash_php/arquivos.zip Abraços e obrigado novamente Eder. Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 25, 2007 Eder, lembra da galeria que em XML que você me ajudou a fazer ?Como falei anteriormente, ela está funcionando perfeitamente.Porém surgiu a necessidade de carregar a galeria dentro de um movie já exixtente e a mesma não carrega mais as fotos.O que aconteceu.Fiquei sem entender.Apenas o arquivo funciona, agora no momento que ele é chamado dentro de outro movie, para de funcionar.Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Julho 25, 2007 é problema no caminho, onde você axar no código _root, coloca _root.nome_do_mc_onde_esta_a_galeria Compartilhar este post Link para o post Compartilhar em outros sites
ezequielg 1 Denunciar post Postado Julho 25, 2007 Olá Eder!Consegui um código que resolveu o problema.Só tinha esquecido de postar.Coloquei no primeiro quadro do movie esse Action----------------------------------------------------------------------this._lockroot=true;----------------------------------------------------------------------Valeu pela força fera. Compartilhar este post Link para o post Compartilhar em outros sites