Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
/* Deja Smith
 Meet Monster Prince
 The "Focus eye" (Bottom eye) focuses on you, 
 while the "Peripheral eye" (top eye) is destracted by the mouse.
 */
void setup() {
  size(400, 400);
  rectMode(CENTER);
  background(225);
}

void draw() {

  background(225);

  //Right H0rn -------------
  fill(0);
  arc(250, 43 + sin(frameCount *.02)*8.67, 200, 200, radians(305), radians(430));

  noStroke();
  fill(225);
  ellipse(209.87, -17 + sin(frameCount *.02)*8.67, 200, 190);

  noStroke();
  fill(225);
  ellipse(225, 136 + sin(frameCount *.02)*8.67, 216, 250);


  //Right H0rn slit ---------
  fill(0);
  arc(220, 130 + sin(frameCount *.02)*7.6, 200, 200, radians(305), radians(430));

  noStroke();
  fill(225);
  ellipse(200, 153 + sin(frameCount *.02)*7.6, 250, 250);


  //Left H0rn ---------------
  fill(0);
  arc(123, 100 + sin(frameCount *.02)*8.67, 190, 190, radians(47), radians(202));

  fill(225);
  triangle(20, 75 + sin(frameCount *.02)*8.67, 75, 50 + sin(frameCount *.02)*8.67, 60, 100 + sin(frameCount *.02)*8.67);
  ellipse(50, 60 + sin(frameCount *.02)*8.67, 50, 30);

  noStroke();
  fill(225);
  ellipse(177, 158 + sin(frameCount *.02)*8.67, 205, 249);


  //tuff 1 ------------------
  fill(0);
  arc(208, 68 + sin(frameCount *.02)*8, 112, 52, radians(150), radians(292));

  //tuff 2 ------------------
  fill(0);
  arc(290, 108 + sin(frameCount *.02)*8, 115, 140, radians(12), radians(90));
  fill(225);
  noStroke();
  ellipse(346, 114 + sin(frameCount *.02)*8, 100, 17);


  //Ears R -----------------
  fill(0);
  arc(266, 200 + sin(frameCount *.02)*6.7, 136, 106, radians(12), radians(90));

  //Ears L -----------------
  fill(0);
  arc(128, 200 + sin(frameCount *.02)*6.7, 136, 106, radians(90), radians(167));


  //Head --------------------
  fill(0);
  ellipse(width/2, height/2.5 + sin(frameCount *.02)*10, 200, 197);
  fill(0);
  rect(width/2, height/1.5 + sin(frameCount *.02)*11, 20, 57);

  //Top/bottom H0rns --------
  fill(0);
  arc(190, 158 + sin(frameCount *.02)*10, 205, 249, radians(108), radians(250));
  fill(0);
  arc(200, 158 + sin(frameCount *.02)*10, 215, 255, radians(295), radians(425));

  //Body --------------------
  fill(0);
  triangle(150, 427 + sin(frameCount *.02)*11, 200, 250 + sin(frameCount *.02)*11, 250, 427 + sin(frameCount *.02)*11);

  rectMode(CENTER);
  rect(203, 370 + sin(frameCount *.02)*11, 65, 70);
  rectMode(CENTER);
  rect(197, 370 + sin(frameCount *.02)*11, 65, 70);

  fill(0);
  quad(250, 360 + sin(frameCount *.02)*8, 150, 360 + sin(frameCount *.02)*8, 180, 270 + sin(frameCount *.02)*8, 220, 270 + sin(frameCount *.02)*8);


  //crown
  noStroke();
  fill(0);
  triangle(183, -1 + sin(frameCount *.02)*9, 195, 17 + sin(frameCount *.02)*9, 188.5, 35 + sin(frameCount *.02)*9);
  triangle(208, 35 + sin(frameCount *.02)*9, 199, -10 + sin(frameCount *.02)*9, 188, 35 + sin(frameCount *.02)*9);
  triangle(202.8, 17 + sin(frameCount *.02)*9, 214, -1 + sin(frameCount *.02)*9, 208, 35 + sin(frameCount *.02)*9);
  fill(255);
  ellipse(198.5, 22 + sin(frameCount *.02)*9, 5, 13);

  //Bottom Eye --------------
  fill(255);
  arc(200, 205 + sin(frameCount *.02)*13.5, 100, 80, 0, PI);
  fill(0);
  ellipse(width/2, height/1.91 + sin(frameCount *.02)*9.7, 30, 51);


  //Top Eye -----------------
  fill(255);
  arc(200, 144 + sin(frameCount *.02)*13.5, 100, 80, 0, PI);
  fill(0);
  ellipse(150 + mouseX/3.89, 140 + mouseY/14.897 + sin(frameCount *.02)*9.7, 30, 51);

  println (sin(frameCount *.05));
}