Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Para nossos testes, vamos utilizar uma imagem grande, um arquivo JPEG de 1,66mb: foto.jpg
Neste exemplo iremos criar um SWF para carregar a nossa imagem JPEG, mas também pode ser utilizado para carregar arquivos SWF, GIF ou PNG.
Primeiro criamos um texto dinâmico para exibir a porcentagem com o nome de instância “textload”.
Depois inserimos no frame onde está o texto dinâmico (e onde será carregada a imagem) o seguinte código:
//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();Com este tutorial chegamos ao resultado: preloader2.swf
Arquivo FLA deste exemplo: preloader2.fla (não preciso falar que pra funcionar no seu computador você precisa colocar o arquivo foto.jpg na mesma pasta néh?) :P
A classe MovieClipLoader
Esta classe, diferente do método MovieClip.loadMovie(), nos oferece eventos que podemos utilizar durante o carregamento de nosso arquivo externo.
Como já dito, ela aceita arquivos JPEG, SWF, GIF ou PNG.
No Preloader temos um exemplo do seu funcionamento e, além dos eventos onLoadProgress e onLoadComplete utilizados, temos também o onLoadError, o onLoadInit e o onLoadStart, que poderíamos utilizar assim:
//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;
};
//criamos as ações para o evento onLoadInit (ao iniciar o carregamento)
obJact.onLoadInit = function(mc):Void {
trace("load iniciado");
};
//criamos as ações para o evento onLoadStart (caso seja um SWF, será executado no
//primeiro frame do arquivo carregado ou, caso seja uma imagem será executado após
//a leitura da mesma...
obJact.onLoadStart = function(mc):Void {
trace("arquivo iniciado");
};
//criamos as ações para o evento onLoadError (caso ocorra algum erro no carregamento)
obJact.onLoadError = function(mc, erro, httpstatus):Void {
trace("ocorreu um erro: "+erro+" - httpstatus: "+httpstatus);
};
//registramos o objeto das ações dos eventos no MovieClipLoader
obJmcl.addListener(obJact);
//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip("foto.jpg",loadct);
stop();//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+"%";
//outra opção para acompanhar o progresso do carregamento...
var lPr = obJmcl.getProgress(mc);
trace(lPr.bytesLoaded+" de "+lPr.bytesTotal+" carregados");
};
//registramos o objeto das ações dos eventos no MovieClipLoader
obJmcl.addListener(obJact);
//podemos remover o objeto das ações dos eventos que está no MovieClipLoader
obJmcl.removeListener(obJact);
//carregamos o arquivo dentro do movieclip criado
obJmcl.loadClip("foto.jpg",loadct);
//podemos remover o arquivo carregado dentro do movieclip criado
obJmcl.unloadClip(loadct);
stop();Fonte: http://www.guilhermebaptista.com.br/blog/2...oviecliploader/
Carregando comentários...