[NDS][PALIB][HELP]Colision de circulos exacta...

Bueno, la cosa es que estoy haciendo un jueguito xD medio pedorro, pero bue =P.

La cosa es que en la parte de la colision, anda todo bien, pero, no me deja usar una variable float en el angulo para que ande mejor grrr...

Y yo quiero que cuando le pegue arriba al circulo, no valla siempre para arriba, sino que fijandose en el float, valla para un lado o para el otro...

No se si me explico, funciona perfecto, pero quiero que sea MAS PERFECTO!, aca les dejo el codigo que estoy usando...

if (PA_Distance(nave.x, nave.y, bola.x, bola.y) < 36*36) {
      
         u16 angle = PA_GetAngle(nave.x, nave.y, bola.x, bola.y);
         u16 speed = 2;
         bola.vx = (PA_Cos(angle)*speed)>>8;
         bola.vy = -(PA_Sin(angle)*speed)>>8;
      }


Bueno, la variable angle, es la variable que no me deja poner en float! Osea, no se porque... (Edito: Me dice como que no es compatible con &, pero no hay ningun & en el codigo!!)

Alguna ayudita?

Gracias ^^ [oki]

Y si no me pueden ayudar, espero que le sirva el codigo a alguien mas xD...

PD: Por cierto, todavia no entiendo la primera parte del codigo, osea, porque tengo que multiplicar la suma del radio de los 2 circulos entre si??? Es algo que no entiendo xD, pero funciona [oki] (Si alguien me lo explica mejor xD. Ya vi varias explicaciones en ingles (Gracias a las cuales entendi de donde salia el 36 =P) pero no me queda clara esa parte ¬¬. (Que PD larga xD)


Salu2222222222... [360º] [360º] [360º] [360º] [360º]
Porque PA_Distance no hace la raiz cuadrada necesaria en el teorema de pitágoras y tienes que "hacerlo" tu.
Osea, no creo que sea eso, ya que sacandole la parte de seno y coseno, me lo compila, la cosa es que no se porq.................





Buaaaaaaaaa.... xD [snif]
Yo respondia a la PD XD.
Mira este enlace:

http://www.palib.info/Doc/PAlibDoc%20Eng/group___math.html#ga9

Como puedes ver las funciones seno y coseno no son ni siquiera funciones sino macros que utilizan el &.
Los angulos ni siquiera van de 0 a360 sino a 256, asi que miratelo bien.
4 respuestas