ง30216 การสร้างเกมคอมพิวเตอร์ ภาษา GML ง30216 การสร้างเกมคอมพิวเตอร์
ภาษา GML ย่อมาจาก Game Maker Language สามารถควบคุมตัวแปรที่ขึ้นต้นด้วย ตัวอักขระ หรือ _
โครงสร้างของภาษา GML อยู่ระหว่างเครื่องหมาย { } ดังนี้ { <statement>; … }
ตัวแปรในภาษา GML การใช้งานตัวแปรใน GML ไม่จำเป็นต้องประกาศตัวแปร มีตัวแปรภายในโปรแกรมอยู่จำนวนมาก เช่น mouse_x, mouse_y เป็นตำแหน่งของ mouse หรือ x กับ y แทน ตำแหน่งของ object นั้นๆ เมื่อใช้ตัวแปรจะมีผลเฉพาะใน instance นั้นๆ ไม่มีผลกับ instance อื่นๆ
การกำหนดค่า เช่น { x = 23; str = ‘Hello World’; y += 5; x = 23*ZZ2+4X / sin(y)); b = (x<5) && !(x==2 || x==4); }
ตัวแปรทั่วไป หากต้องการประกาศตัวแปรให้ object อื่นรู้จักจะต้องใช้คำว่า Global ตามด้วยจุด (.) เช่น { global.value = true; }
การจัดการตัวแปรใน instance อื่นๆ ในบางครั้งหากคุณต้องการเปลี่ยนค่าตัวแปรใน instance อื่นๆ ให้เริ่มด้วยชื่อ object.ชื่อตัวแปร เช่น ball.speed = 0; จะเป็นการหยุดการเคลื่อนที่ของ object ที่ชื่อ ball ทั้งหมด
คำที่ใช้ในการอ้างอิงเกี่ยวกับ object self : หมายถึง instance ปัจจุบัน other : instance อื่นๆที่เกี่ยวข้องกับกับการชน all : instance ทั้งหมด noone : ไม่มี instance global : ตัวแปร global อื่นๆ เช่น all.speed = 0; other.sprite_index = sprite5;
การกำหนดค่าเฉพาะ instance หากต้องการกำหนดค่าเฉพาะ instance เราจะต้องดูค่า ID ของ instance ดูได้จากในการวาง instance ในห้อง เมื่อคุณนำเมาส์ไปวาง บน instance นั้นๆ เมื่อได้ ID แล้วให้ใช้ ID นั้นในการกำหนดค่าเช่น (100032).speed = 5; หรือสามารถใช้ ตัวแปร ในการรับค่า ID จากฟังก์ชัน instance_create()เช่น a = instance_create();
ตัวอย่าง คำสั่ง if { if (x<200) {x += 4} else {x -= 4}; }
ตัวอย่าง คำสั่ง repeat { repeat (5) instance_create(random(400),rando m(400),ball); }
ตัวอย่าง คำสั่ง while { while (!place_free(x,y)) } x = random(room_width); y = random(room_height); }
ตัวอย่าง คำสั่ง do { do } until (place_free(x,y)) x = random(room_width); y = random(room_height); } until (place_free(x,y))
ตัวอย่าง คำสั่ง for { for (i=0; i<9; i+=1) list[i] = i+1; }
คำสั่งช่วยในการควบคุม loop break ใช้ในการจบคำสั่ง loop continue ใช้ให้ไปรอบต่อไป exit ใช้สั่งให้จบการทำงานของ script