My House
นี่เป็นภาพชิ้นแรกที่ผมใช้ตัวแปรชนิด Global variables และเป็นภาพบ้านชิ้นแรก ผมใช้คำสั่งที่เป็นฟังก์ชั่นหลัก 2 ชนิด คือ void setup() ซึ่งใช้ในการกำหนด และ void draw() ซึ่งใช้ในการวาด ฟังก์ชั่นชนิดนี้จะมีได้แค่อย่างละ 1 ชุดในงานหนึ่งชิ้น นอกนั้นเป็นฟังก์ชั่นชุดย่อย นอกจากนี้ผมยังได้สร้างฟังก์ชั่นขึ้นมาเอง แต่ยังคงใช้ไม่ได้ ถ้าหากเรายังไม่เรียกใช้ ตัวแปรที่ผมนำมาใช้แทนตัวเลขนี้เป็นตัวแปรชนิด Global variables แต่ยังคงไม่มี Vocal เนื่องจากชนิดนี้ใช้ได้เพียงในแต่ละฟังก์ชั่น นอกจากนั้น ในแต่ละค่าที่นำตัวแปรไปแทน ยังคงมีการบวกหรือลบด้วยตัวเลขเพื่อให้ได้ค่าที่ต้องการ และผมยังคงใช้คำสั่ง fill() ในการตกแต่งภาพ และคำสั่ง หรือฟังก์ชั่นที่ใช้ในการวาดรูปทรง เช่น ellipse, rect, line และ triangle สำหรับฟังก์ชั่นที่สร้างขื้นเองนั้น เมื่อเราจะเรียกใช้งานต้องใช้ฟังก์ชั่น void draw() เหมือนอย่างที่เห็น
Processing Code
int d=50;int k=100;
int m=200; //บางจุดต้องมีการบวกหรือลบด้วยตัวเลข เพื่อให้ได้ค่าที่ต้องการ
int w=300; //ตัวแปรเหล่านี้เป็น Global variables ซึ่งใช้แทนได้ทั้งฟังก์ชั่นในชิ้นงานนี้
void setup() { //ฟังก์ชั่นหลักใช้ในการติดตั้ง มีได้เพียง 1 ชุดเท่านั้น
size(300, 300); //ฟังก์ชั่นนี้ใช้ในการกำหนดขนาดพื้นที่ หรือ size(width, height)
background(110, 223, 252); //ฟังก์ชั่นนี้ใช้ในการกำหนดสีของพื้นที่
}
void drawHouse() { //ฟังก์ชั่นที่เราสร้างขึ้นเอง ชื่อ drawHouse
// draw the ground
fill(#D6B018); //ฟังก์ชั่นที่ใช้ในการกำหนดสีตามเครื่องหมาย # หรือค่าของแม่สี
ellipse(k+50, m+90, w+20, k+70);
//draw the house
fill(#F7F70C);
rect(d+25, k+10, k+50, k+60);
fill(#BF8613);
rect(k+90, d-10, d-10, d+30); //ฟังก์ชั่นที่ใช้ในการวาดรูปสี่เหลี่ยม หรือ rect(x, y, width, height)
fill(#FF120A);
triangle(d-20, k+20, k+45, d-30, m+70, k+20);//ฟังก์ชั่นที่ใช้ในการวาดรูปสามเหลี่ยม หรือ triangle(x1, y1, x2, y2, x3, y3) ต้องดูตามพิกัดต่างๆ ตามค่าในรูป
//draw the door
fill(#FFFFFF);
rect(k+25, m, d, d+20);
fill(#E0D500);
ellipse(k+35, m+40, d-40, d-40); //ฟังก์ชั่นในการวาดวงรี หรือ ellipse(x, y, width, height)
//draw windows
fill(#6CBEFF);
rect(d+30, m+10, d-10, d);
line(k, m+60, k, m+10); //ฟังก์ชั่นที่ใช้ในการวาดเส้น หรือ line(x1, y1, x2, y2) กำหนดตามพิกัดต่างๆ บนรูปที่เราจะวาด
line(d+30, m+35, k+20, m+35);
rect(k+80, m+10, d-10, d);
line(m, m+60, m, m+10);
line(k+80, m+35, m+20, m+35);
rect(k+80, k+30, d-10, d);
line(m, k+30, m, k+80);
line(k+80, k+55, m+20, k+55);
rect(d+30, k+30, d-10, d);
line(k, k+80, k, k+30);
line(d+30, k+55, k+20, k+55);
//draw bushes
fill(#099B08);
ellipse(d-20, m+50, d+30, d-10);
ellipse(m+70, m+50, d+30, d-10);
}
void draw() { //นี่ก็เป็นฟังก์ชั่นหลักเหมือนกัน มีได้เพียง 1 ชุัดในงานแต่ละชิ้นเท่านั้น
drawHouse();
} //นี่คือการเรียกใช้ฟังก์ชั่นที่เราสร้างขึ้น พิมพ์ void draw() แล้วตามด้วยชื่อฟังก์ชั่น ถ้าไม่สร้างฟังก์ชั่นชุดนี้ ถือว่าเรายังคงไม่เรียกใช้ฟังก์ชั่น
หมายเหตุ สังเกตได้ว่า เครื่องหมาย // เป็นการบอกว่า ฟังก์ชั่นชุดนี้ไม่่ใช้งาน และฟังก์ชั่นหลักที่ใข้ยังเป็น function without parameter
ไม่มีความคิดเห็น:
แสดงความคิดเห็น