CODE
void setup() {
size(200, 200);
}
void draw() {
int count=1; //Global variable
void setup() {
size(200, 200);
}
void draw() {
background(0,count+100,count+100); //สีพื้นหลังเปลี่ยนสีไปตามค่าตัวแปร
drawSun(count); //User defined function รูปแบบ function with parameter //ตัวแปร count ของฟังก์ชันdrawSun()
count = count + 1;
}
void drawSun(int y){ //ตัวแปร y ของฟังก์ชันdrawSun()
// cloud
fill(40+y,40+y,40+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(157, 4, 87, 18);
fill(70+y,70+y,70+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(173, 24, 45, 20);
// sun
fill(y+200,y,y); //ค่าตัวแปร y ทำให้ดวงอาทิตย์เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(y,150-y,30,30); //ค่าตัวแปร y ทำให้ดวงอาทิตย์เคลื่อนที่ไปตามการเพิ่มขึ้นของตัวแปร y ตามพิกัด(y,150-y)
// house
noStroke();
fill(100+y,100+y,100+y); //ค่าตัวแปร y ทำให้บ้านเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
rect(70,100,60,57);
//door
fill(50+y,100-y,100-y); //ค่าตัวแปร y ทำให้ประตูเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
rect(90,123,20,27,8);
// treebrown
noStroke();
rect(25,60,10,105); //ค่าตัวแปร y ทำให้ต้นไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
// roof
stroke(50+y,80-y,85-y); //ค่าตัวแปร y ทำให้หลังคาเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
triangle(70,100,100,65,129,100);
// earth
fill(y,100+y,10-y); //ค่าตัวแปร y ทำให้พื้นโลกเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
noStroke();
ellipse(100, 230, 250, 170);
// bush
fill(y,100+y,y); //ค่าตัวแปร y ทำให้หญ้าเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(176, 145, 31, 30);
fill(y,60+y,y); //ค่าตัวแปร y ทำให้หญ้าเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(157, 145, 18, 18);
// tree
noStroke();
fill(y,y+20,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(37, 99, 55, 38);
fill(y,y+50,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(31, 81, 50, 56);
fill(y,y+90,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(26, 100, 46, 41);
//cloud อยู่ข้างล่างเพื่อให้สามารถบังดวงอาทิตย์ได้
fill(100+y,100+y,100+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(153, 36, 50, 27);
}
drawSun(count); //User defined function รูปแบบ function with parameter //ตัวแปร count ของฟังก์ชันdrawSun()
count = count + 1;
}
void drawSun(int y){ //ตัวแปร y ของฟังก์ชันdrawSun()
// cloud
fill(40+y,40+y,40+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(157, 4, 87, 18);
fill(70+y,70+y,70+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(173, 24, 45, 20);
// sun
fill(y+200,y,y); //ค่าตัวแปร y ทำให้ดวงอาทิตย์เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(y,150-y,30,30); //ค่าตัวแปร y ทำให้ดวงอาทิตย์เคลื่อนที่ไปตามการเพิ่มขึ้นของตัวแปร y ตามพิกัด(y,150-y)
// house
noStroke();
fill(100+y,100+y,100+y); //ค่าตัวแปร y ทำให้บ้านเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
rect(70,100,60,57);
//door
fill(50+y,100-y,100-y); //ค่าตัวแปร y ทำให้ประตูเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
rect(90,123,20,27,8);
// treebrown
noStroke();
rect(25,60,10,105); //ค่าตัวแปร y ทำให้ต้นไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
// roof
stroke(50+y,80-y,85-y); //ค่าตัวแปร y ทำให้หลังคาเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
triangle(70,100,100,65,129,100);
// earth
fill(y,100+y,10-y); //ค่าตัวแปร y ทำให้พื้นโลกเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
noStroke();
ellipse(100, 230, 250, 170);
// bush
fill(y,100+y,y); //ค่าตัวแปร y ทำให้หญ้าเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(176, 145, 31, 30);
fill(y,60+y,y); //ค่าตัวแปร y ทำให้หญ้าเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(157, 145, 18, 18);
// tree
noStroke();
fill(y,y+20,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(37, 99, 55, 38);
fill(y,y+50,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(31, 81, 50, 56);
fill(y,y+90,10-y); //ค่าตัวแปร y ทำให้ใบไม้เปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(26, 100, 46, 41);
//cloud อยู่ข้างล่างเพื่อให้สามารถบังดวงอาทิตย์ได้
fill(100+y,100+y,100+y); //ค่าตัวแปร y ทำให้ก้อนเมฆเปลี่ยนสีไปตามการเพิ่มขึ้นของตัวแปร y
ellipse(153, 36, 50, 27);
}
จากโค้ด Global variable คือ ตัวแปร count ซึ่งสามารถเรียกนำไปใช้ได้ทุกฟังก์ชัน
(จาก count = count + 1; จะทำให้ภาพมีการเปลี่ยนตำแหน่ง ซึ่งเป็นพื้นฐานของการทำAnimation)
User defined function คือ drawSun() ซึ่งเป็นฟังก์ชันที่สร้างขึ้นมาเอง
ตัว แปร y จะมีค่าเท่ากับตัวแปร count เนื่องจาก drawSun(count) เป็นฟังก์ชันที่สร้างขึ้น และ drawSun(int y) เป็นการเรียกใช้ฟังก์ชันที่สร้างขึ้น ทำให้ค่าตัวแปรใน() มีค่าเท่ากัน
ถ้า background() อยู่ในฟังก์ชัน setup() จะทำให้ดวงอาทิตย์ซ้อนกัน ดังรูป
(จาก count = count + 1; จะทำให้ภาพมีการเปลี่ยนตำแหน่ง ซึ่งเป็นพื้นฐานของการทำAnimation)
User defined function คือ drawSun() ซึ่งเป็นฟังก์ชันที่สร้างขึ้นมาเอง
ตัว แปร y จะมีค่าเท่ากับตัวแปร count เนื่องจาก drawSun(count) เป็นฟังก์ชันที่สร้างขึ้น และ drawSun(int y) เป็นการเรียกใช้ฟังก์ชันที่สร้างขึ้น ทำให้ค่าตัวแปรใน() มีค่าเท่ากัน
ถ้า background() อยู่ในฟังก์ชัน setup() จะทำให้ดวงอาทิตย์ซ้อนกัน ดังรูป
และถ้า background() อยู่ในฟังก์ชัน draw() แต่อยู่ล่างโค้ด count = count + 1; จะทำให้เห็นแต่สีพื้นหลัง ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น