void region_disty( CPROCESS * prcs, int * dst_top, int * dst_down )


Descripción:

Esta función obtiene la distancia hacia arriba y abajo sobre la region actual del proceso que la llama.


MAIN_PROGRAM_CDIV
PRIVATE
 int dstytop, dstydown, dstxleft, dstxright;
BEGIN_PROGRAM 

    set_gfx(GFX_AUTODETECT_WINDOWED);

    set_mode(m320x200);
    
    load_fpg("../help.fpg");
    
    graph = 100;
    x = 160;
    y = 100;

    write(0, 0,  0, 0, ">Cursores para mover el objeto");
    write(0, 0, 10, 0, "Distancia arriba...:");
    write(0, 0, 20, 0, "Distancia abajo....:");
    write(0, 0, 30, 0, "Distancia derecha..:");
    write(0, 0, 40, 0, "Distancia izquierda:");
    
    write_int(0, 170, 10, 0, &dstytop);
    write_int(0, 170, 20, 0, &dstydown);
    write_int(0, 170, 30, 0, &dstxleft);
    write_int(0, 170, 40, 0, &dstxright);
    
    // Bucle de espera
    LOOP{
     if( key(_up) ) y--;
     if( key(_down) ) y++;
     if( key(_right) ) x++;
     if( key(_left) ) x--;
     
     region_disty(this, &dstytop, &dstydown );
     region_distx(this, &dstxleft, &dstxright );
    
     FRAME;
    }

END_PROGRAM

Se puede observar en su ejecución cómo el proceso al moverse hace cambiar las distancias hacia las diferentes partes de la región de pantalla.


Ver: out_region() - Variable region - region_distx()