24/07/2009import phoxer.Sprites.BackGrounds.Snow; var snw:Snow = new Snow(this,0,0,100); snw.repeat=true; snw.area = new Rectangle(0,0,550,400); snw.startRender();
/** by .:{PHOXER}:. http://www.phoxer.com v 1.2; */ package phoxer.Sprites.BackGrounds{ import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.geom.Rectangle; import flash.utils.Timer; import phoxer.ChildsManager.DeleteClips; import phoxer.Numbers.Random; public class Snow extends Sprite{ private var timer:Timer; public var area:Rectangle; public var repeat:Boolean=false; public function Snow(cont:Object,nx:int=0,ny:int=0,dl:int=500){ super(); cont.addChild(this); this.x=nx; this.y=ny; timer = new Timer(dl,0); } private function addItem(e:TimerEvent):void{ var item:SnowBall = new SnowBall(); item.sf=area.y+area.height; item.tm=0; item.sp=1+Math.random()*2; item.vt=-1.5+Math.random()*(1.4*3); var sc:Number = Random.getRandom(0.3,1); item.scaleX=sc; item.scaleY=sc; item.alpha=sc; item.x=Random.getRandom(area.x,area.width,true); item.nx=item.x; item.y=area.y; item.ny=item.y; this.addChild(item); } public function startRender():void{ this.addEventListener(Event.ENTER_FRAME,render,false,0,true); timer.addEventListener(TimerEvent.TIMER,addItem,false,0,true); timer.start(); } public function stopRender(dl:Boolean=true):void{ timer.stop(); this.removeEventListener(Event.ENTER_FRAME,render); timer.removeEventListener(TimerEvent.TIMER,addItem); if(dl){ DeleteClips.deleteAll(this); } } private function render(e:Event):void{ for(var i:int=0;i<this.numChildren;i++){ var item:SnowBall = this.getChildAt(i) as SnowBall; item.y += item.sp; item.x += item.vt; if(repeat){ if (item.x>(area.x+area.width)) { item.x = area.x; }else if (item.x<area.x) { item.x = area.x+area.width; } } if(item.y>=item.sf){ this.removeChild(item); } } } } }
| ActionScript 3 | Flash CS4 | Flex 3 |
4 Comentarios.
Antú Villegas
29/07/2009hola, está muy bueno ese efecto... te felicito
Manolito
15/12/2009Muy chulo el efecto y tus tutoriales!
He intentado probarlo pero claro no tengo las clases DeleteClips nio Random :-(
Podrias incluir el ejemplo con todas sus clases para descarga?
----------------------------------------------
Si los tutoriales o los temas tratados en este blog te gustaron y quieres ayudarme a mantenerlos en linea puede hacer una donacion.
La donaciones son destinadas para mantener este blog y a los tutoriales Online.