NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es
Logo LibGDX

Framewok libGDX para programación de videojuegos

Post Series: Programación de Videojuegos con libGDX

En esta serie de tutoriales vamos a presentar al framework libGDX para desarrollo de videojuegos y realizaremos un primer proyecto con él.

Si quieres aprender más sobre este tema, realizando tu propio proyecto y ayuda de un Tutor para resolver tus dudas, consulta nuestro curso de Programación de Juegos en Android (libGDX)

¿Qué es un Framework?

Tanto si tienes experiencia como desarrollador de software, como si no, te habrás tropezado alguna vez con el término de framework, cuya traducción aproximada sería la de «marco de trabajo». Sus objetivos principales son los de acelerar los procesos de desarrollo, promover buenas prácticas de programación a través de los patrones de diseño o incluso reutilización de código.

Si nos centramos en frameworks dedicados al desarrollo de videojuegos en la plataforma Android, están diseñados para ofrecernos ayuda en el diseño de gráficos en 2D y 3D, motor de físicas, animación gráfica y rendimiento hardware, y todo esto, ofreciéndonos una estructura ordenada para la programación de videojuegos.

Un motor de físicas es un sistema software que implementa simulaciones a ciertos sistemas físicos, cómo dinámica de sólidos rígidos (por ejemplo, la detección de colisiones) o dinámica de fluidos, en tiempo real.

Introducción a libGDX

LibGDX es un framework para el desarrollo de videojuegos escrito principalmente en Java, con algunas características que lo hacen muy atractivo, como el ser multiplataforma o estar bajo licencia Apache 2.0. De esta forma contamos con un framework libre y gratuito que nos permite trabajar con gran simplicidad, al poder escribir el código en un único proyecto, para posteriormente trasladarlo a otras plataformas sin modificar nada.

Logo libGDX

Mencionaremos algunas de las herramientas que implementa LibGDX:

  • Framework para el manejo del ciclo de vida de la aplicación.
  • Módulo de entrada para controlar la comunicación con el usuario, a través del acelerómetro, pantalla táctil etc.
  • Proporciona una librería para el diseño, manipulación y representación de objetos gráficos.
  • Módulo para reproducción y efectos de audio.

Ya adelantamos algunas de sus características. Veamos un resumen de las más destacadas:

  • Soporta OpenGL ES 2.0 y 3.0 compatible con dispositivos actuales.
  • Proporciona una serie de módulos (conjunto de APIs), que posibilitan el manejo de gráficos, audio y entradas de usuario tales como teclado, ratón o dispositivos con pantalla táctil.
  • Es un framework multiplataforma, entre las que destacan las siguientes:
    • Windows.
    • Linux.
    • Android (para versiones 1.5 y superiores).
    • Javascript/WebGL (GWT–> Google Web Toolkit).
    • Mac OS X.
    • IOS (es necesario el uso de monotouch, cuya licencia es de pago).
  • Uso de Sprites, Textures, fonts, sistemas de partículas etc.
  • Integración de Box 2D (librería que implementa un motor físico en dos dimensiones).
  • Es Open Source (licencia Apache 2.0), por lo que es posible acceder a su código fuente, además de usarlo tanto para proyectos personales como proyectos comerciales.
  • Escrito principalmente en Java, implementa algunas partes en C/C++ (soporte a tareas que requieren de alto rendimiento como el motor de físicas y el procesamiento de audio)
  • Gran documentación, complementada con un repositorio formado por numerosos ejemplos:

Comenzando a trabajar con libGDX

A continuación, describiremos un proyecto realizado con el framework libGDX, para desarrollar un videojuego destinado a la plataforma Android.

Antes de comenzar a describir y comentar el código del proyecto, es conveniente enumerar los elementos y pasos necesarios para la creación de dicho proyecto:

  • En primer lugar se descargará del archivo «gdx-setup-ui.jar» para la creación de un proyecto con el framework libGDX: enlace de descarga –> https://github.com/AurelienRibon/gdx-setup-ui/downloads.
  • Ejecutaremos el archivo comentado anteriormente, cumplimentando los datos del formulario que se mostrará, al igual que cuando se realiza un nuevo proyecto en el IDE Eclipse (pincha en la imagen para ampliarla):Setip libGDX
  • Una vez completado el formulario, abriremos nuestro entorno de desarrollo, e importaremos los proyectos creados para comenzar a implementar nuestro código (en Eclipse debemos ir al menú: File > Import… > General > Existing Projects into Workspace  y seleccionaremos el directorio donde se crearon los proyectos).
  • En nuestro caso, solo nos interesaría el proyecto para la plataforma Android, aunque nos proporcionará un proyecto común para el resto de plataformas, que será donde desarrollaremos el videojuego:

Estructura de proyectos con libGDX:

Proyecto libGDX

 

Como podemos comprobar en la imagen superior, el proyecto denominado «JuegoslibGDX-android«, será desde el que se invoque al proyecto común, para un videojuego en la plataforma Android. En la carpeta «assets«, se incluirán todos los recursos necesarios para el funcionamiento de nuestro juego.

Abriremos la clase creada dentro del proyecto común y definiremos la lógica de nuestro videojuego. En este ejemplo, se ha desarrollado un videojuego cuyo misión principal será la de controlar una nave espacial, evitando chocar con las naves enemigas, utilizando la pantalla táctil del dispositivo. Vemos una imagen de la misma:

Captura juego libGDX

Proyecto JuegoslibGDX:

JuegoslibGDX/src/com.academiaandroid.libgdx/MiJuegoGDX.java

Nota: este proyecto se explicará a lo largo de las 4 publicaciones que componen esta serie de tutoriales, por lo que algunos elementos utilizados (texturas, colisiones, métodos que se llaman durante el ciclo de vida de la aplicación,…) pueden incluirse en el código antes de que los presentemos más en detalle.

  1. Se define una clase llamada MiJuegoGDX, que implementará la interfaz ApplicationListener, que sobrescribe una serie de métodos para la creación, pausa y destrucción de los elementos que intervienen en el videojuego:
 

  1. Se declaran e inicializan las variables que representarán, tanto los elementos visuales del videojuego, como los parámetros de velocidad de movimiento de los diferentes objetos en pantalla:

 

  1. Se inicializan las texturas (dentro del método create() , que será invocado al crear la aplicación por primera vez), indicando como recurso las imágenes añadidas en el directorio assets del proyecto «JuegoslibGDX-android«:

 

  1. Se liberan los recursos de memoria, destruyendo los objetos creados. Este método será invocado al cerrar la aplicación:

 

  1. Definimos un método para controlar la nave del jugador a través de la pantalla táctil del dispositivo. Además se actualizan las posiciones de los objetos nave_enemiga1 y vida_jugador1, mediante el cálculo de tiempo entre frame y frame, multiplicándolo por el parámetro de velocidad establecido, y desplazándolos desde el eje de coordenadas +X a -X (de derecha a izquierda de la pantalla):

 

  1. Por último, se define un método encargado de pintar los objetos en pantalla. Este método será invocado por el método render() , que se invocará por cada frame de pantalla:

Proyecto JuegoslibGDX-android:

JuegoslibGDX-android/src/com.academiaandroid.libgdx/MainActivity.java

Esta clase se encargará de realizar la llamada a la clase MiJuegoGDX, para la ejecución del videojuego:

Atentos a la próxima publicación semanal donde continuaremos explicando este proyecto de videojuego.

This Post Has 2 Comments

Comments are closed.