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_PROGRAMSe 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()