Noviembre 09, 2019, 12:24:49 AM Ultima modificación: Mayo 19, 2020, 06:18:17 AM por T789
Hola vengo con una pregunta que no se si es dificil o facil, como crear un texto con sprites como si fuera una fuente, estoy haciendo un pacman classico y quisiera hacer la barra de puntuacion con el texto del original por lo que veo no existe una fuente que se parezca al original, el texto ya lo tengo en un sprite

#1 Noviembre 09, 2019, 01:55:07 AM Ultima modificación: Noviembre 09, 2019, 01:57:45 AM por dixon
Hola, saludos.

Te voy a dar solo teoría, pero antes te indico que hay una función de game maker que hace todo eso de manera sencilla pero no sé cual es, solo sé que existe. Puedes ir investigando por la web a ver si la encuentras para game maker 8. Por otro lado te daré la teoría difícil para lograr eso sin la función.

1.Primero creas un sprite que contenga todas las imagenes de las letra mayusculas, minusculas, números, ordenadas según su código acii. Por ejemplo la letra "a" minúscula debe ser la imagen 97 y la "A" mayúscula debe ser la imagen número 65.
2.Luego creas una variable que contenga el texto a transformar, ejemplo: Texto="Hola mundo"
3.Luego escaneas esa variable con una función for, escaneando cada uno de sus carácteres.
4.Luego mandas a dibujar las imágenes según los códigos ascii obtenidos.
Este es un codigo ejemplo:

Ojo este código debe tener muchos errores, no ha sido probado y de seguro se me ha olvidado algo.

//la variable ancho es la que indica el ancho de las imágenes
//sprite_imagen: es el sprite que contiene todas las imágenes.

Texto="Hola mundo"
for(i=0; i<=string_length(Texto);i+=1)
{
ascii_codigo=ord(string_copy(Texto,i,1))
draw_sprite(sprite_imagen,ascii_codigo,0+i*ancho+ancho/4,100)
}

Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

#2 Noviembre 09, 2019, 02:24:25 AM Ultima modificación: Noviembre 09, 2019, 03:30:12 AM por T789
Tienes razon existe una manera de crear una fuente con sprites se llama: font_add_sprite en gm8 no se como se llamara en studio, aunque tambien se puede hacer la fuente por medio de otro programa

#3 Noviembre 09, 2019, 11:13:55 AM Ultima modificación: Noviembre 09, 2019, 11:18:43 AM por Gatete
Hay dos funciones

La primera es
[gml]font_add_sprite(sprite, first, prop, sep);[/gml]

En la cual tienes que establecer lo siguiente:
sprite = Sprite a utilizar como fuente.
first = Numero del caracter a utilizar, puedes usar ord('!') para establecer ! como el primer caracter.
prop = Ponlo en 1 para que los caracteres de la fuente esten siempre juntas y el 0 para evitar eso.
sep = Separacion en pixeles de cada caracter.

Luego esta la funcion (Esta solo esta disponible en Game Maker: Studio)
[gml]font_add_sprite_ext(sprite, map, prop, sep)[/gml]

Este es similar al primero, pero en este comando tendras que escribir un mapa de caracteres en el mismo orden que los tengas en el sprite.

Por ejemplo si tienes un sprite compuesto solo de numeros tendras que ponerlo asi tal cual
[gml]"0123456789"[/gml]

Espero que te sirva

EDITO: Tambien puedes asignar una variable global al comando para facilitar su uso
[gml]global._fuente = font_add_sprite(sprite, first, prop, sep);[/gml]


gracias por la informacion, ahora podre usar mis propias fuentes