Olá pessoal vou ensinar como fazer um preload simples e rápido, vou mostrar um código fácil, assim poderá reutilizar como biblioteca sempre que precisar.
Vamos ao trabalho, abra os eu flash e no palco principal crie um texto dinâmico onde receberemos porcentagem que sera lida e baixada na máquina do usuário e de o nome a sua varável de “porcentagem”, caso queira colocar uma barra crie uma barra do tamanho que quiser transforme-a em clip de filme e instancia-a como o nome barra.
Um detalhe importante aqui é deixar o poto de registro no canto esquerdo, isso para que barra vá “crescendo” da esquerda para a direita, caso queira algo diferente como do centro para as bordas deixe o ponto de registro no meio e por a vai.
Outra coisa legal criar um daqueles cÃrculos “infinitos”, logo postarei algo para isso…
Continuando, agora junte tudo e transforme em um clipe de filme, depois disso selecione este novo clipe de filme e abra o painel de ações e digite o código abaixo e veja os comentários:
//Ao chegar aqui no clip de filme guarde na variável total // o valor total do seu flash onClipEvent (load) { total = _root.getBytesTotal(); } // Agora enquanto o flash roda... onClipEvent (enterFrame) { //Guarda aqui o valor de arquivos já lidos do flash loaded = _root.getBytesLoaded(); //E nsta varável calcula a porcentagem do que já foi lido com o total percent = int(loaded/total*100); //Salva nesta varável para preencher a porcentagem carregada porcentagem = percent+" %"; //E aqui o tamanho da barra é proporcional a porcentagem já carregada barra._xscale = percent; //Para o clipe de fime geral a chegar aqui. gotoAndStop(percent); //Então se o total lido é igual ao total carregado... if (loaded == total) { //solta o "play macaco!" rss... _root.Play(); } }
É só isso ai, para testar no frame um coloque este filme e no frame 2 coloque uma foto de tamanho considerável, coloque stop neste frame, tecle ctr+enter e depois de abrir a tela pressiona novamente ctr+enter e veja o preload funcionando.
Tweet |