Chapter 10: Example 10-2: Bouncing Ball Class
// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 10-2: Bouncing ball class
// Two ball variables
Ball ball1;
Ball ball2;
void setup() {
size(400,400);
smooth();
// Initialize balls
ball1 = new Ball(64);
ball2 = new Ball(32);
}
void draw() {
background(255);
// Move and display balls
ball1.move();
ball2.move();
ball1.display();
ball2.display();
}
// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 10-2: Bouncing ball class
class Ball {
float r; // radius
float x,y; // location
float xspeed,yspeed; // speed
// Constructor
Ball(float tempR) {
r = tempR;
x = random(width);
y = random(height);
xspeed = random( - 5,5);
yspeed = random( - 5,5);
}
void move() {
x += xspeed; // Increment x
y += yspeed; // Increment y
// Check horizontal edges
if (x > width || x < 0) {
xspeed *= - 1;
}
//Check vertical edges
if (y > height || y < 0) {
yspeed *= - 1;
}
}
// Draw the ball
void display() {
stroke(0);
fill(0,50);
ellipse(x,y,r*2,r*2);
}
}
»
No comments yet.








