Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
//Window by Melissa Goldsmith
//the scene shows the sun and moon rising and setting through a window
//move the mouse left to make the moon set and the sun rise
//move the mouse right to make the sun set and the moon rise
//press the mouse during the day to make the berries flash
//press the mouse at night to make the stars flash





void setup() {
  //set total size to 400x400
  size(400, 400);
  
 
}
void draw() {
  //set to 60 fps
   frameRate(60);
   
  //set back wall to light beige
  background(255, 245, 230);
  rectMode(CORNERS);
  
  //widow pt.1(edge of frame)
  stroke(255);
  fill(255);
  rect(90, 40, 300, 260);

  //sky
  fill(0, 0, 51);
  rect(100, 50, 290, 250);

  //stars
  noStroke();
  fill(250, 250, 240);
  ellipse(280, 90, 5, 5);
  ellipse(150, 80, 5, 5);
  ellipse(125, 67, 5, 5);
  ellipse(200, 143, 5, 5);
  ellipse(260, 156, 5, 5);
  ellipse(140, 230, 5, 5);
  ellipse(198, 224, 5, 5);
  ellipse(220, 75, 5, 5);
  ellipse(237, 220, 5, 5);
  ellipse(110, 90, 5, 5);
  ellipse(112, 134, 5, 5);
  ellipse(132, 167, 5, 5);

  //day sky original colour(135,26,235)
  fill(135, 206, 235, mouseX);
  rect(100, 50, 290, 250);

  //sun
  fill(244, 240, 90);
  ellipse(190, -mouseX+490, 70, 70);
  //moon
  fill(250, 250, 250);
  ellipse(190, mouseX+90, 60, 60);

  //window pt.2 (rest of frame and glass)
  fill(255);
  rect(100, 250, 290, 260);

  fill(255, 255, 255, 40);
  rect(100, 140, 290, 200);
  rect(100, 50, 290, 200);

  fill(255);
  rect(100, 195, 290, 200);
  rect(100, 137, 290, 140);

//wall under window
  fill(255, 245, 230);
  noStroke();
  rect(100, 260, 300, 300);

  //floor
  fill(101, 67, 33);
  rect(0, 310, 400, 400);

  fill(255);
  rect(0, 310, 400, 300);

  //tabel
  fill(204, 119, 34);
  rect(85, 265, 105, 350);
  rect(315, 265, 295, 350);
  stroke(294, 209, 124);
  strokeWeight(3);
  fill(255, 255, 255, 200);
  ellipse(195, 265, 410, 10);


  //flower pot
  noStroke();
  fill(151, 153, 111);
  rect(75, 245, 89, 265);
  rect(300, 245, 316, 265);
  //bush
  fill(23, 203, 23);
  ellipse(83, 220, 50, 59);
  ellipse(310, 220, 50, 59);

  //berries
  fill(234, 0, 14);
  ellipse(70, 210, 12, 12);
  ellipse(95, 215, 7, 7);
  ellipse(90, 230, 10, 10);
  ellipse(69, 232, 8, 8);

  ellipse(305, 210, 9, 9);
  ellipse(325, 220, 7, 7);
  ellipse(302, 230, 12, 12);
  ellipse(323, 235, 6, 6);
}

void mousePressed() {

//set to 10fps
frameRate(10);

//redraw everything exept change star colour
 background(255, 245, 230);
  rectMode(CORNERS);
  //widow pt.1
  stroke(255);
  fill(255);

  rect(90, 40, 300, 260);

  //sky
//night
  fill(0, 0, 51);
  rect(100, 50, 290, 250);
  
    //flash stars
  noStroke();
  fill(255, 0, 0);
  ellipse(280, 90, 5, 5);
  ellipse(150, 80, 5, 5);
  ellipse(125, 67, 5, 5);
  ellipse(200, 143, 5, 5);
  ellipse(260, 156, 5, 5);
  ellipse(140, 230, 5, 5);
  ellipse(198, 224, 5, 5);
  ellipse(220, 75, 5, 5);
  ellipse(237, 220, 5, 5);
  ellipse(110, 90, 5, 5);
  ellipse(112, 134, 5, 5);
  ellipse(132, 167, 5, 5);
  
  //day sky 135,26,235
   noStroke();
  fill(135, 206, 235, mouseX);
  rect(100, 50, 290, 250);

  //sun
  fill(244, 240, 90);
  ellipse(190, -mouseX+490, 70, 70);
  //moon
  fill(250, 250, 250);
  ellipse(190, mouseX+90, 60, 60);

  //window pt.2
  fill(255);
  rect(100, 250, 290, 260);

  fill(255, 255, 255, 40);
  rect(100, 140, 290, 200);
  rect(100, 50, 290, 200);

  fill(255);
  rect(100, 195, 290, 200);
  rect(100, 137, 290, 140);

//wall under window
  fill(255, 245, 230);
  noStroke();
  rect(100, 260, 300, 300);

  //floor
  fill(101, 67, 33);
  rect(0, 310, 400, 400);

  fill(255);
  rect(0, 310, 400, 300);

  //tabel
  fill(204, 119, 34);
  rect(85, 265, 105, 350);
  rect(315, 265, 295, 350);
  stroke(294, 209, 124);
  strokeWeight(3);
  fill(255, 255, 255, 200);
  ellipse(195, 265, 410, 10);


  //flower pot
  noStroke();
  fill(151, 153, 111);
  rect(75, 245, 89, 265);
  rect(300, 245, 316, 265);
  //bush
  fill(23, 203, 23);
  ellipse(83, 220, 50, 59);
  ellipse(310, 220, 50, 59);

  //berries
  fill(234, 0, 14);
  ellipse(70, 210, 12, 12);
  ellipse(95, 215, 7, 7);
  ellipse(90, 230, 10, 10);
  ellipse(69, 232, 8, 8);

  ellipse(305, 210, 9, 9);
  ellipse(325, 220, 7, 7);
  ellipse(302, 230, 12, 12);
  ellipse(323, 235, 6, 6);
 
  //flash berries
  stroke(23, 0, 200, mouseX -65);
  fill(0, 0, 245, mouseX-65);
  ellipse(70, 210, 12, 12);
  ellipse(95, 215, 7, 7);
  ellipse(90, 230, 10, 10);
  ellipse(69, 232, 8, 8);

  ellipse(305, 210, 9, 9);
  ellipse(325, 220, 7, 7);
  ellipse(302, 230, 12, 12);
  ellipse(323, 235, 6, 6);
}