RICARDO TEIXEIRA (40 pts)

AMAURY BENTES (123 pts)

DAUTON JANOTA (255 pts)

PEDRO CLAUDIO (50 pts)

EDUARDO CARREGA (150 pts)

DEN IVANOV (260 pts)

LUI FERNANDO (151 pts)

KEN AWAMURA (130 pts)

ZEBEDIAH (35 pts)

DENIS CARAVALHO (85 pts)

GABRIEL SPORCH (53 pts)

EDUARDO WALMOTT (226 pts)
Treinamento PontoFlash de Flash e ActionScript

Problemas com redimensionamento e ponto de registro.

Como gravar dados de um Flash em um arquivo .mdb (Access)?

Como usar as input type hidden de um form email fornecido pelo HPG para uma página html no flash.

Preciso de maiores informações sobre as actions trace e while, e qual a funcão das duas.

Queria que o Flash importasse imagens de meu banco de dados.

Qual é o comando para quando um HTML abrir redirecione para outro automaticamente?

Como eu simulo frames no Flash?

Como posso dessaturar uma foto para seus níveis de preto e branco?

Tô tentado abrir uma janela popup com um comando dentro de um arquivo de texto chamado via loadVariables.

Como bloquear o código fonte HTML de sua página?

Como eu faço para colocar um arquivo som nos botões?

Como abrir um filme por load movie em uma determinada posição?

Como criar um exemplo desenho livre, com botão para começar a desenhar e limpar?

Na prática, qual a vantagem de usar o prototype?
Formulário simples.

Flash Studio Pro: Dando poderes ao Flash

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

Motion Blur.

Code Animation - Parte 2

Rotacionar objetos 3D no Flash.

Logo com aparência 3D - Fireworks

Simulando 3D.

Login e senha

Controlar movimento de uma máscara

Criando um objeto para sua paleta personalizada (NINJA)

Flash Turbine (integração Flash com PHP ou ASP)
Efeito Blur

Tocha

Motionblur

News

Digitação (6kb) - Flash4

Multi text load

Pointer

X Position

Esferas conectadas

F5 loading scene

Cursor

Linhas paralelas
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