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.
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'.
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.