2010-11-08 38 views

回答

2

当我有一个自定义动画,想知道什么时候结束我使用派遣从一个自定义事件动画的最后一帧。通常会有Event.COMPLETE。

在myAnimation影片剪辑的最后一帧我做的:

this.dispatchEvent(new Event(Event.COMPLETE)); 
stop(); 

然后在主代码我听添加监听到evnet:

myAnimation.addEventListener(Event.COMPLETE, animationEndHandler); 
1

几乎像@ daniel.sedlacek答案,但没有时间线代码:

var mc : MovieClip = new $TestMovieClip();   
mc.addEventListener(Event.COMPLETE, function() : void { 
    trace("COMPLETE"); 
}); 
mc.addFrameScript(mc.totalFrames-1, function() : void { 
    mc.dispatchEvent(new Event(Event.COMPLETE));     
}); 
mc.play(); 
0

只有检查currentFrame和对于具有多个场景的MovieClip,是不够的。你还必须检查它是否在最后一个场景。

function isAtLastFrame(mc:MovieClip):Boolean 
{ 
    return currentScene.name == mc.scenes[mc.scenes.length - 1].name && currentFrame == currentScene.numFrames; 
} 
相关问题