Multiple Particle Systems
multiple-particle-systems.pde
/**
* Multiple Particle Systems
* by Daniel Shiffman.
*
* Click the mouse to generate a burst of particles
* at mouse position.
*
* Each burst is one instance of a particle system
* with Particles and CrazyParticles (a subclass of Particle).
* Note use of Inheritance and Polymorphism.
*/
ArrayList<ParticleSystem> systems;
void setup() {
size(640, 360);
}
void draw() {
background(0);
for (ParticleSystem* ps : systems) {
ps->run();
ps->addParticle();
}
if (systems.isEmpty()) {
fill(255);
textAlign(CENTER);
text("click mouse to add particle systems", width/2, height/2);
}
}
void mousePressed() {
systems.add(new ParticleSystem(1, PVector(mouseX, mouseY)));
}