Hace ya dos meses que tenía este blog parado y es que entre navidades, fiestas y trabajos me vi en parte obligado a detenerme.

Pasado todo esto espero volver a publicar con cierta periodicidad siendo lo más regular posible dentro de mis posibilidades.

Para retomar lo dejado me pareció interesante poner una imagen que ayuda a la comprensión del último post publicado donde explicaba que hace cada uno de los cinco métodos autogenerados.

Imagen extraida del libro Learning XNA 3.0, 1st Edition
Imagen extraída del libro Learning XNA 3.0, 1st Edition

Como se puede observar en la imagen, el primer método que se llama es initialize() que inicializa los componentes, este llama a LoadContent() que carga los contenidos necesarios y entramos en el bucle pincipal Update() que si bien es el bucle principal como con cada iteración debe dibujar se crea un bucle con Draw().

Cuando finaliza llama a UnloadContent() que si bien esta el GarbageCollector para esto, si hemos realizado cualquier acción en memoria que necesite de nuestra intervención para retirarla aquí es donde se hace.

XNA: 5 metodos importantes

diciembre 5, 2008

He comenzado a ver las posibilidades de XNA probando sprites probando textos pero he dejado en el tintero algo muy importante, la organización básica de todo proyecto, lo que todos tienen y viene autogenerado por la plantilla de un nuevo proyecto en Microsoft XNA Game Studio.

Cuando creamos un nuevo proyecto se autogeneran 5 métodos de modo automático con los que todo funciona desde el principio. Estos métodos tienen cada uno una función especifica para las distintas características del juego y es importante saber cual es la función de cada método para saber donde poner cada cosa.

· void Initialize(): este método se inicializa nada más empezar el juego es donde se puede registrar los componentes y otras cosas sobre la puesta en marcha de juego.

· void LoadContent(): en este método se carga todo el contenido que no se pueden cargar automáticamente al inicio y debe hacerse explicitamente. También se llama cuando la pantalla necesita recargar contenido no manejado automáticamente.

· void UnloadContent(): se utiliza para liberar la memoria de los contenidos.

· void Update(GameTime gameTime): bucle principal del juego donde esta implementada la lógica del juego como la entrada del jugador, actualizar la posición de objetos, etc

· void Draw(GameTime gameTime): este método es el responsable del renderizado de la pantalla tan rápido como le es posible al manejador actualizadno el estado de la pantalla en cada momento.