Cách tốt nhất để làm cho một hệ thống menu chính là gì?


12

Tôi biết rằng thật dễ dàng để tạo các nút làm nổi bật khi bạn di chuyển chuột qua chúng, nhưng khi nói đến menu phụ tôi bị kẹt. Bất cứ ai cũng có một số lời khuyên về cách tốt nhất để có một menu chính với các menu phụ? (như Singleplayer -> Load Save -> Save 1-5? -> Bắt đầu trò chơi, v.v.)

Câu trả lời:


12

Điều này thường được thực hiện bằng cách sử dụng một chồng các trạng thái trò chơi. Ví dụ: mỗi mục được liệt kê ở trên sẽ được đẩy lên một ngăn xếp như sau:

  • Trò chơi
  • Chọn Lưu
  • Người chơi đơn
  • Thực đơn chính

Trong đó mỗi trạng thái trên ngăn xếp tham chiếu các mục con của nó. Khi một nút được nhấp, trạng thái tương ứng của nó được đẩy lên ngăn xếp và trở thành mục trên cùng được vẽ và tương tác. Thông thường, bạn sẽ chỉ vẽ trạng thái trên cùng, trừ khi có một số loại trong suốt giữa các lớp, trong trường hợp đó bạn sẽ vẽ từ dưới cùng của ngăn xếp lên cho đến khi bạn vẽ trạng thái hoạt động.


Nếu bạn muốn có thêm một số ý tưởng về ngăn xếp trạng thái trò chơi, có câu hỏi này: gamedev.stackexchange.com/questions/1783/game-state-stack
Vịt Cộng sản

6

Bạn chắc chắn nên triển khai nó dưới dạng máy trạng thái hữu hạn (FSM) hoặc Ngăn xếp trạng thái (menu phụ), tùy thuộc vào yêu cầu chính xác. Bất kỳ menu phụ nào là menu hiện tại trong FSM hoặc menu trên cùng trong ngăn xếp, sẽ vẽ lên màn hình và xử lý đầu vào. Và sau đó khi phát hiện người dùng nhấp vào nút, nó sẽ chuyển FSM hoặc đẩy lên ngăn xếp trạng thái chính xác để chuyển đến màn hình tiếp theo.

Trong trường hợp của bạn, tôi nghĩ rằng Stack là tốt nhất, nhưng nếu bạn có một hệ thống menu phức tạp hơn, nhảy xung quanh các menu một cách tùy ý thì bạn muốn sử dụng một FSM.


4

"Cách tốt nhất" là hoàn toàn chủ quan. Nhìn vào cách các trò chơi khác làm điều đó và xem nếu bạn tìm thấy một trò chơi hoạt động tốt. Một điều bạn thực sự cần là một cách để người dùng nhấn Hủy và quay lại mức trước đó. Bạn có thể cung cấp cho mỗi đối tượng menu một tham chiếu trở lại menu mà nó được mở từ đó hoặc thực hiện nó với một ngăn xếp.

Bên cạnh đó, tất cả phụ thuộc vào trò chơi của bạn cảm thấy như thế nào và bạn muốn thực đơn của mình cảm thấy như thế nào. Mỗi menu có nên chiếm toàn bộ màn hình, kiểu Final Fantasy không? Họ có nên tách ra khỏi nhau như các menu con Windows không? Bạn nên đi cho một cái gì đó kỳ lạ như menu radial? Điều đó tùy thuộc vào bạn, thực sự.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.