// MOTION 1C, OBJECT ORIENTED, N BALLS Ball[] myBalls; // declaring a global variable // to hold an array of Ball objects int balls = 25; void setup() { size(200, 200); framerate(25); myBalls = new Ball[balls]; for (int i = 0; i < balls; i++) { myBalls[i] = new Ball(); myBalls[i].x = random(0, 200); myBalls[i].y = random(0, 200); myBalls[i].vx = random(-15, 15); myBalls[i].vy = random(-15, 15); myBalls[i].r = 255; myBalls[i].g = 0; myBalls[i].b = 0; myBalls[i].vr = -5; myBalls[i].vg = 5; myBalls[i].vb = 5; } } void loop() { background(0); for (int i = 0; i < balls; i++) // iterating 33 times { // if(myBalls[i].g > 254 || myBalls[i].b > 254){ // myBalls[i].vx = 0; // myBalls[i].vy = 0; // } myBalls[i].run(); } } class Ball { float x; float y; float vx; float vy; float r; float g; float b; float vr; float vg; float vb; void run() { drawShape(); x = x + vx; y = y + vy; if(x < 0 || x > width){ vx = -vx; r = r + vr; g = g + vg; } if(y < 0 || y > height){ vy = -vy; r = r + vr; b = b + vb; } if(r < 1 || r > 254){ vr = -vr; } if(g < 1 || g > 254){ vg = -vg; } if(b < 1 || b > 254){ vb = -vb; } } void drawShape() { ellipseMode(CENTER_RADIUS); noStroke(); //lights(); fill(r,g,b); ellipse(x,y,4,4); } }