Ir para conteúdo

POWERED BY:

Arquivado

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

rafinhaphp

preloader individual?

Recommended Posts

Salve galera...

alguem pode me ajudar... seguinte:

 

 

eu tenho uma galeria de fotos que chama todas as fotos por movieClipLoader()

 

não sei se é nessessario postar o script mas vo postar!rsrsrsrs

//botão - 01
//habilita o XML
System.useCodepage = true; //Habilita acentos
var arquivo:XML = new XML();//Cria a variával para ler o XML;
arquivo.load("galeria.xml");// manda a variavel ler o arquivo.xml
arquivo.ignoreWhite = true;//habilita espaços em branco
arquivo.onLoad = function(){ //após a leitura do XML execulta a ação

_root.galeria.menu.b1.createEmptyMovieClip("foto",1);
//variavel pra carregar a foto por MovieClipLoader
var carrega : MovieClipLoader = new MovieClipLoader();

// tranfora nó em variavel
var foto = this.childNodes[0].childNodes[0].attributes.imagem;
var TamanhoFoto = this.childNodes[0].childNodes[0].attributes.TamanhoFoto;
var TamanhoIcone = this.childNodes[0].childNodes[0].attributes.TamanhoIcone;



// quando apertar o botão 1
_root.galeria.menu.b1.onPress = function(){
	//cria um MC
	_root.galeria.foto.createEmptyMovieClip("foto",1);
	//carrega a foto no MC foto
	carrega.loadClip(foto,_root.galeria.foto.foto);
	
	
// função pra pegar tamanho
//a variavel pegaTamanho vai ser um obj
var pegaTamanho:Object = new Object();
//declara oque o obj vai fezer
pegaTamanho.onLoadInit = function(){
	setProperty(_root.galeria.foto.foto, _xscale, TamanhoFoto);
	setProperty(_root.galeria.foto.foto, _yscale, TamanhoFoto);

var tamanhoX = _root.galeria.foto.foto._width;
var tamanhoY = _root.galeria.foto.foto._height;

	setProperty(_root.galeria.foto.foto, _x, -tamanhoX/2);
	setProperty(_root.galeria.foto.foto, _y, -tamanhoY/2);
}
//carrega o obj pegaTamanho
carrega.addListener(pegaTamanho);
	
}// fecha o onPress




//carrega foto
carrega.loadClip(foto,_root.galeria.menu.b1.foto);

setProperty(_root.galeria.menu.b1.foto, _xscale, TamanhoIcone);
setProperty(_root.galeria.menu.b1.foto, _yscale, TamanhoIcone);


// função pra pegar tamanho
//a variavel pegaTamanho vai ser um obj
var pegaTamanho:Object = new Object();
//declara oque o obj vai fazer
pegaTamanho.onLoadInit = function(){
	
	
var tamanhoX = _root.galeria.menu.b1.foto._width;
var tamanhoY = _root.galeria.menu.b1.foto._height;

	setProperty(_root.galeria.menu.b1.foto, _x, -tamanhoX/2);
	setProperty(_root.galeria.menu.b1.foto, _y, -tamanhoY/2);
}
//carrega o obj pegaTamanho
carrega.addListener(pegaTamanho);


}//fecha onLoad "XML"

 

galera, axo que o script ta meio "bagunçado" mas sou iniciante ainda, tenhu muito oque aprender!

 

oque eu gostaria é de fz com que cada foto tenha um preloader individual... tipo eu camho a foto 1.jpg... ai enquanto ela é carregada mostre "CARREGANDO 55%" por exemplo.

sei que issu é baba de c fz! mas como jah disse, sou iniciante... c alguem puder postar ai, ou me indicar um bom tutorial!

 

desde jah... valeuuuuuuuuuuuu! ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu dei uma busca aqui no google e encontrei esse script aqui ó.. fiz o teste e funciono bem!

 

//criamos o movieclip que carregará nosso arquivo
this.createEmptyMovieClip("loadct",1);
 
//criamos o objeto MovieClipLoader
var obJmcl:MovieClipLoader = new MovieClipLoader();
 
//criamos um objeto parece receber os eventos do MovieClipLoader
var obJact:Object = new Object();
 
//criamos as ações para o evento onLoadProgress (enquanto estiver carregando)
obJact.onLoadProgress = function(mc, bt, tt):Void  {
	var pc = Math.round((bt/tt)*100);
	//exibimos a porcentagem carregada
	textload.text = pc+"%";
};
 
