Sé que es fácil hacer botones que resaltan cuando mueves el mouse sobre ellos, pero cuando se trata de submenús, estoy un poco atascado. ¿Alguien tiene algunos consejos sobre la mejor manera de tener un menú principal con submenús? (como Singleplayer -> Load Save -> Save 1-5? -> Start game etc.)
12
Definitivamente debe implementarlo como una máquina de estado finito (FSM) o una pila de estados (submenús), según los requisitos exactos. Cualquiera que sea el submenú que sea el actual en el FSM o el superior en la pila, se dibuja en la pantalla y maneja la entrada. Y luego, cuando detecta que el usuario hace clic en un botón, cambia el FSM o introduce en la pila el estado correcto para pasar a la siguiente pantalla.
En su caso, creo que una pila es la mejor, pero si tuviera un sistema de menús más complejo que saltara arbitrariamente los menús, entonces querría usar un FSM.
fuente
La "mejor manera" es completamente subjetiva. Mire la forma en que otros juegos lo hacen y vea si encuentra uno que funcione bien. Lo único que necesita absolutamente es una forma para que el usuario presione Cancelar y volver al nivel anterior. Puede devolver a cada objeto de menú una referencia al menú desde el que se abrió o implementarlo con una pila.
Aparte de eso, todo depende de cómo se siente tu juego y cómo quieres que se sientan tus menús. ¿Debería cada menú ocupar toda la pantalla, al estilo Final Fantasy? ¿Deberían ramificarse unos de otros como submenús de Windows? ¿Deberías elegir algo exótico como menús radiales? Depende de usted, de verdad.
fuente