gbs 0 Denunciar post Postado Fevereiro 2, 2009 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(); Pronto, o Preloader já está funcionando. 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(); E além dos métodos addListener e loadClip utilizados no Preloader, temos também o getProgress, o removeListener e o unloadClip que seriam utilizados da seguinte forma: //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(); É uma classe perfeita para trabalharmos com o carregamento de arquivos, sem dúvidas. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Fonte: http://www.guilhermebaptista.com.br/blog/2...oviecliploader/ Compartilhar este post Link para o post Compartilhar em outros sites