//criamos as ações para o evento onLoadComplete (ao completar o carregamento)
obJact.onLoadComplete = function(mc):Void  {
	//ocultamos a porcentagem
	textload._visible = false;
};
 
//registramos o objeto com as ações dos eventos no MovieClipLoader
obJmcl.addListener(obJact);
 
//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip("foto.jpg",loadct);
 
stop();

 

 

mas aquilo, eu sou totalmente contra COPIAR E COLAR, porq como estou aprendendo, nun vou aprender nada com issu.....

 

e eu tentei entendei esse script e nun consegui.. .entendi que cria um MC pra carrega a foto, até ai tudo bem... mas eu jah nun intendi essa barte do objeto!

 

 

e outra coiz, eu axei ele meio grandinho só pra fz um preloader, tem como "enchugar" ele?

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. intom to ligado q é esse evendo...onLoadProgress

mas nun sei como usar ele saks?

pode postar um exemplo simples?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando postei, não reparei que você já havia postado, mas é esse cód aí mesmo...

 

Nesse cód que postou (por sinal já comentado para fácil entendimento) já tem o evento "onLoadProgress"...

Você cria uma cx de texto dinâmico e através do evento mostra o percentual carregado, depois através do evento "onLoadComplete", você torna a cx de texto invisível.

- Pode até parecer um cód. grande, mas é bem completo e funcional, vai descobrir isso a medida que foor utilizando.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow... funciono legal.. criei o campo de texto, fico uma maravilha! rsrsrs

mas o problema é... imagina q eu tenha uma galeria de 200 imgs... e cada img q eu for carrega vo ter q uz um cript como esse vai fk enorme.... ai eu pensei em fz assim:

 

transforma issu em uma função.... mas nun rolo... ve ai onde ta o erro?

a 1° img até carrega mas a outra ñ! =/

 

var carrega = function(endereço){
	
	
//criamos o movieclip que carregará nosso arquivo
this.createEmptyMovieClip("foto",1);
 
//criamos o objeto MovieClipLoader
var obJmcl:MovieClipLoader = new MovieClipLoader();
 
//criamos um objeto parece receber os eventos do MovieClipLoader
var obJ:Object = new Object();
 
//criamos as ações para o evento onLoadProgress (enquanto estiver carregando)
obJ.onLoadProgress = function(mc, bt, tt):Void  {
	var pc = Math.round((bt/tt)*100);
	//exibimos a porcentagem carregada
	textload.text = pc+"%";
};
 
//criamos as ações para o evento onLoadComplete (ao completar o carregamento)
obJ.onLoadComplete = function(mc):Void  {
	//ocultamos a porcentagem
	textload._visible = false;
};
 
//registramos o objeto com as ações dos eventos no MovieClipLoader
obJ.addListener(obJ);
 
//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip(endereço,foto);
 

  setProperty("foto", _xscale, 20);
  setProperty("foto", _yscale, 20);
 
}
 
carrega("foto1.jpg");
carrega("foto2.jpg");

 

 

ta correto meu "pensamento"???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo, transforma em função, e utiliza onde quiser na Timeline, chamando-a e informando apenas o nome do arquivo a ser carregado.

carrega = function (adress:String) {
	//criamos o movieclip que carregará nosso arquivo
	this.createEmptyMovieClip("foto", this.getNextHighestDepth());
	//criamos o objeto MovieClipLoader
	var obJmcl:MovieClipLoader = new MovieClipLoader();
	//criamos um objeto parece receber os eventos do MovieClipLoader
	var obJ:Object = new Object();
	//criamos as ações para o evento onLoadProgress (enquanto estiver carregando)
	obJ.onLoadProgress = function(mc, bt, tt):Void  {
		var pc = Math.round((bt/tt)*100);
		//exibimos a porcentagem carregada
		textload.text = pc+" %";
	};
	//criamos as ações para o evento onLoadComplete (ao completar o carregamento)
	obJ.onLoadComplete = function(mc):Void  {
		//ocultamos a porcentagem
		textload._visible = false;
	};
	//registramos o objeto com as ações dos eventos no MovieClipLoader
	obJ.addListener(obJ);
	//carregamos o arquivo dentro do movieclip criado
	obJmcl.loadClip(adress, foto);
	setProperty(foto, _xscale, 20);
	setProperty(foto, _yscale, 20);
};


// Na timeline para carregar alguma imagem, basta chamar a função e informar o nome da imagem, ex:
carrega("img1.jpg");

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow manin, nun funciono non... tipo, assim funciona:

 

 

