[advance]การทำเมนูคำสั่ง - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html) +--- Forum: The Great Game Maker Library (https://irpg.in.th/forum-31.html) +--- Thread: [advance]การทำเมนูคำสั่ง (/thread-741.html) |
[advance]การทำเมนูคำสั่ง - arkman - 11-06-2012 ในเกมต่างๆที่เราเล่นนั้น จะมีตัวเลือกให้เลือกแบบต่างๆ เพื่อความหลากหลายของเกมที่เล่น ตั้งแต่เมนูเข้าเกม เมนูคั่นเกม เมนูเลือกคำสั่งแบบเกมRPG ในวันนี้จะสอนวิธีสร้างเมนูจากเกมเมกเกอร์แบบง่ายๆกันครับ วางแผนงานกันก่อนเลย...! ทำเกมทุกครั้งต้องวางแผนนะครับ เพื่อให้เห็นภาพได้ง่ายว่า เราจะใช้ตัวคำสั่งกี่ตัว และแต่ละตัวเมื่อเลือกใช้แล้วจะเกิดผลอะไรบ้าง โดยตัวอย่างที่จะสอนในคราวนี้เป็นการทำเมนูเข้าเกมครับ 1.สร้างspriteขึ้นมา3อัน ได้แก่ New game Load game Exit game โดยสร้างอย่างละ2เฟรมคือ ไม่ถูกเลือก และถูกเลือก และตั้งชื่อ sprite ง่ายๆ เช่น new load exit ดังรูป *image 0 คืออันที่ไม่ได้เลือกตัวคำสั่งนั้น ส่วน image 1 คืออันที่ถูกเลือก 2.สร้าง object ขึ้นมา3อัน ห้ามตั้งชื่อซ้ำกับ sprite นะครับ เพราะตัวโปรแกรมจะสับสนในตอนเขียนโค้ด แต่ละอันให้มี event เป็น create ส่วนของ action เป็น ดังนี้ newg -> image_single =1 ------------------>อันนี้เป็นตัวเลือกแรก loadg -> image_single =0 exitg -> image_single =0 ...ติดตามตอนต่อไปครับ RE: [advance]การทำเมนูคำสั่ง - gol-a-khung - 11-07-2012 รอชมตอนต่อไป ขอบคุณครับ RE: [advance]การทำเมนูคำสั่ง - arkman - 11-08-2012 3.สร้าง object อีกตัว ที่เป็นตัวควบคุมการเลือกของข้อหัว ในที่นี้ผมตั้งชื่อมันว่า choose1 หมายถึงการเลือก1 โดยเราจะกำหนด Event ให้กับมัน3อัน คือ กดup กดdown และ กดenter ดังรูป ต่อไปจะเป็นการเขียนโค้ดล่ะครับ 4.เริ่มที่ event กดup ก่อนนะครับ ให้เขียนสคริปต์ดังนี้ อธิบายง่ายๆว่า เป็นการเปลี่ยน image_single ของแต่ละ objectที่เลือก เป็นการเรียงลำดับแบบย้อนกลับทุกครั้งที่กดปุ่ม ลูกศรบน newg--->exitg--->loadg--->วนลูป 5.ส่วนของ event กดdown ให้เขียนสคริปต์ดังนี้ อธิบายง่ายๆว่า เป็นการเปลี่ยน image_single ของแต่ละ objectที่เลือก เป็นการเรียงลำดับแบบไปข้างหน้าทุกครั้งที่กดปุ่ม ลูกศรล่าง newg--->loadg--->exitg--->วนลูป 6.และส่วนของ event กด enter หรือก็คือ การเลือกคำสั่งโดยกดปุ่ม enter นั่นเอง ให้จัดวางรูปแบบดังนี้ อธิบายได้ว่า เมื่อกด enterตอนที่ newg มี image_singleเป็น1(ถูกเลือกอยู่) ก็จะทำการไปที่ฉาก(room)ต่อไป เมื่อกด enterตอนที่ loadg มี image_singleเป็น1(ถูกเลือกอยู่) ก็จะทำการโหลดเกม(ตามชื่อไฟล์ที่เซฟเกม) เมื่อกด enterตอนที่ exitg มี image_singleเป็น1(ถูกเลือกอยู่) ก็จะออกจากเกม 7.สร้างฉาก(room) เพื่อจัดวางobject เมนูคำสั่ง ซึ่งจะจัดวางยังไงก็ได้ จะตรง เฉียง เอียง หรือจัดวางเป็นสามเหลี่ยมก็ได้ อิๆ แต่ควรวางให้ครบทั้ง4ตัว มีเช่นนั้นอาจจะเกิด eror ได้ แล้วก็จะได้เมนูเข้าเกมมาใช้งานแล้ว เย้!!! วิธีนี้สามารถทำหัวตัวเลือกได้หลากหลาย ทั้งหัวขนนก หัวสามเหลี่ยม หัวรูปมือ(แบบที่เกมไฟนอลฯใช้กัน) หรือเล่นสีสันกับตัวเลือกได้ตามสบาย ข้อเสียวิธีนี้คือ ใช้ objectค่อนข้างเยอะ และถ้าใช้ตัวเลือก2ตัว แบบ 'ใช่' 'ไม่ใช่' แนะนำให้ลองใช้การกดป่มแบบ2ตัวเลือก เช่น y:yes n:no ดีกว่า เพราะจะประหยัดobject ข้อแนะนำ 1.ตอนที่ทำการกำหนดปุ่ม newgให้ไปฉากต่างๆ แนะนำว่าให้ทำฉากนั้นให้เสร็จก่อน ค่อยกำหนดให้เชื่อมไปฉากนั้น เพราะถ้าโปรแกรมพบว่า ฉากที่จะข้ามไปไม่มี ก็จะ eror 2.เขียนชื่อรีซอร์สอย่าซ้ำกัน ใกล้เคียงได้ และเลี่ยงที่จะใช้ชื่อเดียวกันกับฟังค์ชั่นในการเขียนโค๊ด เช่น if else exit เป็นต้น RE: [advance]การทำเมนูคำสั่ง - Holy_Master - 11-08-2012 โอ๊ะ เยี่ยม ผมกำลังคิดอยุ่เลยว่าจะทำ Menu เปลี่ยนอาวุธในเกมยังไงอยู่พอดี ขอบคุณมากสำหรับ tutorial นี้ครับ ^^ |