Ich fange mit der Spielprogrammierung an. Ich entwerfe ein Spiel, das Sie zunächst durch eine Reihe von Menübildschirmen führt. Ich bin daran interessiert zu erfahren, wie dies normalerweise in der professionellen Spieleentwicklung strukturiert ist.
Derzeit verarbeite ich die Controller-Eingaben aus der Hauptdatei und habe individuelle Klassen für jeden Menübildschirm. Wenn der Benutzer eine Auswahl trifft, muss ich zum nächsten Menübildschirm wechseln. Es scheint, als ob ich entweder eine Art "Menübildschirm-Manager" benötige, um die vorherige Auswahl zu verfolgen und zwischen Menübildschirmen zu wechseln, und / oder ich muss die Verarbeitung der Controller-Eingaben an die Menüobjekte weitergeben, da ich sie verbrauchen möchte / unten in einem Menü und links / rechts im anderen Menü.
Wie würde ein professioneller Spielprogrammierer dies entwerfen / entwerfen?
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