Итак, я делаю небольшую игру, где я проверяю, может ли персонаж "видеть" другого, где символ A может видеть символ B, если A находится на определенном расстоянии от B, а направление в градусах A равно +/- 45 градусов угла B обращены.
В настоящее время я делаю небольшой расчет, где я проверяю, если
(facingAngle - 45) =< angleOfTarget =< (facingAngle + 45)
Это прекрасно работает, за исключением случаев, когда мы пересекаем линию на 360 градусов.
Скажем facingAngle = 359, angleOfTarget = 5
. В этой ситуации цель находится всего на 6 градусов от центра, поэтому я хочу, чтобы моя функция вернула значение true. К сожалению, 5 не находится между 314 и 404.