2014-03-13 84 views
0

这是我的代码:的ActionScript 3 - 传递参数给的addEventListener

function switchText(evt, newText:String, time=5) { 
    var fadeTextTween:Tween = new Tween(evt, "alpha", Regular.easeIn, evt.alpha, 0, time, false); 
    fadeTextTween.addEventListener(TweenEvent.MOTION_FINISH, textTweenEnd); 

} 

function textTweenEnd(e:TweenEvent) { 
    e.target.obj.text=newText; 
} 

我想从内textTweenEnd访问newText参数。如何将newText作为参数传递给textTweenEnd函数?

回答

1

您无法将任何其他参数传递给motion finish处理程序,因此您需要实现一些其他逻辑以将补间对象与未来文本进行绑定。

我会推荐使用TweenLite,并使用onCompleteonCompleteParams属性。

function switchText(evt:TextField, alpha:Number, newText:String, time:Number = 5):void { 
    TweenLite.to(evt, time, {alpha: alpha, onComplete: updateText, onCompleteParams: [evt, newText]}); 
} 

function updateText(textField: TextField, value:String):void { 
    textField.text = value; 
} 
+0

我也强烈推荐使用TweenLite([GSAP](http://www.greensock.com/v12/))。点击该链接并下载AS3版本。 – Marcela

相关问题