PhysBall ball; void setup() { size(400,400); smooth(); noStroke(); background(0); ball = new PhysBall(width/2,height/2,color(255)); } void draw() { fill(0,25); noStroke(); rect(0,0,width,height); ball.draw(); ball.update(); } void keyPressed() { if (key=='r') { // randomize the ball ball.x = width/2; ball.y = height/2; ball.vx = random(-5,5); ball.vy = random(-5,5); } else if (key=='g') { // half as much gravity ball.gravity *= 0.5; println("gravity:"+ball.gravity); } else if (key=='G') { ball.gravity *= 2; println("gravity:"+ball.gravity); } else if (key=='d') { // half as much drag (measured as 1-d) ball.drag = 1 - (1-ball.drag)*0.5; println("drag:"+ball.drag); } else if (key=='D') { ball.drag = 1 - (1-ball.drag)*2; println("drag:"+ball.drag); } else if (key=='f') { // half as much damping ball.frict = 1 - (1-ball.frict)*0.5; println("y friction:"+ball.frict); } else if (key=='F') { ball.frict = 1 - (1-ball.frict)*2; println("y friction:"+ball.frict); } } // START NO NOTES // code used to capture screenshots void keyReleased() { if(key == '`' && !online) save("sketch.png"); }