Ayer terminé el soporte de gamestates. Tal vez no sea la solución más óptima, pero al menos funciona. Me basé en los tutoriales del wiki de ogre y algunas ideas mías.
En esencia un gamestate es una clase que escucha los eventos que le envía el gamestate manager. O sea, es un frame listener, key listener y mouse listener. Además, contiene las funciones a las que se suscriben los eventos de los elemntos de CEGUI utilizados. Cuando un gamestate concluye su ejecución, retorna un valor indicando la acción a seguir a continuación, ya sea abandonar, o iniciar otro gamestate.
Aunque aún quedan muchas cosas por pulir pueden ver los estados en acción en las siguientes imágenes. Primero el menú principal. Por el momento desde aquí podemos salir o seguir al estado de juego.
Este es el estado de juego.
Tengo pensado sumar un estado más, para escenas cinemáticas dentro del juego. Eso aún demorará un poco pues requiere de un soporte de scripts más avanzado.
En esencia un gamestate es una clase que escucha los eventos que le envía el gamestate manager. O sea, es un frame listener, key listener y mouse listener. Además, contiene las funciones a las que se suscriben los eventos de los elemntos de CEGUI utilizados. Cuando un gamestate concluye su ejecución, retorna un valor indicando la acción a seguir a continuación, ya sea abandonar, o iniciar otro gamestate.
Aunque aún quedan muchas cosas por pulir pueden ver los estados en acción en las siguientes imágenes. Primero el menú principal. Por el momento desde aquí podemos salir o seguir al estado de juego.
Este es el estado de juego.
Tengo pensado sumar un estado más, para escenas cinemáticas dentro del juego. Eso aún demorará un poco pues requiere de un soporte de scripts más avanzado.
Comentarios
Publicar un comentario