Anuncios

Bienvenidos sean a este post, en el post anterior vimos como tener un puntaje o score e incrementarlo por medio de las acciones pero hoy lo mostraremos en pantalla.

Anuncios
Anuncios

Si bien en el post anterior generamos una forma de mostrar nuestro puntaje dijimos que era de forma temporal y hoy lo modificaremos pero tambien veremos como generar sprites para nuestras fuentes, tal como hablamos en este post, pero antes de comenzar con esto debemos eliminar el condicional que agregamos en el evento Step de nuestro objeto de puntaje, obj_Puntaje, una vez hecho esto debemos comenzar a crear nuestras fuentes de tipo sprite pero que es esto? Basicamente y de forma resumida es una fuente cuyas letras seran subimagenes de un sprite, a su vez estas subimagenes deben respetar el orden de los caracteres ASCII, es decir que si nosotros tenemos que imprimir el caracter . y el de 0 pero no el caracter / este ultimo tambien debe ser incluido porque esta entre los dos pero si no queremos incluirlo debemos dejar un espacio en blanco, ante cualquier duda sobre los caracteres ASCII y el orden que deben tener, les dejo una pagina de referencia:

https://elcodigoascii.com.ar/

Anuncios

Aunque para nuestro caso no va a ser necesario tanto lio porque debemos usar solamente numeros y para ello crearemos un nuevo sprite con solo 10 subimages, lo llamaremos spr_Puntaje, le asignaremos un tamaño de 16 x 16, una vez creado debemos editar cada una de las subimagenes y los sprites iran desde 0 hasta 9, les muestro como lo hice para este caso

Anuncios
Nota: recuerden setear a fps con el valor de 0
Anuncios

Como pueden ver no debe ser algo complejo pero cada uno puede hacerlo de la manera que le plazca, una vez creado nuestro sprite con las 10 subimagenes nuestro siguiente paso sera agregarlo como fuente, para ello debemos ir al objeto obj_Puntaje luego al evento Create y agregaremos la siguiente linea:

fuente_puntaje = font_add_sprite(spr_Puntaje,
				ord("0"),
				true,
				4);
Anuncios
Anuncios

Esta funcion se encargara de cargar el sprite para ser usada como fuente, el primer argumento sera el sprite que creamos, luego diremos cual es el primer caracter para que la funcion sepa cual es el orden que debe usar, recuerdan cuando dijimos que deben respetar el orden de los codigos ASCII, el tercero sera para indicar si la fuente es proporcional, este al ser de tipo booleano si es true hara la separacion en base al tamaño individual de los caracteres y si es false lo hara en base al tamaño de la subimagen, para nuestro caso usaremos true, y el ultimo sera para indicar que espacio dejaremos entre cada caracter, para este caso usaremos 4, con esto concluido nuestro siguiente paso sera agregar un evento Draw, una vez creado agregaremos el siguiente codigo:

if (room == rm_main)
{
	draw_set_alpha(1);
	draw_set_color(c_white);
	draw_set_font(fnt_Menu);
	draw_text(10,10,"Puntaje:");
	draw_set_font(fuente_puntaje);
	draw_text(80,10,score);
}
Anuncios
Anuncios

En este bloque primero verificamos si el room actual es rm_main, room es una variable interna que almacena cual room esta en accion, si se cumple la condicion volveremos a setear el alfa en 1, es algo redundante pero lo hacemos por un si acaso, luego establecemos el color para nuestro texto, en este caso primero setearemos a la fuente que habiamos creado para el menu de inicio, esto lo hacemos asi porque recuerden que nuestra fuente solo tiene numeros, lo siguiente sera escribir una etiqueta para identificar el valor que veremos en pantalla, luego si estableceremos como fuente a la que hicimos por medio de los sprites, para finalmente mostrar el puntaje almacenado en score, yo lo ubique en esa posicion pero ustedes puedan necesitar modificarla de acuerdo a su fuente, con esto ya tenemos completo el evento Draw solo nos falta un detalle en el objeto del jugador, debemos ir al evento Draw de este y agregaremos la siguiente linea despues de draw_self:

draw_set_font(fnt_Menu);
Anuncios

Debemos establecer nuevamente la fuente, esto es debido a que por alguna extraña razon una vez que seteamos la fuente basada en sprites queda de forma permanente, ocasionando que no se vean los mensajes en pantalla, con esto pude arreglar el problema.

Anuncios
Nota: si sigue con la falla y no muestra el texto de obj_CajaTexto intenten agregar esta linea cuando van a escribir el texto pero a mi solo con la modificacion anterior me alcanzo.
Anuncios

Con todas estas modificaciones realizadas podemos probar a nuestro juego, veamos el siguiente video

Anuncios

Con esto tenemos un juego que nos muestra el puntaje pero todavia nos falta un detalle como es el “record” o puntaje mas alto pero eso sera un tema que veremos en el proximo post.

Anuncios

En resumen, hoy hemos visto como crear fuentes basadas en sprites, hemos visto como podemos aprovecharlas para trabajar en pantalla con ellas, hemos agregado un marcador del puntaje del jugador en pantalla, sin depender de apretar una tecla para verlo, y proximamente lo mejoraremos un poco mas, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.00