Bennu Game Development

Foros en Español => Sugerencias => Topic started by: Prg on August 19, 2010, 07:55:33 PM

Title: float en get_distx y get_disty
Post by: Prg on August 19, 2010, 07:55:33 PM
sugiero que get_distx y get_disty retornen flotantes,
esto con el fin de que si en avance tenemos un valor menor  o igual a 1, y en ángulo un valor que no es multiplo de 90000 no se trunque el resultado a cero,
también quizá sería bueno que el avance y el ángulo de los parametros de la función sean flotantes
Title: Re: float en get_distx y get_disty
Post by: SplinterGU on August 19, 2010, 08:02:45 PM
variable local "resolution"
Title: Re: float en get_distx y get_disty
Post by: Prg on August 19, 2010, 09:09:04 PM
ok
Title: Re: float en get_distx y get_disty
Post by: SplinterGU on August 20, 2010, 01:32:16 AM
pero se entendio?
Title: Re: float en get_distx y get_disty
Post by: Prg on August 20, 2010, 02:10:40 AM
Quote from: SplinterGU on August 20, 2010, 01:32:16 AM
pero se entendio?
si, con resolution las coordenadas tiene mayor resolucion XD y get_distx y funciones por el estivo (advance, etc) pueden trabajar con valores que de otra forma darían problemas :)

je je
Title: Re: float en get_distx y get_disty
Post by: SplinterGU on August 20, 2010, 02:43:45 AM
perfecto!
Title: Re:float en get_distx y get_disty
Post by: panreyes on February 22, 2015, 10:43:44 AM


Así lo he solucionado yo:



Function float float_get_distx(angle,distancia);
Begin
   resolution=1000;
   advance(distancia*1000);
   return (float) x/resolution;
End


Function float float_get_disty(angle,distancia);
Begin
   resolution=1000;
   advance(distancia*1000);
   return (float) y/resolution;
End



Intenté solucionarlo primero así, pero no me funcionó como yo quería:

Const
m_pi=3.14159265358979323846;;
End


Function float float_get_distx(float angulo,float distancia);
Begin
   return (float)(cos(angulo * m_pi / 180000) * distancia);
End


Function float float_get_disty(float angulo,float distancia);
Begin
   return (float)(-sin(angulo * m_pi / 180000) * distancia);
End