Autor

Isaac Llopis Aracil

Última Actualización

25/03/2008 - David Mariscal Fernández (Añadida versión XNAGS 2.0)

Descripción

El archivo GameState.cs se compone de dos componentes:
GameState representa un estado de juego. Contiene una lista de componentes necesarios para ese estado del juego y los activa cuando se activa el estado. En otras palabras, se encarga de registrar por ti los componentes necesarios para cada estado de tu videojuego y de eliminarlos cuando el estado ha terminado.

GameStateManager es un contenedor y manejador de GameState. A través de GameStateManager puedes activar un determinado estado de juego de manera sencilla, asegurándote de que sólo hay un estado funcionando al mismo tiempo.

Ejemplo de uso

En el archivo de la descarga hay un proyecto de XNA usando el componente en cuestión. Las clases GameState y GameStateManager se utilizan de la siguiente manera:
  • Crear un objeto GameStateManager y tantos GameState como estados vaya a tener tu videojuego. Un estado puede ser cualquier cosa, desde estado "pausa", "inicio" o "juego activo" como estado "nivel1", "nivel2", "pantalla7"...
  • Crear los componentes necesarios para cada estado del videojuego y registrarlos en la lista de componentes del estado en cuestión, no en la lista de componentes del objeto Game.
  • Registrar todos los GameState en GameStateManager.States y en Game.Components y registrar el GameStateManager también en Game.Components
  • Controlar el flujo de estados del juego en la lógica del videojuego con la propiedad GameStateManager.Activo. Esta propiedad devuelve el GameState activo o puede ser asignada a uno de los GameState que se han registrado previamente, convirtiéndolo en el activo.

Descarga

GameStateManager2.0.zip- ( XNA GS 2.0)

GameStateManager.zip- ( XNA GS 1.0)

Capturas

gamestatemanager.jpg

Last edited Mar 25, 2008 at 7:28 PM by mariscal, version 5

Comments

No comments yet.