NETO LEAL (116 pts)

STICKMAN (155 pts)

FÁBIO DUARTE (79 pts)

FLASHGURU (155 pts)

MARLOS ALVES CARMO (90 pts)

AUTOR DESCONHECIDO (100 pts)

DAAFY (55 pts)

DEMIS BUCCI (50 pts)

RODRIGO AMARAL (56 pts)

HELEN TRIOLO (444 pts)

GÉRIO (93 pts)

ALEXANDRE PORTO (1281 pts)
Treinamento PontoFlash de Flash e ActionScript

É possível carregar swfs (load movie) sempre em níveis superiores ao aberto anteriormente?

Como usar o objeto LoadVars para carregar variáveis de um arquivo externo?

Porque os botões em um Movie Clip não estão funcionando para outra cena?

Eu gostaria de saber como faz o efeito de desfoque nos objetos!!

O que é a opção Interlaced quando vou salvar um bitmap PNG?

Para arrastar um objeto ainda é melhor usar DragMovieclip com 'updateAfterEvent()'?

É possível executar, à partir do flash, uma apresentação do Power Point?

Como fazer uma validação para verificar se num campo de entrada foi digitado um número ou não?

Como deslocar um filme para um frame diferente dependendo de uma resposta?

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

Como se cria uma variável global?

Como faço para trocar imagens bitmaps sem ter que abrir o FLA.

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

Quero desabilitar os botões do _level0 (nível zero).
Motion Guide (guia de movimento).

Tracejado no Fireworks

Trace Bitmap.

Macromedia Flash - Tendências

3D Wireframe.

Tweening shape (interpolação de forma)

Botões comutadores ou com duas ações.

Controlar movimento de uma máscara

Máscara percorrendo um caminho.

Variáveis de arquivos de texto.

Desenhando um avião no Flash

Número randômicos sem repetições no Flash 5.
Starfield

Texto com degrade

Munu ampliando

Colision balls

Lineas 3

Slide menu fotos

Abrir popup

Combobox

HitTest e SwapDepths

Pista de corrida

Eventos MX

Giros color
HOME | TUTORIAIS
Níveis dentro do Flash - Load Movie e Load Variables (primeira parte)
por Ricardo Takahashi

Muitas pessoa tem dificuldades em trabalhar com os comandos loadMovie e loadVariables. Na lista da pontoflash é muito comum aparecer esse tipo de dúvidas. Para tanto, resolvi escrever esse pequeno tutorial explicando como funciona, não o comando em si, mas o que é realmente necessário saber para sua execução.

A estrutura dos movieclipes

Quando você chama um movieclipe via loadMovie, você está alterando seu path (caminho). Dois filmes com as actions direcionadas para o _root, funcionariam muito bem, se cada um desses movieclipe estivesse em um level diferente ou se estivessem em filmes separados.
    A partir do momento que você incorpora um outro movieclipe em seu filme, você precisa saber onde eles "estão".

    Veja a figura abaixo. Com base nela é que vou explicar os níveis dentro de outros movieclipes.

Níveis em movieclipes

Movieclipes possuem linhas de tempo independentes.

    Para acessarmos outras linhas de tempo nós temos duas opções, usar o _parent ou usar _root.

    Aqui fica mais fácil para entender como isso funciona. Olhando a imagem acima, como você faria para indicar as variáveis dentro dos movieclipes?! Por exemplo, se você estivesse no "mc3" e quisesse fazer uma referência à uma variável dentro do "mc2", qual seria o jeito mais prático?!

    Você poderia tanto usar:

_root.mc1.mc2.variavel;

    como

_parent.variavel;

    Tanto um como outro vão retornar o valor da variável, porém o segundo caso é bem mais simples, pois não há a necessidade de se informar o caminho completo.

    Então, explicando os dois comandos.

    * _root, como pode ser visto, vai até a "raiz" do filme e depois segue pelos mc1 e mc2 para pegar a variável.

    * _parent, busca o valor um nível abaixo de onde se encontra o movieclipe.

    Qual o porque de se colocar esse tipo de exemplo?!

    Se você conseguiu entender isso, não precisa mais continuar lendo esse tutorial. Se não, leia mais um pouco para entender melhor.

