Continuando con los tutoriales sobre LibGDX (Librería para el desarrollo de videojuegos), en esta ocasión veremos como empaquetar nuestras texturas con una herramienta de esta librería llamada GDX-TOOLS.JAR
Pero antes de comenzar a utilizar esta herramienta, debemos saber para que es que empaquetamos texturas. En el desarrollo de videojuegos, antes ahora y seguramente en el futuro, una de las tareas de los desarrolladores a sido la de optimizar recursos. Cuando se desarrolla un juego, se hace uso de muchos archivos, imágenes entre ellos y para evitar tener que estar cargando uno a uno las texturas, lo mejor es cargar de una sola vez una textura que esta formada por todas las texturas y luego extraer cuando los necesitemos la imagen que nos interese.
Esto lo veremos más adelante con un ejemplo práctico, pero primero, aprenderemos a utilizar GDX-TOOLS.JAR.
EMPAQUETANDO TEXTURAS CON GDX-TOOLS.JAR
1. En este ejemplo, utilizaremos la versión de libgdx, «libgdx-nightly-latest«, si no lo tienes descarga y descomprime en tu pc, yo lo hice en «C:/java/libgdx-nightly-latest/», si ya utilizas libgdx, salta este paso y dirígete a la carpeta donde tienes la librería.
2. La herramienta que buscamos se encuentra en: «libgdx-nightly-latest/extensions/gdx-tools/«, esta herramienta no cuenta con interface gráfica así que debemos usar instrucciones por linea de comandos.
Para no tener que escribir una y otra vez largas direcciones y/o nombres de archivos, creo yo que lo más sencillo es hacer uso de un archivo *.bat que es de fácil edición y ejecución. Si te gusta escribir en la consola, igual puedes hacerlo eso ya es cosa tuya 🙂
La sintaxis de la instrucción para gdx-tools es la siguiente:
java -classpath [ruta de libgdx]/gdx.jar;[ruta de libgdx]/extensions/gdx-tools/gdx-tools.jar com.badlogic.gdx.tools.imagepacker.TexturePacker2 "[carpeta donde estan las texturas]" "[carpeta donde se guardara la textura final]" "[nombre del archivo].atlas"
En este momento nos encontramos en la carpeta de «gdx-tools/«, en esta carpeta, encontramos los archivos:
– gdx-tools.jar (herramienta de empaquetado)
– sources/ (carpeta de fuentes de gdx-tools)
crea 2 nuevas carpetas con los nombres
– textures/ (carpeta donde colocaremos las texturas que queremos empaquetar)
– output/ (Carpeta donde se generaran los archivos de salida)
Crea un nuevo archivo de texto con el notepad el cual debes guardar con extensión BAT. Dale el nombre que quieras, pero no te olvides de cambiar la extensión.
En mi caso, dada la ruta de mi librería libgdx en mi PC, el archivo *.BAT tiene el código:
java -classpath C:/java/libgdx-nightly-latest/gdx.jar;C:/java/libgdx-nightly-latest/extensions/gdx-tools/gdx-tools.jar com.badlogic.gdx.tools.imagepacker.TexturePacker2 "textures/" "output/" "mistexturas.atlas"
Abrimos la consola MS-DOS y ejecutamos el archivo empaquetador.bat (el nombre que yo le di a mi archivo BAT)
C:\java\libgdx-nightly-latest\extensions\gdx-tools>empaquetador.bat C:\java\libgdx-nightly-latest\extensions\gdx-tools>java -classpath C:/java/libgd x-nightly-latest/gdx.jar;C:/java/libgdx-nightly-latest/extensions/gdx-tools/gdx- tools.jar com.badlogic.gdx.tools.imagepacker.TexturePacker2 "textures/" "output/ " "mistexturas.atlas" textures Packing......... Writing 256x256: output\mistexturas.png C:\java\libgdx-nightly-latest\extensions\gdx-tools>
Se ejecuta la instrucción y se crea la textura en la carpeta «output/«, ademas del archivo final «mistexturas.png«, se crea otro archivo «mistexturas.atlas«, este archivo contiene las coordenadas de cada imagen que utilizamos en el empaquetado ademas del nombre de cada imagen que nos servirá para identificarlo desde eclipse cuando llamemos a las texturas.
En el ejemplo de este tutorial, utilice tres imágenes en formato PNG que son «ie.png» (el logo de internet explorer), «rei.png» (una caricatura de rei ayanami) y «start1.png» (una pequeña estrella).
gdx-tools.jar por tanto me genero el archivo mistexturas.atlas con el siguiente código:
mistexturas.png format: RGBA8888 filter: Nearest,Nearest repeat: none ie rotate: false xy: 100, 83 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 rei rotate: false xy: 2, 20 size: 96, 191 orig: 96, 191 offset: 0, 0 index: -1 start1 rotate: false xy: 2, 2 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1
Se ve que utiliza el nombre de cada imagen como un identificador único, ademas indica las coordenadas donde se encuentra ubicada, el tamaño de la imagen y otras propiedades. Eso es todo 🙂
USO DE ATLAS EN ECLIPSE
Previamente colocamos «mistexturas.png» y «mistextutras.atlas» en una carpeta «texturas/» en la carpeta ASSETS. Para cargar las texturas se utiliza la instrucción:
//cargamos texturas atlas = new TextureAtlas(Gdx.files.internal("texturas/mistexturas.atlas")); //extraemos texturas rei = atlas.findRegion("rei"); icono_ie= atlas.findRegion("ie");
Vemos también como extraer una imagen de ATLAS, «rei» es un objeto de tipo «TextureRegion«.
Ejemplo «Proyecto LibGDX Atlas«
Existen muchas camaras de seguridad por internet algunas protegidas por contraseña pero la mayoria no, utilizando el hac[...]
Es recomendable tener actualizado la Maquina Virtual Java de nuestro equipo para poder disfrutar de las mejoras que trae[...]
En este post crearemos un componente que solo hay en android y que no esta disponible en la paleta de controles de Netbe[...]
HyperSQL DataBase (HSQLDB) es un moderno administrador de bases de datos relacionales, es portátil e implementado en jav[...]
Los procedimientos almacenados no solo pueden retornar valores como números, cadenas, etc, sino también datos como los R[...]
Cuarta parte de esta pequeña serie de tutoriales sobre [Crea tu blog con el patrón MVC y php] En esta cuarta entrega ver[...]