Write_var

Started by Yawin, November 20, 2010, 09:53:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

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??
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

oriun

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.

Yawin

Ya bueno, esque me estaban distrayendo xD
gracias, lo probaré xD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

DjSonyk

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.

Yawin

Muchas gracias djsonic. imaginaba que el 4 numerito sería para algo, pero como poniendo un 1 siempre me iba... jajajaja
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

oriun

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.

Windgate

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
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Yawin

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 ^__^
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Yawin

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")
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Windgate

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 );
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Yawin

Ah, vale, ya me estaba preocupando ^__^

Me parecía raro que me pusieses algo que no funcionase xD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Windgate

Tengo el Bennu2D un poco abandonado ultimamente y ya ves que hasta me he equivocado :o
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es