Ir para conteúdo

POWERED BY:

Arquivado

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

Vinicius R3

Preloader para carregar imagens dinamicas

Recommended Posts

Olá, Pessoal! Estou iniciando aqui e espero ajudar e ser ajudado por todos aqueles que gostam desta incrível ferramenta que é o Macromedia Flash.

 

Continuando os exemplos de carregamento de imagens ou swf, vou apresentar para vocês como fazer um preload importando uma imagem dinâmicamente usando o evento onEnterFrame( Parte 1) e em outra matéria usando Listners (Parte 2). Essa imagem é um *.jpg (Não progressivo), lembrem-se de que o Flash não trabalha com imagens progressivas.

 

Bom, deixa de "lero lero" e vamos direto ao que interessa.

 

Crie um novo arquivo no Flash de width:400px e height:200px e crie inicialmente três camadas. A primeira camada chame-a de fundo , a segunda chame-a de barra e a terceira chame-a de acoes .

 

Imagem Postada

 

Na camada(layer) fundo, desenhe um fundo qualquer, no caso eu desenhei um retângulo e pintei usando um gradial linear de cinza para branco.

 

Na camada barra, desenhe um retângulo e defina a parte de dentro do retângulo como MovieClip ( clique na parte de dentro do retângulo e aperte F8 e converta em MovieClip). Observe que quando você criar o MovieClip, vai aparecer uma caixinha do lado direito indicando o sentido do MovieClip, coloque ela para esquerda de acordo como esta a figura abaixo:

 

Imagem Postada

 

Após feito isso, clique novamente em cima do MovieClip barra_mc e dê seu nome de instância de barra .

 

Imagem Postada

 

Continuando, vá até a camada acoes, clique com o botao direito no 1º frame (quadro), escolha ações (actions) e digite o seguinte código:

 

//Código de carregamento de imagem

_root.createEmptyMovieClip("imagem", 1);

 

imagem.loadMovie("suaimagem.jpg");

 

barra.onEnterFrame = function() {

 

filmeTotal = imagem.getBytesTotal();

 

filmeBaixado = imagem.getBytesLoaded();

 

baixando = (filmeBaixado/filmeTotal)*100;

 

barra._xscale = int(baixando);

 

if(baixando= =100){

 

delete this.enterFrame();

 

};

 

};

 

Imagem Postada

 

Comentário do Código

 

_root.createEmptyMovieClip("imagem",1);

//Estou criando um MovieClip dinâmicamente com o nome de imagem , no nível 1

imagem.loadMovie(" suaimagem.jpg ");

//Estou dizendo para o MovieClip Imagem que carregue a imagem suaimagem.jpg

//Dica: você também pode usar um arquivo *.swf no lugar de *.jpg

//Estou criando uma função que diz para o MovieClip Barra,quando ele for carregado, ele execute o código abaixo:

barra.onEnterFrame = function() {

filmeTotal = imagem.getBytesTotal(); //Carrega o total da imagem na variável filmeTota l

filmeBaixado = imagem.getBytesLoaded(); //Carrega o total baixado da imagem na variável filmeBaixado

baixando = (filmeBaixado/filmeTotal)*100; //Isso é a porcentagem sendo guardada na variável baixando

barra._xscale = int(baixando); //Faz com que o MovieClip barra ande da esquerda para direita

if(baixando = = 100){

delete this.enterFrame(); //Deletando o evento onEnterFrame quando baixando for 100

};

};

 

 

Detalhe: Se eu não tirar o evento onEnterFrame, ele ficará usando o processamento de sua máquina ou máquina do usuário. Portanto usem o delete this.enterFrame();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem poderia me ajudar como posso fazer com que ele caia de cima da tela e comece a carregar??? e após carregado o swf ou a imagem ele desaparer???Por favor deem uma mãozinha...Valews

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi direito sua pergunta,

 

mas para fazer ele desaparecer seria aqui

 

if(baixando= =100){   //faz sumir a barra   _root.barra._visible = false   delete this.enterFrame();};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom gostaria que rodasse uma animação mostrando a barra descendo do topo da pagina para o centro e somente depois disto começar o carregamento do preloader. Deu pra entender??? Eh q eu me espresso mto mal...kkkkkkkkkkkkkE valews pela dica.

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.