กันยายน 06, 2558

Lab3_book

int wink;
float spin;
void draw(){
  size(300,400);
  background(0);  //colorBlack
  draw_book();
  if(keyPressed){
    if(key==CODED){
      if(keyCode==LEFT) spin+=PI/32;
      else if(keyCode==RIGHT) spin-=PI/32;
    }
  }
  fill(255);
  text("Pressed LEFT or RIGHT arrow.",75,350);
  fill(0);
}
void draw_book(){
  int posX=155, posY=150;
  if(frameCount%50<=25) wink=1;
  else wink=0;
  //bones
  translate(155,150);
  rotate(spin);
  fill(255);  //colorWhite
  noStroke();
  beginShape();
  vertex(-90,-110);
  vertex(110,90);
  vertex(110,110);
  vertex(90,110);
  vertex(-110,-90);
  vertex(-110,-110);
  endShape();
  beginShape();
  vertex(90,-110);
  vertex(-110,90);
  vertex(-110,110);
  vertex(-90,110);
  vertex(110,-90);
  vertex(110,-110);
  endShape();
  ellipse(-100,-120,30,30);
  ellipse(-120,-100,30,30);
  ellipse(100,-120,30,30);
  ellipse(120,-100,30,30);
  ellipse(120,100,30,30);
  ellipse(100,120,30,30);
  ellipse(-100,120,30,30);
  ellipse(-120,100,30,30);
  rotate(-spin);
  translate(-155,-150);
  //skull & hat
  stroke(0);
  strokeWeight(4);
  ellipse(posX,posY+90,80,90);
  fill(145,55,25);  //colorBrown
  arc(posX,posY,170,170,PI+PI/16,TWO_PI-PI/16);
  fill(255,210,50); //colorYellow
  arc(posX,posY,170,170,PI+PI/7,TWO_PI-PI/7);
  arc(posX,posY+30,320,115,PI+PI/5,TWO_PI-PI/5);
  fill(255); //colorWhite
  arc(posX,posY,170,170,0,PI);
  arc(posX,posY,170,30,PI,TWO_PI);
  //detail
  fill(0);
  ellipse(posX,posY+60,20,20); //nose
  ellipse(posX+35,posY+25,50,50*wink); //R-eye
  ellipse(posX-35,posY+25,50,50*wink); //L-eye
  noFill();
  arc(posX,posY,195,195,HALF_PI-PI/8,HALF_PI+PI/8);
  arc(posX,posY,220,220,HALF_PI-PI/8+PI/48,HALF_PI+PI/8-PI/48);
  line(posX-20,posY+85,posX-23,posY+105);
  line(posX,posY+85,posX,posY+110);
  line(posX+20,posY+85,posX+23,posY+105);
  //book
  strokeWeight(3);
  stroke(100); //lncolorGray
  arc(5,400,16,50,HALF_PI,3*PI/2);
  line(8,0,8,375);
  line(8,375,300,375);
  line(7,380,300,380);
  line(6,385,300,385);
  line(5,390,300,390);
  line(4,395,300,395);
  wink++;
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น