[NDS][Programación con Palib] 4.Texto, color, tamaño y fuentes

Pues vamos a empezar por el color, despues por el tamaño, y terminaremos cambiando la fuente

1. Color aplicado a un fragmento del texto

Bien, ya sabeis, carpeta, en mi caso ej05 y empezamos!!!

La función que vamos a usar se compone de los siete colores, se enumera del 1 al 7 segun el color que queramos.
Os dejo una tabla con los colores y el número:

Imagen

Pues lo que es el código no es muy complicado:

// Includes
#include // Include de las PA_Lib


// Funcion: main()
int main(int argc, char ** argv)
{
PA_Init(); // Iniciamos PA_Lib
PA_InitVBL(); // Iniciamos VBL

// Iniciamos el texto
PA_InitText(0, 1);

//cambiamos el color
PA_SetTextTileCol(0,//Pantalla
1//Color (del 1 al 7)
);
//Escribimos
PA_OutputSimpleText(0, 1, 1, "Rojo");

PA_SetTextTileCol(0, 2);
PA_OutputSimpleText(0, 2, 2, "Verde");

PA_SetTextTileCol(0, 3);
PA_OutputSimpleText(0, 3, 3, "Azul");


while (1)
{
PA_WaitForVBL();
}

return 0;
} //Fin de main()


Y hay se queda... xD

Captura:

Imagen

Descarga:

http://www.megaupload.com/es/?d=A18S70RR

2. Color aplicado a todo el texto

Otra carpeta, otro ejercicio...
De esta forma se aplicara a todo el texto, pero tendras una gama mucho mas amplia...
Se usan colores RGB (RedGreenBlue) (Rojo, Verde y Azul respectivamente)
Empezamos con el código:
// Includes
#include // Include de las PA_Lib


// Funcion: main()
int main(int argc, char ** argv)
{
PA_Init(); // Iniciamos PA_Lib
PA_InitVBL(); // Iniciamos VBL

// Iniciamos el texto
PA_InitText(0, 1);

//cambiamos el color
PA_SetTextCol(0,//pantalla
15, //Rojo
15, //Verde
30 //Azul
);
PA_OutputSimpleText(0, 1, 1, "Del");

PA_OutputSimpleText(0, 2, 2, "Mismo");

PA_OutputSimpleText(0, 3, 3, "Color");


while (1)
{
PA_WaitForVBL();
}

return 0;
} //Fin de main()

Poz como veis no hay mas... Ahora, a tamaños.

Captura:

Imagen

Descarga:

http://rapidshare.com/files/74307971/ej06.zip.html

3. Tamaño y fuentes distintas

