Новая проблема...пытаюсь реализовать данный алгоритм на AS 3.0, но в некоторых местах не пойму что имел ввиду автор.
источник:
http://xitri.com/2008/09/22/simple-e...#comment-78710
Я нк пытаюсь сделать на всем готовеньком, вы меня поймите, но просто просидел уже не один час и зашел в тупик честно говоря. Буду очень рад если найдется ктото, кто поможет.
Вот собственно сам код:

Код AS1/AS2:
step = 2;
onEnterFrame = function(){
var dx = _xmouse - man._x;
var dy = _ymouse - man._y;
//Направление (угол) к цели
var angle = Math.atan2(dy, dx);
var dist = Math.sqrt(dx*dx + dy*dy);
if(dist > step) {
//пробуем пройти напролом
tgtX = man._x + step * Math.cos(angle);
tgtY = man._y + step * Math.sin(angle);
if (!path.hitTest(tgtX, tgtY, true)){
//напролом не получилось, вычисляем базовое направление
var dAngle = dAngleRadian(direction, angle);
workAngle = angle + dAngle*.8;
//Шаг поворота - 10 градусов
for(var i = 0; i < 360; i += 10) {
for(var j = -1; j <= 1; j += 2) {
var a = workAngle + radian(i) * j;
var tempX = man._x + step * Math.cos(a);
var tempY = man._y + step * Math.sin(a);
if (path.hitTest(tempX, tempY, true)) {
//точка выхода найдена. Запоминаем ее и прерываем цикл
tgtX = tempX;
tgtY = tempY;
break;
}
}
}
}
var timeDx = tgtX - man._x;
var timeDy = tgtY - man._y;
//направление движения
direction = Math.atan2(timeDy, timeDx);
var dAngle = dAngleDegree(direction*180/Math.PI, man._rotation);
//поворячиваем клип к направлени движения на 5-ю часть
man._rotation += dAngle * .2;
man._x = tgtX;
man._y = tgtY;
man.play();
} else {
//стоим
man.gotoAndStop(5);
}
}
function dAngleRadian(a1, a2) {
var da = a1 - a2;
if (da > Math.PI) {
da = -Math.PI*2 + da;
} else if (da < -Math.PI) {
da = Math.PI*2 + da;
}
return da;
}
function dAngleDegree(a1, a2) {
var da = a1 - a2;
if (da > 180) {
da = -360 + da;
} else if (da < -180) {
da = 360 + da;
}
return da;
}
function degree(a) {
return a / Math.PI * 180;
}
function radian(a) {
return a / 180 * Math.PI;
}
нужен для того чтобы юнит обходил препятствия, но в некоторых местах я не понимаю что имеется ввиду, да и написан он на старом языке, так что переменная может использоваться у него до обьявления или обьявляться дважды....