Pregunta

This is my code:

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;
}

I want to access the newText parameter from within textTweenEnd. How do I pass newText as a parameter to the textTweenEnd function?

¿Fue útil?

Solución

You can't pass any additional parameters to motion finish handler, so you need to implement some additional logic to bind tweened object with future text.

I would recommend to use TweenLite, with onComplete and onCompleteParams properties.

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;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top