2010-11-08 32 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; 
}