
Код AS1/AS2:
onMouseDown = function () {
speed = 1;
posX = _root._xmouse;
posY = _root._ymouse;
objX = _root.obj._x;
objY = _root.obj._y;
angle = Math.atan2(posY-objY, posX-objX);
moveX = Math.cos(angle)*speed;
moveY = Math.sin(angle)*speed;
// LINE
_root.createEmptyMovieClip("line1", 1);
color = (255);
_root.line1.lineStyle(1, color, 100);
_root.line1.moveTo(objX, objY);
_root.line1.lineTo(posX, posY);
};
onEnterFrame = function () {
_root.obj._x += moveX;
_root.obj._y += moveY;
};
Скрипт на первый взгляд работает, проблема в том что если провести линию через точки где начинается движение и заканчивается видно что Объект сдвигается под конец на пикселей 5-10 в сторону от линии( на больших дистанциях ), особенно это заметно если двигать его по диагонали ! Помогите решить эту геометрическую задачку , спасибо !