วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2556

-What do a boy do-




void setup(){
  size(200,200);
}
int c=0;
float x=55;
void draw(){
  background(250,200,0);
  drawFace();
  drawEye(x);
  c=c+1;                            //เป็นการกำหนดให้ค่า c เพิ่มขึ้น 1 ทุกๆครั้งที่มีการ
                                         เรียกใช้ฟังก์ชัน void draw( ){ }
  if(c<=60){                   //if( ){ }เป็นการกำหนดเงื่อนไข โดยกำหนดเงื่อนไขไว้ใน ( )
                                     ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งใน { }
    x=x+0.5;  
  }
  else{                           //else{ } เป็นคำสั่งที่ใช้ต่อจาก if( ){ }  โดยคำสั่งจะเริ่มพิจารณา
                                  เงื่อนไขจาก if ก่อนถ้าไม่เป็นจริง จะทำตามคำสั่งของ else ใน { }
    x=x-0.5;
  }
  if(c==120){
    c=0;
    x=55;
  }

}

void drawEye(float x ){
  fill(0);
  ellipse(x,100,15,15);
  ellipse(x+60,100,15,15);
}

void drawFace(){
  int s=0;
  int e=200;
  fill(250,0,0);
  rect(s,s,e,50);
  line(s,100,e,100);
  fill(255);
  ellipse(70,100,50,50);
  ellipse(130,100,50,50);
  fill(0);
  ellipse(100,140,20,20);
  line(70,180,140,160);
  line(130,150,150,170);
  line(40,30,40,50);
  line(80,30,80,50);
  line(120,30,120,50);
  line(160,30,160,50);
  ellipse(155,160,2,2);
  ellipse(165,160,2,2);
  ellipse(155,150,3,3);
  ellipse(165,150,2,2);
}
//ตัวแปล x ใช้ในการเก็บค่าเพื่อให้ตาขยับไปซ้ายขวา 
//เพิ่มเติม ค่าcที่เพิ่มขึ้นเปรียบเสมือน เวลาที่เพิ่มขึ้นเรื่อยๆ จากเงื่อนไขถ้าc<=60 ค่าxจะบวก0.5เรื่อยๆ
ทำให้ตา ขยับไปทางขวา  แต่เมื่อเงื่อนไข c<=60 ไม่เป็นจริง
ค่าxจะลดลงมาเรื่อยๆ ทำให้ตาเคลื่อนที่กลับที่เดิม เมื่อc==120 จะตรงกับอีกเงื่อนไขนึง
ทำให้ค่า c=0 ,x=55 เป็นการรีเซ็ต ค่าc และ x ให้กลับมาเป็นค่าเริ่มต้น

//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2

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

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