For this week’s assignment, we were supposed to create something with OOP. I wanted to create some sort of meditative art work (e.g. snow/rain falling) but along the process of learning how to form a “class” and other programming, I made this. I kind of ended up liking this more (despite its lack of clear purpose).
Drop [] dropCollection = new Drop [70]; void setup() { size(400, 400); smooth(); for ( int n = 0; n < 70; n++) { dropCollection[n] = new Drop (random(0,width), random(0,height)); } } void draw() { background(187, 178, 255); for (int n = 0; n < 70; n++) { dropCollection[n].run(); } }
class Drop{ float x = 0; float y = 0; float speedX = 2; float speedY = 5; float r; Drop(float _x, float _y) { x = _x; y = _y; r = 8; } void run(){ display(); move(); bounce(); gravity(); } void gravity(){ speedY *= 0.2; } void bounce() { if(x > width) { speedX = speedX * -1; } if(x < 0) { speedX = speedX * -1; } if(y > width) { speedY = speedY * -1; } if(y < 0) { speedY = speedY * -1; } } void move() { x += speedX; y += speedY; } void display() { fill( random(255), random(255), random(255), random(255)); noStroke(); for (int i = 2; i < r; i++ ) { ellipse(x, y + i*4, i*2, i*2); } } }