domingo, 13 de mayo de 2012

Desarrollando juegos android: libgdx

Desde hace unos dos meses he estado probando libgdx, lo cual se ha he hecho bastante útil a la hora de desarrollar para esta plataforma que es android, hasta el momento he hecho dos juegos completamente en esta plataforma el ultimo implementando box2d , la verdad no sé si libgdx implementa este engine de la forma optima pero hasta ahorita a mi me ha gustado el performance de este, tal vez pera más exigentes no sea optimo como algunos artículos que he  leído pero todo se trata de competencia , algunos dicen que son los mejores y otros dicen lo mismo, igualito como los candidatos de México (al memento de escribir este articulo estábamos en elecciones en México para la presidencia de la república X_X ).

Para implementar libgdx solo tienen que bajarlo desde este link es la última versión, en este zip encontraran los archivos necesarios para implementarlo, ahora se los explico las más importes:

gdx.jar - librerías básicas, estas van en cualquier proyecto de libgdx.
Gdx-backend-jogl.jar    - se usa para las aplicaciones de escritorio.
Gdx-backend-android.jar   - Para android.

Este video que está en  el google code de libgdx lo explica bastante bien:








2 comentarios:

Tlan3 dijo...

Hola que tal,
He visto tu blog y tiene cosas interesantes, yo actualmente tambien he estado estudiando Libgdx en mis tiempos libres, por el momento me he atorado un poco en el tema de las colisiones con box2d ya que me confundo un poco con java... yo vengo de c#.

Te dejo un sencillo juego que he estado haciendo, si te interesa podemos compartir conocimiento.

http://db.tt/92RtzfF3

Instrucciones:
¿De qué trata? derribar un muro con un lanzapiedras
¿Cómo? se presiona el contrapeso del lanzapiedras para activarlo, despues se toca en cualquier parte de la pantalla para soltar la piedra, tiene zoom y se puede deslizar en el ambiente.

Zemag dijo...

hola tlan, muy interesante tu app, claro podemos compartir conocimento. en cuanto a las colisiones en box2d es muy sensillo solo tienes que jugar con los filters de los bodys, algo como esto:

private final static short k_largeGroup = -1;
private final static short k_defaultCategory = 0x0001;

Body objeto;

FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = shape;
fixtureDef.density = 1.0f;
fixtureDef.friction=3f;
fixtureDef.filter.groupIndex=k_largeGroup;
fixtureDef.filter.categoryBits=k_defaultCategory;

BodyDef bd = new BodyDef();
bd.type = BodyType.DynamicBody;
bd.bullet = true;
objeto= world.createBody(bd);
objeto.createFixture(fixtureDef);

osea que solo trata de dividirlos en grupos y categorias , si son del mismo tipo no se activararia la colision en caso contrario de serlo desencadena el evento comun y posteriormente solo detectarlos en ContactListener , y hacer lo que deseas con la colision.

la ultima app que hice con libgdx y box2d es :

https://play.google.com/store/apps/details?id=gamez85.ArrowsAndBowsFree

para que la chekes., saludos.