lunes, 17 de febrero de 2014

3.- Codigo Base

Después de haber creado nuestro proyecto y haberlo importado a Eclipse  abrimos nuestra clase principal que en mi caso es “MainBox2D.java”.



Al abrir la clase nos encontramos con que tiene ya mucho código, este código es el que sirve para mostrar la pantalla de presentación de Libgdx, Borraremos todo el código que este dentro de la clase y copiamos y pegamos el siguiente código (Teniendo en cuenta de mantener siempre el nombre de nuestra clase igual).


¿Para que sirve el código anterior?

Es el código base que utilizaremos en todos nuestro proyectos, esto quiere decir que cada vez que en un tutorial creemos un proyecto nuevo siempre debe contener por lo menos este código.

En Libgdx nuestra aplicación tiene un ciclo de vida definido, que esta gobernado por los estados de nuestro programa, como son crear, pausar, resumir, etc.

Para poder acceder a estos eventos del ciclo de vida debemos implementar la interfaz
ApplicationListener y pasar una instancia de esta implementación a cada una de las implementaciones de Application en cada unos de nuestros objetivos (Android, iOS, Desktop).

El siguiente diagrama muestra el ciclo de vida de nuestro programa.


Pero ¿donde esta el ciclo principal?

¿Qué es el ciclo principal? (Main loop)

Es el componente principal de cualquier juego desde el punto de la programación. Permite al juego correr fluidamente. Los programas mas tradicionales responden a la interacción del usuario sin hacer nada al respecto. Por ejemplo un procesador de texto muestra el texto conforme el usuario lo ingresa, pero si el usuario no ingresa nada el procesador de texto no hace nada.

En cambio en los juegos es diferente, el juego debe seguir operando aun si el usuario no hace interacción con el juego. Nuestro main loop permite esto.

El pseudo código de un main loop

while( user doesn't exit )  
        check for user input  
        run AI  
        move enemies  
        resolve collisions  
        draw graphics  
        play sounds
end while


En Libgdx no existe un main loop explicito, pero el método render() se puede decir que es el cuerpo de nuestro main loop.

Conclusion
En este tutorial mostramos el código base que tendrán todas nuestras aplicaciones de ejemplo que realizemos a lo largo de estos tutoriales.

Se explico el ciclo de vida de una aplicación de Libgdx y aprendimos cual es el MainLoop de nuestra aplicación.


2 comentarios:

  1. Buenas tardes, disculpa las molestias pero no puedo visualizar el código base a pesar de que he intentado con distintos navegadores. ¿Podrías subirlo otra vez o pasarme un link desde donde pueda descargar ese código fuente? Desde ya muchas gracias y felicitaciones por los tutoriales que son muy buenos.

    ResponderEliminar
    Respuestas
    1. Puedes descargar el codigo fuente de los tutoriales en este link https://github.com/Yayo-Arellano/TutorialBox2d. Voy a investigar porque se dejaron de ver las imagenes en varias post del blog.

      Eliminar