2010-12-06 18 views
10

Im haciendo un jugador de computadora simple a mi juego de acción 2d simple. se supone que debe girar hacia mí y disparar, pero no puedo descifrar cómo calcular el camino más corto ... ¿debería girar a la izquierda o derecha si quiere disparar y matarme? P?¿Calcula la forma más corta de rotar, derecha o izquierda?

Ive tiene dos ángulos: cpu_facing (dirección que la CPU está enfrentando) y player_degree (el ángulo calculado cuando cpu está en el centro).

(im trabajar con grados, no les gusta radianes: P)

Cualquier hecho esto en javascript?

+1

Cuando se enfrentan directamente entre sí, lo que es player_degree? –

+0

"el ángulo calculado cuando la CPU está en el centro" ¿centro de qué? ¿Tiene vectores de dónde se encuentran las unidades? – zzzzBov

+0

"el ángulo calculado cuando la CPU está en el centro" ¿centro de qué? – jgritty

Respuesta

22
(cpu_facing-player_degree+360)%360>180 
  • false: gire en la dirección negativa
  • true: giro en la dirección positiva
+0

super! ¡muchas gracias! – Jason94

+2

Esto funciona si la CPU nunca sale del centro. – jgritty

+0

Parecería que esto siempre funcionará, si 'cpu_facing' es la dirección actual del rumbo/frente, y si' player_degree' es el rumbo/dirección en la que se requiere 'cpu', para apuntar al' player '. Si ambos elementos son verdaderos, siempre funcionará, independientemente de la ubicación. – matthewpavkov

Cuestiones relacionadas