Ir para conteúdo

POWERED BY:

Arquivado

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

marcus aurélio

Aos avançados no ACTION SCRIPT

Recommended Posts

Olá.. obrigado por estar lendo esse tópico. Estou fazendo um flash que faz uma galeria dinâmica. e tem um probleminha qe não estou entendendo o porque não está pegando. <_<

 

É o seguinte:

function antes(num:Number){

//* FUNÇÃO QUE CRIA OS THUMBNAILS--

for (var a=0; a <= arquivo.childNodes[0].childNodes.length; a++) {

//do {

s1.tm_popup.track.pages.for_text.thumbs.duplicateMovieClip("thumbs"+a, a);

s1.tm_popup.track.pages.for_text["thumbs"+a]._y=20+ (a*45);

s1.tm_popup.track.pages.for_text["thumbs"+a]._x=254;

loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagempb, s1.tm_popup.track.pages.for_text["thumbs"+a].pb);

loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagemcolorida, s1.tm_popup.track.pages.for_text["thumbs"+a].colorida);

j=a; //NESSE PONTO QUE NÃO ENTENDO PORQUÊ "J" NÃO RECEBE O VALOR DE "A"

s1.tm_popup.track.pages.for_text["thumbs"+a].onRelease = carregaItens(j);

 

Obs.: Se eu colocar um número qualquer pra "J" todos os botões vão carregar somente o registro de n° estático que coloquei, ou seja dá certo! Mas tem que ser dinâmico, tem que ser o valor de a. pq não dá certo?

 

Valeu ao pessoal aí do forum que está sempre disposto a ajudar agradeço.

 

Obs.: Por favor não passem link de outras galerias já prontas na net. Não dá pra refazer já levei muito tempo com essa.

http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Valeu!

Segue o código do 1º frame, o que carrega quase tudo.

System.useCodepage = true;

//Declaração 
var espaco:MovieClip;
var anterior:Button;
var proximo:Button;
var titulo:TextField;
var legenda:TextField;
var j:Number = 0;
var a:Number = 0;


//Declaração do XML
var arquivo:XML = new XML();
//Arquivo que será carregado
arquivo.load("http://www.oficina5.com.br/galeria_flash2.php");
//Ignorar espaços em branco do XML
arquivo.ignoreWhite = true;
//função responsável pela exibição das imagens
function carregaItens(num:Number) {
	//verifica a quantidade de ítens do XML
	qteXml = arquivo.childNodes[0].childNodes.length;
	//quando for clicando e chegar ao final das imagens, carrega a primeira novamente
		   if(j>=qteXml){
			 j=0;
		   //quando for clicando e chegar ao início das imagens, carrega a última
		  } else if(j<0){
		   j=qteXml-1;
		 	}
	//carregar a imagem dentro do MovieClip "espaco"
	espaco.loadMovie(arquivo.childNodes[0].childNodes[j].attributes.imagem);
	//atribuindo o valor ao DynamicText "titulo"
	titulo.text = arquivo.childNodes[0].childNodes[j].attributes.titulo;
	//atribuindo o valor ao DynamicText "legenda"
	legenda.text = arquivo.childNodes[0].childNodes[j].attributes.legenda;
	// atribuindo o valor de ID a uma variavel
	id.text = arquivo.childNodes[0].childNodes[j].attributes.id;

	
	 
}
function antes(num:Number){
//* FUNÇÃO QUE CRIA OS THUMBNAILS--
	for (var a=0; a <= arquivo.childNodes[0].childNodes.length; a++) {
		//do {
	s1.tm_popup.track.pages.for_text.thumbs.duplicateMovieClip("thumbs"+a, a);
	s1.tm_popup.track.pages.for_text["thumbs"+a]._y=20+ (a*45);
	s1.tm_popup.track.pages.for_text["thumbs"+a]._x=254;	
	loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagempb, s1.tm_popup.track.pages.for_text["thumbs"+a].pb);
	loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagemcolorida, s1.tm_popup.track.pages.for_text["thumbs"+a].colorida); 	
	j=a;
	s1.tm_popup.track.pages.for_text["thumbs"+a].onRelease = carregaItens(j); 		
	 
}
	}




