topical media & game development

talk show tell print

graphic-processing-site-examples-Topics-Simulate-MultipleParticleSystems-Particle.pde / pde



  // A simple Particle class
  
  class Particle {
    PVector loc;
    PVector vel;
    PVector acc;
    float r;
    float timer;
  
    // One constructor
    Particle(PVector a, PVector v, PVector l, float r_) {
      acc = a.get();
      vel = v.get();
      loc = l.get();
      r = r_;
      timer = 100.0;
    }
    
    // Another constructor (the one we are using here)
    Particle(PVector l) {
      acc = new PVector(0,0.05,0);
      vel = new PVector(random(-1,1),random(-2,0),0);
      loc = l.get();
      r = 10.0;
      timer = 100.0;
    }
  
    void run() {
      update();
      render();
    }
  
    // Method to update location
    void update() {
      vel.add(acc);
      loc.add(vel);
      timer -= 1.0;
    }
  
    // Method to display
    void render() {
      ellipseMode(CENTER);
      stroke(255,timer);
      fill(100,timer);
      ellipse(loc.x,loc.y,r,r);
    }
    
    // Is the particle still useful?
    boolean dead() {
      if (timer <= 0.0) {
        return true;
      } else {
        return false;
      }
    }
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.