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

UFO

int x = 0;  // ประกาศ และกำหนดตัวแปร x แบบ Global variale
int count = x; // ประกาศ และกำหนดตัวแปร count แบบ Global variale

void setup() {
  size(400, 400); // กำหนดขนาดจอภาพที่แสดง
  smooth();
  strokeWeight(5); // กำหนดความหนาของเส้นวัตถุ
}

void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
  background(x, 255, 255);  // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า x
  drawUFO(x);  // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวตถุ
  
  if (count <= 400) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า count มีค่าน้อยกว่าหรีลือ 400
    x = x + 1;  // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ  1
    count = x;  // สั่งให้ count มีค่าเท่ากับ x
  }
  else {  // แต่ถ้านอกจากนั้น
    x = x - 1;  // สั่งให้เพิ่มค่าของ x โดยสั่งให้ ลดลงทีละ  1
    count = count + 1; // สั่งให้เพิ่มค่าของ count โดยสั่งให้ เพิ่มขึ้นทีละ  1
  }
  if (count == 400*2) { // และถ้า count มีค่าเท่ากับ 400*2
    count = 0;  // ให้ count เท่ากับ 0
  }
}

void drawUFO(int x) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
  int y = 250;  // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y
  int rx = 200;   //  ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
  int ry = 100;  //  ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
  line(x, y - 120, x, y);   // คำสั่งวาดเส้น
  fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
  ellipse(x, y - 120, 20, 20);   // คำสั่งวาดวงกลม
  fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
  ellipse(x, y - 30, rx - 100, ry);   // คำสั่งวาดวงกลม
  fill(0); // ใส่สีพื้นหลังวัตถุ
  ellipse(x, y, rx, ry - 50);   // คำสั่งวาดวงกลม
}


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

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