Ir para conteúdo

POWERED BY:

Arquivado

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

Ayami

Galeria de Imagens, não tão simples...

Recommended Posts

Gente, to tendo um problema, quero fazer uma galeria de fotos com vários títulos.

Eu clico no título, e a galeria aparece de acordo com o título, são várias galerias num xml só.

primeiro estou criando um movieclip com txtbox que vão conter o título das galerias para depois transformalos em botões. mas o numero de galerias não vai ser definido, tem que ser algo genérico, mudado apenas no xml.

comecei assim, apenas criando caixas txt pra cada título e deixando elas uma do lado da outra mas parece que o flash não me deixa criar caixas de texto com nomes diferentes. tipo caixa (gerando a caixa1 a caixa2 etc..)

O que acham q posso fazer?

 

 

import flash.text.TextField;  
import flash.text.TextFormat;  
import flash.text.TextFieldAutoSize;  

//cria o objeto com o endereço(URL) a ser carregado
var endereco:URLRequest = new URLRequest("test.xml")

//cria o objeto que carregará
var loader:URLLoader = new URLLoader();

//crio a Array que vai conter as galerias
var Galer:Array = new Array();

//Função de carregamento completo
function onComplete(event:Event) {
	var xml = new XML(event.target.data);
	var totGal = xml.galeria.length();
   	trace(totGal);
   	for(var i:Number = 0; i < totGal; i++){
			Galer[i] = xml.galeria[i]; 
			var label_txt[i]:TextField;
		   	var GalDescri:String = xml.galeria[i].@id;
			trace(GalDescri);
				label_txt[i] = new TextField();
			label_txt[i].defaultTextFormat = new TextFormat( 'Helvetica', 10, 0xFBFB98 );
					mouseEnabled = false; 
						   
			label_txt[i].y =0;
			BotGal.addChild(label_txt);
			label_txt[i].text = GalDescri; 
			var larg:Number = label_txt.textWidth
			label_txt[i].autoSize = label_txt.autoSize
			label_txt[i].x= 0 + larg*i
			
			}
			
}


//adiciona a função ao Listener
loader.addEventListener(Event.COMPLETE, onComplete);

//carrega o arquivo xml
loader.load(endereco);

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa forma esta errada mesmo:

 

 

for(var i:Number = 0; i < totGal; i++){

			var label_txt[i]:TextField;
			label_txt[i] = new TextField();
			BotGal.addChild(label_txt[i]);
			label_txt[i].text = GalDescri; 

}

 

 

tente assim:

 

 

for(var i:Number = 0; i < totGal; i++){

			var label_txt:TextField = new TextField();
			label_txt.name = "label"+i
			BotGal.addChild(label_txt);
			label_txt.text = GalDescri;  

}

 

caso você precise pegar essa caixa use :

 

var caixa:TextField  = BotGal.getChildByName("label1")

[]´s

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.