查看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")}});
}