Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/*int colorChanger = 0;
 int cloud = 0; */

// Interactive Drawing Assignment by: Joshua Garcia

void setup() { 
  size(400, 400);
}

void draw() {
  
  noCursor();
  
  //Sky
  background(-mouseY/10+30, -mouseY/10+30, -mouseY/10+30);

  //Moon
  noStroke();
  fill(241, 242, 218);
  ellipse(330+mouseX/120, 50+mouseY/120, 60, 60);

  //Clouds
  fill(40);
  ellipse(mouseX-260, 80+mouseY/140, 160, 40);
  fill(50);
  ellipse(mouseX-265, 95+mouseY/140, 200, 40);
  fill(40);
  ellipse(mouseX-120, 40+mouseY/140, 80, 20);
  fill(50);
  ellipse(mouseX-125, 45+mouseY/140, 120, 20);
  fill(40);
  ellipse(mouseX-100, 120+mouseY/140, 80, 20);
  fill(50);
  ellipse(mouseX-115, 123+mouseY/140, 120, 20); 
  fill(40);
  ellipse(mouseX-190, 200+mouseY/140, 40, 10);
  fill(50);
  ellipse(mouseX-205, 203+mouseY/140, 40, 10);
  fill(40);
  ellipse(mouseX-330, 170+mouseY/140, 80, 15);
  fill(50);
  ellipse(mouseX-335, 173+mouseY/140, 85, 15);

  //Stars
  fill(255);
  ellipse(50+mouseX/120, 50+mouseY/120, 2, 2);
  ellipse(231+mouseX/120, 192+mouseY/120, 2, 2);
  ellipse(294+mouseX/120, 295+mouseY/120, 2, 2);
  ellipse(429+mouseX/120, 129+mouseY/120, 2, 2);
  ellipse(400+mouseX/120, 321+mouseY/120, 2, 2);
  ellipse(138+mouseX/120, 264+mouseY/120, 2, 2);
  ellipse(382+mouseX/120, 36+mouseY/120, 2, 2);
  ellipse(476+mouseX/120, 260+mouseY/120, 2, 2);
  ellipse(89+mouseX/120, 159+mouseY/120, 2, 2);

  //Stars#2
  fill(241, 242, 218);
  ellipse(75+mouseX/120, 192+mouseY/120, 1, 1);
  ellipse(126+mouseX/120, 150+mouseY/120, 1, 1);
  ellipse(360+mouseX/120, 247+mouseY/120, 1, 1);
  ellipse(340+mouseX/120, 120+mouseY/120, 1, 1);
  ellipse(280+mouseX/120, 40+mouseY/120, 1, 1);
  ellipse(380+mouseX/120, 63+mouseY/120, 1, 1);
  ellipse(280+mouseX/120, 120+mouseY/120, 1, 1);
  ellipse(310+mouseX/120, 160+mouseY/120, 1, 1);

  //Buildings

  fill(90);
  noStroke();
  rect(100+mouseX/80, 260+mouseY/80, 120, 100);
  rect(50+mouseX/80, 210+mouseY/80, 30, 120);
  fill(80);
  rect(90+mouseX/80, 230+mouseY/80, 40, 150);
  rect(150+mouseX/80, 200+mouseY/80, 30, 150);
  rect(15+mouseX/80, 260+mouseY/80, 20, 100);
  rect(250+mouseX/80, 185+mouseY/80, 20, 120);
  rect(230+mouseX/80, 195+mouseY/80, 10, 120);
  fill(100);
  rect(300+mouseX/80, 230+mouseY/80, 40, 150);
  fill(90);
  rect(325+mouseX/80, 210+mouseY/80, 30, 120);
  rect(380+mouseX/80, 220+mouseY/80, 20, 130);
  fill(80);
  rect(450+mouseX/80, 220+mouseY/80, 20, 110);
  rect(425+mouseX/80, 210+mouseY/80, 20, 140);

  //Hills
  noStroke();
  fill(70);
  arc(50+mouseX/70, 450+mouseX/150, 600, 300, PI, PI*2);
  fill(60);
  arc(400+mouseX/35, 400+mouseY/35, 600, 300, PI, PI*2);
  fill(50);
  arc(0+mouseX/15, 450+mouseY/15, 1000, 300, PI, PI*2);

  //Person
  fill(89, 104, 116);
  ellipse(230+mouseX/15, 250+mouseY/15, 30, 30);
  rect(210+mouseX/15, 265+mouseY/15, 40, 50);
  rect(200+mouseX/15, 305+mouseY/15, 10, 30);
  rect(230+mouseX/15, 305+mouseY/15, 10, 30);

  //Bench
  fill(40);
  rect(200+mouseX/15, 270+mouseY/15, 130, 15);
  rect(200+mouseX/15, 290+mouseY/15, 130, 15);
  rect(200+mouseX/15, 310+mouseY/15, 130, 10);

  //Bench Legs
  rect(220+mouseX/15, 305+mouseY/15, 10, 40);
  rect(300+mouseX/15, 305+mouseY/15, 10, 40);
}