//função para carregar o próximo ítem
function exProx(){
	j++;
	carregaItens(j);
}
//função para carregar o ítem anterior
function exAnt(){
	j--;
	carregaItens(j);
}

function exNum(){
		j=a;
	carregaItens(j);}
//carregar o primeiro item da galeria
//arquivo.onLoad = carregaItens;
arquivo.onLoad = antes;

Compartilhar este post


Link para o post
Compartilhar em outros sites

facil, faz o seguinte:

 

 

ACTIONSCRIPT
s1.tm_popup.track.pages.for_text["thumbs"+a].flag = a

s1.tm_popup.track.pages.for_text["thumbs"+a].onRelease = function(){

     carregaItens(this.flag);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oba... Valeu aê pela ajuda... porém eu vi que aquela função "carregaItens" não poderia ser usada ali, então eu fiz o seguinte:

trace(arquivo.childNodes[0].childNodes[a].attributes.imagem);

s1.tm_popup.track.pages.for_text["thumbs"+a].flag.onRelease = function(){ _root.espaco.loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagem);}

Obs.: Quando eu faço o trace ele mostra o caminho da imagem perfeitamente. Tanto que se eu substituir o caminho por "arquivo.childNodes[0].childNodes[a].attributes.imagem" dá certo.

 

Mas se ficar desse jeito que tá aí ele num roda. Pq?

 

você tem idéia do que seja isso Elder? Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ignorar os anteriores..

To quase conseguindo... Agora só tenho uma dúvida

function antes(){

 

//* FUNÇÃO QUE CRIA OS THUMBNAILS--

while (a <= arquivo.childNodes[0].childNodes.length){

 

qteXml = arquivo.childNodes[0].childNodes.length;

s1.tm_popup.track.pages.for_text.thumbs.duplicateMovieClip("thumbs"+a, a);

s1.tm_popup.track.pages.for_text["thumbs"+a]._y=20+ (a*45);

s1.tm_popup.track.pages.for_text["thumbs"+a]._x=254;

loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagempb, s1.tm_popup.track.pages.for_text["thumbs"+a].pb);

loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagemcolorida, s1.tm_popup.track.pages.for_text["thumbs"+a].colorida);

//trace(arquivo.childNodes[0].childNodes[a].attributes.imagem);

//s1.tm_popup.track.pages.for_text["thumbs"+a].flag = a;

//trace(s1.tm_popup.track.pages.for_text["thumbs"+a]);

 

s1.tm_popup.track.pages.for_text["thumbs"+a].onRelease =_root.espaco.loadMovie(arquivo.childNodes[0].childNodes[a].attributes.imagem);

a++;

}

}

Na parte negritada era pra cada novo thumbnail(miniatura) que eu criasse abrisse uma foto grande. Porém não está dando certo ele abre todos de uma vez só. Elder, você ou outra pessoa poderia me dizer onde está o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

da mesma forma que eu fiz acima

 

ACTIONSCRIPT
s1.tm_popup.track.pages.for_text["thumbs"+a].endereco = arquivo.childNodes[0].childNodes[a].attributes.imagem

s1.tm_popup.track.pages.for_text["thumbs"+a].onRelease = function(){

  _root.espaco.loadMovie(this.endereco);

}

 

 

 

mas uma dica para deixa seu código mais legível

 

 

 

ACTIONSCRIPT
while (a <= arquivo.childNodes[0].childNodes.length){

 

  qteXml = arquivo.childNodes[0].childNodes.length;

  nos = arquivo.childNodes[0].childNodes

  caixa = s1.tm_popup.track.pages.for_text

  nova = caixa.thumbs.duplicateMovieClip("thumbs"+a, a);

  nova._y=20+ (a*45);

  nova._x=254;

  loadMovie(nos[a].attributes.imagempb,         nova.pb);

  loadMovie(nos[a].attributes.imagemcolorida, nova.colorida);

  //trace(nos[a].attributes.imagem);

  //nova.flag = a;

  //trace(caixa["thumbs"+a]);

 

  nova.endereco =   nos[a].attributes.imagem

  nova.onRelease = function(){

      _root.espaco.loadMovie(this.endereco);

  }

  a++;

 

}

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.