El Rincón de LibGDX

YaW

Qué es LibGDX

LibGDX es un framework multiplataforma basado en Java que permite exportar a Desktop (Windows, Mac y Linux), HTML5 (a través de WebGL), Android y iOS (a través de RoboVM).

Sus principales virtudes son el rendimiento, ser open source, sus extensiones incluidas (Box2D, bullet, fuentes TTF, gamepads...) y sobretodo su activa comunidad.

Suena awesome, ¿por dónde empiezo?

La página oficial suele ser un buen sitio para comenzar: http://libgdx.badlogicgames.com/

Al descargar LibGDX se puede optar por descargar la versión estable o las nightlies. Personalmente recomiendo trabajar con las nightlies siempre, no suelen tener ningún fallo y tienen todo el código actualizado al día, todas las novedades y demás siempre las tendrás más tarde en la versión estable.

Es recomendable usar Eclipse como IDE para trabajar con LibGDX, pero creo que se puede usar cualquiera que soporte Java.

¿Y si quiero contribuir?

Al ser un proyecto Open Source cualquiera puede atribuir con mejoras o cambios, el proyecto se encuentra en GitHub y suele tener bastante movimiento: https://github.com/libgdx/libgdx

Enlaces de interés

Wiki Oficial
Abstracting platform specific code
RoboVM

19
DaRk-eXe

A favoritos!!!!

SlayerEXE

Uno más por aquí ^^ este hilo ya es oro puro, y ni ha empezado ;)

Perurena

Otro mediavidero y yo hemos hecho un juego con esta librería para una asignatura en la que se tenía que programar un juego y la verdad que nos ha sorprendido gratamente.

Bastante potente.

Radi30

Canela en rama!!
a ver si se va llenando de informacion y tutoriales jeje :D

salu2

Ronso

A favoritos!

FrioneL

Eso de comunidad activa... siempre que tengo algun bug y lo posteo en su foro, tardan bastante en contestar xD.

Aprovecho para preguntar, alguno ha utilizado Revmob en Android con libgdx?

1 respuesta
Lecherito

#7 #libgdx @freenode, ahí está la gente que lo desarrolla y te ayudan al momento si están disponibles.

YaW

Nosotros tenemos revmob pero a través de admob. Que te pasa?

1 respuesta
FrioneL

#9 Pues al parecer con las tablets, o con Android 4.1, no lo tengo claro, cuando pinta el banner del revmob que viene en una View distinta al la del juego, me deja la View del game en negro, sin pintar... pero el juego sigue avanzando. Parece que es un problema de refresco o algo asi, pero ni zorra de como forzar el repintado de la vista con libgdx.

Ya probe con hacer un invalidate a la view del juego y nada. Aqui tengo el thread: http://badlogicgames.com/forum/viewtopic.php?f=11&t=11723&p=52669#p52669

YaW

Es muy raro ese error, mira que yo he trasteado con views y no me ha pasado nada similar nunca :/

Intenta a ver con el debug por dentro de código de libgdx que está pasando porque es raro raro

1 respuesta
FrioneL

#11 Solo me pasa en una Samsung Galaxy Tab con Android 4.1. En mis otros tres moviles (con Androids 2.2, 2.3.4, 4.2) va perfecto :/

Es algo o de la tablet o de esa version de android, que no termina de refrescar la pantalla o algo asi. Es bastante raro si.

Ya lo solucione haciendo un walk around... pero debe haber algo para forzar el repintado de las vistas y no la chapuza que he tenido que hacer. Pero no me contesta ni dios xD.

EDIT: Es una Samsung Galaxy Tab 2 con Android 4.1. Si tienes la oportunidad de probarlo ahi, ya me contaras. Prueba a minimizar y maximizar el juego cuando haya un banner en pantalla, a ver si repinta todo correctamente o solo te pinta el banner.

SlayerEXE

Estoy ahora mismo probando el control con el gamepad de la 360. http://www.badlogicgames.com/wordpress/?p=2724
Y va de lujo.

Pero lo cierto es que me gustaría que los jugadores pudieran hacerse su propia configuración de controles, para que se guardara en un XML y pudiera recuperarlo en otra partida.
La duda que tengo es la siguiente. Existe un patrón o alguna forma común y óptima de ofrecer la posibilidad de alternar entre controles (ratón y teclado / gamepad) y de guardarlos para otra partida?

