xxxxxxxxxx
boolean buttonClicked = false;
int buttonX;
int buttonY = 225;
int buttonW = 100;
int buttonH = 20;
int bX , bY , bD , bRad;
int speedX , speedY;
void setup(){
size (500 , 500);
bX = width/2;
bY = 0;
bD = 20;
bRad = bD/2;
speedX = 4;
speedY = 4;
}
void draw(){
background (249 , 191 , 255);
if (buttonClicked == true){
background (255 , 250 , 160);
} else {
buttonClicked = false;
}
buttonX = mouseX - buttonW/2;
fill (66 , 244 , 225);
rect (buttonX , buttonY , buttonW , buttonH);
fill (192 , 255 , 160);
ellipse (bX , bY , bD , bD);
bX = bX + speedX;
bY = bY + speedY;
if ((bX > width) || (bX < 0)) {
speedX = speedX * -1;
}
if ((bY > height) || (bY < 0)){
speedY = speedY * -1;
}
if ( (bY+bRad >= buttonY) &&
(bX-bRad <= buttonX + buttonW) &&
(bX+bRad >= buttonX) &&
(bY-bRad <= buttonY+buttonH) ) {
if (bX < buttonX) {
speedX = -4;
bX = buttonX - bRad;
} else if (bX > buttonX + buttonW) {
speedX = 4;
bX = buttonX + bRad;
} else if (bY < buttonY) {
speedY = -4;
bY = buttonY - bRad;
} else if (bY > buttonY + buttonH) {
speedY = 4;
bY = buttonY + buttonH + bRad;
}
buttonClicked = !buttonClicked;
}
}