int get_angle2d( CPROCESS * identificador )
Retorna:
El ángulo hacia otro proceso.
Descripción:
Devuelve el ángulo desde el proceso actual (el que llamó a esta función) hasta el proceso cuyo código identificador se le pasa como parámetro.
Ver formas de obtener el código identificador, para más información.
Se recuerda que el ángulo se especifica en grados. La función devuelve siempre un valor entre -180000 y 180000 (un ángulo entre -180 y 180 grados).
PROCESS_INIT( proceso_movil )(int _x, int _y, int _graph) BEGIN_INIT x=_x; y=_y; graph=_graph; END_INIT BEGIN LOOP{ if (key(_right)) angle-=10000; if (key(_left)) angle+=10000; if (key(_up)) advance2d(4); FRAME; } END MAIN_PROGRAM_CDIV PRIVATE int angulo_resultante; CPROCESS * identificador_proceso; BEGIN_PROGRAM set_gfx(GFX_AUTODETECT_WINDOWED); set_mode(m320x200); load_fpg("../help.fpg"); put_screen(1, 1); graph=101; x=160; y=100; identificador_proceso = new proceso_movil(80, 50, 101); write(0, 160, 200, 7, "Use los cursores para mover el triangulo."); write(0, 0, 0, 0, "Angulo desde la bola hacia el triangulo:"); write_int(0, 0, 10, 0, &angulo_resultante); LOOP{ // Hallamos el ángulo entre los dos procesos angulo_resultante = get_angle2d(identificador_proceso); angle=angulo_resultante; FRAME; } END_PROGRAM
Al inicio se pone el fondo de pantalla y el programa principal define su gráfico como una bola situada en el centro de la pantalla.
Después, se crea un proceso del tipo proceso_movil del cual se coge el código identificador, que se puede controlar con
los cursores.
Dentro del bucle principal se calcula y muestra continuamente en pantalla el ángulo entre los dos procesos.
La función fget_angle2d() se utiliza para obtener el ángulo entre dos puntos, en lugar de entre dos procesos. Si el código identificador del proceso se tiene, por ejemplo, en una variable denominada id2, entonces la llamada a la función:
get_angle2d(id2)
Sería equivalente a:
fget_angle2d(x, y, id2->x, id2->y)
Obtener el ángulo desde las coordenadas (x, y) del proceso actual, hasta las coordenadas (x, y) del proceso cuyo código identificador es id2.
La función get_dist2d() se utiliza para obtener la distancia hasta otro proceso, en lugar del ángulo.
Ver: Uso de ángulos en el lenguaje - fget_angle2d() - get_dist2d()