stromdh 15 Denunciar post Postado Setembro 23, 2009 Galera, estou fazendo uma galeria com flash e xml que é dinamica, o cara add no arquivo xml mais produtos para a galeria e o flash cria as paginas sozinho. na galeria existem imagens pequenas no lado direito que quando são clicadas, aparece a imagem ampliada no lado esquerdo, até ae beleza... o problema é que tem o nome da imagem que não está aparecendo. tenho no stage do flash um campo chamado texto_txt e não consigo fazer com que o nome da imagem apareça nesse campo, será que alguem pode me ajudar? Abaixo postei o códgo AS pra você darem uma analizada. e tb o xml, valeu galera, grande abraço a todos que me ajudarem. //variaveis da sequencia... var fotos:Array = new Array; //função de inicio do projeto... function init():Void { //carregando xml... var loadDados:XML = new XML(); loadDados.ignoreWhite = true; loadDados.onLoad = function(sucess) { if (sucess) { //primeiro nó: fotos; var f = this.firstChild.childNodes; //listando conteúdo do nó e inserindo no array de fotos for (var i = 0; i<f.length; i++) { var novaimg:Object = new Object(); //criando o objeto de cada foto novaimg.img_p = f[i].attributes.fp; novaimg.img_g = f[i].attributes.fg; texto_txt.text = f[i].attributes.legenda; fotos.push(novaimg); //inserindo objeto no array } //chamando função q faz a galeria... criaGaleria(); } }; //load no arquivo .xml loadDados.load("fotos.xml"); } //função que cria a galeria function criaGaleria():Void { car._visible = 0; //preloader de imagens grande, usando MovieClipLoader... //fica livre para usar como quiser... var mvlIMG:MovieClipLoader = new MovieClipLoader(); var mvlOBJ:Object = new Object(); mvlOBJ.onLoadStart = function(){ car._visible = 1; } mvlOBJ.onLoadProgress = function(obj, bl, bt){ var p = (Math.round(bl/bt) * 100) //porcentagem carregada da imagem car.p.text = "Carregando... " + p + "%"; } mvlOBJ.onLoadComplete = function(){ car._visible = 0; } mvlIMG.addListener(mvlOBJ); // //criando sistema de galeria(quantidade de fotos, fotos por pagina, colunas, altura miniatura, largura, espacamento x, e y); _global.galeria1 = new Distribute(fotos.length, 8, 2, 100, 79, 7, 3); // var objGal1:Object = new Object(); objGal1.onDistStart = function() { //ação de inicio da distribuição das fotos... //verifica se o mc já está no palco, caso esteja, remove para nova página... if(_root.miniaturas){ //removendo miniaturas anteriores na troca de pagina... _root.miniaturas.removeMovieClip(); } //duplicando o mc conteiner q vai conter as miniaturas, para um novo que poder ser removido... _root.conteinerInicial.duplicateMovieClip("miniaturas", 1); //definindo onde o mcConteiner deve aparecer... miniaturas._x = conteinerInicial._x; // _x miniaturas._y = conteinerInicial._y; // _y //escondendo... miniaturas._visible = 0; }; // objGal1.onDistUpdate = function(info:Object) { //puxando da bliblioteca o mc com linkage miniatura, e ja posicionando de arquivo com o _x e _y passados pelo var info... _root.miniaturas.attachMovie("miniatura", "fp_"+info.iObj, galeria1.nDepth(_root.miniaturas), {_x:info.x, _y:info.y}); //informando ou passando, para miniatura, qual é sua foto grande... _root.miniaturas["fp_"+info.iObj].img_g = fotos[info.index].img_g; //criando o movie clip alvo para receber a img pequena, dentro do mc Conteiner... _root.miniaturas["fp_"+info.iObj].createEmptyMovieClip("img_p", 1); //carregando thumb via loadMovie... _root.miniaturas["fp_"+info.iObj].img_p.loadMovie(fotos[info.index].img_p); //definindo ação de clique na miniatura, para ampliar... _root.miniaturas["fp_"+info.iObj].onRelease = function(){ //usando o obj mvlIMG, para carregar a imagem grande... mvlIMG.loadClip(this.img_g, img_grande); } }; objGal1.onDistEnd = function(info:Object) { //ação de distribuição completa, exibindo mc Conteiner, chamado de miniaturas... miniaturas._visible = 1; }; //definindo ao objeto galeria1, os objetos e eventos que deve utilizar... galeria1.addEventListener("onDistStart", objGal1); galeria1.addEventListener("onDistUpdate", objGal1); galeria1.addEventListener("onDistEnd", objGal1); // //montando paginação, pegase o nº de paginas e faz o paginador... //função responsável pelo click dos bts da paginação... function setPg(obj){ //restaurando todos bts, para o primeiro frame... for (i=0; i<galeria1.nPages; i++) { var mcPgAtual = this._parent["mcPg_" + i]; if(mcPgAtual != this) mcPgAtual.gotoAndStop(1); //todos voltam menos o atual... } //definindo o frame q deve mostrar... this.lastFrame = 3; //mostrando página solicitada... var iAtual:Number = int(this.pg.text); galeria1.showPage(iAtual); } for (i=0; i<galeria1.nPages; i++) { //ataxando ao mc vazio, paginacao, os bts de página... var mcPgAtual = paginacao.attachMovie("mcPg", "mcPg_" + i, i); mcPgAtual._x = (i*(mcPgAtual._width+3)); //posicionando bt no mc... mcPgAtual.pg.text = (i+1); //setando no bt, a pg dele... //definindo eventos e ações paga o bt da página... mcPgAtual.onRollOver = function(){ //pega o frame atual e armazena, caso o bt seja o bt de página clicada... this.lastFrame = this._currentframe; //ao passar porcima acende this.gotoAndStop(2); } mcPgAtual.onRollOut = function(){ this.gotoAndStop(this.lastFrame); } mcPgAtual.onRelease = setPg; } // //mostrando pagina 1 e setando o botão de pg 1... paginacao["mcPg_0"].gotoAndStop(3); galeria1.showPage(1); } // //iniciando por fim, a galeria... init(); XML: <?xml version="1.0" encoding="UTF-8"?> <fotos> <foto fp="imgs/p/_MG_1403.png" fg="imgs/g/_MG_1403.png" legenda="TEXTO - Foto 1"/> <foto fp="imgs/p/_MG_1409.png" fg="imgs/g/_MG_1409.png" legenda="TEXTO - Foto 2"/> <foto fp="imgs/p/_MG_1410.png" fg="imgs/g/_MG_1410.png"/> <foto fp="imgs/p/_MG_1413.png" fg="imgs/g/_MG_1413.png"/> <foto fp="imgs/p/_MG_1414.png" fg="imgs/g/_MG_1414.png"/> <foto fp="imgs/p/_MG_1415.png" fg="imgs/g/_MG_1415.png"/> <foto fp="imgs/p/_MG_1418.png" fg="imgs/g/_MG_1418.png"/> <foto fp="imgs/p/_MG_1421.png" fg="imgs/g/_MG_1421.png"/> <foto fp="imgs/p/_MG_1424.png" fg="imgs/g/_MG_1424.png"/> <foto fp="imgs/p/_MG_1425.png" fg="imgs/g/_MG_1425.png"/> </fotos> Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 23, 2009 texto_txt.text = f[i].attributes.legenda; Nesse código ai dentro do for Ele ta mostrando o texto?? Se estiver faça a mesma coisa no lugar onde deveria ter o texto fixo. Se não estiver mostrando a foto... verifique se seu texto_txt se encontra no mesmo lugar que o código... digo frame Ou se ele por acaso não está dentro de um movie clip Abraços Compartilhar este post Link para o post Compartilhar em outros sites