Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diego.fernandes

Galeria de Imagens + comentário

Recommended Posts

Bom dia, galera!! Como vão??!!

 

Estou trabalhando num galeria de imagens que encontrei numa das matérias do Imasters. Está tudo pronto. O problema é com os comentários para cada imagem.

A matéria sobre essa galeria não apresentou nada sobre comentários para as imagens e eu estou tendo dificuldades nesse ponto

Quais são as alterações que ainda devo fazer pra inserir os tais comentário??

 

 

Esta é a Action que monta a galeria

//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;				fotos.push(novaimg); //inserindo objeto no array			}			//chamando função q faz a galeria...			criaGaleria();		}	};	//load no arquivo .xml	loadDados.load("fotosapis.xml");}//função que cria a galeriafunction 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, 20, 5, 40, 35, 8, 8);	//	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, pega-se 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_" add 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_" add 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 por cima 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();
Este é um exemplo do XML

<?xml version="1.0" encoding="UTF-8"?><fotos><foto fp="imgsgalleria/apis/1p.jpg" fg="imgsgalleria/apis/1g.jpg" coment="foto 1"/><foto fp="imgsgalleria/apis/2p.jpg" fg="imgsgalleria/apis/2g.jpg" coment="foto 2"/><foto fp="imgsgalleria/apis/3p.jpg" fg="imgsgalleria/apis/3g.jpg" coment="foto 3"/></fotos>

Muito obrigado!!

 

Forte abraço a tod@s!! http://forum.imasters.com.br/public/style_emoticons/default/hug.gif

 

 

 

Diego Fernandes

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?xml version="1.0"?><!--noofcolumn: numero de colunas por thumbnailnoofrow: numero de linhas thumbxs: x coordenadas dos thumbnails (topleft)thumbys: y coordenadas dof thumbnails(topleft)thumbwidth:largura do thumbthumbwidth: altura do thumb--><fotoalbum>	<parametros noofcolumn="13" noofrow="2" thumbxs="0" thumbys="448" thumbwidth="50" thumbheight="50"/>	<album albumname="demo">		<imagens>			<imagem imagename="1.jpg" infotext=""/>			<imagem imagename="2.jpg" infotext=""/>			<imagem imagename="3.jpg" infotext=""/>			<imagem imagename="4.jpg" infotext=""/>			<imagem imagename="5.jpg" infotext=""/>										</imagens>	</album></fotoalbum>

tenta ssim. a vanagem é que os parametros você acreta uma vez só. se numd er posta ae ou me manda o email por PM que te envio um fla pronto

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí, RedLine?? Obrigado pela ajuda, mas eu acho que não é bem isso. Minha dúvida não é com relação ao XML, como disse antes, a galeria está funcionando perfeitamente, o XML é o que eu postei mesmo. Minha dúvida é com relação a mostrar a variável 'coment' numa caixa de texto dinâmico conforme as thumbs são selecionadas. Essa variável já existe no XML é tbm já é carregada quando a galeria é iniciada. Muito obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...desse jeito que te passei o comment você insere diretamente no xml. Aparece como uma nota de rodapé da imagem. Mas se não é isso, tentei ao menos:P

Compartilhar este post


Link para o post
Compartilhar em outros sites

éhh... não rolou mesmo. Mas mesmo assim, obrigado!!Se você ver, há um 'coment' no XML que estou trabalhando, este é responsável por armazenar o comentário daquela imagem.O problema é na hora de exibí-lo quando a thumb for clicada.Alguém conhece alguma solução??Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

no cabeçario do xml:<?xml version="1.0" encoding="iso-8859-1"?>//habilita acentos nas tags, etc.antes de cada "nó" do flash:System.useCodepage = true;//habilita leitura em português.Não sei se isso que está bugando, mas precisa colocar tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, galera!!

 

Fiz a seguinte alteração:

 

_root.miniaturas["fp_"+info.iObj].onRelease = function() {	mvlIMG.loadClip(this.img_g, img_grande);	_root.coment_txt.text = loadDados.childNodes[0].childNodes[PROBLEMA AQUI!].attributes.coment;};

O problema que estou tendo é que não consigo achar uma referencia para que o comentário seja exibido.

Alguém saberia dizer como faço para solucionar isso?

Acho que vai ser preciso dar uma boa olhada no código do meu primeiro post pra poder entender o que está acontecendo.

 

 

Muito obrigado!!

 

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia pessoal!!

 

 

depois de muito penar e procurar, entrei em contato com o Lucas Ferreira (criador da gelria em questão) e ele me passou a maneira de colocar comentário nesta aplicação.

 

As seguintes áreas do código devem ser alteradas:

 

 

 

//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;	//adicionando a descrição em cada objeto de foto	novaimg.data = f[i].attributes.desc;	fotos.push(novaimg); //inserindo objeto no array   }

 

 

_root.miniaturas["fp_"+info.iObj].data = fotos[info.index].data;_root.miniaturas["fp_"+info.iObj].data = fotos[info.index].data;  //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);//aqui ao clicar puxa o item data de cada foto e exibi no campo criadodescricao.text = this.data;  }

 

e no XML...

<foto fp="imgs/foto1p.jpg" fg="imgs/foto1g.jpg" desc="descrição"/>

 

é isso aí!

 

 

abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.