วันเสาร์ที่ 6 กรกฎาคม พ.ศ. 2556

-Song Melody-




void setup(){
 size(400,200);
}
int c=400;
void draw(){
  background(255);
  draw5line();
  drawNote(c);
  c=c-1;                                //เป็นการกำหนดให้ค่า c ลดลง 1 ทุกๆครั้งที่มีการ
                                           เรียกใช้ฟังก์ชัน void draw( ){ }
  if(c<-400){                       //if( ){ }เป็นการกำหนดเงื่อนไข โดยกำหนดเงื่อนไขไว้ใน ( )
                                     ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งใน { }
    c=400;
  }
}
void draw5line(){
  int l=40;
  int e=400;
  fill(0);
  line(0,l,e,l);
  line(0,l+30,e,l+30);
  line(0,l+60,e,l+60);
  line(0,l+90,e,l+90);
  line(0,l+120,e,l+120);
  rect(0,40,10,120);
}
void drawNote(int c){

  strokeWeight(2);
  ellipse(c+30,85,20,20);

  ellipse(c+60,100,20,20);
  line(c+70,100,c+70,45);
  line(c+70,45,c+80,70);

  ellipse(c+100,70,20,20);
  line(c+110,70,c+110,20);
  line(c+110,20,c+120,40);

  ellipse(c+140,70,20,20);
  line(c+150,70,c+150,115);
  line(c+150,115,c+160,100);

  ellipse(c+180,145,20,20);
  line(c+190,145,c+190,100);
  ellipse(c+230,160,20,20);
  line(c+240,160,c+240,115);
  line(c+190,100,c+240,115);
  line(c+190,105,c+240,120);

  ellipse(c+270,85,20,20);
  line(c+280,85,c+280,30);
  ellipse(c+310,100,20,20);
  line(c+320,100,c+320,50);
  ellipse(c+350,115,20,20);
  line(c+360,115,c+360,70);
  line(c+280,30,c+360,70);
  line(c+280,35,c+360,75);
}

//ตัวแปล c ใช้ในการเก็บค่าเพื่อให้ตัวโน๊ตขยับไปทางซ้าย 
//เพิ่มเติม ค่าc ลดลง 1 เรื่อยๆทำให้ตัวโน๊ตขยับไปทางซ้าย เนื่องจากเรา กำหนดให้เริ่มแรก ค่า c=400
 เมื่อเงื่อนไข c<-400 เป็นจริง จะทำให้ค่า c=400 เป็นการรีเซ็ต ค่า c ให้กลับมาเป็นค่าเริ่มต้น

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

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

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