Ir para conteúdo

Arquivado

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

stromdh

Galeria Flash e XML

Recommended Posts

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

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

×

Informação importante

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