วิธีที่ดีที่สุดในการทำระบบเมนูหลักคืออะไร?


12

ฉันรู้ว่ามันเป็นเรื่องง่ายที่จะสร้างปุ่มที่เน้นเมื่อคุณเลื่อนเมาส์ไปที่พวกเขา แต่เมื่อพูดถึงเมนูย่อยฉันรู้สึกแย่ ใครมีเคล็ดลับเกี่ยวกับวิธีที่ดีที่สุดในการมีเมนูหลักพร้อมเมนูย่อย? (เช่น Singleplayer -> โหลดบันทึก -> บันทึก 1-5? -> เริ่มเกมเป็นต้น)

คำตอบ:


12

โดยปกติจะทำโดยใช้สถานะเกมซ้อนกัน ตัวอย่างเช่นแต่ละไอเท็มที่แสดงด้านบนจะถูกส่งไปยังสแต็กดังนี้:

  • เพลย์
  • เลือกบันทึก
  • เล่นคนเดียว
  • เมนูหลัก

โดยที่แต่ละสถานะบนสแต็กอ้างถึงรายการย่อย เมื่อมีการคลิกปุ่มสถานะที่สอดคล้องกันจะถูกผลักลงบนสแต็กและกลายเป็นรายการยอดนิยมที่ถูกดึงและโต้ตอบกับ โดยปกติแล้วคุณจะวาดสถานะบนสุดนั้นเว้นแต่ว่ามีความโปร่งใสบางอย่างระหว่างเลเยอร์ซึ่งในกรณีนี้คุณจะวาดจากด้านล่างของสแต็กขึ้นไปจนกว่าคุณจะวาดสถานะที่ใช้งานอยู่


หากคุณต้องการแนวคิดเพิ่มเติมเกี่ยวกับสถานะของเกมมีคำถามนี้: gamedev.stackexchange.com/questions/1783/game-state-stack
The Communist Duck

6

คุณควรใช้มันอย่างแน่นอนในฐานะเครื่องFinite-state (FSM) หรือStack of states (เมนูย่อย) ขึ้นอยู่กับข้อกำหนดที่แน่นอน ไม่ว่าเมนูย่อยใดจะเป็นเมนูปัจจุบันใน FSM หรือเมนูย่อยด้านบนของสแต็กจะดึงไปที่หน้าจอและจัดการอินพุต จากนั้นเมื่อตรวจพบว่าผู้ใช้คลิกปุ่มมันจะสลับ FSM หรือกดลงบนสแต็กในสถานะที่ถูกต้องเพื่อไปยังหน้าจอถัดไป

ในกรณีของคุณฉันคิดว่า Stack ดีที่สุด แต่ถ้าคุณมีระบบเมนูที่ซับซ้อนกว่าที่กระโดดไปรอบ ๆ เมนูโดยพลการคุณก็ต้องการใช้ FSM


4

"วิธีที่ดีที่สุด" เป็นอัตวิสัยทั้งหมด ดูวิธีที่เกมอื่นทำและดูว่าคุณพบเกมที่ใช้งานได้ดีหรือไม่ สิ่งหนึ่งที่คุณต้องการอย่างยิ่งคือวิธีที่ผู้ใช้สามารถกดยกเลิกและกลับไปที่ระดับก่อนหน้า คุณสามารถให้การอ้างอิงวัตถุเมนูแต่ละรายการกลับไปที่เมนูที่เปิดจากหรือใช้กับสแต็ก

นอกจากนั้นทุกอย่างขึ้นอยู่กับความรู้สึกของเกมและสิ่งที่คุณต้องการในเมนู แต่ละเมนูควรใช้ทั้งหน้าจอสไตล์ Final Fantasy หรือไม่ พวกเขาควรแยกออกจากกันเช่นเมนูย่อย Windows หรือไม่ คุณควรจะลองอะไรที่แปลกใหม่เช่นเมนูเรเดียนหรือไม่? มันขึ้นอยู่กับคุณจริงๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.