miércoles, 18 de septiembre de 2013

Primeros pasos II


Primeros Pasos (II)

Adentrándose en LibGDX.

Partimos de la base, tenemos nuestro proyecto nuevo y listo para empezar. Nos encontramos con un minimo de 3 proyectos.

Proyecto Núcleo

MiJuego <- Núcleo del proyecto , donde se alojará el código del juego.

Abrimos la clase principal que ya viene creada para encontrarnos con un código que lo primero que hace es instanciar 4 objetos, nos centraremos en explicar 3 de ellos y dejaremos los sprites para más adelante.

    private OrthographicCamera camera;
    private SpriteBatch batch;
    private Texture texture;


No vamos a adentrarnos en el uso de cámaras, ya que mas adelante se explicará todas sus funciones y propiedades.

El Objeto SpriteBatch es el encargado de dibujar en pantalla las diferentes imágenes.

El objeto Texture carga una imagen, ya sea png o jpg.

Finalmente el núcleo del juego tiene 6 métodos distintos.

Método Create() : Es el método que se ejecuta cuando crea la actividad, el método donde debemos cargar las imágenes, sonidos y músicas en memoria para poder usarlas.

Método Dispose() : Método llamado al terminar la actividad, es el contrario al método Create y liberar el espacio de memoria que hemos usado en el método create, para ello podemos usar el método dispose() de cualquier clase Texture, Sound etc.

Método Render() ; Método cíclico que se ejecuta continuamente, este método será donde vamos a ir dibujando las imágenes y acciones.

Método Resize() : Se llama al cargar una pantalla, más adelante lo usaremos para más cosas.

Método Pause(): Cuando recibes una llamada, o tu teléfono te obliga a parar lo que estés haciendo se llama al método Pause().

Método Resume(): Se llama al volver al juego desde el método Pause().

En ésto consiste la clase principal de nuestro juego hasta ahora, pero no es lo único que tenemos en el proyecto ya que tenemos dos partes más que comentar el proyecto de android y el proyecto de escritorio.

Proyecto Android

Dentro del proyecto android tendremos una clase Main igual, que únicamente se dedicará por el momento a generar una instancia de nuestro juego, y crear una configuración para esa aplicación como si se debe usar o no el acelerómetro, el compass, etc. Si la leéis veréis que no tiene complicación alguna.

Proyecto Desktop

Similar al proyecto de android pero en el éste proyecto podremos cambiar la resolución de la pantalla.
 Simplemente crea un objeto LwjglApplicationConfiguration, le ajusta las propiedades, titulo, ancho, alto, etc. y luego crea otro objeto LwjglApplication con la clase principal de nuestro juego y la configuración anterior en el constructor.

Probando la aplicación

Una vez visto lo que tenemos vamos a probar el programa actual, ya que tenemos la aplicación de prueba.
Para el proyecto Android, crearemos una AVD (Maquina virtual de Android), para ello vamos a la pestaña Window de eclipse a Android Virtual Devices Manager.


- Si pulsamos sobre New nos aparecerá otra pantalla para crear un nuevo emulador de dispositivo, no obstante, si cambiamos de pestaña a "Device Definitions" tendremos ya la configuración básica de algunos de los dispositivos del mercado, si seleccionamos uno como el Nexus One y clickamos en create AVD nos saldrá la pantalla de creación del AVD con los datos ya configurados, al pulsar OK, ya tendremos el emulador listo para probar nuestro proyecto.
(Algunas AVD cuando las creas desde un dispositivo les falta seleccionar la CPU que emularán, y algunas fallan al tener demasiada RAM asignada, reducirla si os da problemas)

- Una vez creada nuestro dispositivo virtual probaremos dando click derecho en el proyecto de android, Run as... , Android Application, nos arrancará el emulador de android y después de arrancar el dispositivo, iniciará nuestra aplicación, apareciéndonos una imagen.



Podéis probar varias maquinas virtuales entrando en Run configurations, al pulsar sobre Run As... en vuestro proyecto android, en la pestaña de "Target" tendréis la opción de seleccionar otra maquina por defecto o que os de la opción en cada prueba de seleccionar la maquina deseada.

Para la versión desktop únicamente deberéis hacer click derecho sobre el proyecto desktop y pulsar:

Run as... > Java Application, os aparecerá una pantalla donde tendréis que escoger vuestra clase Main.



Para el siguiente articulo aprenderemos a manejar sonidos, imágenes, música y a separar la gestión de "Assets" de la parte lógica de nuestra aplicación.

Espero que os haya servido y cualquier duda consultármela en un comentario.









8 comentarios:

  1. Gracias rodando perfectamente en el emulador

    ResponderEliminar
  2. Jaja, sigue así! cuantos mas errores te salgan más aprenderás!

    ResponderEliminar
  3. Exelente, esto viene muy bien! Ojalá siga así!

    ResponderEliminar
  4. muy bueno!!!! Felicidades por el blog!

    ResponderEliminar
  5. cuando corro la version desktop me sale esto
    Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: OpenGL is not supported by the video driver.
    y esto
    Caused by: org.lwjgl.LWJGLException: Pixel format not accelerate
    tendras alguna solucion?

    ResponderEliminar
    Respuestas
    1. Esto sucede porque tu tarjeta de video no soporta OpenGl, no hay forma de arreglarlo a menos que cambies de computadora o de tarjeta de video

      Eliminar