есть клип "retro" надо чтобы он подползал к месту клика на всей рабочей области и останавливался....сейчас все работает только он после нажатия ползает и дальше ползает за курсором) тоесть оно переменные mpx и mpy постоянно перезаписывает( исправте пожалуйста и подскажите как правильно написать такой код?

Код AS3:
package lib{
import flash.display.*;
import flash.events.*;
public class engine extends MovieClip{
public function engine(){
stage.addEventListener(MouseEvent.MOUSE_DOWN, moveto);
}
public function moveto(e:Event):void{
var mpx:Number = mouseX;
var mpy:Number = mouseY;
if(mpx>retro.x){
if(mpx!=retro.x){
retro.x+=1;
addEventListener(Event.ENTER_FRAME, moveto);
}
}
if(mpy>retro.y){
if(mpy!=retro.y){
retro.y+=1;
addEventListener(Event.ENTER_FRAME, moveto);
}
}
if(mpx<retro.x){
if(mpx!=retro.x){
retro.x-=1;
addEventListener(Event.ENTER_FRAME, moveto);
}
}
if(mpy<retro.y){
if(mpy!=retro.y){
retro.y-=1;
addEventListener(Event.ENTER_FRAME, moveto);
}
}
}
}
}