Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int addCircles = 10;
- int totalCircles = 10000000;
- int circleCount = 0;
- float circleDrift = 5;
- Circle[] storeCircles = new Circle[totalCircles];
- void setup() {
- size(500,500);
- background(255);
- smooth();
- strokeWeight(1);
- fill(150, 50);
- newCircles();
- }
- void draw() {
- background(255);
- for (int i = 0; i < circleCount; i++) {
- storeCircles[i].moveMe();
- storeCircles[i].drawMe();
- storeCircles[i].dontBeAnIdiotAndDriftOffScreenMeAlsoFollowingNamingConventionsForTheWin();
- }
- }
- void mouseReleased() {
- newCircles();
- }
- void newCircles() {
- for (int i = 0; i < addCircles; i++){
- Circle c = new Circle();
- if (circleCount < totalCircles) {
- storeCircles[circleCount] = c;
- circleCount += 1;
- }
- }
- }
- class Circle {
- float x, y, moveX, moveY;
- float radius;
- color linecol, fillcol;
- float alph;
- Circle () {
- x = random(width);
- y = random(height);
- radius = random(100) + 10;
- linecol = color(random(255), random(255), random(255));
- fillcol = color(random(255), random(255), random(255));
- alph = random(255);
- moveX = random(circleDrift) - circleDrift/2;
- moveY = random(circleDrift) - circleDrift/2;
- }
- void drawMe() {
- noStroke();
- fill(fillcol, alph);
- ellipse(x, y, radius*2, radius*2);
- stroke(linecol, 150);
- noFill();
- ellipse(x, y, 10, 10);
- }
- void moveMe() {
- x += moveX;
- y += moveY;
- }
- void dontBeAnIdiotAndDriftOffScreenMeAlsoFollowingNamingConventionsForTheWin()
- {
- if (x >= 500)
- {
- x -= 1;
- moveX = random(circleDrift) - circleDrift/2;
- } else if (x <= 0)
- {
- x += 1;
- moveX = random(circleDrift) - circleDrift/2;
- }
- if (y >= 500)
- {
- y -= 1;
- moveY = random(circleDrift) - circleDrift/2;
- } else if ((y <= 0))
- {
- y += 1;
- moveY = random(circleDrift) - circleDrift/2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment