Fuentes: como cambiar los textos en tu juego
Cuando dibujamos texto en nuestro juego, siempre lo hace con el mismo tipo de letra: Arial a 12 puntos, pero seguramente nos interesa cambiarlo. Para eso, Game Maker Studio nos proporciona una opción en el árbol de recursos, la posibilidad de añadir fuentes a nuestro juego, y luego lo activamos con la acción correspondiente.
Para añadir una fuente a nuestro proyecto, vamos a Resource – Create Font y aparecerá la siguiente ventana:
Como siempre, le damos un nombre único a nuestro fuente, habitualmente con prefijo fnt_, para así identificarlo en nuestro juego. Después elegimos una fuente de la lista que aparece, que son las que hay definidas en el ordenador. Más abajo podemos configurar el tamaño, la negrita y la cursiva, para activarlo o no. También podemos decidir el anti-aliasing, que es el suavizado de bordes que utilizará.
A la derecha vemos el rango de letras que utilizará, y se ve una previsualización de como va quedando dependiendo de las propiedades que vayan cambiando.
El rango de la fuente
¿Porqué hay que decidir un rango de la fuente? Game Maker transforma la fuente en una imagen con todas las letras, así se asegura que exista dónde se vaya a ejecutar el juego. Por eso, si vamos a usar una fuente sólo para mostrar la puntuación, no es necesario tener las letras almacenadas como imagen, solamente los números.
Una fuente tiene habitualmente 256 caracteres, pero solo usamos una pequeña parte de ellos. Por ejemplo, si usáramos números usaríamos solo 10. Para saber el rango que debemos usar, borramos el actual con el botón Clear all y le damos al botón con el símbolo +. Abrirá la siguiente ventana:
Esta ventana tiene unos botones para ayudarnos a elegir los caracteres:
- el rango normal con las opciones más estándar, letras, números y caracteres como ! ?.
- el rango dígitos con los números.
- el rango letras sólo con letras.
- y todo el rango.
Si elegimos normal vemos que aparece del 2 al 127. ¿Por qué? Porque son los caracteres ASCII asociados a las letras. Para entenderlo mejor, echad un ojo a la Wikipedia y mirad los carácteres imprimibles ASCII.
También hay dos botones interesantes, con el texto From Code y From File. En el primero analiza todos los textos que tenemos en nuestro proyecto de Game Maker y pone el rango de las letras que usamos. En la segunda opción lo hace con un fichero de texto. Así nos aseguramos que solo usaremos los necesarios.
Grupos de textura
Con las opciones de pago de Game Maker podemos gestionar nuestras texturas de imágenes, que explicaremos más adelante. En una fuente podemos elegir en cuál grupo de textura se guardará, ya que hemos dicho que se transformarán a imágenes.
Eso implica que si exportamos el proyecto a un fichero GMZ, la fuente no se incluirá en el proyecto, ya que la lee del ordenador (solo se transforma en imagen cuando ejecutamos el juego, no con Game Maker). Si abrimos el proyecto en otro ordenador, tenemos que asegurarnos que la fuente también existe.
Por lo que hemos visto, un recurso de fuente viene con el tipo de letra y su tamaño. Eso significa que si queremos la misma fuente con diferente tamaño, debemos de añadir dos recursos. Lo habitual es usar el recurso fnt_Arial_12 y también tener el otro tamaño como fnt_Arial_16.
Hasta aquí hemos hablado de todo lo relacionado con las fuentes, uno de los recursos más sencillos de usar. Como resumen, indicar que no nos tenemos que preocupar si quién ejecuta nuestro juego tiene o no la fuente, ya que la crea como imagen. Por contra, si queremos usar la misma fuente pero con tamaño distinto, Game Maker la trata como otra fuente diferente. Al menos para usar distintos colores no hace falta tratarla así. Hay que valorar usar un rango adecuado para no añadir más tamaño a nuestro juego.
Veremos en posts próximos como usar las fuentes mediante código GML, y ejemplos en las acciones de dibujo de texto que ya hemos visto.
Tengo un problema al usar las fuentes, en la parte de arriba pongo el score con una fuente y cuando el jugador pierde lo quiero mostrar mas grande en la parte del centro, el problema es que los marcadores de arriba tambien cambian de tamaño al aplicar otra fuente, como lo soluciono?
o acaso no puedo usar 2 fuentes en la misma rom?
Cuando cambias una fuente, le estás diciendo a Game Maker:
A partir de ahora usaré ésta fuente.
Por eso cambia la fuente en los marcadores. Para solucionarlo, si haces un
room_restart()
puedes poner la fuente en el evento Create del objeto. SI no, yo lo haría en el evento Draw, justo encima dónde pones el score. Así siempre coge la correcta, y no debería de penalizar mucho en tiempo.