Compact Cassette.
int note1move = 10 ; // กำหนดตัวแปร note1move ให้ใช้ในการเพิ่มค่าตัวแปร
(ทำให้เคลื่อนไหว)
int note2move = 100 ; // กำหนดตัวแปร note2move ให้ใช้ในการเพิ่มค่าตัวแปร (ทำให้เคลื่อนไหว)
void setup() { // ตั้งค่า
size(300, 200); //กำหนดขนาดของส่วนแสดงผล
}
void drawCassette() { //สร้างฟังก์ชัน drawCassette
int x=200; // กำหนดตัวแปร x เอาไว้ใช้ใน ฟังก์ชัน
int r=20; // กำหนดตัวแปร y เอาไว้ใช้ใน ฟังก์ชัน
fill(255, 0, 0); //red color // ใส่สีให้ object ด้านล่าง
rect(0, 0, 300, 200); //สร้างสี่เหลี่ยม
fill(0, 0, 255); //blue color
rect(15, 15, 270, 130);
fill(255, 165, 0); //orange color
rect(r, r, 260, r+10);
fill(0); //black color
triangle(50, 200, 70, 160, 100, 200); // สร้างสามเหลี่ยม
triangle(x+30, x, x+40, 160, 260, x);
rect(70, 160, 170, 50);
fill(250, 255, 0); //yellow color
ellipse(80, 190, 13, 13); //สร้างวงกลม
ellipse(110, 183, r-7, r-7);
ellipse(x+30, 190, r-7, r-7);
ellipse(x, 183, r-7, r-7);
fill(0); //black color
rect(65, 60, 170, 50);
fill(250, 255, 0); //yellow color
ellipse(90, 85, r*2, r*2);
ellipse(x+8, 85, r*2, r*2);
fill(0); //black color
ellipse(90, 85, r+10, r+10);
ellipse(x+8, 85, r+10, r+10);
}
void note1(int note1x, int note1y) { // สร้างฟังก์ชัน note1 กำหนดให้มีการรับค่าตัวแปร note1x, int note1y
fill (255) ;
stroke (255) ; // ใส่สีให้เส้น
strokeWeight (3) ; // กำหนดขนาดเส้น
ellipse (note1x+50, note1y+50, 40, 30) ;
line (note1x+70, note1y+50, note1x+70, note1y-20) ; // สร้างเส้นตรง
ellipse (note1x+120, note1y+20, 40, 30) ;
line (note1x+140, note1y+20, note1x+140, note1y-50) ;
line (note1x+70, note1y-20, note1x+140, note1y-50) ;
}
void note2(int note2x, int note2y) { //สร้างฟังก์ชัน note2 กำหนดให้มีการรับค่าตัวแปร note2x, int note2y
fill (255) ;
stroke (255) ;
strokeWeight (3) ;
ellipse (note2x+50, note2y+50, 40, 30) ;
line (note2x+70, note2y+50, note2x+70, note2y) ;
}
void draw() { //เป็นฟังก์ชันที่จะถูกเรียกใช้งานต่อจากฟังก์ชัน void setup(){ }
ภายใน{ } ของ void draw(){ }มีคำสั่งต่างๆสำหรับวาดรูปกราฟิกเมื่อโปรแกรมทำงาน ฟังก์ชันนี้จะถูกเรียกใช้งานอย่างต่อเนื่องไปเรื่อยๆ
drawCassette(); //เรียกใช้ ฟังก์ชัน drawCassette
note1 (note1move, 100) ; // เรียกใช้ฟังก์ชัน note1 พร้อมกำหนดค่าที่ต้องการ
note2 (note2move, 100) ; // เรียกใช้ฟังก์ชัน note2 พร้อมกำหนดค่าที่ต้องการ
note1move = note1move -1 ; // กำหนดให้มีการเปลี่ยนค่าตัว เมื่อวาดซ้ำ จะทำให้ object เลื่อนตำแหน่ง (เหมือนมีการเคลื่อนไหว)
note2move = note2move +1 ; // กำหนดให้มีการเปลี่ยนค่าตัว เมื่อวาดซ้ำ จะทำให้ object เลื่อนตำแหน่ง (เหมือนมีการเคลื่อนไหว)
if (note1move<-200 || note2move>300) { /* เงื่อนไข ถ้า note1move มีค่าน้อยกว่า -200 หรือ ( || หมายถึง หรือ)
note1move = 20 ; note2move มีค่ามากว่า 300 จะให้มีการรันโค้ดด้านล่าง */
note2move = 100 ; // กำหนดให้ note1move กลับไปมีค่าเป็น 20 และ note2move มีค่าเป็น 100
}
}
int note2move = 100 ; // กำหนดตัวแปร note2move ให้ใช้ในการเพิ่มค่าตัวแปร (ทำให้เคลื่อนไหว)
void setup() { // ตั้งค่า
size(300, 200); //กำหนดขนาดของส่วนแสดงผล
}
void drawCassette() { //สร้างฟังก์ชัน drawCassette
int x=200; // กำหนดตัวแปร x เอาไว้ใช้ใน ฟังก์ชัน
int r=20; // กำหนดตัวแปร y เอาไว้ใช้ใน ฟังก์ชัน
fill(255, 0, 0); //red color // ใส่สีให้ object ด้านล่าง
rect(0, 0, 300, 200); //สร้างสี่เหลี่ยม
fill(0, 0, 255); //blue color
rect(15, 15, 270, 130);
fill(255, 165, 0); //orange color
rect(r, r, 260, r+10);
fill(0); //black color
triangle(50, 200, 70, 160, 100, 200); // สร้างสามเหลี่ยม
triangle(x+30, x, x+40, 160, 260, x);
rect(70, 160, 170, 50);
fill(250, 255, 0); //yellow color
ellipse(80, 190, 13, 13); //สร้างวงกลม
ellipse(110, 183, r-7, r-7);
ellipse(x+30, 190, r-7, r-7);
ellipse(x, 183, r-7, r-7);
fill(0); //black color
rect(65, 60, 170, 50);
fill(250, 255, 0); //yellow color
ellipse(90, 85, r*2, r*2);
ellipse(x+8, 85, r*2, r*2);
fill(0); //black color
ellipse(90, 85, r+10, r+10);
ellipse(x+8, 85, r+10, r+10);
}
void note1(int note1x, int note1y) { // สร้างฟังก์ชัน note1 กำหนดให้มีการรับค่าตัวแปร note1x, int note1y
fill (255) ;
stroke (255) ; // ใส่สีให้เส้น
strokeWeight (3) ; // กำหนดขนาดเส้น
ellipse (note1x+50, note1y+50, 40, 30) ;
line (note1x+70, note1y+50, note1x+70, note1y-20) ; // สร้างเส้นตรง
ellipse (note1x+120, note1y+20, 40, 30) ;
line (note1x+140, note1y+20, note1x+140, note1y-50) ;
line (note1x+70, note1y-20, note1x+140, note1y-50) ;
}
void note2(int note2x, int note2y) { //สร้างฟังก์ชัน note2 กำหนดให้มีการรับค่าตัวแปร note2x, int note2y
fill (255) ;
stroke (255) ;
strokeWeight (3) ;
ellipse (note2x+50, note2y+50, 40, 30) ;
line (note2x+70, note2y+50, note2x+70, note2y) ;
}
void draw() { //เป็นฟังก์ชันที่จะถูกเรียกใช้งานต่อจากฟังก์ชัน void setup(){ }
ภายใน{ } ของ void draw(){ }มีคำสั่งต่างๆสำหรับวาดรูปกราฟิกเมื่อโปรแกรมทำงาน ฟังก์ชันนี้จะถูกเรียกใช้งานอย่างต่อเนื่องไปเรื่อยๆ
drawCassette(); //เรียกใช้ ฟังก์ชัน drawCassette
note1 (note1move, 100) ; // เรียกใช้ฟังก์ชัน note1 พร้อมกำหนดค่าที่ต้องการ
note2 (note2move, 100) ; // เรียกใช้ฟังก์ชัน note2 พร้อมกำหนดค่าที่ต้องการ
note1move = note1move -1 ; // กำหนดให้มีการเปลี่ยนค่าตัว เมื่อวาดซ้ำ จะทำให้ object เลื่อนตำแหน่ง (เหมือนมีการเคลื่อนไหว)
note2move = note2move +1 ; // กำหนดให้มีการเปลี่ยนค่าตัว เมื่อวาดซ้ำ จะทำให้ object เลื่อนตำแหน่ง (เหมือนมีการเคลื่อนไหว)
if (note1move<-200 || note2move>300) { /* เงื่อนไข ถ้า note1move มีค่าน้อยกว่า -200 หรือ ( || หมายถึง หรือ)
note1move = 20 ; note2move มีค่ามากว่า 300 จะให้มีการรันโค้ดด้านล่าง */
note2move = 100 ; // กำหนดให้ note1move กลับไปมีค่าเป็น 20 และ note2move มีค่าเป็น 100
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น