Jump to content


Jonas Galvez

Member Since 12/09/2003
Offline Last Active 26/03/2004, 16:58
-----

Topics I've Started

Preloader Com Barra De Porcentagem

13/09/2003, 08:10

Pessoal, vi que houve uma pergunta sobre como criar um preloader, mas ao tentar responder o post, notei que ele estava fechado. Bom, há algum tempo atrás, escrevi uma breve explicação em forma de tutorial sobre o assunto. Acho que poderá ajudar mais alguém, por isso estou abrindo um novo post :)

Tutorial

1) Reserve o 1º frame do seu movie para o preloader. Neste primeiro frame, desenhe a barra de progresso e aperte F8 para transformá-la em um movieclip. Na caixa de diálogo Convert to Symbol, defina o ponto de registro do movieclip no ponto esquerdo central.

Posted Image

Selecione o movieclip, abra o painel Properties e dê à ele o nome de instância 'barra' (sem as aspas).

2) Crie um campo de texto dinâmico, logo abaixo do barra, com o nome de instância 'porcentagem'.

Posted Image

3) Selecione o primeiro frame na timeline e abra o painel Actions. Você irá colar o seguinte script:

this.stop();
this.barra._xscale = 0;
this.carregador = function() {
    var total = this.getBytesTotal();
    var carregado = this.getBytesLoaded();
    var pct = Math.floor(carregado*100/total);
    this.porcentagem.text = pct;
    this.barra._xscale = pct;
    if(total > 4 && pct == 100) {
        this.gotoAndStop(2);
        clearInterval(this.interval);
    };
};
this.interval = setInterval(this, "carregador", 200);

E seu preloader está pronto. Usei a função setInterval para executar uma função continuamente num intervalo de tempo (200 milissegundos). As variáveis total e carregado armazenam, respectivamente, o número de bytes do SWF e o valor de bytes carregados (durante o ciclo de execução da função). A variável pct armazena a porcentagem de bytes carregados, que é usada para definir o valor da propriedade _xscale (largura em porcentagem) da barra de progresso e do campo de texto 'porcentagem'. Por último, inseri uma condicional IF para verificar se a porcentagem é 100, e caso este seja o caso, a função deixa de ser executada continuamente e o frame 2 do movie é exibido. Eu também verifiquei se o valor total de bytes é maior que 4, que é valor padrão para movieclips vazios.

IPB Skin By Virteq