วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

SPORT:BADMINTON2





CODE
int a = 1;          //Global variable

void setup(){
  size(200,200);
}
void draw(){
  background(120,216,252);          //สีพื้นหลัง
  drawBadminton(a);          //User defined function รูปแบบ function with parameter  //ตัวแปร a ของฟังก์ชันdrawBadminton()
  a = a + 1;
}
void drawBadminton(int y){          //ตัวแปร y ของฟังก์ชันdrawBadminton()
    //ไม้แบดมินตัน
  strokeWeight(1);
  stroke(118,35,45);
  fill(118,35,45);
  ellipse(100,170,90,100);
  fill(120,216,252);
  ellipse(100,170,88,95);
  line(100,200,100,120);
  line(107,200,105,122);
  line(93,200,95,122);
  line(112,200,110,124);
  line(88,200,90,124);
  line(117,200,115,126);
  line(83,200,85,126);
  line(122,200,120,128);
  line(78,200,80,128);
  line(127,200,125,130);
  line(73,200,75,130);
  line(132,200,130,135);
  line(68,200,70,135);
  line(137,196,135,142);
  line(63,196,65,142);
  line(78,128,122,128);
  line(73,133,127,133);
  line(68,138,132,138);
  line(63,143,137,143);
  line(60,148,140,148);
  line(58,153,142,153);
  line(58,158,142,158);
  line(55,163,145,163);
  line(55,168,145,168);
  line(55,174,145,174);
  line(58,181,142,181);
  line(60,188,140,188);
  line(63,196,137,196);
 
    //ลูกขนไก่
  noStroke();
  fill(250);
  arc(100,35+y,25,35,0,PI);
  strokeWeight(2);
  stroke(250);
  line(110,35+y,125,y);
  line(105,40+y,114,y);
  line(100,40+y,100,y);
  line(95,40+y,86,y);
  line(90,35+y,75,y);
  noStroke();
  fill(250);
  ellipse(100,10+y,10,38);
  ellipse(90,10+y,10,35);
  ellipse(88,10+y,10,35);
  ellipse(79,10+y,10,30);
  ellipse(81,10+y,10,25);
  ellipse(112,10+y,10,35);
  ellipse(109,10+y,10,35);
  ellipse(121,10+y,10,30);
  ellipse(119,10+y,10,25);
  stroke(247,5,33);
  line(88,35+y,112,35+y);
}

จากโค้ด  Global variable คือ ตัวแปร a ซึ่งสามารถเรียกนำไปใช้ได้ทุกฟังก์ชัน
(จาก a = a + 1; จะทำให้ภาพมีการเปลี่ยนตำแหน่ง ซึ่งเป็นพื้นฐานของการทำAnimation)
             User defined function คือ drawBadminton() ซึ่งเป็นฟังก์ชันที่สร้างขึ้นมาเอง
             ตัว แปร y จะมีค่าเท่ากับตัวแปร a เนื่องจาก drawBadminton(a) เป็นฟังก์ชันที่สร้างขึ้น และ drawBadminton(int y) เป็นการเรียกใช้ฟังก์ชันที่สร้างขึ้น ทำให้ค่าตัวแปรใน() มีค่าเท่ากัน
             ถ้า background() อยู่ในฟังก์ชัน setup() จะทำให้ลูกขนไก่ซ้อนกัน ดังรูป



              และถ้า background() อยู่ในฟังก์ชัน draw() แต่อยู่ล่างโค้ด a = a + 1; จะทำให้เห็นแต่สีพื้นหลัง ดังรูป


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

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