Який найкращий спосіб створити систему головного меню?


12

Я знаю, що легко робити кнопки, які виділяються під час переміщення миші на них, але коли мова йде про підменю, я начебто застряг. Хтось отримав кілька порад щодо найкращого способу створення головного меню з підменю? (наприклад, Singleplayer -> Load Save -> Save 1-5? -> Start game etc.)

Відповіді:


12

Зазвичай це робиться за допомогою стека ігрових станів. Наприклад, кожен перерахований вище елемент буде висунутий на стек таким чином:

  • Ігровий процес
  • Виберіть Зберегти
  • Один гравець
  • Головне меню

Де кожна держава на стеці посилається на свої підпункти. Після натискання кнопки відповідний стан висувається на стек і стає найпопулярнішим елементом, який малюється та взаємодіє з ним. Зазвичай ви б намалювали лише цей верхній стан, якщо не існує певної прозорості між шарами, і в цьому випадку ви б малювали з нижньої частини стека вгору, поки ви не намалюєте активний стан.


Якщо ви хочете отримати ще кілька ідей щодо стеків ігор, є таке питання: gamedev.stackexchange.com/questions/1783/game-state-stack
Комуністична качка

6

Ви, безумовно, повинні реалізовувати його як машину Кінцевого стану (FSM) або Стек станів (підменю), залежно від конкретних вимог. Незалежно від підменю поточного в FSM або верхнього в стеку, витягується на екран і обробляє введення. А потім, коли виявить, що користувач натискає кнопку, він перемикає FSM або натискає на стек правильний стан, щоб перейти до наступного екрану.

У вашому випадку я думаю, що Stack найкраще, але якби у вас була більш складна система меню, яка стрибала навколо меню довільно, тоді ви хочете використовувати FSM.


4

"Найкращий спосіб" - цілком суб'єктивний. Подивіться, як це роблять інші ігри, і подивіться, чи знайдете ви цю, яка добре працює. Єдине, що вам абсолютно потрібно - це спосіб користувачеві натиснути Скасувати та повернутися до попереднього рівня. Ви можете надати кожному об'єкту меню посилання на меню, з якого воно було відкрите, або застосувати його зі стеком.

Крім цього, все залежить від того, як виглядає ваша гра і як ви хочете, щоб ваші меню відчували себе. Чи повинно кожне меню займати весь екран, стиль Final Fantasy? Чи повинні вони відгалужуватися один від одного, як підменю Windows? Чи варто їхати за чимось екзотичним, як радіальне меню? Це справді залежить від вас.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.