Tôi đang bắt đầu với lập trình trò chơi. Tôi đang thiết kế một trò chơi bắt đầu bằng cách đưa bạn qua một loạt các màn hình menu. Tôi thích tìm hiểu làm thế nào điều này thường được cấu trúc trong phát triển trò chơi chuyên nghiệp.
Hiện tại tôi xử lý các đầu vào của bộ điều khiển từ tệp chính và có các lớp riêng cho từng màn hình menu. Khi người dùng thực hiện lựa chọn, tôi cần chuyển sang màn hình menu tiếp theo. Có vẻ như tôi cần một số "trình quản lý màn hình menu" để theo dõi lựa chọn trước đó và chuyển đổi giữa các màn hình menu và / hoặc tôi cần chuyển xử lý đầu vào của bộ điều khiển xuống các đối tượng menu, vì tôi muốn sử dụng hết / xuống trên một menu và trái / phải trên menu khác.
Làm thế nào một kiến trúc sư lập trình trò chơi chuyên nghiệp / thiết kế này?
require "components/first_menu"
require "components/second_menu"
first_menu = FirstMenu.new
second_menu = SecondMenu.new
menu = first_menu
menu.render
on(controller: "up") { menu.prev_option }
on(controller: "left") { menu.prev_option }
on(controller: "down") { menu.next_option }
on(controller: "right") { menu.next_option }
on(controller: "buttonA") do
if menu.is_a? FirstMenu
menu.hide
selected_option = menu.select_option
menu = second_menu
menu.show(selected_option)
else
selected_option = menu.select_option
launch_game(selected_option)
end
end