Files
processing4/java/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde
2011-09-05 23:58:47 +00:00

51 lines
911 B
Plaintext

/**
* Multiple Particle Systems
* by Daniel Shiffman.
*
* Click the mouse to generate a burst of particles
* at mouse location.
*
* Each burst is one instance of a particle system
* with Particles and CrazyParticles (a subclass of Particle)
* Note use of Inheritance and Polymorphism here.
*/
ArrayList psystems;
void setup() {
size(640, 360);
colorMode(RGB, 255, 255, 255, 100);
psystems = new ArrayList();
smooth();
}
void draw() {
background(0);
// Cycle through all particle systems, run them and delete old ones
for (int i = psystems.size()-1; i >= 0; i--) {
ParticleSystem psys = (ParticleSystem) psystems.get(i);
psys.run();
if (psys.dead()) {
psystems.remove(i);
}
}
}
// When the mouse is pressed, add a new particle system
void mousePressed() {
psystems.add(new ParticleSystem(int(random(5,25)),new PVector(mouseX,mouseY)));
}