วันอาทิตย์ที่ 23 มิถุนายน พ.ศ. 2556

-Phee Ta Khon-




void setup(){                    //เป็นฟังก์ชันที่โปรแกรมจะเรียกใช้อัตโนมัติเป็นอันดับแรก 
 size(200,200);
}

float count=20;                 //เป็นการประกาศตัวแปลแบบ Global  จะใช้ตัวแปรที่ประกาศได้
                                         ทุกฟังก์ชัน
                                       //float คือการประกาศตัวแปลเป็นค่าทศนิยม
void draw(){                     //เป็นฟังก์ชันที่โปรแกรมจะเรียกใช้อัตโนมัติเป็นอันดับสอง 
                                         และจะเรียกใช้ซ้ำๆเรื่อยๆ เป็นพื้นฐานของการวาดanimation 
 background(40,200,150);
 drawFace();                     //เป็นการเรียกใช้ฟังก์ชัน drawFace();
 drawEye(count);               //เป็นการเรียกใช้ฟังก์ชัน drawEye(int z);
                                          โดยส่งค่า count ไปให้  int z ในฟังก์ชัน
                                           รับค่า count มาจากการที่เราประกาศตัวแปลไว้ข้างต้น
                                           int count = 20 
 count=count-0.5;             //เป็นการกำหนดให้ค่า count ลดลง 0.5 ทุกๆครั้งที่มีการ
                                          เรียกใช้ฟังก์ชัน void draw( ){ }
 if(count<0){                     //if( ){ }เป็นการกำหนดเงื่อนไข โดยกำหนดเงื่อนไขไว้ใน ( )
                                           ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งใน { }
 count=20;
 }
}

void drawFace(){                //เป็นการสร้างฟังก์ชันขึ้นมาเอง   จะตั้งชื่อว่าอะไรก็ได้ 
                                             แต่ต้องมี void  draw......(){  }อยู่เสมอ 
                                             โดยใส่คำสั่งที่ต้องการเข้าไปใน { }
 fill(220,0,0);
 triangle(30,10,100,80,170,10);
 fill(0,100,220);
 quad(40, 20, 160, 20, 142, 40, 59, 40); /////// hat
 fill(225,225,225);
 ellipse(100,120,90,140);///// face
 fill(220,0,0);
 quad(60, 140, 140, 140, 130, 160, 70, 160);//// mouth
 fill(50,0,100);
 ellipse(100,140,20,80);/////nose
}

void drawEye(int z){         //เป็นการสร้างฟังก์ชันขึ้นมาเอง เพื่อให้สะดวกในการเรียกใช้งาน 
                                          จะตั้งชื่อว่าอะไรก็ได้ แต่ต้องมี void  draw....(){  }อยู่เสมอ
                                          (int z)ที่เห็นคือการ กำหนดตัวแปลเพื่อให้สามารถ
                                           ใส่ค่าเข้าไปเองได้ เช่น เรียกใช้ drawEye(count);
                                           ค่าก็จะถูกส่งไปที่ตัวแปล z ในฟังค์ชัน drawEye( ){ }
                                           ในที่นี้คำสั่งในฟังก์ชันนี้
                                           คือ ellipse(80,y,x,z); จะได้เป็น ellipse(80,y,x,count);
 int y=95;                            //เป็นการประกาศตัวแปลแบบ Local
                                           จะใช้ตัวแปลที่ประกาศได้ในฟังก์ชันที่ประกาศเท่านั้น
 int x=30;
 fill(0);
 ellipse(80,y,x,z);            // รับค่า y ,x  มาจากการที่เราประกาศตัวแปลไว้ข้างต้น
                                           int y = 95 ,int x=30 
 ellipse(120,y,x,z);
}
//เพิ่มเติม เริ่มต้นค่า count=20 จะถูกส่งมาที่ฟังก์ชันvoid drawEye( ){ } แต่เนื่องจากเรากำหนดให้
ค่า count ลดลงทีละ 0.5 ในทุกๆครั้งที่มีการเรียกใช้ฟังก์ชัน void draw( ){ } จะเห็นเป็นภาพ 
ผีตาโขนค่อยๆหลับตาลง แต่เราเขียนเงื่อนไขไว้ว่าถ้า count<o  ค่า count =20
จึงทำให้เป็นภาพผีตาโขนลืมตา และทำแบบนี้ซ้ำๆไปเรื่อยๆจึงเกิดเป็นภาพ animation  อย่างที่เห็น
//ถ้าประกาศ float count=20; อยู่ใน void draw( ){ } ทุกครั้งที่มีการเรียกใช้ฟังก์ชัน 
void draw( ){ }   count =20 เสมอจึงไม่เกิดเป็นถาพเคลื่อนไหว 
 void draw(){
  float count=20;
  background(40,200,150);
  drawFace();
  drawEye(count);
  count=count-0.5;
  if(count<0){
     count=20;
  }

}

 //quad(x1 ,y1 ,x2 ,y2 ,x3 ,y3 ,x4 ,y4 ); เป็นคำสั่งวาด4เหลี่ยมโดยเราสามารถ
                                                             กำหนดตำแหน่งได้ทุกจุดเพื่อรูปทรงที่แตกต่าง
//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1

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

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