Buenas tardes
Tengo mis propias letras, numeros y simbolos personalizados en png pero quiero agregarlos a un font y la verdad no se como deben de estar acomodados o como agregarlo para que el texto aparesca como lo tengo.
Muchas gracias ;D
tienes que tener tu fuente en formato .ttf y ademas tiene que estar instalada en tu pc, luego solo creas una fuente en el game maker y seleccionas la fuente que pusiste o instalaste, ahora lo que si no se es como crear un archivo .ttf a partir de un png. porque hasta donde se son dos cosas muy diferentes, el archivo ttf no son imagenes, son vectores, por eso es que tu puedes agrandar y reducir letras sin que estas pierdan calidad.
crea un script y guárdalo para futuros usos en futuros juegos:
[gml]///sprite_font(sprite_index)
fnt = font_add_sprite(argument0, ord(" "), 0, -1);
draw_set_colour(c_white);
return (fnt);[/gml]
la función font_add_sprite, donde dice ord(" "), hay un espacio que es por el caracter que empieza, en este caso, el espacio, donde incluye todos los carcteres tipo normal, si solo tienes numeros, ord("0"), para saber el orden en que deben estar, crea una fuente normal, elije el tipo y te salen ahi todos los caracteres del tipo elegido en cuestión, y depaso miras por el que empieza.
nota: puedes también poner ord(string(argument1)) si cada vez que lo usas, usarás distinto jeje
Después cuando tengas todo listo, en el inicio del juego crea una global:
[gml]
globalvar font;
font = sprite_font(spr_font);[/gml]
siendo spr_font el sprite de tu fuente en png. Tienes que importar la fuente, CADA CARACTER en un frame, osea por separados en un solo sprite de muchas imágenes. Y EN SU ORDEN xD
y luego donde la uses
[gml]draw_set_font(font);[/gml]
Un saludo :B
Muchas gracias jmbs19 pero creo que usare la opción de kostra me parece un poco mas sencillo y así aprendo a usar mas los códigos :D
Kostra gracias por tu respuesta en cuento lo pruebe de aviso se todo salio bien de verdad gracias :D
No se si este haciendo algo mal pero cree un objeto y en el evento create puse el código que me dijiste
globalvar font;
font = sprite_font(spr_font);
me dice que hay un error en sprite_font
ahi que tengo que hacer? o que me falta? :(
Es que mira estoy haciendo un juego en el cual tengo un objeto tiempo y quiero que en ves de ser la fuente de game maker que sea mi fuente personalizada solo eso y ya con eso puedo guiarme xd pero me marca error en esa parte no se si me falte un objeto, sprite o algo.
indica el mensaje de error exacto, siempre es mejor.
Dices que creas un objeto, y que en su evento CREATE escribes
[gml]
globalvar font;
font = sprite_font(spr_font);
[/gml]
Si es todo lo que haces, entonces el error probablemente sea que estás olvidando usar la función que convierte el sprite en una sprite font. Para que el código que kostra te dió funcione, además de crear el objeto y escribir el código en CREATE, debes agregar un script al árbol de recursos y en ese script colocar el primer código que te indicaron (el que contiene la función font_add_sprite)
Si no se usa la función font_add_sprite() o font_add_sprite_ext(), no se podrá usar ninguna fuente basada en sprite.
Alternativamente, esto es, sin usar el script de kostra, el código que ya tienes lo puedes modificar a:
[gml]
globalvar font;
font = font_add_sprite(spr_font, ord(" "), false, -1);
[/gml]
Siempre que se haya usado una fuente basada en sprite, se recomienda que al finalizar el juego se utilice la función font_delete() para borrar la fuente y evitar alguna fuga de memoria.
el error pasa pk representa que el script ha de llamarse "sprite_font"
ahi va un ejemplo:
https://mega.nz/#!ZVVxlZDS!g25XjAniqfWhtrZ23GVWGpn0zRF-WxHdIcA8IfVHQ5E
Muchas gracias [user]penumbra[/user] usare tu consejo de borrar la fuente
[user]kostra[/user] ya con ese ejemplo entiendo, jaja me faltaba poner el nombre del script xD solo tengo una duda no se puede agregar la letra ñ?
claro que se puede, pero ya tienes que agregar una fuente completa ascii, en el ejemplo está el tipo normal, que está bien completa, pero falta caracteres especiales, crea una fuente y mira el orden, has de dibujar para todo lo que vayas a usar y para loque no uses nunca, puedes dejar una imagen en blanco para no darte tanto trabajo.
y para dibujar la ñ, por ejemplo montaña sería: "monta"+chr(241)+"a" //241 sería el numero decimal en la tabla de caracteres ascii
http://www.ascii-code.com/
Esta bien, muchísimas gracias kostra lo probare en estos días y espero no molestarte con mas dudas xd
eso eso, vete y no molestes más!! xD ?) okno, es broma, yo molesto el triple aquí, ahora no porque he pausado un tiempo, estoy de retiro mental xD