GUILHERME G.G. (137 pts)

HELEN TRIOLO (444 pts)

RICARDO TEIXEIRA (40 pts)

MARCOS JOSÉ PINTO (44 pts)

EDUARDO PERROUD (52 pts)

ÉMERSON ROCHA (85 pts)

NILTON BICALHO (61 pts)

MARLOS ALVES CARMO (90 pts)

PANDOGO (82 pts)

FLASHGURU (155 pts)

LUI FERNANDO (151 pts)

GUILHERME SCHEIBE (49 pts)
Treinamento PontoFlash de Flash e ActionScript

Usando o método split para criar uma array de uma string?

Como fazer um jogo de perguntas e respostas?

Como simular uma animação de um círculo sendo criado dinamicamente?

Como eu faço para checar quantos elementos de uma array é igual a "1"?

Como mudar a cor de campos de texto no HTML?

Como eu faço para criar um arrays de variáveis com um índice?

Como editar a fonte do Label de um compontente RadioButton?

Como fazer um radiobutton acionado por default no html.

Porque as fotos de meu site ficam horríveis quando abertas em fullscreen?

Como mudar de campo pela tecla TAB?

Como mandar um comando de um movieclip para um outra cena?

Novos recursos para o objeto Sound do FlashMX.

Tem como abrir um PDF (acrobat reader) entro do Flash? Pode ser com Delphi?

Como mudar a cor de um botão no mouse Over?
Curiosidades.

Grandene - Avaliação e sites

Objeto Array: métodos sort() e reverse().

Animate - Fireworks

Objeto XML - importando para o Flash

Executar funções de JavaScript (Flash+JavaScript).

Enviando EMAIL com ASP, COLDFUSION E PHP

Novas propriedade de botões no FireworksMX

Scroll dinâmico no Flash 5.

Line Draw

Formulário usando Flash e PHP

Jpeg, Gif, texto, gradientes X slices no Fireworks
Magnetismo

Imã

Spiral show

Catavento2

Message Board Flash+PHP

F5scrolltext

Menu vai e vem

batatoso

Luz

Menu HitTest

Code Elastic

Line trail e random
HOME | TUTORIAIS
Preloader real no Flash5.
por Fissunix

Enfim!
O verdadeiro preload chegou com o Flash 5. Agora usaremos apenas os métodos getBytesTotal (tamanho total do arquivo ou do target em bytes) e getBytesLoaded (bytes carregados). Além disso, basta colocar uma instância do movie clip preloader (não se esqueça das ações) sobre sua cena e você terá imediatamente um preloader. Ele funciona automaticamente sem nenhuma modificação. Não é um xuxu? :-)

 

Esse preloader oferece como informações:
1 - a porcentagem carregada (variável: percent)
2 - o tamanho final com a detecção da unidade de tamanho (bytes, kilobytes ou megabytes) (variável: total)
3 - uma barra de progressão (movie clip: progress_bar)
4 - uma seta de progressão com o tamanho já carregado (movie clip: progress_flecha com variável flecha). Observemos o código de preloader :

onClipEvent (load) {
   if (_root.getBytesTotal()<1000) {
      unidade = "bytes";
      total = Math.floor(_root.getBytesTotal()) + unidade;
   } else if (_root.getBytesTotal()>1000000) {
      unidade = "mb";
      total = Math.floor(_root.getBytesTotal() /1000000) + unidade;
   } else {
      unidade = "kb";
      total = Math.floor(_root.getBytesTotal() /1000) + unidade;
   }
}
onClipEvent (enterFrame) {
   percent = Math.floor( _root.getBytesLoaded()/_root.getBytesTotal()*100)+"%";
   if (unidade =="bytes") {
      progress_flecha.flecha = Math.floor(_root.getBytesLoaded()) + "bytes";
   } else if (unidade=="mb") {
      resultat = _root.getBytesLoaded() /1000000;
      resultat = Math.round(resultat*100);
      resultat = resultat/100;
      progress_flecha.flecha = resultat + "mb";
   } else {
      progress_flecha.flecha = Math.floor(_root.getBytesLoaded() /1000) + "kb";
   }
}

Todo o conteúdo de onClipEvent (load) serve unicamente para determinar o tamanho total com a unidade correta. O tamanho está lá: _root.getBytesTotal(). Utilizamos _root porque queremos a timeline principal. Com Math.floor(), transformamos total num número inteiro (exemplo: 1.2 se transforma em 1).

Se total é < 1.000, falamos de bytes, se > 1.000.000, trata-se de Mbytes e assim por diante.

Em onClipEvent (enterFrame), começamos por calcular a porcentagem carregada:
O cálculo é o seguinte: flecha*100/total=percent
Queremos um número inteiro, portanto utilizamos Math.floor(), a cujo valor adicionamos o símbolo "%" como string:
percent = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)+"%";

O código a seguir serve para mostrar os dados já carregados. Trata-se da variável flecha no clip progress_flecha.
Escrevemos assim essa variável: progress_flecha.flecha

Nota: Repare que não utilizamos nem _parent nem _root porque o movie clip progress_flecha está DENTRO do movie clip preloader!

A seguir, verificaremos qual a unidade usada.
- Se são bytes, o procedimento é o mesmo, agora utilizando getBytesLoaded
- Se são Mb, é preciso prestar atenção a Math.floor() porque não queremos transformar 0,5 Mb em 0 Mb! :-)
Então deslocamos a vírgula multiplicando o valor por cem e só depois convertemos ao número inteiro com Math.round() e dividimos novamente por cem para obter resultados como 1,23 Mb ou 10,2 Mb (o que quer dizer pesado à beça, de qualquer forma)
- Para os kb, o problema não se apresenta. Basta deslocar os clips de progressão.

Eis o código do movie clip da barra de progressão (progress_flecha).

onClipEvent (enterFrame) {
   this._x = Math.floor( _root.getBytesLoaded()/_root.getBytesTotal()*100);
}

Colocamos então esse clip sobre os x do valor da porcentagem. Não esqueça de colocar o clip sobre x=0 também! E fazemos o mesmo para o clip progress_flecha!

Para a ação após o preloader, adicionei esse código:

onClipEvent (enterFrame) {
   if (percent =="100%") {
      _root.gotoAndStop(10);
   }
}

Assim, quando a percentagem chegar a "100%", iremos para a imagem 10 da cena principal.

Adaptem esse código à sua necessidade - play ou stop, outro número de imagem, _parent ao invés de _root para os movies clips envolvidos etc... vocês escolhem :-) Bom preload!

Dois erros a evitar:

1- Fazer apenas um goto sem _root: envia-se para uma imagem no preloader e não na cena. Assim não acontece nada!

2- Esquecer de suprimir o preloader a partir da imagem 10 (no nosso exemplo), já que se você fizer um gotoandPlay, haverá conflito com o "enterframe" do preloader, que travará sempre sobre a imagem 10 quando você quiser avançar!

Esse tutorial inédito, foi criado com exclusividade, em língua francesa, para Falkenzone, por Fissunix da Tolito Produções- 2000

Faça o download de um exemplo.



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário