Como cambiar las fuentes con Allegro Como encapsular la fuente

Anuncio
Como cambiar las fuentes con Allegro
En allegro las funciones textprintf y textout utilizan el parámetro font que será la
tipografía que se usara en el texto. Esa fuente normalmente la indicamos como
“font”, que es una variable puntero de tipo FONT que apunta a una fuente por
defecto de Allegro.
Como este puntero, podemos crear otros del mismo tipo FONT que apunten a otras
fuentes que nosotros queramos.
Para apuntar nuestra variable fuente a una tipografía determinada, debemos
encapsularla dentro de un arc hivo .dat. Este archivo lo cargaremos en dentro del
programa mediante una variable puntero DATAFILE, de la siguiente forma:
DATAFILE *MisDatos;
FONT *MiFuente;
MisDatos=load_datafile("fuente.dat");
MiFuente=(FONT *)MisDatos[0].dat;
El parámetro (FONT *) debe pasarse, para forzar la devolución de un dato tipo
FONT .
Ahora la variable “MisDatos” apunta a una variable anónima que contiene el archivo
“fuente.dat” en forma de Array de datos y la variable “MiFuente” apunta a la
posición 0 del Array de datos apuntado por “MisDatos”, que contiene la fuente.
Para usarlo, por ejemplo con el textprintf ya no usaremos “font” como tipografía
para nuestro texto, sino que usaremos “MiFuente”, de la siguiente manera:
textprintf_centre(screen, MiFuente, 200, 200, 0xFF6600, "Hola Mundo");
Esto devolverá el la frase “Hola Mundo” en la posición (200,200) de color
Anaranjado y fuente “MiFuente”.
Como encapsular la fuente en un archivo .dat
Para crear los archivos .dat necesitaremos hacer uso del GRABBER.
El Grabber es una aplicación que te facilita allegro y que esta en la carpeta
“C:\Dev-Cpp\Allegro\tools\”. Esta aplicación permite encapsular archivos
externos de forma solo debemos cargar el DATAFILE, aparte de que al estar en
formato binario nos permite proteger nuestros archivos.
El único problema que tenemos a la hora de incluir la fuente, es que el grabber no
acepta el formato TrueType (los ttf) a los que estamos acostumbrados, por lo que
necesitamos convertirlos a otro formato, como por ejemplo PCX, con el programa
TTF2PCX que puedes encontrarlo en:
http://www.korsarios.net/componentes/ttf2pcx.zip
El programa es muy fácil de usar, eliges una de las fuentes de tu sistema y el
tamaño y lo transformas en pcx.
Una vez hecho esto abrimos el Grabber, y nos vamos al menú Object > New > Font
y nos aparecerá un cuadro de dialogo donde le asignaremos un nombre a nuestra
fuente. En el recuadro de contenido se añadirá el objeto Font que acabamos de
crear.
Hacemos doble click sobre el objeto recién creado y nos aparece una pantalla con
una lista de fuentes, de distintos tamaños. Presionamos el botón import para
importar el PCX que creamos anteriormente y que contiene nuestra tipografía.
Al se añadirá nuestra fuente a la lista y procederemos a eliminar las demás.
Pulsamos exit para volver a la pantalla principal, nos vamos al menú file > save y
guardamos nuestro archivo .dat.
Todo esta listo para utilizar la nueva fuente.
A este archivo .dat también podemos añadirle imágenes, sonidos, paletas de
colores... accediendo a ellos mediante las distintas posiciones del Array, por
ejemplo:
Si con el Grabber he creado un archivo .dat con los siguientes elementos:
-
Fuente1
BmpCuadro
SampleEfecto
MidiCancion
Accederemos a ellas en el programa como:
FONT *fuente;
BITMAP *imagen;
SAMPLE *sonido;
MIDI *canción;
fuente = (FONT *)MisDatos[0].dat;
-> Fuente1
imagen = (BITMAP *)MisDatos[1].dat; -> BmpCuadro
sonido = (SAMPLE *)MisDatos[2].dat; -> Sample Efecto
cancion = (MIDI *)MisDatos[3].dat;
-> MidiCancion
Espero que este tutorial os sea útil a todos aquellos interesados en Allegro.
Alvaro Verdión – www.Korsarios.net
Descargar