Derededs 0 Denunciar post Postado Julho 7, 2008 opa, beleza; eu preciso carregar umas 60 imagens em uma pág em flash, dai eu tenho um movie clip dentro desta pág q carrega uma imagem externa. eu preciso saber como que eu faço para duplicar esse movie clip e cada movie clip duplicado carrege uma imagem. por exemplo o primero movie clip carrega a "imagem1", o movie clip que será duplicado carrega "imagem2", numa sequencia. tamém precisaria acertar a posição do movie clip duplicado em relação ao movie clip anterior. alguem pode me ajudar? valeeu abraços Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 7, 2008 Cara faz um xml contendo os nomes das imagens. Por exemplo: <?xml version="1.0" encoding="utf-8"?> <imagens> <imagem nome="imagem1.jpg" /> <imagem nome="imagem2.jpg" /> <imagem nome="imagem3.jpg" /> .... </imagens> Ai você carrega esse xml no flash: var xml:XML = new XML(); xml.ignoreWhite = true; //Deixa invisivel o MC duplicado, para não carregar duas imagens no mesmo lugar. movieclip._invisible = false; xml.onLoad = function() { for(var i=0; i < xml.firstChild.childNodes.length; i++) { var mc:MovieClip = movieclip.duplicateMovieClip("imagem" + i, i); //definindo a posição de cada movieclip duplicado, dai você define do geito melhor mc._x = 20 + i; //Holder é um movieclip onde será carregado a imagem mc.holder.loadMovie("diretoriodaimagem/" + xml.firstChild.childNodes[i].attributes.nome; } } xml.load("arquivo.xml") Praticamente é isso que você deve fazer. Qualquer coisa tamo ae. Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
Derededs 0 Denunciar post Postado Julho 7, 2008 opa, valeu cara funcionou direitinho, eu precisava agora acha um jeito de coloca um limite de imagens por linha, por exemplo, a cada 5 imagens carregadas ele muda a posição _y, deixando dai 5 imagens por linha. não sei se tem como fazer isso. mais se tiver. valeeu abraaços Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 7, 2008 ok lá vai. Na função abaixo acrecente as seguintes linhas var xml:XML = new XML(); xml.ignoreWhite = true; //Deixa invisivel o MC duplicado, para não carregar duas imagens no mesmo lugar. movieclip._invisible = false; xml.onLoad = function() { var linha:Number = 0; var coluna:Number = 0; for(var i=0; i < xml.firstChild.childNodes.length; i++) { var mc:MovieClip = movieclip.duplicateMovieClip("imagem" + i, i); //definindo a posição de cada movieclip duplicado, dai você define do geito melhor mc._x = 20 + i; //Holder é um movieclip onde será carregado a imagem mc.holder.loadMovie("diretoriodaimagem/" + xml.firstChild.childNodes.attributes.nome; if (i % 5 == 0 && i != 0) { linha++; coluna = 0; } mc._x = coluna * 50; mc._y = linha * 50; coluna++; } } xml.load("arquivo.xml") --------------------------- Nessa linha if (i % 5 == 0 && i != 0) { o número cinco representa quantas fotos você quer que apareça antes dele mudar a posição do Y http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
Derededs 0 Denunciar post Postado Julho 7, 2008 aeee,valeeu fico muito bom. parabéns lucas, voce manja pra caramba faloo abraaços Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 7, 2008 Que isso amigo, estamos ae para ajudar http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Qualquer coisa chame ae :) Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
Derededs 0 Denunciar post Postado Julho 8, 2008 eae lucas, beleza? cara preciso de mais uma ajuda aqui, eu preciso fazer com q cada imagem carregada tenha um link para um site. por exemplo quando eu clico na imagem1 abre o site da imagem1, quando na imagem2 abre o site da imagem2... eu fiz o seguinte, dentro do arquivo XML tem o seguinte codigo: <?xml version="1.0" encoding="iso-8859-1"?> <clientes> <foto imagem="clientes/imagem1.jpg" caminho="http://www.imagem1.com.br"/> <foto imagem="clientes/imagem2.jpg" caminho="http://www.imagem2.com.br"/> <foto imagem="clientes/imagem3.jpg" caminho="http://www.imagem3.com.br"/> ... </clientes> no Flash, dentro da function xml.onLoad eu coloco assim: mc.holder.onRelease = function(){ getURL(xml.firstChild.childNodes.attributes.caminho,"_blank"); } onde iria clicar no holder q carrega a imagem e abrir uma url com oq tem dentro de caminho na linha correspondente ao i mais é como se não tivesse colocado nenhuma ação para o holder, assim quando coloco apenas o mc para receber a ação que seria dada ao holder, funciona e abre o link, mas como as fotos estão todas dentro do mc, todas as fotos ficam com o mesmo link. resumindo: o problema é colocar um link na imagem carregada, se tiver outro jeito, valeeu, abraaços Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 8, 2008 Ok Derededs vamos voltar para o código no flash na parte em que ele chama o xml: Você deve atribuir uma variavel que pegue o valor de cada link, assim: var indice:Number var xml:XML = new XML(); xml.ignoreWhite = true; //Deixa invisivel o MC duplicado, para não carregar duas imagens no mesmo lugar. movieclip._invisible = false; xml.onLoad = function() { var linha:Number = 0; var coluna:Number = 0; for(var i=0; i < xml.firstChild.childNodes.length; i++) { var mc:MovieClip = movieclip.duplicateMovieClip("imagem" + i, i); //definindo a posição de cada movieclip duplicado, dai você define do geito melhor mc._x = 20 + i; mc.indice = indice; indice++ //Holder é um movieclip onde será carregado a imagem mc.holder.loadMovie("diretoriodaimagem/" + xml.firstChild.childNodes.attributes.nome; if (i % 5 == 0 && i != 0) { linha++; coluna = 0; } mc._x = coluna * 50; mc._y = linha * 50; coluna++; } } xml.load("arquivo.xml"); Muito bem feio isso no código, vamos até o MC que está sendo duplicado, dai dentro dele coloque assim: this.onRelease = function() { } Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 8, 2008 Ok Derededs vamos voltar para o código no flash na parte em que ele chama o xml: Você deve atribuir uma variavel que pegue o valor de cada link, assim: var indice:Number var xml:XML = new XML(); xml.ignoreWhite = true; //Deixa invisivel o MC duplicado, para não carregar duas imagens no mesmo lugar. movieclip._invisible = false; xml.onLoad = function() { var linha:Number = 0; var coluna:Number = 0; for(var i=0; i < xml.firstChild.childNodes.length; i++) { var mc:MovieClip = movieclip.duplicateMovieClip("imagem" + i, i); //definindo a posição de cada movieclip duplicado, dai você define do geito melhor mc._x = 20 + i; mc.indice = indice; indice++ //Holder é um movieclip onde será carregado a imagem mc.holder.loadMovie("diretoriodaimagem/" + xml.firstChild.childNodes[indice].attributes.nome; if (i % 5 == 0 && i != 0) { linha++; coluna = 0; } mc._x = coluna * 50; mc._y = linha * 50; coluna++; } } xml.load("arquivo.xml"); Muito bem feito isso no código, vamos até o MC que está sendo duplicado, dai dentro dele coloque assim: this.onRelease = function() { //Coloque quantos _parent precisarem para chegar no nivel onde esta o código que chama o xml _parent.indice = indice; getURL(_parent.xml.firstChild.childNodes[indice].attributes.caminho, "_blank"); } É pra ser mais ou menos assim http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Tenta ai e fale se precisar de algo Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
Derededs 0 Denunciar post Postado Julho 9, 2008 intao lucas, acho o flash não tá achando o valor do indice quando troco o valor "i" pelo "indice" aqui: mc.holder.loadMovie(xml.firstChild.childNodes.attributes.imagem); ele dá o caminho como indefinido. quando eu coloco o valor de indice = i ele acha o caminho. dentro do movie clip duplicado eu coloquei as action, mas também parece que não está achando o valor do indice, pois quando coloco o um o número da linha do xml ele abre o site. valeu. abraços Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 9, 2008 Cara desculpa quando citei a: var indice:Number eu esqueci de colocar o número zero. Troque isso: var indice:Number Por isso: var indice:Number = 0; Agora é para funcionar, é que não definindo que o valor dele é zero ele não adiciona a número nenhum http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Desculpe o erro, espero que funcione agora. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Derededs 0 Denunciar post Postado Julho 9, 2008 aeee. valeu lucas. agora tá tudo certo, valeu mesmo. abraaço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Mello 0 Denunciar post Postado Julho 9, 2008 Ae amigo! Sucesso com seu trabalho ai, qualquer coisa tamo ae http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Um abraço Compartilhar este post Link para o post Compartilhar em outros sites