31 ตุลาคม 2556

Background Game


//// Background ////



--- รวมฟังก์ชัน พื้นหลัง ---
void sceen() {
  Pole(80, 10);
  Tree(width-130, height-25, 60, 40, 20);
  Crate(width-80, height-100, 40, 30);
}

--- วาดต้นไม้ ---
void Tree(int x, int y, int b, int h, int r) {
  noStroke();
  //leaf
  fill(46, 160, 26);
  ellipse(x+2*b, y-5*h-h/3, 2*r/3, r); //middle
  ellipse(x+2*b+r/2, y-5*h, r, 2*r/3);
  ellipse(x+2*b, y-5*h+h/3, 2*r/3, r);
  ellipse(x+2*b-r, y-5*h-h/4, r, 3*r/2);
  ellipse(x+2*b-2*r/3, y-5*h+2*h/3, r, 2*r/3);
  ellipse(x+2*b-3*r/2, y-4*h, r, 3*r/2);
  ellipse(x+b, y-5*h, 4*r/3, r);
  ellipse(x+b+r/2, y-5*h-h/2, 2*r/3, r);
  ellipse(x+b+r, y-5*h, 2*r/3, r);
  ellipse(x+2*b-b/4, y-9*h, 2*r/3, r); //top left
  ellipse(x+2*b, y-9*h-h/5, 2*r/3, r);
  ellipse(x+2*b+r/2, y-9*h+h/5, r, 2*r/3);
  ellipse(x+2*b-b/3, y-7*h-h/3, r, 3*r/2);
  ellipse(x+2*b, y-8*h+h/5, 3*r/2, r);
  ellipse(x+b+b/3, y-8*h+h/2, r, 2*r/3);
  ellipse(x+8*b/3, y-8*h-h/4, r, 2*r/3);
  ellipse(x+7*b/3+r/3, y-8*h, 2*r/3, r);
  ellipse(x-2*b+b/3, y-9*h, r, 2*r/3); //top right
  ellipse(x-2*b, y-9*h-h/5, 2*r/3, r);
  ellipse(x-2*b-r/2, y-9*h+h/5, r, 2*r/3);
  ellipse(x-2*b, y-8*h+h/4, r, 2*r/3);
  ellipse(x-2*b+b/5, y-7*h-h/3, 2*r/3, r);
  ellipse(x-2*b-b/6, y-7*h-h/3, r, 2*r/3);
  ellipse(x-2*b+b/4, y-8*h, 2*r/3, r);
  ellipse(x, y-8*h-h/4, 3*r/2, r);
  ellipse(x-2*b/5, y-8*h-h/3, 2*r/3, r);
  ellipse(x-b/2, y-9*h-h/5, 2*r/3, r);
  ellipse(x-b/3, y-9*h+h/5, r, 2*r/3);
  ellipse(x-4*b/5, y-9*h+h/5, r, 2*r/3);
  ellipse(x-b-b/4, y-9*h, r, 3*r/2);
  ellipse(x-b/2, y-7*h, r, 3*r/2);
  ellipse(x-4*b/5, y-7*h-h/3, 2*r/3, r);
  ellipse(x-5*b/4, y-7*h-h/4, 3*r/2, r);
  //stem
  stroke(157, 64, 14);
  fill(157, 64, 14);
  quad(x, y, x+5*b/4, y, x+4*b/3, y-h, x+b/3, y-4*h/3);
  quad(x+b/3, y-4*h/3, x+4*b/3, y-h, x+b, y-5*h/2, x, y-2*h);
  quad(x+b, y-5*h/2, x, y-2*h, x-b, y-2*h, x-4*b/3, y-9*h/4); //pole
  quad(x+b, y-5*h/2, x, y-2*h, x+b/4, y-3*h, x+5*b/4, y-7*h/2);
  quad(x+b/4, y-3*h, x+5*b/4, y-7*h/2, x+4*b/5, y-5*h, x, y-4*h-h/2);
  quad(x+b/2, y-5*h, x-b-b/4, y-5*h, x-b-b/2, y-5*h-h/2, x-b, y-5*h-h/4); //pole
  quad(x-b, y-5*h-h/4, x+b/2, y-5*h, x+b/2, y-5*h-h/4, x-b, y-5*h-h/4); //pole
  quad(x, y-4*h-h/2, x+4*b/5, y-5*h, x+2*b/3, y-6*h-h/4, x, y-6*h);
  quad(x, y-6*h, x+2*b/3, y-6*h-h/4, x+b, y-7*h-h/2, x+b/5, y-7*h);
  quad(x+b/5, y-7*h, x+b, y-7*h-h/2, x-b/2, y-8*h, x-b, y-8*h+h/5);
  quad(x-b, y-8*h+h/5, x-b/2, y-8*h, x-2*b+b/4, y-9*h+h/5, x-2*b, y-9*h);
  quad(x+b/5, y-7*h, x+b, y-7*h-h/2, x+3*b, y-9*h+h/4, x+b/2, y-8*h);
  //branch
  quad(x+b, y-4*h, x+2*b, y-5*h, x+3*b/2, y-5*h+h/4, x+b, y-4*h-h/4);
  triangle(x-2*b, y-8*h+h/2, x-b, y-8*h+h/5, x-b, y-8*h);
  triangle(x-b, y-8*h+h/5, x-2*b/3, y-8*h, x-b/2, y-9*h);
  triangle(x+2*b, y-9*h, x+2*b-b/4, y-8*h-h/3, x+3*b/2, y-8*h-h/4);
  //bird
  noStroke();
  fill(62, 30, 12);
  arc(x+b, y-8*h-h/2, 3*r, 3*r, 0, PI);
}

--- วาดกล่อง---
void Crate(int x, int y, int l, int r) {
  fill(106);
  stroke(0);
  strokeWeight(3);
  rect(x, y, 2*r, 2*l);
  quad(x, y, x-r, y+l, x+3*r, y+l, x+2*r, y);
}

--- วาดไม้ตรงที่ยืน Girl ---
void Pole(int l, int r) {
  fill(62, 30, 12);
  noStroke();
  quad(0, height/2+3*r, 0, height/2+4*r, l/2+2*r, height/2, l/2+r, height/2);
  rect(0, height/2, l, r);
  fill(15, 165, 58);
  rect(0, height-50, width, 50);
}

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

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