AUTOR DESCONHECIDO (100 pts)

IRAPUAN MARTINEZ (45 pts)

EDUARDO PERROUD (52 pts)

FLASHGURU (155 pts)

MAURO ROCHA TAVARES (40 pts)

STICKMAN (155 pts)

SYDNEY GANHO (60 pts)

EDUARDO WALMOTT (226 pts)

ZEBEDIAH (35 pts)

KEN AWAMURA (130 pts)

LUIZ AVANCI (51 pts)

DEN IVANOV (260 pts)
Treinamento PontoFlash de Flash e ActionScript

Como fazer para um movie clip desacelerar em direção ao outro.

Quero colocar a data escrita por extenso em português no flash?

Quero criar um link do banner que eu criei para um ponto abaixo dentro da mesma página. O banner já esta no Dreamweaver.

É possível colocar um goTo como um link dentro de um texto associado a uma variável (texto rolante)?

Como configurar uma ação dependente da escolha em dois compontentes combobox?

Como fazer o FSCommand executar um outro arquivo no FlashMX?

Preciso urgentemente de um contrato.

Alguém sabe como evitar o cachê da máquina do usuário para um SWF?

Como desabilitar o botão direito do Mouse num executável?

Qual é a melhor maneira de transformar MP3 para Wav? E qual é a melhor de usar?

Função javascript para voltar há uma página anterior a atual.

Como fazer um efeito alpha no Flash5?

Como validar um email no Flash 5?

Como desabilitar os comandos Esc e Alt+F4 numa página do flash?
Como usar o Flash com o FrontPage?

Linha que segue o mouse.

Níveis dentro do Flash - Load Movie e Load Variables (terceira parte)

Imagens transparentes usando PhotoShop, Fireworks e Flash.

Envio de email via formulário utilizando Flash + ASP.

Gerenciando camadas no CorelDraw

Janelas com abas.

Efeito lente (máscara e zoom)

Primeiros passos - Camadas e outras coisas

Funções de actionscripts

Pre-loader simples.

Dicas para otimizar seu SWF (revisado e atualizado).
Loader Total

Textos animados

Menu Popup

Escrever

Menu vai e vem

Folha dobrada

Texto html

Prototype, exemplo simples

Bounce

Mapa do brasil

Parede

Menu Tsunami
HOME | TUTORIAIS
Load Múltiplos.
por Alexandre Porto

INTRODUÇÃO

É consenso que quando você tem um site grande com várias seções, a melhor maneira de disponibilizar seu conteúdo é dividí-lo em vários filmes linkados no menu de um filme inicial. Assim você não obriga o internauta a baixar um conteúdo que talvez ele nem queira ver. Sempre é perguntado na lista PontoFlash como poderíamos agilizar o carregamento desses filmes, sem que o internauta perceba. Isto é, camufladamente. O interessante dessa idéia é que quando ele for chamar uma seção o filme correspondente já estaria carregado.

 

Como tudo no Flash você tem várias maneiras de fazer isso. Eu escolhi uma que considero bem simples e acessível a maioria do pessoal.

A primeira questão é que esses filmes devem ser carregados em níveis diferentes e logo após o loading deve haver um frame vazio, sem conteúdo, para que ele fique "invisível" até que seja chamado pelo internauta. Nos dois filmes aqui representados, esse frame vazio é o 3. O frame com conteúdo visível é o 4.

Mas você deve estar perguntando: para quê um loading se o filme vai ser carregado sem que o internauta perceba?

Boa pergunta, mas a resposta é simples: Pode acontecer do cara clicar no botão que chama um filme ainda não carregado e aí o loading será necessário.

Você vai reparar que esse exemplo se baseia na troca dos valores de duas variáveis (_level0.botao1 e _level0.botao2, uma para cada filme) entre os três filmes ("primeiro_filme", "segundo_filme" e "terceiro_filme"). Basicamente os valores enviados para essas variáveis são três:

"Load Movie" - quando o filme está sendo carregado por detrás dos panos;
"Load Movie and go" - quando o filme for chamado pelo botão e no caso dele
ainda não estiver sido totalmente carregado e;
"Go To" - quando o filme for chamado pelo botão e no caso dele já estiver sido
totalmente carregado.

Coloquei esses valores como string para que eles sirvam também como "rótulo" dos botões, facilitando a sua compreensão. Bom, vamos deixar os entretantos e vamos diretos aos finalmentes. :)

Como fica o primeiro_filme, o que vai chamar os outros?

Nesse meu exemplo ele é um filme de apenas um frame com dois botões que controlarão os outros filmes. Nesse frame eu seto duas variáveis e mando uma instrução de load movie para os dois filmes:

