Hola buenas, tengo una sugerencia que creo que va a ayudar bastante a todos, la comento por que me parece que es algo bastante útil en todos los casos.
Actualmente en bennuGD como era en Div y Div2 las funciones que devuelven un angulo expresan su resultado en 2 rangos posibles:
de 0 a 260 grados "escalados claro.."
y
de 0 a -90 grados "también escalados".
El caso es que para cualquier operación de física básica es necesario disponer de un angulo de 0 a 360 grados "escalado también por supuesto".
Y la sugerencia es esta, que las funciones fget_angle() y get_angle() retornen valores siempre positivos, esto ayuda mucho en los cálculos cuando estamos haciendo juegos, en mi caso estoy liado con la mod_chipmunk y las explosiones, y lo que me sucede es que tengo que hacer una conversión del valor que me retornan estas funciones "si el angulo es negativo" y bueno.. no es que sea demasiado trabajo hacerlo.. pero claro.. uno piensa y ve que si esto lo hiciera directamente bennu pues es trabajo que nos ahorramos.
Yo lo hago así, si se pudiera incluir en las funciones sería de gran ayuda:
angulo_explosion_ = fget_angle(id_.x, id_.y, x, y);
if(angulo_explosion_ < 0)
angulo_explosion_ = (90000 - angulo_explosion_*-1) + 260000;
end
La formula para retornar siempre grados positivos es:
Si el valor es positivo no se hace nada..
Si el valor es negativo entonces se hace esto: angulo_positivo_resultante_de_un_angulo_negativo = (90000 - angulo_ * -1) + 260000;