อันนี้ผมจะใช้ไฟล์ที่คุณโกลเอ้แจกทำทับไปเลยนะครับ
วิธีในการทำเกมของผมจะใช้การเขียนโค้ดน้อย แต่จะใช้ไอค่อน eventซะเยอะเลย
1.โหลดไฟล์ตัวอย่างที่คุณโกลเอ้ได้แสดงการทำเกมไว้ หรือจะเปิดไฟลืเกมที่คุณกำลังหัดทำตามก็ดีนะครับ
2.ไปที่ object obj_boy คลิกขวา สร้างevent create แล้วเลือกแอ็คชั่น Execute code
เพื่อจะประกาศค่าตัวแปร ถ้าอยากจะทำเกมได้ ควรมีความรู้ในการประกาศค่าตัวแปร และเช็คเงื่อนไขบ้างนะครับ
กำหนดค่าตัวแปร global.movement1='down' ดังรูป ที่ตั้งเป็น downนั้น เพราะเซ็ตตาม
ทิศทางที่ตัวละครหันหน้าครับ
![[Image: gmt01_zps36a8eacb.jpg]](http://i86.photobucket.com/albums/k89/ark_010/Game%20maker%20article/gmt01_zps36a8eacb.jpg)
อธิบาย
-ตัวแปรประเภท globalนั้น เป็นตัวแปรแบบสาธารณะ เป็นค่าร่วมในเกม เหมาะสำหรับใส่ในobject
ที่เจาะจง เช่น ตัวเอก บอส หรือเหตุการณ์ต่างๆ ไม่เหมาะจะใส่ในพวกลูกน้องที่ออกมาเยอะๆ เพราะจะมีผลต่อทุกๆobject ที่ใช้ค่า global นั้นๆ
-ต้องใส่ตัวเลขไว้ด้วย กรณีที่ใช้การกำหนดแบบเดียวกัน เช่น global.hp1 , global.hp2 เป็นต้น
-movement คือการเคลื่อนที่ พยายามอย่าตั้งชื่อตัวแปรซ้ำกับ sprite background object
sound เด็ดขาด
-กรณีที่กำหนดจำนวนตัวแปรเป็นตัวอักษร (เช่นตั้งชื่อไอเท็ม) ควรใส่เครื่องหมาย ' ' ด้วยครับ
3.ไปที่ event step แล้วใส่โค้ดเข้าไปดังนี้ครับ
![[Image: gmt02_zpsb99d8bb9.jpg]](http://i86.photobucket.com/albums/k89/ark_010/Game%20maker%20article/gmt02_zpsb99d8bb9.jpg)
สังเกตดูว่า ค่าตัวแปรจะสัมพันธ์กับการกดคีย์บังคับ คือหันซ้าย ค่าmovementก็เป็นซ้าย
4.สร้าง sprite ลูกพลัง โดยการสร้างสี่ทิศทาง ซ้าย ขวา บน ล่าง
5.สร้าง object โดยตัวอย่างกำหนดเป็น fireball ความเร็ว10ง ให้เซ็ต event create แล้วจัดวางไอค่อนดังนี้
![[Image: gmt04_zpscefc0c72.jpg]](http://i86.photobucket.com/albums/k89/ark_010/Game%20maker%20article/gmt04_zpscefc0c72.jpg)
ลูกศรสีแดงคือทิศทางที่จะให้ลูกไฟวิ่ง
ปล.เพื่อเป็นการประหยัดทรัพยากร กำหนดในevent outside room แล้วให้ instance_destroy ทำลายตัวเองซะ
6.กลับไปที่ obj_boy กำหนดปุ่มอะไรก็ได้นะครับ แต่ตัวอย่างจะกำหนดเป็นปุ่มZ และเป็นการกดครั้งเดียว แล้วทำการสร้าง fireballขึ้นดังรูป
![[Image: gmt05_zpsa68c69f1.jpg]](http://i86.photobucket.com/albums/k89/ark_010/Game%20maker%20article/gmt05_zpsa68c69f1.jpg)
*สิ่งที่สำคัญคือ
อย่าลืมคลิก relativeด้วยนะครับ ไม่งั้นจะเป็นการอิงพิกัดของroom แทนที่จะเป็น obj_boy
ลองทำดูคุณทำได้ครับ
ตัวอย่างเผื่อไม่เข้าใจ+เอาไปแกะ
https://www.dropbox.com/s/p6unw2u8g3m277..._shoot.rar