BlogBlogs.Com.Br

domingo, 2 de março de 2008

Simulando Fumaça

Estou trabalhando em uma maquete 3D sobre o tratamento do lixo hospitalar. A idéia é usar o 3DStudio para a construção do cenário e algumas tomadas de câmera para mostrar os detalhes da maquete.

Usando AS no flash vou representar elementos secundários do cenário. Gerei um código muito simples para simular fumaça o qual explico no tutorial que se segue.


Em um novo documento adicione duas camadas como à figura abaixo:

Na camada objetos, crie um circulo e o transforme em um Movie Clip, dê um nome significativo.
Clique duas vezes sobre seu novo Movie Clip para editá-lo.
Uma vez dentro da edição do MC, converta a o circulo para um gráfico. Crie então um Motion Tween nesse gráfico. Sendo o primeiro quadro do “Tween” um circulo pequeno e o ultimo quadro um circulo grande com alfa em 100%.

No ultimo quadro adicione um Stop(); para que o movimento não fique em loop.

No palco principal selecione o Movie Clipe , e coloque o nome da instancia dele de lol. Isso pode ser feito na janela de propriedades com o MC estando selecionado.


No primeiro quadro da camada actions adicione o código abaixo:


i = i + 1;

duplicateMovieClip("lol", "lol" + i, i);

setProperty("lol" + i, _x, random(5)+150);

“i = i + 1;” incrementa da variável i.

“duplicateMovieClip("lol", "lol" + i, i);”
essa função duplica um determinado MC alvo que no nosso caso é a o MC instanciado como “lol”e atribui ao novo MC o nome “lol” concatenado com o valor atual de i.

“setProperty("lol" + i, _x, random(5)+150);”
essa função define um propriedade de um da instancia de um MC alvo. Neste caso a instancia é “lol” e a propriedade é a posição no eixo X que será incrementada com um número aleatório de 0 a 4 somado com a posição de onde desejo que a fonte de fumaça apareça.

No segundo frame da camada action adicione:

gotoAndPlay(1);

Pronto, agora é só publicar usando o flash player 6 e ver o resultado.

  • Veja um exemplo do código funcionando : Link


2 comentários:

Martin disse...

Cara, bem legal o efeito...

Mas só uma coisa...
flash 6? já estamos no 9!

---
www.extendsmartin.com

Anderi disse...

Bom mesmo usando o flash player 9 vc pode abrir coisas compiladas para o flash player 6.
E muitas vezes você não tem em mãos um flash CS :P