Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/**************************************
* File Name: Sanny Day
*Author: Thomas Miskey
*Date: Sept 21, 2016
Description: An interactive drawing 
featuring a super happy tree and a 
smiling sun.
*The mouse controls a small bug and 
where the tree looks.
***************************************/

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

void draw() {
//Draw sky blue background
  background(0, 141, 230);

//Remove borders
smooth();
noStroke();

//Draw grassy hill
fill(24, 134, 6);
ellipse(200, 400, 550, 150);

//Tree trunk and roots
fill(93, 59, 0);
rect(300, 100, 80, 250);
triangle(310, 350, 280, 370, 310, 300);
triangle(350, 300, 400, 370, 360, 350);
triangle(310, 250, 260, 170, 350, 200);

//Tree leaves
fill(0, 118, 47);
ellipse(330, 80, 250, 160);

//Sunlight spikes
fill(245, 255, 89);
triangle(200, 130, 120, 50, 80, 120);
triangle(60, 140, 70, 50, 130, 180);
triangle(100, 100, 0, 90, 60, 190);
triangle(210, 20, 138, 70, 140, -3);
triangle(100, 100, -10, 130, 10, 210);

//Sun center
fill(255, 210, 4);
ellipse(19, 18, 260, 260);

//Sun face
fill(255, 255, 255);
ellipse(35, 40, 30, 60);
ellipse(85, 40, 30, 60);
fill(0, 0, 0);
ellipse( 50, 100, 60, 60);
fill(255, 210, 4);
ellipse(51, 97, 65, 55);

//Tree eyes
fill(255, 255, 255);
ellipse(355, 200, 15, 30);
ellipse(325, 200, 15, 30);

//Tree smile
ellipse(340, 250, 50, 40);
fill(93, 59, 0);
rect(300, 230, 70, 20);
fill(0, 0, 0);
rect(353, 250, 2, 17);
rect(343, 250, 2, 20);
rect(333, 250, 2, 20);
rect(323, 250, 2, 17);
rect(317, 257, 46, 2);

//Sun pupils (follow cursor)
fill(0);
  ellipse(85 + mouseX/45, 40 + mouseY/30, 10, 30);
  ellipse(35 + mouseX/45, 40 + mouseY/30, 10, 30);
  
  //Tree pupils (follow cursor)
  ellipse(350 + mouseX/40, 195 + mouseY/35, 7, 15);
  ellipse(320 + mouseX/40, 195 + mouseY/35, 7, 15);

//Flower stem
noFill();
    stroke(6,255,0);
    strokeWeight(5);
    bezier(125,300,135,350,135,430,130,330);

//Flower petals
noStroke(); 
fill(255, 66, 66);
ellipse(105, 300, 30, 30);
ellipse(115, 280, 30, 30);
ellipse(130, 300, 30, 30);
fill(245, 255, 89);
ellipse(115, 294, 20, 20);

//Fly(follow cursor)
fill(211, 211, 211);
ellipse(5 + mouseX, -5 + mouseY, 15, 12);
ellipse(-5 + mouseX, -5 + mouseY, 15, 12);
fill(0, 0, 0);
ellipse(mouseX, mouseY, 10, 10);

}