2014-01-20 3 views
1

В сценарии фрейма у меня есть прослушиватель событий, который должен вызывать функцию onFinish, когда движение движений завершено. (См. Соответствующие части красным цветом ниже.) Я никогда не вижу, чтобы это было сделано «tweening». Он терпит неудачу. Я попробовал addEventListener в разных местах .. безрезультатно. Что мне не хватает? Спасибо!прослушиватель событий Tween

import fl.transitions.*; 
import fl.transitions.easing.*; 
import fl.transitions.Tween; 
import fl.transitions.TweenEvent; 

var currentFrameMC = animImg; 

var scaleXTween:Tween=new Tween(animImg,"scaleX",Bounce.easeOut, 1,2,2.4,true); 
var scaleYTween:Tween=new Tween(animImg,"scaleY",Bounce.easeOut, 1,2,2.4,true); 
var alphaTween:Tween = new Tween(animImg, "alpha", Strong.easeOut, .5, 1, 11, true); 

//Put a listener on the MC so I can tell when it's done tweening the scale. 
currentFrameMC.addEventListener(TweenEvent.MOTION_FINISH, onFinish); 


//This is another event listner put on a button: 
//(The button, when clicked, will trigger the shrinking of the animImg MC) 
reverseTween1.addEventListener(MouseEvent.CLICK,shrinkFrameMC); 

//Shrink/scale down the anImg by tweening 
function shrinkFrameMC(e:MouseEvent) //This scales down the playing movie clip 
{ 
scaleXTween=new Tween(currentFrameMC,"scaleX",None.easeNone, currentFrameMC.scaleX,1,3,true); 
scaleYTween=new Tween(currentFrameMC,"scaleY",None.easeNone, currentFrameMC.scaleY,1,3,true); 
//Tween the alpha state of the movie clip again, this time in reverse 
alphaTween=new Tween(currentFrameMC, "alpha", Strong.easeOut, 1, .5, 11, true); 
} 

function onFinish(e:TweenEvent):void //This does an action when the frame MC is done tweening 
{ 
    trace ("done tweening"); 
    //NEVER SEE THIS OUTPUT 
} 

ответ

0

Вам необходимо назначить прослушиватель событий Tween для Tween, а не для анимации объекта.

0

его работы:

import fl.transitions.*; 
import fl.transitions.easing.*; 
import fl.transitions.Tween; 
import fl.transitions.TweenEvent; 

var scaleXTween:Tween=new Tween(animImg,"scaleX",Bounce.easeOut, 1,2,2.4,true); 
var scaleYTween:Tween=new Tween(animImg,"scaleY",Bounce.easeOut, 1,2,2.4,true); 
var alphaTween:Tween = new Tween(animImg, "alpha", Strong.easeOut, .5, 1, 11, true); 

//Put a listener on the MC so I can tell when it's done tweening the scale. 
scaleXTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish); 


//This is another event listner put on a button: 
//(The button, when clicked, will trigger the shrinking of the animImg MC) 
reverseTween1.addEventListener(MouseEvent.CLICK,shrinkFrameMC); 

//Shrink/scale down the anImg by tweening 
function shrinkFrameMC(e:MouseEvent) //This scales down the playing movie clip 
{ 
    scaleXTween=new Tween(currentFrameMC,"scaleX",None.easeNone, currentFrameMC.scaleX,1,3,true); 
    scaleYTween=new Tween(currentFrameMC,"scaleY",None.easeNone, currentFrameMC.scaleY,1,3,true); 
//Tween the alpha state of the movie clip again, this time in reverse 
    alphaTween=new Tween(currentFrameMC, "alpha", Strong.easeOut, 1, .5, 11, true); 
} 

function onFinish(e:TweenEvent):void //This does an action when the frame MC is done tweening 
{ 
    trace ("done tweening"); 
    //NEVER SEE THIS OUTPUT 
} 
Смежные вопросы