Se puede cambiar facilmente el tamaño con texto en 8 o 16 bits.
(Ejemplo sacado de las Palib:)
PA_SmartText(0, // SCreen
0, // Coordenadas X izquierda
1, // Coordenadas Y izquierda
255, // Coordenadas X derecha
20, // Coordenadas Y derecha
"Hola mundo", // 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.


Pero no me gusta mucho y nunca la he usado, ademas de que no se puede cambiar la fuente de esta forma, asi que to lo hago cambiando las fuentes.
Poniendo una fuente mas grande consiges un texto más grande
Otra carpeta...

Primero buscad y guardad la imágen:

(Font):

Imagen

(Renombradla a font)

Bien, crearemos una carpeta llamada font (MUY IMPORTANTE que se llame font) dentro de source, como en el tuto anterior, donde meteremos la segunda imágen y el pagfx.exe y pagfx.ini.

En el pagfx.ini pondremos lo siguiente:

#TranspColor White

#Sprites :

#Backgrounds :
font.gif TileBg

#Textures :


ejecutamos el .exe y ya...

Ahora ponemos el código:
// Includes
#include // Include de las PA_Lib
#include "font/all_gfx.c"
#include "font/all_gfx.h"

// Funcion: main()
int main(int argc, char ** argv)
{
PA_Init(); // Iniciamos PA_Lib
PA_InitVBL(); // Iniciamos VBL

//iniciamos texto customizado en la de arriba
PA_InitCustomText(1,//pantalla
1,//capa
font);//nombre de la imagen

//escribimos
PA_OutputSimpleText(1, 12, 2, "Holaaaaa");


//bucle
while (1)
{
PA_WaitForVBL();
}

return 0;
} //Fin de main()

Y ya tenemos tada la lección...

Otro dia más y mejor.

Captura:

Imagen

Descarga:

http://rapidshare.com/files/74254017/ej07.zip

--------------------------------Tarea------------------------------
Hacer algo como esto:

Imagen

Descarga:
http://www.megaupload.com/es/?d=5IZO60XL

Y aquí acaba...

Salu2

Prox. tuto: sprites

P.D: No abra mas tutos asta el lunes-masrtes, pues mañana me voy de casa y de jueves a domingo voy de burgos a cordoba, que ganas...
¿No sería más fácil ponerlo todo en un hilo? Esto es un descojone. [reojillo]
eGladiator escribió:¿No sería más fácil ponerlo todo en un hilo? Esto es un descojone. [reojillo]

Un poco largo, no crees?

igual un hilo recopilatorio chincheta si iba bien, pero si lo jutas toda cuando valla por la mitad te puedes tirar dos años haciendo scroll con la rueda del raton para encontrar lo que quieres xD
A ver si al final de todos estos tutoriales podremos saber programar para DS más o menos bien....
Gracias por el aporte plata y tienes toda la razon, seria mucho mas facil crear otro hilo con los vinculos a todas tus guias (aun no es necesario pero cuando tengas unas mas, si que lo será
Yo creo que seria mejor asi, por separado, cada duda iria en su respectivo post.

Tu tranquilo Plata te mereces esas "vacaciones" ;)
Plata escribió:Un poco largo, no crees?


¿Me lo dices o me lo comentas? Mira mi firma o cualquier de mis reviews y luego contesta ;-)
Oye al ponerle colores con valores muy altos con RGB me salen las letras en los 3 colores, tipo arcoiris, en vez de mezclarse y formar un color homogéneo...

PA_SetTextCol(0,//pantalla
200, //Rojo
70, //Verde
30 //Azul
);


Esos son los valores que puse, ¿por qué sale el color así?

EDITO: Otra cosita, que acabo de darme cuenta, la imagen esa para la fuente, no funciona, el navegador dice que "Not Found"...
Antunez escribió:Oye al ponerle colores con valores muy altos con RGB me salen las letras en los 3 colores, tipo arcoiris, en vez de mezclarse y formar un color homogéneo...



Esos son los valores que puse, ¿por qué sale el color así?

EDITO: Otra cosita, que acabo de darme cuenta, la imagen esa para la fuente, no funciona, el navegador dice que "Not Found"...


un error con el link, sorry.

tampoco pasarse con los valores xDDD sino pasa lo que pasa
Pero si copié los valores que daba el Photoshop para un color que seleccioné en la paleta, ¿no debería salir bien?
luego miro, ahora estoy semiestudio semieol xd

edit: arreglado lo de la imagen.

si os pasais con rgb aparece a bandas el texto
Entonces, ¿no ejecuta todos los colores?
Gracias por los tutos [360º] , eres un crack :-P

Solo una cosa, has puesto para descargar dos veces el ejercicio 7 y el 6 no lo has puesto.

Un saludo.
que te dije ?
que unieras todos los tutos...
Waltrapas escribió:Gracias por los tutos [360º] , eres un crack :-P

Solo una cosa, has puesto para descargar dos veces el ejercicio 7 y el 6 no lo has puesto.

Un saludo.


arreglado.
salu2

P.D:
Juan carlos escribió:¡Por que no te callas!


Maxo, ya me lo as dicho 7 veces.

De la forma que dices que lo ponga no te vas a encontrar con unos tutos mas.
A la gente les gusta criticar por buena o mala que sea la obra, siempre ellos creen que podría ser mejor.

Aún así, sigue tu programación de los tutoriales, y cuando creas oportuno te puedes hacer un Wiki o un hilo recopilatorio que separe los hilos por temas.

Es mi opinión, y creo que quedaría todo más ordenado.