Porque lo único que se me ocurre es meter en el XML un código propio (es decir, A, B, X, Y... teniendo una clase que lo mapee correctamente), y luego if/elses a punta pala para asignar los controles a cada usuario... y queda cutre, feo, hortera y poco profesional.

#14 Muchísimas gracias, me pongo a ello ;)

1 respuesta
zoeshadow

#13 Supongo que siempre puedes crear una Interfaz en Java que tenga los botones como constantes, y tan solo tienes que crear una clase que implemente esa interfaz.

 Interfaz MandoGenerico {

 BOTON1 = "A";
 BOTON2 = "B";
 BOTON3 = "C";

}

Para persistir esa información puedes hacerlo en un XML sin problema, la cosa es que al cargar el XML lo que haces es crear una clase que implemente esa interfaz con los datos del XML...

y luego en la clase donde tengas los listeners de eventos tan solo tendras que poner CLASEQUEIMPLEMENTALAINTERFAZ.boton1 etc..

2 1 respuesta
robb

recomendais algun libro para iniciarse con libgdx y la progranacion de juegos en java?

4 respuestas
YaW

#15 pues el creador de LibGDX (Mario) escribió un libro sobre desarrollo de Videojuegos, aunque empieza desde el principio creando un engine (una versión básica de LibGDX). Beginning Android Games se llama.

1 respuesta
DaRk-eXe

#15 la parte de box2d la aprendí con la página de iforce2d ( http://www.iforce2d.net/b2dtut/ )

FrioneL

Alguno ha utilizado esto? https://code.google.com/p/libgdx-tween-studio/

Y sino... si por ejemplo teneis que hacer que una textura se desplace, cambie de tamaño, cambie de opacidad, etc etc, lo haceis todo a mano (en codigo)?

#19 Yo hasta ahora tambien... pero puede ser un coñazo increible cuando tienes que sincronizar varias "animaciones" de estas a la vez.. encima tienes que ir arrancando el codigo todo el rato para ver como va quedando. Voy a probar la herramienta esa, aunque no hay mucha informacion de ella.

2 respuestas
DaRk-eXe

#18 yo lo hago todo a pelo.

1 respuesta
YaW

#18 yo lo he hecho a pelo siempre, usando las Actions de LibGDX, aunque solo valen para actores.

Lecherito

Si pinto NxN texturas con SpriteBatch, como se puede hacer eso scrolleable?

13500

alguna recomendación para uno que ha hecho sus pinitos en unity y le interesa este otro engine?

MarioRomero

#15 Si buscas un libro de Libgdx, y de calidad, tienes éste Learning Libgdx Development de Andreas Oehlke.

Está genial, de hecho yo empecé a leerlo cuando estuve mirando que frameworks 2D usar y está muy muy bien. Si quieres echarle un vistazo antes de comprártelo, te sugiero que mires en Google con el título del libro y esa "extensión" tan conocida para ver documentos. Te aseguro que no tendrás que pasar del segundo resultado para ver una "preview" ;)

Yo ya te comento que me lo acabé comprando, y eso que al final no estoy usándolo, pero me gustó tanto lo que pude leer y su contenido que decidí pagarlo para agradecer al autor su esfuerzo :D

5 2 respuestas
robb

Muchas gracias a todos, en especial #23 ^^

FrioneL

#23 Mola el libro y es barato. Cubre 3D tambien?

1 respuesta
MarioRomero

#25 No, sólo cubre 2D :(

E

A favoritos

helmerpunk

Si alguien esta familiarizado con Flixel o si quieres ponerte hacer algo sencillo en 2D: http://flixel-gdx.com/

Muy recomendado!

1 respuesta
DaRk-eXe

#28 estoy mirando la web y realmente no entiendo muy bien para que sirve el flixel ese..

veo en features que todo lo que hace, lo hace libgdx ya sin tener que ponerle otra capa más encima, que ventajas trae con respecto libgdx??

edit: veo que tiene para grabar replays y pathfinding.. a lo mejor lo pruebo solo por eso jejeje

13500

Un juego de hace 2 años hecho en libGDX que me ha parecido interesante

http://bompo-content.appspot.com/webgl/paxbritannica/index.html

1 respuesta
Tema cerrado