/** * Bounce. * * When the shape hits the edge of the window, it reverses its direction. */ int anchoRect= 150; int altoRect= 10; int posXRect = 300; int posYRect = 400-altoRect; int rad = 30; // Width of the shape float xpos, ypos; // Starting position of shape float xspeed = 2.8; // Speed of the shape float yspeed = 2.2; // Speed of the shape int xdirection = 1; // Left or Right int ydirection = 1; // Top to Bottom void setup() { size(600, 400); noStroke(); frameRate(30); ellipseMode(RADIUS); // Set the starting position of the shape xpos = width/2; ypos = height/2; } void draw() { background(102); // Update the position of the shape xpos = xpos + ( xspeed * xdirection ); ypos = ypos + ( yspeed * ydirection ); // Test to see if the shape exceeds the boundaries of the screen // If it does, reverse its direction by multiplying by -1 if (xpos > width-rad || xpos < rad) { xdirection *= -1; } if (ypos > height-rad || ypos < rad) { ydirection *= -1; } // Draw the shape rectMode (CENTER); fill(0,255,0); //RGB- Ponemos Green al máximo 255 rect(posXRect, posYRect, anchoRect, altoRect); fill(0,0,255); //RGB- Ponemos Blue al máximo 255 ellipse(xpos, ypos, rad, rad); } void keyPressed() { if (key == CODED) { if (keyCode == LEFT) { posXRect -= 10; } else if (keyCode == RIGHT) { posXRect += 10; } } }