get_angle(<código 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 milésimas de grado. La función devuelve siempre un valor entre -180000 y 180000 (un ángulo entre -180 y 180 grados).
PROGRAM ejemplo_get_angle; PRIVATE ángulo_resultante; identificador_proceso; BEGIN load_fpg("help\help.fpg"); put_screen(0, 1); graph=100; x=160; y=100; identificador_proceso = proceso_móvil(80, 50, 101); write(0, 160, 200, 7, "Use los cursores para mover el triángulo."); write(0, 0, 0, 0, "Angulo desde la bola hacia el triángulo:"); write_int(0, 0, 10, 0, offset ángulo_resultante); LOOP // Hallamos el ángulo entre los dos procesos ángulo_resultante = get_angle(identificador_proceso); FRAME; END END PROCESS proceso_móvil(x, y, graph); BEGIN LOOP IF (key(_right)) angle-=10000; END IF (key(_left)) angle+=10000; END IF (key(_up)) advance(4); END FRAME; END END
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.
Despúes, se crea un proceso del tipo proceso_móvil 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_angle() 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_angle(id2)
Sería equivalente a:
fget_angle(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_dist() se utiliza para obtener la distancia hasta otro proceso, en lugar del ángulo.