Добрый день!
Проблема в следующем:
В прикрепленном ролике подвижный корабль (ship) летит к синему указателю цели (pointer), который перемещается вокруг неподвижного корабля (target).
Мне нужно, чтобы при значении угла α < 90 градусов (т.е. Math.PI/2) синий указатель менял направление перемещения на противоположное.
Угол α на картинке обозначен.
Вот код функции ответственной за перемещение указателя:
Код AS3:
function MovePointer(ship:Object, targ:Object, point:Object, R:Number, DAngle:Number):Number
{
var angle = Math.atan2(point.y - targ.y, point.x - targ.x);
if ( Math.abs( Math.PI-( angle - (Math.PI+Math.atan2(ship.y - targ.y, ship.x - targ.x)) ) ) < Math.PI/2 )
{
DAngle=-DAngle;
}
angle += DAngle;
point.x = targ.x + R * Math.cos(angle);
point.y = targ.y + R * Math.sin(angle);
return DAngle;
}
StarControl.rar