Hi there!
I’ve noobie question…
I wrote a code that makes a ball appear when the key pressed minus or plus.
two questions:
- I want every press will make one ball (now it looks like 3 at a time).
- how do I make the array of negative to make a bigger ball and many balls (like 10 in one press).
Ball[] balls = new Ball[1];
float gravity = 0.1;
void setup() {
size(800, 400);
balls[0] = new Ball(255, 0, 0);
}
void draw() {
background(#d75965);
if ((keyPressed == true) && (key == '-')) {
Ball b = new Ball(200, 100, 25);
balls = (Ball[]) append(balls, b);
} else if ((keyPressed == true) && (key == '+')) {
Ball b = new Ball(600, 100, 25);
balls = (Ball[]) append(balls, b);
} else {
}
for (int i = 0; i < balls.length; i++ ) {
balls[i].gravity();
balls[i].move();
balls[i].display();
}
stroke (255);
// strokeWeight(4);
line (400, 0, 400, 400);
}
class Ball {
float x;
float y;
float speed;
float w;
Ball(float tempX, float tempY, float tempW) {
x = tempX;
y = tempY;
w = tempW;
speed = 0;
}
void gravity() {
// Add gravity to speed
speed = speed + gravity;
}
void move() {
// Add speed to y location
y = y + speed;
// If square reaches the bottom
// Reverse speed
if (y > height) {
speed = speed * -0.95;
y = height;
}
}
void display() {
// Display the circle
fill(#042060);
stroke(100);
ellipse(x,y,w,w);
}
}
thank you!