Alguns problemas que acontencem quando se altera o path do movieclip

Imagine você trabalhando com um preloader (escolhi o preloader ao acaso, mas poderia ser um scroll dinâmico, uma função ou qualquer outro tipo de exemplo).

    Muitos preloaders são montados na seguinte estrutura:

  •   Movieclipe;
  •   Actions dentro do onClipEvent();
  •   Uma Barra (MC) ou campo de texto indicando a porcentagem atual.

    No movieclipe nós teriamos:

onClipEvent(load) {
     _root.stop();
    total = _root.getBytesTotal(); 
}

onClipEvent(enterFrame) {
    loaded = _root.getBytesLoaded();
    pct = (loaded/total) * 100;

    barra._xscale = int(pct);

    if (pct eq 100) {
       _root.play();
    }
}

    Este script funciona perfeitamente bem na timeline principal. Porém há um inconveniente. Ao se utilizar este mesmo script em um filme dentro de outro movieclipe, ele não funcionará mais. Isso porque ele busca toda a informação de bytes, carregados e total, na timeline principal.
    Passamos ao exemplo. Se você fizesse um loadMovie para um movieclipe chamado alvo, o novo caminho agora seria _root.alvo e não somente _root.

    Como resolver isso?

    Simplesmente utilizando o _parent, você consegue fazer um preloader muito mais prático. Isso porque a informação de bytes que você vai buscar é um nível abaixo de onde você se encontra.

    Entender o _parent e _root é fundamental para trabalhar com arquivos externos.

Exemplos

Partiremos agora para alguns exemplos.

  •     Nesse primeiro exemplo, vou mostrar como fazer um loadMovie na timeline principal e dentro de um outro movieclipe.

Nesse exemplo, o mesmo comando utilizado no botão na timeline principal, foi utilizado no botão dentro do movieclipe. Em ambos os casos, a estrutura para o loadMovie é a mesma. Um botão no mesmo nível do movieclipe alvo. Um movieclipe com a instance "alvo".

Pegue aqui o exemplo 1.

exemplo 1


variação dos comandos loadMovie

Note que em ambos os casos eu não utilizei o _root. Isso porque, em ambos os casos, o movieclipe "alvo" está no mesmo nível (mesma linha de tempo) do botão. Acho que por não saber direito como funciona, ou simplesmente por pegarem sempre um exemplo pronto, as pessoas tendem a usar o _root descaradamente (o que não chega a ser um problema grave).Como muitos devem saber, as actions nos botões e dentro de gráficos, fazem parte da linha de tempo das quais eles estão. Ou seja, se você tiver um botão no _root, não precisa especificar _root.objeto. Basta apenas indicar objeto. Veja no exemplo acima como ele foi utilizado.

    Antes de prosseguirmos com outros exemplo, veja aqui a sintaxe do comando e suas possíveis variações.

LoadMovie
LoadVariables
Uso
     loadMovie("filme.swf","target");
ou:
    target.loadMovie("filme.swf").
    loadVariables("arquivo.ext","target");
ou:
    target.loadVariables("arquivo.ext")
  load into target
    loadMovieNum("filme.swf",level)
   loadVariablesNum("arquivo.ext",level)
  load into level
  •  filme.swf -> Arquivo swf externo;
  •  target ->  Movieclipe alvo;
  •  arquivo.ext -> arquivo externo (pode ser txt, asp, php, cfm, cgi...etc.);
  •  level -> level onde será carregado o movieclipe externo ou informação. Esse valor deverá ser um número e não poderá estar entre aspas
OBS.: Quando o comando terminar com "Num", significa que ele vai trabalhar com levels. Muitas pessoas fazem confusão quanto a isso.



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 Anderson
| 21/3/2010 - 09:37 |


Muito bom Ricardo , mais voce teria um tuto para fazer um banner parecido com o do site do R7, (www.r7.com.br), ele é randonico e tem opção de voltar a cena anterior ou avançar.. obrigado e parabens pela explicação