class Explosion { private ArrayList particles; public float fillR, fillG, fillB; public Explosion(float x, float y, float R, float G, float B) { particles = new ArrayList(); for(int i = 0; i < 50; i++) { ParticleX p = new ParticleX(); p.gravity = 0.1; p.gravity_direction = 270; p.speed = random(6); p.direction = random(360); p.x = x; p.y = y; particles.add(p); fillR = R; fillG = G; fillB = B; } } public void step() { int to = particles.size(); for(int i = 0; i < to; i++) { ParticleX p = (ParticleX) particles.get(i); p.step(); p.draw(fillR, fillG, fillB); if(p.alive == false) { particles.remove(i); i--; to--; } } } }