mover textos en "z" con Move text

Started by master, April 14, 2013, 04:34:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

master

Hola a todos.

Les expongo mi duda:
Tengo varios textos escritos en pantalla, pero quiero cambiar su "z" para que aparezcan detrás de un conjunto de imágenes que por default tengo de fondo. Para solucionarlo cambio la z de las imágenes del fondo y las coloco delante de las letras, pero se me haría mas comodo si pudiera cambiar la z de todos los textos que tengo en pantalla. Resulta que al usar Move text, tengo que especificar la nueva "x" y "y" forzosamente y lo que yo solo quiero cambiar es la "Z", la verdad es que es un poco pesado estar recogiendo la dirección de cada texto ya que son bastantes. ¿alguna idea?.

Erkosone

Facil, una función como esta:


funccion set_text_Z ( id_text, new_z );
x = recojer x del id_text..
y = recojer y del id_Text..
ahora mover texto con ( x, y, new_z )
return(0);
end


Algo así, entonces solo tienes que usar esa cuando la necesites ;)

master

una duda mas, como recojo la dirección en "x" y en "y" de un texto desde su id_graph

Erkosone

Hola master, para calcular la 'dirección' de cualquier cosa es necesario conocer su posición en el frame anterior y su posición actual, entonces se mira el incremento en X y en Y y se puede calcular.


Por poner un ejemplo, para calcular el angulo de desplazamiento:
dx = x - x_anterior;
dy = y - y_anterior;
Angulo desplazamiento = atan2( dy / dx );


Para calcular el modulo del desplazamiento:

dx = x - x_anterior;
dy = y - y_anterior;
Modulo desplazamiento = sqrt( (dx*dx) + (dy*dy) );


Con estas 2 formulas obtienes el desplazamiento en forma vectorial, '|modulo| + Angulo', si lo necesitas por escalares con signo simplemente usa DX y DY, son directamente la velocidad de desplazamiento pues indican el incremento de posición en la unidad de tiempo "frame".


Pero..  realmente para que diantres necesitas la "dirección" de un texto? me tienes intrigado, habla jeje..
No has confundido "dirección" con "posición"??

SplinterGU

#4
es conveniente tener las coordenadas de cada texto, asi como tenes sus z...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

master

Disculpen, me confundí y puse dirección en vez de posición.

La pregunta seria: ¿Como obtengo la posición en "x" y en "y" de un texto desde su TextID?
ya que solo quiero cambiar su z.
y como son muchos textos, no quiero un array grande para almacenar las posiciones de los textos, yo solo tengo el TextID del primer texto y del ultimo. Son consecutivos los TextID, cuando uso set_text_color utilizo el primer TextID y con for recorro hasta el ultimo TextID. Quería hacer lo mismo pero con Z.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2