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 » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010 |