Lo de la firma... pues lo veo peor desde mi punto de vista, ya que tendríamos que localizar al usuario en cuestión para acceder a las URL de los tutoriales.

Bueno, me imagino que tú mejor que nadie sabrás cómo hacerlo xD.

Un saludo!

PD: Quizá deberías plantearte cobrar por enseñar Palib xDDDD

Espero que tengas mucha paciencia :)
Acabo de descubrir una forma de poner el background del color que quieras en RGB.

PA_SetBgPalCol(1,//pantalla
0,//capa
PA_RGB(80//rojo, 120//verde,90//azul));
Lo que me pasa es que soy muy ordenado y aparte, no vamos a poner 20 hilos para un tutorial...
...esk no queda bien, pero vamos, lo que tu kieras.

PD: Yo te intento ayudar y así me lo pagas...


eGladiator escribió:
Plata escribió: Un poco largo, no crees?



¿Me lo dices o me lo comentas? Mira mi firma o cualquier de mis reviews y luego contesta ;-)
Rigle escribió:Lo que me pasa es que soy muy ordenado y aparte, no vamos a poner 20 hilos para un tutorial...
...esk no queda bien, pero vamos, lo que tu kieras.

PD: Yo te intento ayudar y así me lo pagas...





¿Me lo dices o me lo comentas? Mira mi firma o cualquier de mis reviews y luego contesta ;-)


ejem... eso iva para e-gladiator.

P.D:antunez, el código que as puesto de la forma que está no compila.
si tu pones // en medio del código y despues siges sin dejar un espacio

