stage.frameRate = 30;
addEventListener(Event.ENTER_FRAME, onLoop);
function onLoop(evt:Event):void{
if (int(Math.random()*5)==1){
for (var i:int= 0; i<10; i++) createParticle();
}
}
function createParticle():void{
var s:MovieClip = new MovieClip();
s.graphics.beginFill(0);
s.graphics.drawCircle(0,0,Math.random()*10 + 2);
s.velX = Math.random()*10-5
s.velY = Math.random()*10-5
s.posX = s.x = 200;
s.posY = s.y = 200;
addChild(s);
s.addEventListener(Event.ENTER_FRAME, onRunParticle);
}
function onRunParticle(evt:Event):void {
var s:MovieClip = MovieClip(evt.currentTarget);
s.posX += s.velX;
s.posY += s.velY;
s.scaleX = s.scaleY -= .04;
if (s.scaleX < 0){
removeChild(s);
s.removeEventListener(Event.ENTER_FRAME, onRunParticle);
}
s.x = s.posX;
s.y = s.posY;
}
Nothing special here. But my students are always asking me about this – in class I have them alter this code to make fire, water and abstract particle systems.
just an FYI you pasted the onRunParticle method twice in the above code.
cool thanks… fixed.
yr book is good
thanks anand
I love your book. Am a beginner and am working my way through. Regarding the above … neat. I’m playing around with it and wondering, if I were going to set these to be in different (random) colors, how would I do that? I’m thinking something along the lines of:
s.alpha = Math.random()
but that’s about all I can think of LOL, and would it go right after the drawCircle line (line 12) or or right before addChild (line 17)? Just curious. thanks.
just change line 11:
s.graphics.beginFill(0);
to:
s.graphics.beginFill(Math.random() * 0xFFFFFF);
and be sure to look at the motion chapter from the book – at the end of the chpater we do exactly this with random colors.
Glad you are enjoying the book ๐