carrega("foto1.jpg");

 

mas assim não:

carrega("foto1.jpg");

carrega("foto2.jpg");

 

=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona sim!!!, só que você chamou a foto1 e na sequência a foto2, nesse caso a foto1 já era porque entrou a foto2, sacou?

Se quiser carregar várias imagens, tem que rolar um laço for (loop) e acertar o posicionamento para que uma não fique sobre a outra.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

intom nun vai adiantar tipo:

 

 

 

carrega("foto1.jpg");

carrega("foto2.jpg");

carrega("foto3.jpg");

carrega("foto4.jpg");

;..........

carrega("foto220.jpg");

 

só se for com um for()??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo, para carregar várias imgs, ou carrega e acerta a posição manualmente (já imaginou o trabalho)...

Ou facilita tudo, utilizando o laço de repetição (loop for).

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom.. acredito q estou qz lah! rsrsrsrs

 

eu fiz issu aqui ó, mas só carrego uma ainda! =/

onde esta o erro?

 

var carrega = function(endereço:String, depth:Number){ 

//criamos o movieclip que carregará nosso arquivo
this.createEmptyMovieClip("foto",depth);

//criamos o objeto MovieClipLoader
var obJmcl:MovieClipLoader = new MovieClipLoader();

//criamos um objeto parece receber os eventos do MovieClipLoader
var obJact:Object = new Object();

//criamos as ações para o evento onLoadProgress (enquanto estiver carregando)
obJact.onLoadProgress = function(mc, bt, tt):Void  {
	var pc = Math.round((bt/tt)*100);
	//exibimos a porcentagem carregada
	textload.text = pc+"%";
};

//criamos as ações para o evento onLoadComplete (ao completar o carregamento)
obJact.onLoadComplete = function(mc):Void  {
	//ocultamos a porcentagem
	textload._visible = false;
};

//registramos o objeto com as ações dos eventos no MovieClipLoader
obJmcl.addListener(obJact);

//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip(endereço,foto);

setProperty(foto, _xscale,20);
setProperty(foto, _yscale,20);
setProperty(foto, _alpha,25);

};


for(var i = 1; i< 3; i++){
	carrega("foto" + i + ".jpg", i);
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

errrrrrrr....

 

Faltou você adicionar o posicionamento de cada foto....

 

Pois no código acima você só vai colocar uma sobre a outra sobre outra... e assim sucessivamente....

Você tem de mudar o x e o y da foto para que ele crie em lugares diferentes...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow.. dissu eu sei, e pro issu que eu coloquei um alpha de 25%.. pra pode ver c ta uma sobre a outra... mas nun ta non!=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa ae, fiz meio na correria aqui.

carrega = function(endereço:String, foto:String){
//criamos o objeto MovieClipLoader
var obJmcl:MovieClipLoader = new MovieClipLoader();
//criamos um objeto parece receber os eventos do MovieClipLoader
var obJact:Object = new Object();
//criamos as ações para o evento onLoadProgress (enquanto estiver carregando)
obJact.onLoadProgress = function(mc, bt, tt):Void  {
	var pc = Math.round((bt/tt)*100);
	//exibimos a porcentagem carregada
	textload.text = pc+"%";
};
//criamos as ações para o evento onLoadComplete (ao completar o carregamento)
obJact.onLoadComplete = function(mc):Void  {
	//ocultamos a porcentagem
	textload._visible = false;
};
//registramos o objeto com as ações dos eventos no MovieClipLoader
obJmcl.addListener(obJact);
//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip(endereço, foto);
};

var totalImg:Number = 3;
for (var i:Number = 0; i<totalImg; i++) {
	this.createEmptyMovieClip("foto"+i, this.getNextHighestDepth());
	this["foto"+i]._x = i * 50;
	carrega("foto"+i+".jpg", this["foto"+i]);
}

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aweeeeeee... deu ctu! mas aina non totalmente...

ele carrego as imgs!

mas só funciono um preloader! os outro não funiono!

mas deve ter q colok o mesmo esquema do for() no nome do objt......

mas nun consegui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eita, tá fazendo as coisas picado...

Melhor você esquecer a função "carrega" e jogar os eventos dentro do laço "for", e utilize o evento "onLoadStart" para criar uma cx. de texto dinâmica para apresentar o percentual..., dessa forma você consegue apresentar um preloader individual para cada img carregada.

 

Abs.

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.