por Guilherme Moschen em 18/09/2006 as 20:50

MovieClip é um dos conceitos mais importantes no Flash, acredito que se você entender bem essa parte, já é meio caminho andado pra compreensão do funcionamento do nosso amigo em questão.

MovieClip nada mais é do que uma filme, uma animação, podendo ser manipulada dinamicamente.

Um associação boa se fazer com o MovieClip é com o conceito de Thread.
Cada MovieClip funciona independentemente de qualquer outra coisa, ele tem seu próprio timeline, seus eventos, atributos e propriedades.
Então cada vez que você incluir um MovieClip dentro de um arquivo Flash, lembre-se: Todos rodarão do frame 1 até o frame n, o MovieClip tem autoplay por padrão.

O MovieClip mais importante que se pode nomear é o _root, sim ele é um MovieClip como outro qualquer. _root é a raiz do Flash, todo arquivo swf que é gerado tem no mínimo o MovieClip _root.
Na situação do carregamento de um MovieClip dentro de outro, loadMovie(), o _root que continuará tendo a referência de raiz é o _root do swf pai, ou seja, o swf que importará outro swf.
Caso você queira manter a independência de _roots, ou seja, cada swf tenha o seu próprio _root deve-se usar a propriedade MovieClip._lockroot. Esta propriedade diz se você quer manter a independência de _root, sim ou não. Detalhe, seu valor padrão é undefined.

Falando um pouco sobre os eventos do MovieClip, cuidado ao usar alguns eventos.
onMouseDown, por exemplo, é disparado toda vez que o mouse for apertado, independentemente de onde está o cursor e para cada MovieClip existe um onMouseDown.
Em diversos exemplos que eu já vi na internet adotam essa solução para gerenciar o click do mouse. Mas se existe uma classe Mouse que trata essencialmente deste caso, por que usar o MovieClip?
As definições do Flash e do ActionScript não foram criadas a toa, temos que usar as coisas para os seus próprios propósitos, sempre tenha isso em mente.
Falando um pouco mais sobre _root.
Um belo dia eu precisei pegar a altura e a largura do meu swf. Eu pensei: irei usar a propriedade MovieClip._width e MovieClip._height do _root, certo?
Errado!
Existe um classe chamada Stage que trata justamente dessas propriedades do filme, além de ter o evento Stage.onResize que dispara quando o swf é redimensionado.

Caso alguém tenha alguma dúvida, por favor, perguntem.

Aquele abraço.

Categorias: Desenvolvimento, Flash - ActionScript |


Deixe um comentário