ej: PA_OutPutSimpleText(0, //pantalla 50, 50,"Hola");

lo que hay despues de // va a creerse que son notas, osea, solo va a interpretar esto:

PA_OutPutSimpleText(0,

y va a dar fallo al compilar.
xD

y te veo otro fallo, te pongo los dos en negrita:

PA_SetBgPalCol(1,//pantalla
0,//capa
PA_RGB(80//rojo, 120 //verde,90//azul) );


con esos dos paréntesis tampoco compilara.
salu2
Bueno, así si estaría bien:

PA_SetBgPalCol(1, 0, PA_RGB(80, 120, 90) );


En lo de los paréntesis te equivocas, ya que el primero es para cerrar lo de "PA_RGB", y el segundo para cerrar lo de "PA_SetBgPalCol" [rtfm] .
parecian dos funciones distintas ^^.

salu2
¿Y no estaría bien añadirlo al tutorial de los Backgrounds?
Antunez escribió:¿Y no estaría bien añadirlo al tutorial de los Backgrounds?


no me parece muy util, pero lo añado ahora...

salu2

edit: añadido.
Arrg!!! Ya he acabado el tuto 2 y 3.... pero este es laaaaarrrgo de cojones.

EN fin.... me llevará toda la mañana.

PD: Esto se parece UNA BARBARIDAD al C++ .... XD Menos mal que tengo base de eso y me resulta facil ^^

Viva oro!.....digooooo... plata!!!!

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------

EDIT: Vale, he acabado el tuto pero tengo un problema. Cuando quiero ejecutar el nds del tuto de fuentes me sale esto:

Imagen

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------

Vale, ya se que ha pasado. Tienes MAL el quote que dice:

#TranspColor White

#Sprites :

#Backgrounds :
font.gif TileBg

#Textures :


Porque en realidad tiene que salir esto para que funcione correctamente:

#TranspColor MAGENTA

#Sprites :

#Backgrounds :
font.gif TileBg

#Textures :


Así si funciona y queda de maravilla el font.

Corrigelo en el post principal, porfavor...

PD: Si a nadie le ha pasado esto.... es que soy el único que lo estoy haciendo? ein?

--------------------------------------------------------------------------------
-------------------------------------------------------------------------------

EDIT2: Ya he acabado la "TAREA". Me ha quedado asi:

Imagen

"Ta" Bien? [fumeta]

---------------------------------------------------------------------------------
-----------------------------------------------------------------------------------

Bye! [tadoramo]
Como hago para cambiarle el color a la fuente perzonalizada, porque lo pongo asi:
PA_InitCustomText(0,3,font);
PA_SetTextTileCol(0,7);
PA_OutputSimpleText(0,13,15,"Amarillo");


Y el texto desaparece xD

Pero si le saco el PA_SetTextTileCol(0,7); si funciona....

Cumo hago? [idea]
ZequeZ escribió:Como hago para cambiarle el color a la fuente perzonalizada, porque lo pongo asi:
PA_InitCustomText(0,3,font);
PA_SetTextTileCol(0,7);
PA_OutputSimpleText(0,13,15,"Amarillo");


Y el texto desaparece xD

Pero si le saco el PA_SetTextTileCol(0,7); si funciona....

Cumo hago? [idea]


Puesss... supongo que modificando el archivo font.gif (o png, no me acuerdo)

Tienes que editarlo manualmente la imagen y cambiarle el color a las letras (pero no las pongas en algo parecido al magenta... o si que van a desaparecer... XD

SI no me he equivocado... es eso. Suerte!

EDIT: Esta imagen tienes que "chanchullear":

Imagen
judelco escribió:
Puesss... supongo que modificando el archivo font.gif (o png, no me acuerdo)

Tienes que editarlo manualmente la imagen y cambiarle el color a las letras (pero no las pongas en algo parecido al magenta... o si que van a desaparecer... XD

SI no me he equivocado... es eso. Suerte!

EDIT: Esta imagen tienes que "chanchullear":

Imagen


=( que lastima que no se pueda cambiar el color de la fuente de esa manera ^^U

Bueno, no importa jeje...


El palib esta bueno, para aprender un poco de C, que no encuentro ninguna información útil de C ¬¬

Gracias Plata!!

PD: Yo ya habia hecho uno tutoriales, me parece que eran de tafilnet, o algo asi, pero esta medio abandonada la pag y no responden las dudas =(


GRACIAS!!! (Denuevo ^^)
Una pregunta.
Estoy haciendo una historia y necesito trabajar con la DS en vertical y poner texto en la pantalla 1 como si fuese una tabla.

Como se puede poner el texto girado 90º?
Pq fijo qe se puede, qe en hotel dusk lo he visto jejejeje
vjinete escribió:Una pregunta.
Estoy haciendo una historia y necesito trabajar con la DS en vertical y poner texto en la pantalla 1 como si fuese una tabla.

Como se puede poner el texto girado 90º?
Pq fijo qe se puede, qe en hotel dusk lo he visto jejejeje


Eso es algo que no nos ha explicado... aunque tranquilo, que es mejor que termine los tutoriales y ya haremos nuestros proyectos... XD
Yo es qe ya voy lanzado :)

No encontre ninguna alma caritativa qe se currara un marcador de tiro con arco, asi qe me esta tocando hacerlo a mi :)


Estoy atascado en como ir poniendo los resultados en la tabla (qe por cantidad de datos tienen qe ir en vertical).
Me da qe me tocara hacer una fuente custom pero con las letras giradas, pero preguntaba no vaya a ser qe haya un comando chorra qe me evitase el curro :)
vjinete escribió: Estoy atascado en como ir poniendo los resultados en la tabla (qe por cantidad de datos tienen qe ir en vertical).
Me da qe me tocara hacer una fuente custom pero con las letras giradas, pero preguntaba no vaya a ser qe haya un comando chorra qe me evitase el curro :)


Se pueden girar las letras con PA_SmartText. Míralo en los ejemplos de PAlib: ...\devkitPro\PAlibExamples\Text\8bit\8bitText\
Coñe, justo es lo qe estaba buscando :)
Muchas graciasssss

Habia visto el comando y estaba en la fase de pruebas (a ver como leches iba) sin ningun exito.

No se me ocurrio mirar en ejemplos jejejejejeje

pd el meter letras custom giradas no funciona pq, aunqe qedan en el sentido "bueno", la direccion de la escritura es la normal y qeda en columna.
Si las quieres giradas y en fila, tendrás que usar varias veces la función. Me parece que los parámetros 2, 3, 4 y 5 te sirven para decirle dónde quieres que vaya el texto situado. Ve variando la X (parámetro 2, creo) en cada uso de la función dejando el resto igual hasta que te salga.
33 respuestas