วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

Basketball[Sport]



ต่อไปเราก็ มาใช้ function ช่วยในการวาดรูปกันต่อนะค่ะ โดยในครั้งนี้ เราจะใช้ การประกาศและกำหนด ค่าตัวแปรด้วย การประกาศและกำหนดค่าตัวแปรนั้น มี 2 แบบ คือ - Local Variable คือ variable ที่อยู่แค่ในฟังก์ชั่น จะเปลี่ยนแปลงค่าไม่ได้ - Global Variable คือ นำ variable มานอก function จะใช้ในกรณีที่เป็น Animation ยังไงไปดูกันเลยดีกว่า
// ส่วนนี้จะเป็นการประกาศและกำหนดตัวแปร แบบ Global Variable เพื่อให้ function void draw() , void drawball() และvoid drawWicket() มองเห็นตัวแปรนี้ด้วย
int x=90; //กำหนดตำแหน่ง x ของห่วงบาส
int y=150; //กำหนดตำแหน่ง y ของห่วงบาส
int h=150; //กำหนดความกว้างของลูกบาส
void setup(){
size(500,500);////เป็นคำสั่งที่กำหนด canvas ของภาพนี้ โดย มีการกำหนดค่าโดย size(width,height)
} //การทำงานจะเริ่มที่ฟังก์ชันนี้ก่อนเสมอ โดยฟังก์ชั่นนี้จะประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะจะเรียกใช้เองอัตโนมัติ
void draw(){
drawball(h); //เรียกใช้user defined function drawball() โดยรับค่า h มาใช้ใน function (แบบ parameter)
drawWicket(x,y);//เรียกใช้user defined function drawWicket() โดยรับค่า x,y มาใช้ใน function (แบบ parameter)
} //เป็นส่วนของ function void draw() ฟังก์ชั่นนี้ ก็มีการประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะมันจะเรียกใช้เองโดยอัตโนมัติ
void drawball(int h){
background(72,160,229);//เป็นคำสั่งที่ใช้ในการกำหนดสีของพื้นหลัง(อันนี้สีฟ้า) โดยการกำหนดค่าจะเป็น background(R,G,B); โดยมีค่าอยู่ในช่วง 0-255
strokeWeight(2);
fill(160,48,26);//เป็นคำสั่งที่ใช่ในการใส่สี สีน้ำตาล
ellipse(mouseX,mouseY,150,h);//เป็นคำสั่งที่ใช้วาดวงรี ellipse(x,y,w,h);
ellipse(mouseX,mouseY,100,h);
ellipse(mouseX,mouseY,50,h);
}//เป็นการประกาศและกำหนด user defined function(ฟังก์ชั่นที่ผู้ใช้กำหนดขึ้นเอง) โดยเป็นแบบ function with parameter
คือ ต้องมีการส่งค่าให้ ในที่นี้void drawball(int h) มีการส่งค่า h
void drawWicket(int x,int y){
fill(70,37,13); //เป็นคำสั่งที่ใช่ในการใส่สี
rect(2,y,15,50);//คำสั่งที่ใช้วาดสี่เหลี่ยม rect(x,y,w,h);
ellipse(x+20,y+5,210,4);
ellipse(x+20,y+160,170,3);
strokeWeight(6); //เป็นคำสั่งที่ใช้ในการกำหนดความหนาของเส้นขอบ
line(2,140,2,500);
strokeWeight(2);
line(17,155,35,310);
line(210,155,180,310);//คำสั่งที่ใช้วาดเส้นตรง line(x,y,x,y);
}//เป็นการประกาศและกำหนด user defined function(ฟังก์ชั่นที่ผู้ใช้กำหนดขึ้นเอง) โดยเป็นแบบ function with parameter
คือ ต้องมีการส่งค่าให้ ในที่นี้void drawWicket(int x,int y) มีการส่งค่า x,y
หมายเหตุ=เป็นคำสั่งที่ใช้วาดวงรี ellipse(x,y,w,h); โดยเราใช้ mouseX,mouseY แทนการกำหนดค่าพิกัด x,y ทำให้ ลูกบาสเคลื่อนที่ตาม mouse ทั้งใน แกน x และ y

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

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