[Tutoriales Palib] 4. Uso de textos avanzado

4. Uso de textos avanzados

En este tutorial aprenderemos a usar textos totalmente personalizados (distinto color, distinto tamaño, distinta fuente...)

4.1 Colores en texto

Explicare dos formas de hacerlo, aunque yo personalmente recomiendo usar fuentes de color (lo explico tambien posteriormente)

4.1.1 Color por titles

Esta funcion se compone de 9 colores basicos, aqui pongo una tabla con los colores y su numero:

0 = blanco
1 = rojo
2 = verde
3 = azul
4 = púrpura
5 = celeste
6 = amarillo
7 = gris claro
8 = gris oscuro
9 = negro

Tambien se puede representar con TEXT_(Color en ingles y en mayusculas)

Por ejemplo:

TEXT_YELLOW


El codigo para usar esto es:

PA_SetTextTileCol(0,//Pantalla
1//Color, ya sea con numeros o con el TEXT
);

Todo el texto que pongamos a partir de ese codigo saldra en ese color

Pos ya esta. Pongo un ejemplo por si no queda del todo claro:

#include <PA9.h>

int main(int argc, char ** argv)
{
PA_Init();
PA_InitVBL();
PA_InitText(0, 1);// Iniciamos el texto

//Seleccionamos el color rojo
PA_SetTextTileCol(0,1);
//Escribimos el texto
PA_OutputSimpleText(0, 2, 1, "Rojo");
PA_OutputSimpleText(0, 2, 3, "O no es cierto?");
// Cambiamos al color verde
PA_SetTextTileCol(0, 2);
PA_OutputSimpleText(0, 6, 1, "Color Verde");
PA_OutputSimpleText(0, 6, 3, "Verdad?");
// Ahora al azul
PA_SetTextTileCol(0, 3);
PA_OutputSimpleText(0, 10, 3, "Azul");
PA_OutputSimpleText(0, 10, 3, "Ovbio no?");


while (1)
{
PA_WaitForVBL();
}

return 0;
}

4.1.2 Color por RGB

Este otro metodo, tiene la ventaja de que dispone de una gama de colores mucho mas amplia (creo que son 30.000 colores). Lo malo es que se aplica a todo el texto sin exepcion

Este metodo consiste en mezclar los tres colores basicos (rojo,azul y verde) en una determinada cantidad para así conseguir cualquier color

Por ejemplo, para conseguir el amarillo habria que mezclar:

Rojo: 15
Azul: 15
Verde: 0

Y el naranja:

Rojo: 30
Azul: 15
Verde: 0

Si aumentamos las cantidad de cada color, iremos consiguiendo colores mas claros. Si las disminuimos seran mas oscuros. La cantidad maxima que se le puede poner a un color es de 31. Por ello hay 31*31*31 numero de combinaciones posibles

Aqui teneis el codigo:

PA_SetTextCol(0,//pantalla
15, //Rojo
15, //Verde
0 //Azul
);
Y ya por ultimo, pongo un codigo entero:


#include <PA9.h>

int main(int argc, char ** argv)
{
PA_Init();
PA_InitVBL();
PA_InitText(0, 1);// Iniciamos el texto

//Seleccionamos el color rojo, muy rojo
PA_SetTextCol(0,31,0,0);
//Escribimos el texto
PA_OutputSimpleText(0, 1, 1, "El color rojo");
PA_OutputSimpleText(0, 1, 3, "me encanta");

while (1)
{
PA_WaitForVBL();
}

return 0;
}


4.2 Tamaño

Podemos hacerlo con esto:

PA_SmartText(0, // Pantalla
0, // Coordenada X
1, // Coordenada Y
255, // Coordenadas X derecha (Lo maximo donde puede llegar el texto en horizontal)
20, // Coordenas Y derecha (Lo maximo donde puede llegar el texto en horizontal)
"Hola mundo", // El texto
1, // Color del texto (0-255)
0, // Tamaño del texto (0-4)
0, // Modo de texto (0 - normal, 1 - transparente, 2 - sin texto, 3 - rotado 90°, 4 - mas de 90°)
100); // Maximo número de carácteres.
Yo nunca lo he usado, por lo que no puedo explicar nada de aqui. Yo personalmente para poner texto de mas tamaño uso fuentes distintas. Lo explico a continuacion

4.3 Fuentes


Una fuente, es una imagen en la que aparecen dibujadas las letras que vas a usar. He aqui un ejemplo de fuente:

Imagen

De esta forma puede escribir con el estilo de letra que quieras, si pusieras la letra mas grande podras escribir mas grande. Si la pusieras en otro color, apareceria en otro color

Las fuentes se pueden hacer con el dsfont. Se encuentra dentro de la carpeta de palib y en tools. No voy a explicar como funciona porque seria un tutorial muy muy largo entonces

Bien, voy a explicar como cargar una fuente para usarla como texto. Coged la misma que puse antes:

Imagen

(Renombradla a font)

Lo primero que vamos ha hacer es convertirla, nos vamos a palib/tools/pagfx. Pasamos alli la font y abrimos el pagfx. Nos vamos a backgrounds y insertamos nuestra fuente. Le ponemos el modo TitleBg:

Imagen

La convertimos, y pasamos los archivos a nuestro proyecto como en el tutorial anterior. Sin embargo en vez de poner los archivos en una carpeta gfx. La pondremos en una que se llame font


Bien, para que palib use nuestra fuente basta con que pongamos esto:

PA_InitCustomText(1,//pantalla
1,//capa
font);//nombre de la fuente

Y ya esta, el texto que pongamos aparecera con esa fuente. Ahora, no se nos puede olvidar incluir los all_gfx:
#include "font/all_gfx.c"
#include "font/all_gfx.h"

Pongo, ahora el codigo entero:
<p>
#include <PA9.h>
#include "font/all_gfx.c"
#include "font/all_gfx.h"

int main(int argc, char ** argv)
{
PA_Init();
PA_InitVBL();

//Preparamos el texto
PA_InitCustomText(1,1,font);

//Y escribimos
PA_OutputSimpleText(1, 12, 12, "A que mola mi fuente?");


while (1)
{
PA_WaitForVBL();
}

return 0;
}


Tarea:

Usar textos de colores y fuentes distintas. Añadir un fondo, con esto repasaremos todo lo que llevamos por ahora

Saludos

pd: Es posible que añada algo mas al tutorial <img class="inlineimg" src="http://www.espalnds.com/foros/images/smilies/wink.gif" border="0" /></p>
MUY BUENO, ESPERANDO LOS SIGUIENTES, QUE ME HACEN FALTA
1 respuesta