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

My Love/Passion 3

Light Windmill

จากที่เห็นภาพนี้เป็นภาพกังหันลมที่สามารถหมุนได้ทุกด้าน ในการวาดนั้น อันดับแรกผมใช้ฟังก์ชั่นหลัก void setup() ในการกำหนดขนาดของพื้นที่ จากนั้นจึงกำหนดตัวแปรที่จะใช้ ซึ่งยังคงเป็น Global variables หลังจากนั้น ผมจึงใช้ฟังก์ชั่นหลัก void draw() ในการวาด ผมเริ่มใช้ฟังก์ชั่น background() ในการกำหนดสีให้เป็นไปตามเมาส์ที่ขยับไปในแกน X และ Y หลังจากนั้นผมใช้ฟังก์ชั่นในการวาดวงรีทั้งหมด 5 รูป โดยมี 4 รูปที่มีการกำหนดเงื่อนไขให้เคลื่อนไหวเป็น animation โดยใช้ฟังก์ชั่น if() วงสุดท้ายที่เป็นวงที่ห้าให้เป็นแกนกลางซึ่งสอดไว้ตรงกลางที่หยุดนิ่ง ในการวาดรูปนี้ไม่ยากเท่าไร เชิญลองทำกันได้นะครับ

Processing Code

void setup() {  //ฟังก์ชั่นหลักซึ่งใช้ในการกำหนดขนาด หรือสิ่งต่างๆ มีได้แค่ชุดเดียว
  size(300, 300); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นที่ หรือ size(width, height)
}

int k=150;
int g=0;
int m=0; //ตัวแปรเหล่านี้เป็น Global variables ที่ใช้แทนค่าได้ทุกฟังก์ชั่นในภาพนี้
int b=0; //int ใช้กับตัวแปรที่เป็นจำนวนเต็ม
void draw() {  //ฟังก์ชั่นหลักที่ใช้ในการวาด มีได้เพียงชุดเดียวเช่นกัน
  background(mouseX, mouseX, mouseY); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นหลัง
  fill(#21C6FF); //ฟังก์ชั่นที่ใช้ในการเติมสีตามเครื่องหมาย # หรือค่าของแม่สี
  ellipse(k, k, k+50, k+50); //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height)
  ellipse(k, k, b+50, b+50);
  fill(#D6E817);
  ellipse(k, k, g, g-184);
  fill(#32E817);
  ellipse(k, k, m-180, m+10);
  fill(#FF5221);
  ellipse(k, k, 30, 30);
  m=m+2;
  g=g+2;
  b=b+4; //กำหนดความเร็วของตัวแปรตามตัวเลขที่ตามหลัง
  if(g>200) {
     g=0;
  } else
  if(m>192) {
     m=0;
  }
  if(b>150) {
     b=0;
  } //if() เป็นฟังก์ชั่นที่ใช้ในการกำหนดเงื่อนไขของตัวแปรต่างๆ ที่นำไปแทนค่า
} //else คือฟังก์ชั่นที่ขยายโครงสร้างของฟังก์ชั่น if() ตามด้วยโปรแกรมที่จะให้เลือกระหว่างคำสั่ง 2 ชุดหรือมากกว่านั้น และจะระบุคำสั่งที่ปฏิบัติ เมื่อประโยคในฟังก์ชั่น if() ผิดพลาด
หมายเหตุ สังเกตได้ว่า เครื่องหมาย // เป็นการบอกว่า ฟังก์ชั่นชุดนี้ไม่่ใช้งาน และฟังก์ชั่นหลักที่ใข้ยังเป็น function without parameter

Canvas


  

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

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