Ir ao conteúdo
  • Cadastre-se

Tutorial: "loading" No Flash


Visitante

Posts recomendados

Vou postar aqui uma maneira bem simples de como se fazer aquela tela "Loading" enquanto a apresentação do flash é carregada.

Vale lembrar:

  • O meu flash é em inglês, então se o seu é em português os nomes dos menus que eu citarei abaixo podem não ser os mesmos;
  • por padrão, para inserir uma ação no flash, existe um modo guiado onde é selecionado o comando desejado em uma lista a esquerda. Eu não utilizo este modo guiado e nem sei como utilizar, então eu postei somente as ações necessárias. Como vocês vão inserir estas ações, daí é com vocês.

1 - Faça sua apresentação normalmente.

2 - Ao terminar, clique no menu Window/Scene. Será aberta uma janelinha contendo as cenas da sua apresentação. A ordem a ser executada após publicada a apresentação é de cima para baixo, então vamos criar uma cena contendo o "loading" que iniciará antes de todas. Para criar a nova cena é só clicar no botão "+". Uma nova cena aparecerá na lista, abaixo das outras que estiverem lá. Mova a cena criada para o topo da lista clicando e arrastando com o mouse e renomeie para o nome que quiser clicando duas vezes sob o nome da cena.

3 - Na cena criada, na "Timeline", crie 2 "Layers" clicando no "+" sob um papelzinho localizado no canto da "Timeline". Nomeie os "Layers" criados de "texto" e o outro "acoes".

4 - Em "texto" crie um texto dizendo "loading" ou o que você quiser escrever para avisar o usuário que sua apresentação está carregando.

5 - Crie mais um "Keyframe" para "acoes" precionando F6 com o layer selecionado ou clicando com o botão direito do mouse e no menu "Insert keyframe" e mais dois "frame" para "texto" precionando F5 com o layer selecionado ou clicando com o botão direito do mouse e no menu "Insert frame".

6 - No primeiro "Keyframe" do "acoes", clique com o botão direito do mouse e no menu "actions" ou precione F9 com o keyframe selecionado. Abrirá uma tela para serem inseridas as ações. Coloque o seguinte código:


if (Number(_framesloaded) == Number(_totalframes)) {
   gotoAndPlay(3);
}

7 - Faça o mesmo no segundo keyframe de "acoes" mas desta vez insira o código:


gotoAndPlay(1);

Prontinho. Esta é a maneira mais simples.

O comando _framesloaded retorna o número de frames carregados até o momento, e o comando _totalframes, retorna o total de frames da apresentação. No if indicado acima, é perguntado se a quantidade de frames carregados é igual a quantidade total de frames da apresentação. Se for, o filme se inicia, se não ele "volta o filme" e continua perguntando.

Existem outras maneiras mais sofisticadas que eu não vou postar aqui por que me levaria muito tempo, mas utilizando esta maneira, ainda dá pra sofisticar um pouco.

Veja só: se você sabe a quantidade total de frames, e sabe quantos já foram carregados, então dá pra calcular a porcentagem do filme que foi carregada!

Eu fiz o seguinte exemplo:

Para fazer siga os passos (não vou postar em detalhes):

1 - Crie um "movieClip" contendo uma barra que cresce em 100 frames e em outro layer um texto que servirá de variável. Nas propriedades do texto escolha a opção "Dynamic text" e no campo "Var" digite "percent"

2 - No primeiro frame deste movieClip, insira a ação:


stop();

3 - Insira o movieClip criado da cena criada acima em um novo layer. Nomeie o movieClip de "barra".

4 - Modifique a ação do layer "acoes" no primeiro frame para:


if (Number(_framesloaded) == Number(_totalframes)) {
   gotoAndPlay(3);
}
else{
   barra.percent = ((_framesloaded * 100) / _totalframes) + "%";
   barra.gotoAndStop(int((_framesloaded * 100) / _totalframes));
}

Para quem quiser, pode pegar o arquivo que eu criei. Vou disponibilizar no meu servidor no endereço http://www.rockweb.com.br/exemplo.zip

Quem quiser pode copiar a cena que eu criei de loading e colar na sua apresentação que deverá funcionar...

Atenção:

  • Quando você testa em máquina local, o filme já está carregado na memória, então não é possível visualizar o "loading" criado funcionando. Isto é apenas para apresentações que rodarão na web.
  • Eu não testei este arquivo, por tanto não sei se rodará de primeira...
  • Eu não me responsabilizo pelo uso deste arquivo ou pelo conteudo passado neste post.
  • Quem souber alguma maneira melhor ou encontrar algum erro aqui, por favor me avise.
  • O endereço acima pode ficar parte do dia fora do ar.
  • Qualquer dúvida é só postar aqui.

Obrigado.

[]'s

./adelbs

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

__Está dica, apesar de manjada pros experts, é excelente para os leigos que ainda não sabem como colocar recursos de playstation no Flash.

__Agora o gargalho é como fazer este contador ser percentual!Essa tá quebrando meu quengo! Uso o iMac, com o MacOSX, e o Flash 5, que ao meu ver é mais do que suficiente para quem só usa flash em coisas simples!

Continue contribuindo!

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Olá,

você sabe criar um album de fotografias no Flash MX onde exista o próprio album virando contendo uma foto em cada página, como se estivesse fazendo isso na vida real, um album com fotos que vai virando as páginas automáticamente, com música no fundo e se possível uma forma de passar para frente e para trás.

E, mais, poder gravar em um CD para que rode num aparelho de DVD/VCD.

Eu sei que existe isso nesse programa, mas compliquei demais, não acha???

Se souber, me dê uma resposta.

Valeu

Abraços

zcampbell

Link para o comentário
Compartilhar em outros sites

Tem como visualizar a animação de loading clicando em exibir/padrões de largura de banda, você deverá selecionar 56K ou ADSL 128/256/512/712... que ele simula beleza. Outro detalhe, só com javascript para que a animação seja realmente condizente com o tempo de carga do site. Fora isso as animações de loading nunca correspondem verdadeiramente o tempo necessário de carregamento do site.

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 1 ano depois...

PEssoal, valeu a ajuda de criar o loading inicial, esse é bem + fácil de criar que os outros. Mas uma pergunta:

E como faço para que carregue apenas um frame e quando clicar num botão ele carregue o que estiver dentro de um MC.

Se for complicado d+, tem como fazer um loading para cada frame?

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois...
  • 2 semanas depois...
  • 3 semanas depois...
  • mês depois...
  • 2 meses depois...
  • 4 semanas depois...
  • 8 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!