_root.botao1 = "Load Movie";
_root.botao2 = "Load Movie";
loadMovieNum ("segundo_filme.swf", 1);
loadMovieNum ("terceiro_filme.swf", 2);

Criei os dois botões e coloquei numa camada acima de cada um deles, um campo de texto com a variável correspondente (botao1 e botao2). Assim o campo vai mostrar a função que o botão exercerá naquele determinado momento. No primeiro botão, o que controlará o "segundo_filme", eu coloquei as seguintes ações:

on (release) {
   if (_root.botao1 =="Load Movie") {
      loadMovieNum ("segundo_filme.swf", 1);
      _root.botao1 = "Load Movie and go";
   } else if (_root.botao1 =="Go To") {
      _level1.gotoAndStop(4);
      _level2.gotoAndStop(3);
   }
}

Vamos entender esses comandos.

Se a variável botao1 for igual a "Load Movie", quer dizer que ele ainda está sendo carregado. Lembre-se que esse valor foi setado logo no início do filme. Nesse caso eu tenho que repetir o comando de Load Movie, para priorizar seu carregamento. No entanto, se "botao1" for igual a "Go To", o filme já foi carregado e o comando dele será apenas um GotoAndStop. Além disso, eu envio os filmes para os frames que quero que sejam mostrados. Nesse caso o filme do level1 vai para o frame 4, onde está o frame com conteúdo visível e o filme do level2 para onde está o frame vazio (3).

Mas como sei quando o filme está ou não carregado?

É que quando o filme estiver carregado, um novo valor "Go To" será enviado para "botao1". Você vai ver isso daqui a pouco. Na quarta linha do código eu setei para a variável "botao1" o valor "Load Movie and go". Esse será o valor checado pelo loading dos outros filmes para ir diretamente para o frame 4, onde está o conteúdo propriamente dito e não para o frame vazio (3).

E os outros filmes como ficam?

Fiz os dois filmes iguais para facilitar. Alterei apenas a foto mostrada. Ela tem a finalidade principal de dar algum trabalho ao loading. Eles têm 4 frames. Dois para o loading (1 e 2), uma para o frame vazio (3) e o último com o conteúdo visível. Eu coloquei uma ação "if frame is load" no primeiro frame, mas você pode usar um daqueles loadings que utilizam "Get Bytes etc (você encontra tutoriais na seção avançados). Nesse filme eu também coloquei um campo de texto "vartexto" para mostrar o histórico do processo.

No primeiro frame eu coloquei:

ifFrameLoaded (4) {
   vartexto = "Filme 2 sendo carregado";
   if (_level0.botao1 =="Load Movie and go") {
      gotoAndStop (4);
   } else if (_level0.botao1 =="Load Movie") {
      gotoAndStop (3);
   }
   _level0.botao1 = "Go To";
}

Nesse código o loading checa o conteúdo de "level0.botao1". Lembre-se que o botão seta a variável com o valor "Load Movie and go". Nesse caso mando o filme diretamente para o conteúdo (frame4). Se o filme atual tiver sido carregado simplesmente pelo primeiro frame do filme principal (_level0), o valor da variável ainda é "Load Movie" e assim eu o envio para o frame 3, aquele que deixei em branco. Na última linha eu seto o valor da variável para "Go To". A partir de agora o botão correspondente a esse filme no filme principal só vai trabalhar com um Goto (tell target, na verdade), já que eu não vou fazer unload em nenhum momento. Volte para ver o código do botão mostrado acima que você vai entender isso.

No segundo frame está:

gotoAndPlay (1);
// Loop até o carregamento do filme

O terceiro frame é vazio, mas eu setei um valor a "vartexto" só como demonstração:

vartexto = "Filme 2 carregado e esperando";

No quarto frame está o conteúdo. Nesse caso uma foto, o botão de fechar e:
vartexto = "Filme 2 carregado e disponível";

No botão de fechar eu coloquei a seguinte ação:

on (release) {
   gotoAndStop (3);
}

Isso faz com que o filme vá para o frame "invisível" esperando ser chamado novamente pelo botão "Go To". Espero que você tenha entendido. É claro que você vai ter que adaptar todos os comandos para seu projeto que não deve ser tão simples como esse exemplo. De qualquer maneira você pode baixar aqui os filmes usados nesse tutorial. Bom proveito.



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
1 comentário


Comentário de kané
| 7/12/2010 - 14:45 |


Até gostaria de ver como foi feito mas o link do download está quebrado. De qualquer forma, achei interessante e verei como fica aqui no flash. Grato