Tag Archives: Libgdx

Libgdx: Actions like cocos2d

Una de las cosas que mas me gustó del trabajo con cocos2d fue sin dudas sus acciones, nunca había trabajado con una librería que implementase esta filosofía y ahora me doy cuenta de lo perdido que estaba. En libgdx se echa de menos las acciones de cocos2d, aunque trae sus propias acciones se queda un poco cojo ya que implementa lo más básico .. un movimiento lineal, el acelerado, decelerado, el overshoot (el típico rebote de una cosa en el suelo). Que vale, cumplen su función más básica pero frente a cocos2d te sientes un poco desértico.

Una de las mejores opciones en libgdx para hacer interpolaciones es usar Aurelien Ribon que es lo mejorcito que podéis encontrar. Sólo tenéis que mirar su ultima demo para ver sus capacidades, y podéis probarlo directamente en vuestro android o vía html porque para quien no lo sepa libgdx ya tiene un backend para generar código html5+js.

Bueno .. esto es muy muy bueno no lo dudo pero tenia la simple necesidad de implementar un movimiento elástico, así que la opción mas rápida fue la de buscar estar interpolación en cocos2d y traérmela. el resultado ha sido traer las interpolaciones básicas de Cocos2d a libgdx: Easecubic, EaseExponential, EaseSine, EaseElastic, EaseBounce, EaseBack, todas en sus 3 versiones, In, Out & InOut

 like cocos2d: ver todas las interpolaciones

Continue reading “Libgdx: Actions like cocos2d” »

Libgdx: Escenas y transiciones

Tras ver lo facil que resulta crear sprites y animaciones en libgdx vamos a ver algo esencial para iniciarl cualquier proyecto, y es la creación de escenas, cambiar de unas escenas a otras y como hacer transiciones entre ellas.

Empezaré por comentaros que todo lo que voy a desarrollar para libgdx lo estoy englobando en un paquete llamado GdxOfcode, y a medida que vaya desarrollando mas cosas irá creciendo .. de momento no publico la rama principal del proyecto porque va a estar creciendo con cada nuevo sample, asi que lo mas posible es que con cada sample se incluya todo el source necesario.

 Escenas Sample 1 – Caso mas básico de cambio de escenas
 Escenas Sample 2 – Añadir transiciones

Continue reading “Libgdx: Escenas y transiciones” »

Actions en libgdx

Como ya os dije en el anterior post en libgdx nos da en la mayoria de casos una estructura para hacer un juego, pero algunas clases vamos a tener que implementarlas nosotros mismos, y cosas tan basicas como las acciones o los sprites parece que están a media (o esa impresión me da en un primer vistado) asi que lo primero que debemos hacer es comprender como está estructurada toda su filosofía y como hacer algo tan básico como mover un sprite con una acción para ir probando cosas

Empezamos por el package Scene2d en este paquete libgdx ofrece las clases básicas para hacer un juego en 2D, en principio nos vamos a centrar en estas 4 clases:

Stage es un contenedor para actores, podemos imaginar que será una pantalla de nuestro juego, no tiene porque ser de la dimensión de pantalla, puede ser mucho mas grande ya que controla la zona que se está viendo, permite hacer zoom o scrolls sobre ella. Recibe los eventos del touch y te dice sobre que actor de los que contiene se esta interactuando.

Actor es cualquier cosa de nuestro juego con la que podamos interactuar .. un sprite de toda la vida. Es una clase Abstracta, eso quiere decir que no la podemos instanciar, será obligatorio crear nuestra clase que implemente este método. Y será necesario implementar el método draw()

Group es una agrupación de Actors .. se usa para crear Sprites mas complejos que mantengan una jerarquía entre ellos

Action es la clase que se usa para aplicar cualquier transformación a un Actor,

libgdx incluye las siguientes acciones:

  • FadeIn – Modifica el alpha de un actor hasta llegar a 1.0f
  • FadeOut – Modifica el alpha de un actor hasta llegar a 0.0f
  • FadeTo – Modifica el alpha de un actor hasta llegar a un valor indicado
  • MoveBy – Desplaza un actor un valor determinado
  • MoveTo – Desplaza el actor hasta una posición
  • RotateBy – Rota el actor un ángulo especificado
  • RotateTo – Rota el actor hasta llegar a un ángulo
  • ScaleTo – Scala el actor a un factor indicado

Para combinar acciones nos ofrece estas 2 clases

  • Parallel – Ejecuta todas las acciones a la vez
  • Sequence – Ejecuta las acciones una por una

Otras acciones para combinar que no hacen ningún efecto por si solas

  • Repeat – Repite una acción las veces indicadas
  • Forever – Repite una acción para siempre
  • Delay – Hace una pausa de un tiempo antes de ejecutar la acción
  • Remove – Borra el actor de la Stage

Además de estas acciones todas implementan un Interpolator para modificar la velocidad o aceleración del movimiento, de esta forma se puede modificar el Rate de las acciones

  • AccelerateDecelerateInterpolator
  • AccelerateInterpolator
  • AnticipateInterpolator
  • DecelerateInterpolator
  • LinearInterpolator
  • OvershootInterpolator

Continue reading “Actions en libgdx” »

Wellcome to Android

Desde hace un tiempo vengo ya con ganas de empezar a hacer algo en Android, y llevo unos días probando distintos frameworks orientados al desarrollo de juegos, tampoco os creáis que he probado todo lo habido, de momento solo 3, así que os voy a contar con cual me he centrado y como funciona. Os hablo de LibGDX

Libgdx se presenta como una librería para desarrollar juegos cross-platform, y es que al estar desarrollada en java funciona en windows, mac, linux y android, en todos ellos tirando contra unas librerías nativas para manejar openGl … suena bien pero será cierto? Tengo que decir antes que nada que lo de ‘game development library’ de momento esta muy lejos de la realidad, la librería te ofrece muchas ventajas para manejar opengl de forma genérica, de hecho la propia documentación dice What its “A high-performance, cross-platform game development framework to be used as the basis for engines and games” and what is not “A game engine including everything but the kitchen sink” … os queda claro no? … que no te lo va a dar todo comido y algo tendrás que hacer

A continuación .. instalamos el entorno, preparamos el sdk de Android, configuramos el emulador y a probar nuestro primer hello world
Continue reading “Wellcome to Android” »