SJack 0 Denunciar post Postado Setembro 3, 2007 Bom dia. Pessoal eu estou fazendo um a aplicação em flash que puxa dados de um XML, como eu estou aprendendo na raça eu cheguei até o certo ponto que não consegui mais ir adiante. Eu tenho minhas funções que pucham e destrincham o XML que é :: stop();function Article(nome_sess, id, nome, descricao, foto, destaque, cor1, cor2, cor3, metal1, metal2, metal3) { this.nome_sess = nome_sess; this.id = id; this.nome = nome; this.descricao = descricao; this.foto = foto; this.destaque = foto; this.cor1 = cor1; this.cor2 = cor2; this.cor3 = cor3; this.metal1 = metal1; this.metal2 = metal2; this.metal3 = metal3;}function makeArray(success) { if (success) { for (i=0; i<=moXML.childNodes.length; i++) { if (this.childNodes[i].nodeName == "produtos") { mainTag = this.childNodes[i]; nome_sess = this.childNodes[i].attributes["valor"]; } } for (i=0; i<=mainTag.childNodes.length; i++) { if (mainTag.childNodes[i].nodeName == "produto") { id = mainTag.childNodes[i].attributes["id"]; trace(id); for (j=0; j<mainTag.childNodes[i].childNodes.length; j++) { if (mainTag.childNodes[i].childNodes[j].nodeName != null) { if (mainTag.childNodes[i].childNodes[j].nodeName == "nome") { nome = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(nome); } else if (mainTag.childNodes[i].childNodes[j].nodeName == "descricao") { descricao = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(descricao); } else if (mainTag.childNodes[i].childNodes[j].nodeName == "foto") { foto = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(foto); } if (mainTag.childNodes[i].childNodes[j].nodeName == "destaque") { destaque = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(destaque); } else if (mainTag.childNodes[i].childNodes[j].nodeName == "cor1") { cor1 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(cor1); } if (mainTag.childNodes[i].childNodes[j].nodeName == "cor2") { cor2 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(cor2); } else if (mainTag.childNodes[i].childNodes[j].nodeName == "cor3") { cor3 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(cor1); } if (mainTag.childNodes[i].childNodes[j].nodeName == "metal1") { metal1 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(metal1); } else if (mainTag.childNodes[i].childNodes[j].nodeName == "metal2") { metal2 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(metal2); } if (mainTag.childNodes[i].childNodes[j].nodeName == "metal3") { metal3 = mainTag.childNodes[i].childNodes[j].firstChild.nodeValue; trace(metal3); } } } thisArticle = new Article(nome_sess, id, nome, descricao, foto, destaque, cor1, cor2, cor3, metal1, metal2, metal3); bemArray.push(thisArticle); delete thisArticle; } } gotoAndStop(2); }}// bemArray é o array com os dados dos nósvar bemArray = [];System.useCodepage = true;moXML = new XML();moXML.ignoreWhite = true;moXML.onLoad = makeArray;moXML.load("admin/produtos.xml"); Não foi erro não, eu fiz questão de deixar os trace para acompanhar sempre se esta tudo certo com o cód. Mas o que importa mesmo pra mim agora é fazer um movie clip que contenha as fotos dentro dele, todo este meu array de fotos. eu tentei fazer o seguinte não deu certo :: xpos = opas2._x;dist = opas2._width - 1;for (n=0; n < bemArray.length; n++) { duplicateMovieClip ("opas2", "opas2"+n, n); this["opas2"+n]._x = (xpos + dist)*n; this["opas2"+n].impar.loadMovie(bemArray[n].foto); trace(bemArray[n].foto); this["opas2"+n].id = bemArray[n].id; _root.calc = (n - 2) * 12;}opas2._visible = 0;stop(); A foto se quer abre no mc impar. o que eu posso fazer??? atenciosamente, Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Setembro 3, 2007 esse codigo todo esta no mesmo frame? Compartilhar este post Link para o post Compartilhar em outros sites
SJack 0 Denunciar post Postado Setembro 3, 2007 esse codigo todo esta no mesmo frame?De froma alguma, frame 1 chama o XML, frame 2 chama os MC´s. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Setembro 3, 2007 teste o seguinte veja passo a passo onde o valor não esta chegando no array coloque um trace antes do gotoAndStop(2); trace("tam:" + bemArray.length)gotoAndStop(2); e outro antes do for (que esta no segundo frame) trace("tam:" + bemArray.length)for (n=0; n < bemArray.length; n++) {/**/} diga se ele imprime algum valor na tela Compartilhar este post Link para o post Compartilhar em outros sites
SJack 0 Denunciar post Postado Setembro 3, 2007 teste o seguinteveja passo a passo onde o valor não esta chegando no arraycoloque um trace antes do gotoAndStop(2); trace("tam:" + bemArray.length)gotoAndStop(2);e outro antes do for (que esta no segundo frame)trace("tam:" + bemArray.length)for (n=0; n < bemArray.length; n++) {/**/}diga se ele imprime algum valor na telaMuyito, mas muito obrgado mesmo pela intenção, mas consegui resolver já... este problema pelo menos -rs- Compartilhar este post Link para o post Compartilhar em outros sites