мне кажется, этот вариант реализации тоже подойдет:

Код:
createEmptyMovieClip("korablik",0);
korablik.beginFill(0xcccccc,100);
drawRect(korablik,-10,-5,20,10);
korablik.endFill();
createEmptyMovieClip("target",1);
target.beginFill(0xcc0000,100);
drawRect(target,-2,-2,4,4);
target.endFill();
korablik._x=100
korablik._y=100
function onMouseDown() {
target._x = _xmouse;
target._y = _ymouse;
onEnterFrame = function () {
goto(korablik,target._x,target._y,0.2,4)
};
}
function goto(mc:MovieClip, gotoX:Number, gotoY:Number, w:Number, speed:Number) {
var nx:Number = Math.cos(mc._rotation*Math.PI/180);
var ny:Number = Math.sin(mc._rotation*Math.PI/180);
var dx:Number = gotoX-mc._x;
var dy:Number = gotoY-mc._y;
//находим угол, между направлением мувика и точки{gotoX,gotoY}
var theta:Number = Math.atan2(nx*dy-ny*dx, nx*dx+ny*dy);
//w - коэффициент вращения от 0 до 1
mc._rotation += w*theta*180/Math.PI;
mc._x += nx*speed;
mc._y += ny*speed;
}
function drawRect(mc:MovieClip,x:Number,y:Number,w:Number,h:Number)
{
mc.moveTo(x ,y );
mc.lineTo(x+w,y );
mc.lineTo(x+w,y+h);
mc.lineTo(x ,y+h);
mc.lineTo(x ,y );
}