Bueno hoy estaba haciendo mi pantalla principal y necesitaba poder escribir en mi juego, Libgdx te pide que uses archivos fnt, así que tuve que crear uno, para esto utilice el programa que se llama hiero, que lo pueden descargar acá, funciona utilizando java y es bastante simple de usar, así que como una imagen vale mas que mil palabras les dejo estas imágenes tipo tutorial para que se guíen, recuerden que después de instalar java ejecutan el Hiero (Para los que no tienen java todavía).
Primero la pantalla del programa, con todas sus características y para que funciona cada una:
Digamos que quiero solo las letras mayúsculas y los números, entonces quedaría así:
Ok estamos listos grabar, lo hice bastante simple solo le agregue el color azul en una imagen de 256×256, y no se preocupen por el background porque al final las letras salen en un fondo transparente.
Para grabar vamos a file (arriba a la izquierda) y le damos click a save BMFont files, elegimos donde, pero no se olviden no borrar el .fnt es importante, así debería quedar:
listo nos saldrían dos archivos, uno llamado comic.fnt y otro que es comic.png, ahora podría darse el caso que el comic.png se vea volteado así:
Para arreglar esto yo use un programa de diseño libre llamado Gimp, si lo tienen o lo descargaron hay 2 pasos bien simples, primero lo rotamos, hacemos click derecho encima de la imagen y:
Y luego le cambiamos la dirección, eligiendo el icono marcado y haciendo click en la imagen:
Guardamos y todo listo, ahora para usarlo en Libgdx solo necesitan este código:
//Inicializamos el font public static BitmapFont fuente; //Le damos el valor, asegúrense de copiar los archivos comic.fnt y comic.png a la carpeta data fuente = new BitmapFont(Gdx.files.internal("data/comic.fnt"), Gdx.files.internal("data/comic.png"), false); // ya para utilizarlo solo le enviamos el objeto SpriteBatcher, la palabra que quieren que escriba y las coordenadas X e Y private SpriteBatch batcher; batcher= new SpriteBatch(); - - - batcher.begin(); fuente.draw(batcher, "PROBANDO", 0, 0); batcher.end();
Y listo eso seria todo.
TIP: Si quieren pintar las letras de diferentes colores, hagan las letras de color blanco y utilizen fuente.setColor(1.0f, 0.0f, 0.0f, 1.0f), donde setColor(Rojo, Verde, Azul, Alfa).
Suerte!
Una pregunta, ¿ porque cuando utilizo las letras me salen al reves , apesar de que en el Hiero salen derechas?
Hola Leandro, me parece que es un tema de programación o revisa bien las fuentes, si en caso sigue saliendo asi, rotalas tu mismo para que al rota queden como esperas 🙂 utiliza gimp
Muchas gracias!!!
De nada!!! 🙂