Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/*

~INTERACTIVE DRAWING~
"MEOW MEOW MEOW"
KAEL SARMENTO
SEPT. 19, 2016

When user moves mouse/fish around, the cat's head follows.

*/


// SETUP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void setup() {
  
 size(400, 400);
 ellipseMode(CENTER);
  
}


// DRAW (LOOP) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void draw() {
  //set framerate?
  frameRate(60);
  
  //THE ROOM/BACKGROUND
  
  //set background to fill light pink
 background(232, 64, 35);
  
  //code the floor
  rectMode(CORNER);
  strokeWeight(2);
  stroke(102, 30, 22);
  fill(138, 40, 30);
  rect(0, 150, 400, 250);
  
  //shadow
  noStroke();
  fill(71, 21, 16, 99);
  rect(170, 230, 165, 60, 90);
  rect(140, 220, 300, 45, 90);
  
  
  //THIS IS THE BODY OF THE KITTY CAT
  
  fill(255);
  rect(220, 95, 200, 145, 130);
 
  
    //center rect from now on
  rectMode(CENTER);
  
  //cat paws
  fill(200);
  rect(170, 235, 60, 35, 90);
  fill(255);
  rect(330, 240, 60, 35, 90);
  
  //wag that tail gurl
  stroke(255);
  strokeWeight(23);
  noFill();
  curve(sin(frameCount * 0.07) * 70, 45, 350, 20, 320,  110, sin(frameCount * 0.07) * 200, 120);
  
  noStroke();
  
  //cat spots
  fill(212, 132, 51);
  rect(320, 140, 130, 90, 90);  
  fill(99, 54, 34);
  rect(350, 175, 50, 70, 90);
  
  //kitty ears
  fill(255);
  triangle(165 + (mouseX * 0.03), 105 + (mouseY * 0.04), 220 + (mouseX * 0.03), 140 + (mouseY * 0.04), 160 + (mouseX * 0.03), 190 + (mouseY *0.04));
  triangle(325 + (mouseX * 0.03), 105 + (mouseY * 0.04), 325 + (mouseX * 0.03), 180 + (mouseY * 0.04), 260 + (mouseX * 0.03), 150 + (mouseY *0.04));
  fill(232, 120, 130);
  triangle(170 + (mouseX * 0.03), 115 + (mouseY * 0.04), 220 + (mouseX * 0.03), 150 + (mouseY * 0.04), 165 + (mouseX * 0.03), 180 + (mouseY *0.04));
  triangle(320 + (mouseX * 0.03), 115 + (mouseY * 0.04), 320 + (mouseX * 0.03), 180 + (mouseY * 0.04), 270 + (mouseX * 0.03), 150 + (mouseY *0.04));
  
  
  //code the kitty face
  fill(197, 200, 207);
  rect(245 + (mouseX * 0.03), 200 + (mouseY * 0.04), 170, 140, 120);
  fill(255);
  rect(240 + (mouseX * 0.03), 200 + (mouseY * 0.04), 170, 140, 120);
  fill(212, 132, 51); //orange
  rect(230 + (mouseX * 0.03), 155 + (mouseY * 0.04), 65, 50, 90);
  
  //kitty eyes
  fill(0);
  ellipse(170 + (mouseX * 0.06), 200 + (mouseY * 0.06), 15, 15);
  ellipse(270 + (mouseX * 0.06), 200 + (mouseY * 0.06), 15, 15);
  
  //kitty mouth
  ellipse(210 + (mouseX * 0.05), 220 + (mouseY * 0.06), 25, 25);
  ellipse(230 + (mouseX * 0.05), 220 + (mouseY * 0.06), 25, 25);
  fill(255);
  rect(220 + (mouseX * 0.05), 210 + (mouseY * 0.06), 60, 20);
  ellipse(210 + (mouseX * 0.05), 220 + (mouseY * 0.06), 21, 21);
  ellipse(230 + (mouseX * 0.05), 220 + (mouseY * 0.06), 21, 21);
  
  //kitty nose
  fill(232, 120, 130);
  ellipse(220 + (mouseX * 0.05), 215 + (mouseY * 0.06), 10, 5);
  
  //THE FISH CODE
    
  //hot fish bod  
  fill(175);    
  ellipse(mouseX, mouseY, 60, 20);
  triangle(mouseX + 10, mouseY - 10, mouseX + 40, mouseY, mouseX + 10, mouseY +10);
  triangle(mouseX + 30, mouseY, mouseX + 50, mouseY - 10, mouseX + 50, mouseY +10);
    //fish lines
  strokeWeight(1);
  stroke(96, 97, 96);
  line(mouseX - 15, mouseY, mouseX - 20, mouseY - 5);
  line(mouseX - 15, mouseY - 5, mouseX - 20, mouseY);
  stroke(116, 117, 117);
  line(mouseX - 15, mouseY + 6, mouseX - 5, mouseY - 7);
  line(mouseX - 5, mouseY + 7, mouseX + 5, mouseY - 7);
  line(mouseX + 5, mouseY + 7, mouseX + 15, mouseY - 6);
  
}

//MOUSE PRESSED MAKES KITTY MEOW
void mousePressed() {

  println("Meow");
}