วันศุกร์ที่ 12 กรกฎาคม พ.ศ. 2556
SongKran Festival (Thai culture)
//Gobal variable //เป็นการประกาศตัวแปรที่อยู่นอกฟังก์ชั่น เพื่อให้ครอบคลุมทุกฟังก์ชัน เป็นส่วนหนึ่งที่ทำให้ภาพเกิดการเคลื่อนไหว โดยประกาศ และกำหนดตัวแปรอยู่นอกฟังก์ชัน แล้วไปเรียกใช้ในฟังก์ชันแทน
int count = 100; //เป็นบรรทัดที่ประกาศ และกำหนดตัวแปร โดย int คือค่าของตัวแปรที่เป็นจำนวนเต็ม หลักการคือนำค่าทางด้านขวาของเครื่องหมาย = ไปใส่ให้ทางด้านซ้ายเรียกว่า Assingment Operator ในที่นี้หมายถึง นำ 100 ซึ่งเป็นทศนิยม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร count นั่นเอง
int w = 200; //ความหมายคือ นำ 200 ซึ่งเป็นจำนวนเต็ม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร w นั่นเอง
int x1 = 100;
int x2 = 400;
void setup() { //เป็นการประกาศฟังก์ชั่น setup ซึ่ง void ที่อยู่ข้างหน้าคือ การกำหนดว่าจะไม่มีการเรียกค่าเดิมมาใช้อีก
size (500, 500); //เป็นการกำหนดขนาดของcanvas โดย size (ขนาดของแกนx, ขนาดของแกนy);
}
void draw() { //เป็นการประกาศฟังก์ชั่น draw ซึ่ง void ที่อยู่ข้างหน้าคือ การกำหนดว่าจะไม่มีการเรียกค่าเดิมมาใช้อีก
background (102, 255, 000); //เป็นการเพิ่มสีให้กับพื้นหลัง โดย background(สีแดง, สีเขียว, สีน้ำเงิน); ค่าของสีแต่ละตัวมีได้สูงสุดไม่เกิน 255 และต่ำสุดที่ 000
//Local variable //เป็นการประกาศตัวแปรที่อยู่ในฟังก์ชั่น เพื่อให้ใช้เฉพาะในฟังก์ชัน เป็นส่วนหนึ่งที่ทำให้ภาพเกิดการเคลื่อนไหว โดยประกาศ และกำหนดตัวแปรอยู่นอกฟังก์ชันไว้ แล้วมาเรียกใช้ในฟังก์ชันนี้
int r = 100; ความหมายคือ นำ 100 ซึ่งเป็นจำนวนเต็ม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร r นั่นเอง
int y = 200;
//draw Human วาดรูปคน
//draw leg1 วาดรูปขาของคนที่ 1
stroke (102, 051, 000); //คือคำสั่งเกี่ยวกับการเติมสีเส้น โดย stroke (ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
strokeWeight (10); //เป็นการกำหนดความหนาของเส้น โดยstrokeWeight(ค่าความหนาของเส้น);
fill (255, 153, 051); //เป็นการเติมสีให้กับรูปร่างที่เราสร้าง โดยfill(ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
ellipse (x1+15, y+250, r-50, r-80); //คือคำสั่งที่ใช้ในการวาดรูปทรงกลม หรือทรงรีก็ได้ โดย ellipse (ค่าxที่เป็นจุดศูนย์กลางวงกลม, ค่าyที่เป็นจุดศูนย์กลางวงกลม, ขนาดความยาวของวงกลมตามแกนx, ขนาดความยาวของวงกลมตามแกนy); ถ้าขนาดความยาวของวงกลมตามแกนx กับ ขนาดความยาวของวงกลมตามแกนy เท่ากันจะเป็นวงกลม แต่ถ้าไม่จะเป็นวงรี
ellipse (x1, y+200, r-80, r);
//draw Arm1 back วาดแขนหลังคนที่ 1
ellipse (x1+50, y+100, r, r-90);
//draw Body1 วาดตัวคนที่1
ellipse (x1, y+100, r-50, r+50);
//draw Head1 วาดหัวคนที่1
ellipse (x1, y, r, r);
//draw Arm1 Front วาดแขนด้านหน้าคนที่1
ellipse (x1, y+100, r-90, r);
//draw led2 วาดขาคนที่ 2
fill (255, 102, 000);
ellipse (x2-20, y+250, r-50, r-80);
ellipse (x2, y+200, r-80, r);
//draw Arm2 back วาดแขนหลังของคนที่2
ellipse (x2-50, y+100, r, r-90);
//draw Body2 วาดตัวของคนที่ 2
ellipse (x2, y+100, r-50, r+50);
//draw Head2 วาดหัวของคนที่ 2
ellipse (x2, y, r, r);
//draw Arm2 Front วาดแขนด้านหน้าคนที่2
ellipse (x2, y+100, r-90, r);
x1 = x1 + 1; //เป็นการกำหนดค่า ให้ตัวแปรที่เป็นGobal เปลี่ยน เพื่อให้เกิดการเคลื่นไหว
x2 = x2 - 1;
//draw cup วาดถ้วยใส่น้ำ
strokeWeight (2);
fill (051, 051, 051);
ellipse (x1+100, y+100, r-130, r-130);
ellipse (x2-100, y+100, r-130, r-130);
fill (000, 255, 204);
ellipse (x1+100, y+100, r-120, r-120);
ellipse (x2-100, y+100, r-120, r-120);
//draw water วาดน้ำสาดใส่กัน
noStroke (); //คือคำสั่งที่ยกเลิกการวาดเส้น
fill (000, 255, 204);
ellipse (count+100, count+200, r-20, r-20);
ellipse (w+100, w+100, r-20, r-20);
count = count + 1; //เป็นการกำหนดค่า ให้ตัวแปรที่เป็นGobal เปลี่ยน เพื่อให้เกิดการเคลื่นไหว
w = w - 1;
}
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น