Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Yawin on November 20, 2010, 09:53:50 PM

Title: Write_var
Post by: Yawin on November 20, 2010, 09:53:50 PM
Buenas, esta vez me ha surgido un... llamemoslo problema con el comando write_var. Resulta, que si le asigno una x y una y, el texto aparece centrado entorno a esas cohordenadas. Y claro, si quieres hacer algo que ponga:

Puntuación: 9203920

Pos, o pones la x muy lejos para que los numeros grandes entren (lo cual queda mal con las puntuaciones bajas), o pones la x cerquita para que la spuntuaciones bajas queden bien, y entonces las puntuaciones altas se comen parte de la palabra "Puntuaciones".

Hay alguna forma de poder hacer que el número no se coma la palabra??
Title: Re: Write_var
Post by: oriun on November 20, 2010, 10:36:51 PM
Pues, lo más seguro es que tengas que cambiar el 4º valor del write, porque si cambias la alineación a la par que cambias la posición probablemente se salga de la pantalla.
Otra cosa, se escribe coordenadas, no cohordenadas.
Title: Re: Write_var
Post by: Yawin on November 20, 2010, 10:39:09 PM
Ya bueno, esque me estaban distrayendo xD
gracias, lo probaré xD
Title: Re: Write_var
Post by: DjSonyk on November 20, 2010, 10:40:20 PM
Buenas ,eso es facil,el 4 parametro que es el codigo de centrado pon el numero que se corresponda al centrado :
0=Arriba-Izquierda , 1=Arriba , 2=Arriba-Derecha, 3=Izquierda, 4=Centro
5=Derecha, 6=Abajo-Izquierda, 7=Abajo, 8=Abajo-Derecha

Si por ejemplo pones el 3, el texto,puntuacción,ect , se escribira desde la posicion del segundo parametro "X",hacia la derecha de tu monitor,lo que es lo mismo el texto nunca se escribira antes de dicha posición.
Title: Re: Write_var
Post by: Yawin on November 20, 2010, 11:03:59 PM
Muchas gracias djsonic. imaginaba que el 4 numerito sería para algo, pero como poniendo un 1 siempre me iba... jajajaja
Title: Re: Write_var
Post by: oriun on November 22, 2010, 01:19:44 PM
El 4º número es la alineación, pero a fin de cuentas se pueden obtener los mismos resultados poniendo distinto número, pero lo más comodo es la alineación de izqda a drcha.
Title: Re: Write_var
Post by: Windgate on November 22, 2010, 01:58:48 PM
Lo mejor que puedes hacer es lo siguiente:

write_var ( 0 , 100 , 100 , 0 , "Puntos: " + puntos );

Así se escribe el texto fijo seguido del valor.

También puedes jugar con la alineación, y teniendo la misma coordenada y distinta alineación puedes hacer que los textos encajen:

write ( 0 , 100 , 100 , 5 , "Puntos: " );
write_var ( 0 , 100 , 100 , 3 , puntos );


Donde puntos es la variable entera que guarda los puntos :P
Title: Re: Write_var
Post by: Yawin on November 22, 2010, 03:07:11 PM
Muchas gracias a todos xD

Windgate, el mayor problema era que la palabra "Puntos" viene con la imagen de fondo. xD
Pero ya está resuelto ^__^
Title: Re: Write_var
Post by: Yawin on November 23, 2010, 11:16:19 AM
Lamento el doblepost.

[quote author=Windgate link=topic=1793.msg31705#msg31705 date=1290434328]
Lo mejor que puedes hacer es lo siguiente:

[code]write_var ( 0 , 100 , 100 , 0 , "Puntos: " + puntos );


Así se escribe el texto fijo seguido del valor.
...[/code]

Donde puntos es la variable entera que guarda los puntos :P
[/quote]

He puesto:
write_var(fuente,145,50,3,"Level "+lev);

y el compilador me devuelve:
Quoteerror: Variable required ("LEV")
Title: Re: Write_var
Post by: Windgate on November 23, 2010, 01:41:45 PM
Perdón, write_var requiere una única variable, no permite concatenar así. Podrías hacer:

write_var (0,0,0,0, texto );

Donde texto es una string que a cada FRAME se actualiza con:

Quotetexto = "Puntos: " + puntos;

También puedes tener a cada FRAME:

id_texto = write(0,0,0,0, "Puntos: " + puntos );
FRAME;
delete_text ( id_texto );
Title: Re: Write_var
Post by: Yawin on November 23, 2010, 02:12:19 PM
Ah, vale, ya me estaba preocupando ^__^

Me parecía raro que me pusieses algo que no funcionase xD
Title: Re: Write_var
Post by: Windgate on November 23, 2010, 07:12:00 PM
Tengo el Bennu2D un poco abandonado ultimamente y ya ves que hasta me he equivocado :o