วันพุธที่ 10 กรกฎาคม พ.ศ. 2556

My Art 4

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 

Canvas



 


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

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