Tuesday, April 03, 2012
ball_bounce
float Radius = 25;
float positionBallX = random(width);
float positionBallY = Radius; // ball position
float ballSpeedX = 1.6, ballSpeedY = 1.5; // velocity
color ballColor = color(random(0,255),random(0,1),random(0,255),50);
void setup() {
smooth();
size(640,480);
}
void draw() {
background(100);
moveBall();
display();
}
void moveBall() {
positionBallX = positionBallX + ballSpeedX;
positionBallY = positionBallY + ballSpeedY;
if (positionBallX > width-Radius || positionBallX < 25) {
ballSpeedX = ballSpeedX * -1;
}
if (positionBallY > height-Radius && ballSpeedY > 0 || positionBallY < 25) {
ballSpeedY = ballSpeedY * -1;
}
if (positionBallY > height-Radius) {
positionBallY = height-Radius;
}
if (positionBallY < Radius) {
positionBallY = Radius;
}
if (positionBallX > width-Radius) {
positionBallX = width-Radius;
}
if (positionBallX < Radius) {
positionBallX = Radius;
}
}
void display() {
stroke(0);
fill(ballColor);
ellipse(positionBallX, positionBallY,Radius*2,Radius*2);
}
float positionBallX = random(width);
float positionBallY = Radius; // ball position
float ballSpeedX = 1.6, ballSpeedY = 1.5; // velocity
color ballColor = color(random(0,255),random(0,1),random(0,255),50);
void setup() {
smooth();
size(640,480);
}
void draw() {
background(100);
moveBall();
display();
}
void moveBall() {
positionBallX = positionBallX + ballSpeedX;
positionBallY = positionBallY + ballSpeedY;
if (positionBallX > width-Radius || positionBallX < 25) {
ballSpeedX = ballSpeedX * -1;
}
if (positionBallY > height-Radius && ballSpeedY > 0 || positionBallY < 25) {
ballSpeedY = ballSpeedY * -1;
}
if (positionBallY > height-Radius) {
positionBallY = height-Radius;
}
if (positionBallY < Radius) {
positionBallY = Radius;
}
if (positionBallX > width-Radius) {
positionBallX = width-Radius;
}
if (positionBallX < Radius) {
positionBallX = Radius;
}
}
void display() {
stroke(0);
fill(ballColor);
ellipse(positionBallX, positionBallY,Radius*2,Radius*2);
}
comments
loading...
Add a comment:

This sketch has a