Search code examples
processing

How to change the color of ball everytime it strike the wall, in processing? My code is as below


This is the code I have. And in next step how can I make effect on the bouncing ball from keyboard keys.

float circleX = 0;
float circleY = 0;

float xSpeed = 2.5;
float ySpeed = 2;

void setup() {
 size(500, 500); 
}

void draw() {
  background(0,200,0);

  circleX += xSpeed;
  if (circleX < 0 || circleX > width) {
    xSpeed *= -1;
  }

  circleY += ySpeed;
  if (circleY < 0 || circleY > height) {
    ySpeed *= -1;
  }

  ellipse(circleX, circleY, 100, 100);
}

Solution

  • Change the color fill() each time the ball hits a wall:

    float circleX = 0;
    float circleY = 0;
    float xSpeed = 2.5;
    float ySpeed = 2;
    
    void setup() {
     size(500, 500); 
    }
    
    void changeColor() {
      fill(random(255), random(255), random(255));
    }
    
    void draw() {
      background(0,200,0);
    
      circleX += xSpeed;
      if (circleX < 0 || circleX > width) {
        xSpeed *= -1;
        changeColor();
      }
    
      circleY += ySpeed;
      if (circleY < 0 || circleY > height) {
        ySpeed *= -1;
        changeColor();
      }
    
      ellipse(circleX, circleY, 100, 100);
    }