Colors, Shapes, & Interaction:
int rectX = 300; int rectY = 100; int rectWidth = 100; color rectColor = color(255); color circleColor = color(255); color backgroundColor = color(255); void setup() { size(640, 360); } void draw() { background(backgroundColor); if (mouseX > rectX // check if x is larger than our x starting point for our rectangle && mouseY > rectY // check if y is larger than our y starting point for our rectangle && (mouseX< rectX + rectWidth) // check if we're less than the horizontal boundary of our rect && (mouseY< rectY + rectWidth) //same as above but for the outer bound of the rect's height && mousePressed ) { rectColor = color(255, 0, 0); circleColor = color(0, 255, 0); } else { rectColor = color(255); circleColor = color(255); } fill(rectColor); rect(rectX, rectY, rectWidth, rectWidth); fill(circleColor); ellipse(mouseX, mouseY, 50, 50); } void mousePressed(){ backgroundColor= color(random(255), random(255), random(255)); }
Bouncing Balls:
int x, y, speedX, speedY; float x2, y2, speedY2, gravity; void setup(){ size(640, 360); x = width/2; y = 0; speedX = 9; speedY = 10; x2 = width/2; y2 = 0; speedY2 = 0; gravity = .5; } void draw(){ background(255); //gravity bounce ellipse(x2, y2, 30, 30); y2 += speedY2; if (y2 > height || y2<0){ speedY2 *= -.95; // speed = speed * -1; } speedY2 += gravity; y2 = constrain(y2, 0-1, height+1); // go a little outside for the constraints so that the flipping speed logci above works //whole screen bounce aaround ball ellipse(x, y, 30, 30); x += speedX; y += speedY; // y = y + speed; if (x > width || x<0){ speedX *= -1; // speed = speed * -1; } if (y > height || y<0){ speedY *= -1; // speed = speed * -1; } }