Hay diferentes formas de hacer animaciones con AS3 yo en lo personal no gusto mucho del timer uso mas bien un EnterFrame, pero en fin si parece que tu objeto de repente aprece en otro lado de la pantalla es porq le estas cambiando muy bruscamente sus coordenadas,ej:
Si se encuentra en la coordenada (10,10) y se la cambias a (10,100) se vera como que desaparecio y aparecio en otro lugar para evitar esto incrementa poco a poco la posicion de tu clip.
Aqui te dejo unos ejemplos
Código ActionScript :
//mi clip a mover se llama "clip" (que original)
//Posicion Inicial (10,10), Posicion Final (10,100)
//Velocidad en Y
var vely:Number=3;
//Lo suscribo a un enterframe
clip.addEventListener(Event.ENTER_FRAME,Mover);
function Mover(e:Event){
//el target del evento sera mi clip
e.target.y+=vely;//Lo muevo
//Checo la posicion final
if(e.target.y>=100){
//En caso de llegar o sobrepasar la posicion final deseada dejo de moverlo y lo coloco en su posicion final
e.target.removeEventListener(Event.ENTER_FRAME,Mover);
e.target.y=100;
}
}
//********************************
//Lo puedes moevr con un timer exactamente igual
//cada 400 milisegundos lo muevo eso puede variar
var timer:Timer=new Timer(400,0);
timer.addEventListener(TimerEvent.TIMER,Mover);
function Mover(e:TimerEvent){
//el target del evento sera el timer asi que muevo clip directamente
clipt.y+=vely;//Lo muevo
//Checo la posicion final
if(clip.y>=100){
//En caso de llegar o sobrepasar la posicion final deseada dejo de moverlo y lo coloco en su posicion final
timer.removeEventListener(TimerEvent.TIMER,Mover);
timer.stop();
clip.y=100;
}
}
//********************************
//Lo puedes mover con un Tween
//No estoy seguro de la sintaxis checa bien la documentacion para ver todos los parametros
var tween:Tween=new Tween(clip,"y",RegularEase.easeIn,10,100,4,true);
//Arriba si te fijas le indicas el clip a mover en este caso "clip" la propiedad que se modifica,tipo de aceleracion
,posicion inicial,posicion final y el tiempo que dura...esta es muy buena forma checala.