Посмотрите документацию для fl.transtions.Tween
В частности, посмотрите на событие motionFinish.
По сути, вы хотите сделать что-то вроде этого:
import fl.transitions.Tween;
import fl.transitions.easing.*;
function goBackStart (e:MouseEvent):void{
var backAlpha:Tween = new Tween(this.parent.blueOverlay, "alpha", Strong.easeOut, 1, 0, 2, true);
backAlpha.addEventListener("motionFinish", goBackFinish);
}
function goBackFinish(e:Event) {
removeEventListener(e.target.obj, goBackFinish);
this.parent.gotoAndStop("home");
}
btnBack.addEventListener(MouseEvent.CLICK, goBackStart);
Я не фанат того, как работает встроенный класс Tweening, поэтому я использую любой из них:
TweenLite - Мой новый любимый
Tweener - Моя библиотека goto прошлых лет
Обе эти библиотеки имеют схожие API и используют свойство onComplete для обработки завершения.
Используя Tweener, вы можете сделать:
import com.caurina.transitions.Tweener;
btnBack.addEventListener(MouseEvent.CLICK, goBack);
function goBack(e:MouseEvent):void {
Tweener.addTween(this.parent.blueOverlay, {alpha:0, time:2.0, transition:"easeOutQuad", onComplete:function() {this.parent.gotoAndStop("home")}});
}