Sunday, September 6, 2015

Lab3 - Flying bird

int wingMove = 0;
int wingDelay;

void setup() {
  size(400, 400);
  frameRate(10);
}

void draw() {
  int posX = mouseX;
  int posY = mouseY;
  background(#87CEFA);
  draw_angrybird(posX, posY, 150);
  if (posY < 80){
    wingDelay = 10;
  }
  else if (posY >= 80 && posY < 190){
    wingDelay = 6;
  }
  else{
    wingDelay = 3;
  }
  if (frameCount%wingDelay == 2){
    wingMove = 30;
  }
  else{
    wingMove = 0;
  }
}

void draw_angrybird(int posX, int posY, int size) {
  //Body
  strokeWeight(4);
  stroke(#000000);
  fill(#C60000);
  ellipse(posX, posY, size, size);
  //Eyes
  strokeWeight(4);
  stroke(#000000);
  fill(#FFFFFF);
  ellipse(posX-(size/10), posY-(size/10), size/5, size/5);
  ellipse(posX+(size/10), posY-(size/10), size/5, size/5);
  stroke(#000000);
  fill(#000000);
  ellipse(posX-(size/15), posY-(size/10), size/15, size/15);
  ellipse(posX+(size/15), posY-(size/10), size/15, size/15);
  //Eyebrow
  strokeWeight(4);
  stroke(#000000);
  rect(posX-(size/3.8), posY-(size/4.2), size/4, size/10);
  rect(posX+(size/60), posY-(size/4.2), size/4, size/10);
  //Mouth
  strokeWeight(3);
  stroke(#000000);
  fill(#FFB90F);
  triangle(posX-(size/7.5), posY+(size/10), posX+(size/6), posY+(size/6), posX, posY);
  triangle(posX-(size/7.5), posY+(size/10), posX+(size/6), posY+(size/6), posX, posY+(size/5));
  //Wings
  strokeWeight(3);
  stroke(#000000);
  fill(#C60000);
  triangle(posX+(size/2), posY+(size/15), posX+(size/1.15), posY+wingMove, posX+(size/2), posY-(size/15));
  triangle(posX-(size/2), posY+(size/15), posX-(size/1.15), posY+wingMove, posX-(size/2), posY-(size/15));
}

No comments:

Post a Comment