art code 12


Spot[] spots; // Declare array

void setup() {

  size(1280, 720);

  int numSpots = 50; // Number of objects

  int dia = width/numSpots; // Calculate diameter

  spots = new Spot[numSpots]; // Create array

  for (int i = 0; i < spots.length; i++) {

    float x = dia + i*dia;

    float rate = random(1.1, 2.0);

    // Create each object

    spots[i] = new Spot(x, 200, dia, rate);

  }

  noStroke();

}

void draw() {

  fill(0, 30);

  rect(0, 0, width, height);

  fill(#50c878);

  for (int i=0; i < spots.length; i++) {

    spots[i].move(); // Move each object

    spots[i].display(); // Display each object

  }

}

class Spot {

  float x, y;         // X-coordinate, y-coordinate

  float diameter;     // Diameter of the circle

  float speed;        // Distance moved each frame

  int direction = 1;  // Direction of motion (1 is down, -1 is up)

  

  // Constructor

  Spot(float xpos, float ypos, float dia, float sp) {

    x = xpos;

    y = ypos;

    diameter = dia;

    speed = sp;

  }

    

  void move() {

    y += (speed * direction); 

    if ((y > (height - diameter/200)) || (y < diameter/100)) { 

      direction *= -1; 

    } 

  }

  

  void display() {

    ellipse(x, y, diameter, diameter);

  }

}

Comments

Popular posts from this blog

video loops, art code 9

video loops, art code 6