2010-11-08 25 views

Répondre

2

Quand j'ai une animation personnalisée et que vous souhaitez savoir quand les finitions que j'utilise pour envoyer un événement personnalisé de la dernière image de l'animation Habituellement, un Event.COMPLETE fera l'affaire.

Dans la dernière image de la myAnimation MovieClip que je fais:

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

Puis dans le code principal que j'écoute ajouter à cette écoute EvNet:

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

Presque comme @ daniel.sedlacek réponse, mais sans le code timeline:

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

chèque seulement currentFrame et totalFrames n'est pas suffisant pour un MovieClip comportant plusieurs scènes. Vous devez également vérifier s'il s'agit de la dernière scène.

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