public void setup() { size(1024, 640, OPENGL); frameRate(999); gfx = new vgu_e_ToxiclibsSupport(this); physics = new pma_PhysicsVerlet(); physics.setDrag(0.1f); physics.setWorldBounds(new ga_Rectangle(0, 0, width, height)); physics.addBehavior(new pma_BehaviorForceGravity(new ga_Vector2(0, 0.15f))); physics.setIndex( new gb_SpatialBins<ga_Vector2>( 0, width, 80, new ga_i_CoordinateExtractor<ga_Vector2>() { public final float coordinate(ga_Vector2 p) { return p.x; } })); textFont(createFont("SansSerif", 10)); }
public void mousePressed() { mousePos = new ga_Vector2(mouseX, mouseY); mouseAttractor = new pma_BehaviorAttraction(mousePos, 400, 1.2f); physics.addBehavior(mouseAttractor); }
private void addParticle() { pma_ParticleVerlet p = new pma_ParticleVerlet(ga_Vector2.random().mul(5).add(width * 0.5f, 0)); physics.addParticle(p); // add a negative attraction force field around the new particle physics.addBehavior(new pma_BehaviorAttraction(p, 20, -1.2f, 0.01f)); }