2016-04-17 25 views
0

Ich versuche eine Animation zu laden.
Ich möchte das Ende der Animation wissen und es in einer Schleife vermeiden.as3 totalFrames return 1

var myLoader:Loader = new Loader(); 
var myLoaderReq:URLRequest = new URLRequest("anim.swf"); 
myLoader.load(myLoaderReq); 
addEventListener(Event.ENTER_FRAME , enterFrameListener); 
addChild(myLoader); 

myLoader.x = 10; 
myLoader.y = 20; 


function enterFrameListener(event:Event):void 
{ 
    var mc:MovieClip = event.currentTarget as MovieClip; 

    trace(mc.currentFrame); 
    if(mc.currentFrame == mc.totalFrames) 
    { 
     mc.removeEventListener(Event.ENTER_FRAME , enterFrameListener); 
     trace("end of movie reached"); 
    } 
} 

für den Test i swf von http://www.leconcombre.com/movies/movies1us.html

irgendwelche Ideen, wie Sie das heruntergeladene verwendet?

thnx

+0

'mc' in Ihrem enterFrameListener bezieht sich auf den Umfang des von Ihnen geposteten Codes. Was Sie überprüfen möchten, ist der currentFrame und totalFrames Ihres geladenen Movieclips, der wahrscheinlich 'myLoader.content.totalFrames' – BadFeelingAboutThis

+0

ya korrekt ist. Als ich myLoder.content.totalframes ausprobierte, war es größer als 25, thnx –

Antwort

0

current Sie verwenden, ist siehe

addEventListener(Event.ENTER_FRAME , enterFrameListener); 

Welche Ihre MainTimeline sein sollte, wenn Sie einen weiteren Rahmen fügen Sie dann 2 von total zurückkehren werden sollte.

Als BadFeelingAboutThis saids, ersetzen Sie einfach:

var mc:MovieClip = event.currentTarget as MovieClip; 

von

var mc:MovieClip = myLoader.content as MovieClip; 

Sie müssen auch Sie versuchen, bestätigen die MainTimeline von anim.swf zu manipulieren.