Я знаю, что легко создавать кнопки, которые подсвечивают, когда вы наводите на них мышь, но когда дело доходит до подменю, я немного застрял. Кто-нибудь получил несколько советов о том, как создать главное меню с подменю? (например, Одиночная игра -> Загрузить Сохранить -> Сохранить 1-5? -> Начать игру и т. д.)
12
Вы должны определенно реализовать его в качестве конечного автомата (FSM) или стека состояний (подменю), в зависимости от конкретных требований. Какое бы подменю было текущим в FSM или верхним в стеке, оно выводится на экран и обрабатывает ввод. И затем, когда он обнаруживает, что пользователь нажимает кнопку, он переключает FSM или помещает в стек правильное состояние, чтобы перейти к следующему экрану.
В вашем случае я думаю, что стек лучше, но если бы у вас была более сложная система меню, которая произвольно перемещалась по меню, вы бы хотели использовать FSM.
источник
«Лучший способ» полностью субъективен. Посмотрите, как другие игры делают это, и посмотрите, найдете ли вы ту, которая хорошо работает. Единственное, что вам абсолютно необходимо, - это способ для пользователя нажать Отмена и вернуться на предыдущий уровень. Вы можете дать каждому объекту меню ссылку на меню, из которого оно было открыто, или реализовать его с помощью стека.
Кроме того, все зависит от того, какова ваша игра и как вы хотите, чтобы ваши меню чувствовали. Должно ли каждое меню занимать весь экран в стиле Final Fantasy? Должны ли они отделяться друг от друга, как подменю Windows? Вы должны пойти на что-нибудь экзотическое, как радиальные меню? Это зависит от вас, на самом деле.
источник