วันพฤหัสบดีที่ 4 กันยายน พ.ศ. 2557

Give an example showing that draw() is called repeatedly




เราจะเห็นได้ว่าเมื่อเราประกาศฟังก์ชั่น void draw () คำสั่งที่อยู่ภายในฟังก์ชั่นนั้นจะทำงานแบบวนซ้ำไปเรื่อยๆ สังเกตได้จาก มีการบวกค่าเพิ่มขึ้นเรื่อย (รูปภาพมีการเคลื่อนที่) แต่ถ้าเราลองนำไปใส่ในฟังก์ชั่น void setup () จะเรียกใช้เพียงครั้งเดียว ไม่มีการวนซ้ำ (ภาพไม่มีการขยับ)

int move1 = 90;
float move2 = 300;

void setup () {
  size (300, 300);
  background (255);
}
void draw () {
  background (255);
  noStroke ();
  fill (255, 51, 153);
  ellipse (move1, move1, 100, 100);
  stroke (51, 255, 0);
  fill (102, 255, 0);
  ellipse (move2, move2, 80, 80);

  move1++;
  move2--;

  if (move2 == 0) {
      move1 = 90;
      move2 = 300;
    }
}

เราลองเปรียบเทียบเพื่อพิสูจน์ว่า void setup () ไม่มีการวนซ้ำ

int move1 = 90;
float move2 = 300;

void setup () {
  size (300, 300);
  background (255);
  noStroke ();
  fill (255, 51, 153);
  ellipse (move1, move1, 100, 100);
  stroke (51, 255, 0);
  fill (102, 255, 0);
  ellipse (move2, move2, 80, 80);

  move1++;
  move2--;
}
void draw () {

  if (move2 == 0) {
    move1 = 90;
    move2 = 300;
  }
}


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

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