ดอกไม้บาน[art]
ต่อไปนี้จะเป็นการวาดรูปโดยการใช้ Function เข้าช่วยเหมือนเดิมนะค่ะ
เหตุผลที่เราใช้ฟังก์ชั่นช่วยก็เพราะว่า ทำให้โปรแกรมนั้น ดูเป็นระเบียบมากขึ้้น
ทำให้เขียนได้รวดเร็วขึ้น เพราะมันสั้นลง แล้วถ้ามีจุดผิดพลาดตรงไหนก้สามารถหาได้ง่ายๆ เริ่มกันเลยดีกว่า
// ส่วนนี้จะเป็นการประกาศและกำหนดตัวแปร แบบ Global Variable
เพื่อให้ function void draw() ,void drawFlower() และvoid drawlamp()มองเห็นตัวแปรนี้ด้วย
int a=250;//กำหนดตำแหน่งตามแกน x ของดอกไม้
int y=250;//กำหนดตำแหน่งตามแกน y ของดอกไม้
int w=80; //กำหนดความกว้างของกลีบดอกไม้
int h=90; //กำหนดความสูงหรือ รัศมี ของกลีบดอกไม้
int r=5; //กำหนดความกว้าง ความสูงหรือรัศมี ของดาว
void setup(){
size(500,500);
}
//การทำงานจะเริ่มที่ฟังก์ชันนี้ก่อนเสมอ โดยฟังก์ชั่นนี้จะประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะจะเรียกใช้เองอัตโนมัติ
void draw(){
background(2);//เป็นคำสั่งที่ใช้ในการกำหนดสีของพื้นหลัง
drawFlower(a,y,w,h);//เรียกใช้function void drawFlower()โดยรับค่า a,y,w,h มาใช้ใน function (แบบ parameter)
drawlamp(r);//เรียกใช้function void drawlamp()โดยรับค่า r มาใช้ใน function (แบบ parameter)
}//เป็นส่วนของ function void draw() ฟังก์ชั่นนี้ ก็มีการประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะมันจะเรียกใช้เองโดยอัตโนมัติ
void drawFlower(int a,int y,int w,int h){
strokeWeight(14);//เป็นคำสั่งที่ใช้ในการกำหนดความหนาของเส้นขอบ
stroke(255,8,173); //เป็นคำสั่งที่ใช้ในการกำหนดสีเส้นขอบ stroke(R,G,B); โดยมีค่าอยู่ในช่วง 0-255
fill(167,80,175);
ellipse(a,y,w,h);
fill(255,3,226);
ellipse(a-120,y,(w*2),(h*2));//เป็นคำสั่งที่ใช้วาดวงรี ellipse(x,y,w,h);
ellipse(a,y-135,(w*2),(h*2));
ellipse(a+120,y,(w*2),(h*2));
ellipse(a,y+135,(w*2),(h*2));
}//เป็นการประกาศและกำหนด user defined function(ฟังก์ชั่นที่ผู้ใช้กำหนดขึ้นเอง) โดยเป็นแบบ function with parameter
void drawlamp(int r){
noStroke();//เป็นคำสั่งที่กำหนดให้ไม่ใส่เส้นขอบ
fill(255);//เป็นคำสั่งที่ใช่ในการใส่สี
ellipse(5,70,r,r);//เป็นคำสั่งที่ใช้วาดวงรี ellipse(x,y,w,h); ใช้วาดดาวในตำแหน่ง x , y ที่ต่างกัน
ellipse(25,120,r,r);
ellipse(75,90,r,r);
ellipse(90,70,r,r);
ellipse(15,170,r,r);
ellipse(15,270,r,r);
ellipse(75,370,r,r);
ellipse(115,470,r,r);
ellipse(75,5,r,r);
ellipse(170,15,r,r);
ellipse(470,25,r,r);
ellipse(370,35,r,r);
ellipse(470,175,r,r);
ellipse(495,270,r,r);
ellipse(470,370,r,r);
ellipse(465,385,r,r);
ellipse(485,470,r,r);
ellipse(485,25,r,r);
}//เป็นการประกาศและกำหนด user defined function(ฟังก์ชั่นที่ผู้ใช้กำหนดขึ้นเอง) โดยเป็นแบบ function with parameter
ไม่มีความคิดเห็น:
แสดงความคิดเห็น