lunes, 26 de septiembre de 2011

Primeros pasos con libGDX

Al final me he decidido por utilizar el motor libGDX para desarrollar la app, sobre todo porque, a parte de ser multiplataforma, integra todos los elementos necesarios para aprovechar al 100% las caracteristicas adicionales con la que suele contar un smartphone (compás, acelerometro, etc); además es compatible con Android 1.5 (a excepción de los wrappers para OpenGL 2.0) y está en constante desarrollo.

Lo primero que debemos hacer es descargar libGDX. Para ello, o bien nos podemos bajar el nightly build o la ultima versión oficial (0.9.2 a día de hoy). Después una vez creado el proyecto en el que queremos utilzar libGDX para configurar ecplise tan solo debemos seguir los siguientes pasos:
  • Dentro del proyecto crear la carpeta libs. Copiar en ella los archivos gdx.jar, gdx-sources.jar, gdx-backend-android.jar y los directorios armeabi y armeabi-v7a.
  • Actualizar la carpeta en el proyecto (botón secundario - Refresh).
  • Añadir la librería al proyecto para ello, botón secundario - Properties - Java Build Path - Libraries - Add JARs y seleccionamos los ficheros gdx.jar y gdx-backend-android.jar. 

Con esto ya tenemos el proyecto listo para trabajar con la librería. En primer lugar crearemos la clase a partir del interfaz ApplicationListener (en nuestro caso ViewCoin) que se encarga de manejar el juego y dibujar todos los gráficos necesarios. Si utilizamos el interfaz de creación de clases nuevas de Eclipse nos deberá quedar algo como:


import com.badlogic.gdx.ApplicationListener;



public class ViewCoin implements ApplicationListener {

    public void create() {
        // TODO Auto-generated method stub
    }

    public void dispose() {
        // TODO Auto-generated method stub
    }

    public void pause() {
        // TODO Auto-generated method stub
    }

    public void render() {
        // TODO Auto-generated method stub
    }

    public void resume() {
        // TODO Auto-generated method stub 
    }
}


Para ejecutar este juego (que de momento solo mostrará una pantalla en negro) se debe crear una clase que herede de AndroidApplication y en la que se debe crear una instancia de la clase anterior e iniciar con ella la librería con el método heredado de la siguiente forma:

import com.badlogic.gdx.backends.android.AndroidApplication;

public class HeadsOrTailsApp extends AndroidApplication {
     public void onCreate (android.os.Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
        // Donde el segundo parámetro indica si se quiere trabajar con
        // OpenGL 2.0. (Android 2.0 o superior)
         initialize(new ViewCoin(), false);
     }
}

En la próxima entrada comentaré como dibujar algo (en este caso el spirte de la moneda animada) ya que si ejecutamos el proyecto creado lo único que aparecerá, como ya he comentado es una pantalla en negro. 

2 comentarios: