A idéia é bem simples, criaremos um Movie Clip que será nosso pingo de chuva ( talvez você queira uma chuva de meteoros :O ), e iniciamos preenchendo pingos de chuva em toda a área da animação, em seguida definimos que todas as gotas irão pra baixo, e quando saírem da área, voltem a aparecer lá de cima. Parece complicado de entender lendo...
Criemos então a gota, a minha foi só uma linha branca com 10 px de altura, e transformemos-a em um Movie Clip. Ainda na janela de conversão, clique no botão Advanced, pra ver as opções de linkage, caso esteja exibindo só o básico. Dê um nome de símbolo(pra Biblioteca) e deixe marcadas as caixas de Export for ActionScript e Export in first frame, depois dê um nome de idenficação (Identifier) e Ok. Isso é pra que consigamos replicar e multiplicar esse Movie Clip em tempo de execução. O Identifier é o nome qual iremos nos referir quando quisermos "materializar" cópias desse Movie Clip durante a codificação.
Depois disso você pode até apagar a gota que criou, o que importa é que ela foi pra biblioteca e agora é exportável.
Segue o código a ser colocado no 1º frame (de preferência o único):
var boundTop = 0-10;
var boundLeft = 0-10;
var boundRight = Stage.width+10;
var boundBottom = Stage.height+10;
var particleUnits = 100;
var particleSpeed = 5;
var particleRotation = 95;
var particleAngleRad = Math.PI / 180 * particleRotation;
var particleSpeedX = Math.cos( particleAngleRad ) * particleSpeed;
var particleSpeedY = Math.sin( particleAngleRad ) * particleSpeed;
var conteiner = _root.createEmptyMovieClip('conteiner_mc',1);
for(var i = 0; i <= particleUnits ; i++)
{
conteiner.attachMovie('mc_particle', 'particle_mc' + i, i);
conteiner['particle_mc' + i]._x = Math.round(Math.random() * boundRight);
conteiner['particle_mc' + i]._y = Math.round(Math.random() * boundBottom);
conteiner['particle_mc' + i]._rotation = particleRotation - 90;
conteiner['particle_mc' + i].onEnterFrame = function()
{
this._x += particleSpeedX;
this._y += particleSpeedY;
if(this._x < boundLeft){this._x = boundRight;}
if(this._y < boundTop){this._y = boundBottom;}
if(this._x > boundRight){this._x = boundLeft;}
if(this._y > boundBottom){this._y = boundTop;}
}
}Na segunda parte seguem as explicações gota a gora desse código.
Até lá.

![]() |
CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010 |
Procurando Notebooks, Câmeras Digitais, iPhones?