Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Como Crear una Fuente con Sprites de Texto  (Leído 203 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado T789

  • Habitual
  • *
  • Puntos: 120
  • Mensajes: 65
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
en: Noviembre 09, 2019, 12:24:49 am
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

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado dixon

  • Habitual
  • *
  • Puntos: 107
  • Mensajes: 56
  • Agradecido: 6 veces
  • Juegos de educación gratis dixon 2019. Prov. 4:7
    • Ver Perfil
Respuesta #1 en: Noviembre 09, 2019, 01:55:07 am
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.

Código: [Seleccionar]
//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)
}
« última modificación: Noviembre 09, 2019, 01:57:45 am por dixon »

 


Desconectado T789

  • Habitual
  • *
  • Puntos: 120
  • Mensajes: 65
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #2 en: Noviembre 09, 2019, 02:24:25 am
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
« última modificación: Noviembre 09, 2019, 03:30:12 am por T789 »

 


Desconectado Gatete

Respuesta #3 en: Noviembre 09, 2019, 11:13:55 am
Hay dos funciones

La primera es
font_add_sprite(sprite, first, prop, sep);

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)
font_add_sprite_ext(sprite, map, prop, sep)

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
"0123456789"

Espero que te sirva

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

« última modificación: Noviembre 09, 2019, 11:18:43 am por Gatete »

 


Desconectado T789

  • Habitual
  • *
  • Puntos: 120
  • Mensajes: 65
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #4 en: Noviembre 09, 2019, 03:39:05 pm
gracias por la informacion, ahora podre usar mis propias fuentes