void move_text( int id_texto, x, y )


Descripción:

Mueve un texto a otras coordenadas de pantalla. Se especifica como parámetro el identificador del texto que es un código numérico que devuelve las funciones write() y write_int() cuando se les pide que escriban un texto, y las coordenadas (x, y) de pantalla a las que se debe mover el texto.

El código de centrado especificado en el write() o write_int() se mantendrá cuando se utilice esta función.

Las coordenadas especificadas son siempre relativas a la pantalla y pueden estar dentro o fuera de la misma. Para modificar la coordenada z de los textos (el plano de profundidad en el que aparecen) se debe utilizar la variable global text_z.


MAIN_PROGRAM_CDIV

PRIVATE
 int
    id_texto1,
    id_texto2,
    coord_x,
    coord_y,
    angulo1;

BEGIN_PROGRAM

 set_gfx(GFX_AUTODETECT_WINDOWED);
 set_mode(m320x200);

 id_texto1 = write(0, 160, 100, 4, "TEXTO EN MOVIMIENTO");
 id_texto2 = write(0, 160, 100, 4, "MUEVA EL RATON");

 LOOP{
        coord_x = 160 + get_distx2d(angulo1, 100);
        coord_y = 100 + get_disty2d(angulo1, 90);

        // Movemos los textos
        move_text(id_texto1, coord_x, coord_y);
        move_text(id_texto2, mouse.x, mouse.y);

        angulo1+=1000;
        FRAME;
 }

END_PROGRAM

En el ejemplo se imprimen dos texto con la función write() en el centro de la pantalla. Esta función nos devuelve los identificadores de dichos textos, que se guardan en las variables id_texto1 e id_texto2.

En cada paso de bucle, se mueve el primer el texto por una trayectoria circular que se consigue incrementando un ángulo (angulo1) y utilizando las funciones get_distx2d() y get_disty2d(). El segundo texto se situará en las coordenadas del puntero del ratón.

Ambos textos se mueven en cada imagen mediante la función move_text().

Para borrar un texto definitivamente también se requiere el identificador del texto, y se debe utilizar para ello la función delete_text().


Ver: write() - write_int() - delete_text()