Qual é a melhor maneira de criar um sistema de menus principal?


12

Eu sei que é fácil criar botões que se destacam quando você passa o mouse sobre eles, mas quando se trata de submenus, estou meio preso. Alguém recebeu algumas dicas sobre a melhor maneira de ter um menu principal com submenus? (como Singleplayer -> Load Save -> Save 1-5? -> Iniciar jogo etc.)

Respostas:


12

Isso geralmente é feito usando uma pilha de estados do jogo. Por exemplo, cada item listado acima seria enviado para uma pilha da seguinte maneira:

  • Jogabilidade
  • Selecione Salvar
  • Um jogador
  • Menu principal

Onde cada estado na pilha faz referência a seus subitens. Quando um botão é clicado, seu estado correspondente é empurrado para a pilha e se torna o item mais alto que é desenhado e interagido. Normalmente, você desenharia apenas esse estado superior, a menos que haja algum tipo de transparência entre as camadas; nesse caso, você desenharia da parte inferior da pilha até desenhar o estado ativo.


Se você quiser mais algumas idéias sobre pilhas de estado do jogo, há esta pergunta: gamedev.stackexchange.com/questions/1783/game-state-stack
A Comunista Duck

6

Você deve definitivamente implementá-lo como uma máquina de estados finitos (FSM) ou uma pilha de estados (submenus), dependendo dos requisitos exatos. Qualquer submenu é o atual no FSM ou o superior da pilha, atrai a tela e manipula as entradas. E quando detecta que o usuário clica em um botão, ele alterna o FSM ou pressiona na pilha o estado correto para ir para a próxima tela.

No seu caso, estou pensando que uma pilha é melhor, mas se você tivesse um sistema de menus mais complexo que pulasse arbitrariamente nos menus, seria melhor usar um FSM.


4

"Melhor maneira" é inteiramente subjetivo. Veja como outros jogos o fazem e veja se você encontra um que funcione bem. A única coisa que você precisa é uma maneira de o usuário clicar em Cancelar e voltar ao nível anterior. Você pode dar a cada objeto de menu uma referência para o menu em que foi aberto ou implementá-lo com uma pilha.

Além disso, tudo depende da aparência do seu jogo e da aparência dos menus. Cada menu deve ocupar a tela inteira, no estilo Final Fantasy? Eles devem se ramificar como submenus do Windows? Você deveria optar por algo exótico, como menus radiais? Depende de você, realmente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.