Прежде всего, вы хотите использовать TweenEvent для обработки завершения анимации. Свойство currentTarget для Event доступно только для чтения, поэтому вам нужно «получить» текущую цель из события и привести ее к анимации движения, затем удалить событие и установить его в null:
// assuming MC on stage with instance name "test"
import fl.transitions.*;
import fl.transitions.easing.*;
function fadeIn(e:Sprite):void
{
var myTween:Tween = new Tween(e, "alpha", None.easeNone, 0.0, 1.0, 1, true);
myTween.addEventListener(TweenEvent.MOTION_FINISH, deallocateObject, false, 0, true);
}
function deallocateObject(e:TweenEvent):void
{
var myTween:Tween = e.currentTarget as Tween;
// -- I always remove even when using weak listeners
myTween.removeEventListener(TweenEvent.MOTION_FINISH, deallocateObject);
myTween = null;
}
fadeIn(test);
Остерегайтесь при использовании локальных анимаций внутри функции. Часто они будут собирать мусор до того, как завершит анимация. Вы должны будете объявить анимацию как свойство класса, если это произойдет. Я рекомендую избавить себя от головной боли и использовать Tweener, gTween, et al. Класс Tween отстой .