Tennis
ภาพนี้เป็นภาพเทนนิสซึ่งเป็นกีฬาที่ผมชื่นชอบ อันดับแรกผมใช้ฟังก์ชั่น void setup() ซึ่งเป็นฟังก์ชั่นหลัก ในการกำหนดขนาดของพื้นที่ และพื้นหลัง ต่อมาผมจึงสร้างฟังก์ชั่น 3 ชุดคือ drawPlayer1, drawPlayer 2 และ drawBall โดยผมวาดรูปไม้เทนนิส 2 ไม้แทนผู้เล่น 2 คน และลูกเทนนิส 1 ลูก ในการวาดรูปทรงนั้น ผมใช้ฟังก์ชั่นในการสร้างวงรี สี่เหลี่ยมและเส้นตรง ส่วนการตกแต่งนั้น ผมยังคงใช้ฟังก์ชั่น fill() ตามด้วยเครื่องหมาย # ก่อนสร้างฟังก์ชั่นนั้น ผมกำหนดตัวแปร 3 ตัวซึ่งเป็น Global variables มาใช้เพื่อให้แทนค่าตัวเลขได้ทุกฟังก์ชั่น ส่วนใหญ่ต้องมีการบวกหรือลบด้วยตัวเลขเพื่อให้ได้ค่าที่ต้องการ ในขั้นตอนสุดท้าย ผมใช้ฟังก์ชั่นหลักอีกตัวคือ void draw() ในการเรียกใช้ฟังก์ชั่นที่สร้างขึ้น โดยเรียงลำดับฟังก์ชั่นที่จะใช้ไว้ก่อนแล้ว สำหรับภาพนี้เป็นเพียงภาพนิ่ง และการวาดก็ยังคงไม่ยากมากนัก ดังนั้นไม่ว่าใครก็ทำได้ ในรูปนี้ผมนำฟังก์ชั่นหลัก และฟังก์ชั่นย่อย รวมทั้งฟังก์ชั่นที่สร้างเองมาใช้
Processing Code
void setup() { //ฟังก์ชั่นหลักที่ใช้ในการกำหนดสิ่งต่างๆ มีเพียง 1 ชุดเท่านั้น
size(403, 400); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นที่ หรือขนาด หรือ size(width, height)
background(114, 237, 250); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นหลังให้มีสีตามแม่สี
}
int x=50;
int y=100; //int ใช้กับตัวแปรที่เป็นจำนวนเต็ม
int z=200; //ตัวแปรเหล่านี้เป็นแบบ Global variables ใช้แทนได้ทุกฟังก์ชั่น
void drawPlayer1() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawPlayer1
stroke(#050504); //ฟังก์ชั่นที่ใช้ในการเติมสีในเส้นตามค่าของแม่สี หรือเครื่องหมาย #
fill(#FA0D0D);
rect(x-3, z+70, x-25, x); //ฟังก์ชั่นที่ใช้ในการวาดรูปสี่เหลี่ยม หรือ rect(x, y, width, height)
fill(#F3F70A);
rect(x-8, z+120, x-15, x+10);
line(x-8, z+130, x+26, z+130); //ฟังก์ชั่นที่ใช้ในการวาดเส้น หรือ line(x1, y1, x2, y2) กำหนดได้ตามพิกัดของเส้นบนแกน X และ Y
line(x-8, z+140, x+26, z+140);
line(x-8, z+150, x+26, z+150);
line(x-8, z+160, x+26, z+160);
line(x-8, z+170, x+26, z+170);
fill(#D81414);
ellipse(x+10, z, y+20, y+50); //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height)
fill(#FFFFFF);
ellipse(x+10, z, x+40, y+20);
line(y, y+70, y, z+30);
line(x+45, y+64, x+45, z+39);
line(x+40, y+57, x+40, z+46);
line(x+35, y+50, x+35, z+50);
line(x+30, y+46, x+30, z+54);
line(x+25, y+44, x+25, z+57);
line(x+20, y+43, x+20, z+58);
line(x+15, y+40, x+15, z+59);
line(x+10, y+40, x+10, z+60);
line(x+5, y+40, x+5, z+60);
line(x, y+42, x, z+59);
line(x-5, y+44, x-5, z+57);
line(x-10, y+47, x-10, z+53);
line(x-15, y+49, x-15, z+49);
line(x-20, y+54, x-20, z+44);
line(x-25, y+60,x-25, z+36);
line(x-30, y+70, x-30, z+30);
line(x-9, y+45, x+29, y+45);
line(x-15, y+50, x+35, y+50);
line(x-20, y+55, x+40, y+55);
line(x-24, y+60, x+44, y+60);
line(x-26, y+65, x+46, y+65);
line(x-28, y+70, x+48, y+70);
line(x-31, y+75, y+1, y+75);
line(x-32, y+80, y+2, y+80);
line(x-33, y+85, y+3, y+85);
line(x-34, y+90, y+4, y+90);
line(x-35, y+95, y+5, y+95);
line(x-35, z, y+5, z);
line(x-35, z+5, y+5, z+5);
line(x-34, z+10, y+4, z+10);
line(x-33, z+15, y+3, z+15);
line(x-32, z+20, y+2, z+20);
line(x-31, z+25, y+1, z+25);
line(x-28, z+30, x+48, z+30);
line(x-26, z+35, x+46, z+35);
line(x-24, z+40, x+44, z+40);
line(x-20, z+45, x+40, z+45);
line(x-15, z+50, x+35, z+50);
line(x-9, z+55, x+29, z+55);
}
void drawPlayer2() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawPlayer2
fill(#1F24FC);
rect(z+127, z+70, x-25, x);
fill(#12810A);
rect(z+122, z+120, x-15, x+10);
line(z+122, z+130, z+157, z+130);
line(z+122, z+140, z+157, z+140);
line(z+122, z+150, z+157, z+150);
line(z+122, z+160, z+157, z+160);
line(z+122, z+170, z+157, z+170);
fill(#11179B);
ellipse(z+140, z, y+20, y+50);
fill(#FFFFFF);
ellipse(z+140, 200, 90, 120);
line(z+100, y+70, z+100, z+30);
line(z+105, y+64, z+105, z+39);
line(z+110, y+57, z+110, z+46);
line(z+115, y+50, z+115, z+50);
line(z+120, y+46, z+120, z+54);
line(z+125, y+44, z+125, z+57);
line(z+130, y+43, z+130, z+58);
line(z+135, y+40, z+135, z+59);
line(z+140, y+40, z+140, z+60);
line(z+145, y+40, z+145, z+60);
line(z+150, y+42, z+150, z+59);
line(z+155, y+44, z+155, z+57);
line(z+160, y+47, z+160, z+53);
line(z+165, y+49, z+165, z+49);
line(z+170, y+54, z+170, z+44);
line(z+175, y+60, z+175, z+36);
line(z+180, y+70, z+180, z+30);
line(z+159, y+45, z+121, y+45);
line(z+165, y+50, z+115, y+50);
line(z+170, y+55, z+110, y+55);
line(z+174, y+60, z+106, y+60);
line(z+176, y+65, z+104, y+65);
line(z+178, y+70, z+102, y+70);
line(z+181, y+75, z+99, y+75);
line(z+182, y+80, z+98, y+80);
line(z+96, y+85, z+183, y+85);
line(z+96, y+90, z+185, y+90);
line(z+95, y+95, z+185, y+95);
line(z+95, z, z+185, z);
line(z+95, z+5, z+185, z+5);
line(z+96, z+10, z+184, z+10);
line(z+96, z+15, z+183, z+15);
line(z+98, z+20, z+183, z+20);
line(z+99, z+25, z+180, z+25);
line(z+102, z+30, z+178, z+30);
line(z+104, z+35, z+176, z+35);
line(z+106, z+40, z+174, z+40);
line(z+109, z+45, z+170, z+45);
line(z+115, z+50, z+165, z+50);
line(z+120, z+55, z+160, z+55);
}
void drawBall() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawBall
fill(#DCE007);
ellipse(z, y, x+10, x+10);
stroke(#FFFFFF);
line(y+75, x+35, z+26, x+35);
line(y+75, y+15, z+26, y+15);
}
void draw() { //ฟังก์ชั่นหลักที่ใช้ในการวาด มีได้เพียง 1 ชุดเท่านั้น
drawPlayer1();
drawPlayer2();
drawBall() ;
} //เรียกใช้ฟังก์ชั่นที่สร้างขึ้น ด้วยฟังก์ชั่นชุดนี้ ถ้าไม่มี ฟังก์ชั่นที่สร้างขึ้นจะไม่ทำงาน
หมายเหตุ สังเกตได้ว่า เครื่องหมาย // เป็นการบอกว่า ฟังก์ชั่นชุดนี้ไม่่ใช้งาน และฟังก์ชั่นหลักที่ใข้ยังเป็น function without parameter
size(403, 400); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นที่ หรือขนาด หรือ size(width, height)
background(114, 237, 250); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นหลังให้มีสีตามแม่สี
}
int x=50;
int y=100; //int ใช้กับตัวแปรที่เป็นจำนวนเต็ม
int z=200; //ตัวแปรเหล่านี้เป็นแบบ Global variables ใช้แทนได้ทุกฟังก์ชั่น
void drawPlayer1() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawPlayer1
stroke(#050504); //ฟังก์ชั่นที่ใช้ในการเติมสีในเส้นตามค่าของแม่สี หรือเครื่องหมาย #
fill(#FA0D0D);
rect(x-3, z+70, x-25, x); //ฟังก์ชั่นที่ใช้ในการวาดรูปสี่เหลี่ยม หรือ rect(x, y, width, height)
fill(#F3F70A);
rect(x-8, z+120, x-15, x+10);
line(x-8, z+130, x+26, z+130); //ฟังก์ชั่นที่ใช้ในการวาดเส้น หรือ line(x1, y1, x2, y2) กำหนดได้ตามพิกัดของเส้นบนแกน X และ Y
line(x-8, z+140, x+26, z+140);
line(x-8, z+150, x+26, z+150);
line(x-8, z+160, x+26, z+160);
line(x-8, z+170, x+26, z+170);
fill(#D81414);
ellipse(x+10, z, y+20, y+50); //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height)
fill(#FFFFFF);
ellipse(x+10, z, x+40, y+20);
line(y, y+70, y, z+30);
line(x+45, y+64, x+45, z+39);
line(x+40, y+57, x+40, z+46);
line(x+35, y+50, x+35, z+50);
line(x+30, y+46, x+30, z+54);
line(x+25, y+44, x+25, z+57);
line(x+20, y+43, x+20, z+58);
line(x+15, y+40, x+15, z+59);
line(x+10, y+40, x+10, z+60);
line(x+5, y+40, x+5, z+60);
line(x, y+42, x, z+59);
line(x-5, y+44, x-5, z+57);
line(x-10, y+47, x-10, z+53);
line(x-15, y+49, x-15, z+49);
line(x-20, y+54, x-20, z+44);
line(x-25, y+60,x-25, z+36);
line(x-30, y+70, x-30, z+30);
line(x-9, y+45, x+29, y+45);
line(x-15, y+50, x+35, y+50);
line(x-20, y+55, x+40, y+55);
line(x-24, y+60, x+44, y+60);
line(x-26, y+65, x+46, y+65);
line(x-28, y+70, x+48, y+70);
line(x-31, y+75, y+1, y+75);
line(x-32, y+80, y+2, y+80);
line(x-33, y+85, y+3, y+85);
line(x-34, y+90, y+4, y+90);
line(x-35, y+95, y+5, y+95);
line(x-35, z, y+5, z);
line(x-35, z+5, y+5, z+5);
line(x-34, z+10, y+4, z+10);
line(x-33, z+15, y+3, z+15);
line(x-32, z+20, y+2, z+20);
line(x-31, z+25, y+1, z+25);
line(x-28, z+30, x+48, z+30);
line(x-26, z+35, x+46, z+35);
line(x-24, z+40, x+44, z+40);
line(x-20, z+45, x+40, z+45);
line(x-15, z+50, x+35, z+50);
line(x-9, z+55, x+29, z+55);
}
void drawPlayer2() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawPlayer2
fill(#1F24FC);
rect(z+127, z+70, x-25, x);
fill(#12810A);
rect(z+122, z+120, x-15, x+10);
line(z+122, z+130, z+157, z+130);
line(z+122, z+140, z+157, z+140);
line(z+122, z+150, z+157, z+150);
line(z+122, z+160, z+157, z+160);
line(z+122, z+170, z+157, z+170);
fill(#11179B);
ellipse(z+140, z, y+20, y+50);
fill(#FFFFFF);
ellipse(z+140, 200, 90, 120);
line(z+100, y+70, z+100, z+30);
line(z+105, y+64, z+105, z+39);
line(z+110, y+57, z+110, z+46);
line(z+115, y+50, z+115, z+50);
line(z+120, y+46, z+120, z+54);
line(z+125, y+44, z+125, z+57);
line(z+130, y+43, z+130, z+58);
line(z+135, y+40, z+135, z+59);
line(z+140, y+40, z+140, z+60);
line(z+145, y+40, z+145, z+60);
line(z+150, y+42, z+150, z+59);
line(z+155, y+44, z+155, z+57);
line(z+160, y+47, z+160, z+53);
line(z+165, y+49, z+165, z+49);
line(z+170, y+54, z+170, z+44);
line(z+175, y+60, z+175, z+36);
line(z+180, y+70, z+180, z+30);
line(z+159, y+45, z+121, y+45);
line(z+165, y+50, z+115, y+50);
line(z+170, y+55, z+110, y+55);
line(z+174, y+60, z+106, y+60);
line(z+176, y+65, z+104, y+65);
line(z+178, y+70, z+102, y+70);
line(z+181, y+75, z+99, y+75);
line(z+182, y+80, z+98, y+80);
line(z+96, y+85, z+183, y+85);
line(z+96, y+90, z+185, y+90);
line(z+95, y+95, z+185, y+95);
line(z+95, z, z+185, z);
line(z+95, z+5, z+185, z+5);
line(z+96, z+10, z+184, z+10);
line(z+96, z+15, z+183, z+15);
line(z+98, z+20, z+183, z+20);
line(z+99, z+25, z+180, z+25);
line(z+102, z+30, z+178, z+30);
line(z+104, z+35, z+176, z+35);
line(z+106, z+40, z+174, z+40);
line(z+109, z+45, z+170, z+45);
line(z+115, z+50, z+165, z+50);
line(z+120, z+55, z+160, z+55);
}
void drawBall() { //ฟังก์ชั่นที่สร้างเอง ชื่อว่า drawBall
fill(#DCE007);
ellipse(z, y, x+10, x+10);
stroke(#FFFFFF);
line(y+75, x+35, z+26, x+35);
line(y+75, y+15, z+26, y+15);
}
void draw() { //ฟังก์ชั่นหลักที่ใช้ในการวาด มีได้เพียง 1 ชุดเท่านั้น
drawPlayer1();
drawPlayer2();
drawBall() ;
} //เรียกใช้ฟังก์ชั่นที่สร้างขึ้น ด้วยฟังก์ชั่นชุดนี้ ถ้าไม่มี ฟังก์ชั่นที่สร้างขึ้นจะไม่ทำงาน
หมายเหตุ สังเกตได้ว่า เครื่องหมาย // เป็นการบอกว่า ฟังก์ชั่นชุดนี้ไม่่ใช้งาน และฟังก์ชั่นหลักที่ใข้ยังเป็น function without parameter
ไม่มีความคิดเห็น:
แสดงความคิดเห็น