2014-03-13 54 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

相關問題