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