停止动态加载.SWF停止循环,然后移动到主时间线上的下一帧



我是这里的新手,对actionscript编程有些陌生,所以我对任何错误表示歉意。我使用的是Adobe Flash CS6。

我正在做一个AS2项目,并试图在我的主项目.FLA.中动态加载一个外部.SWF文件和一个附带的.MP3文件

我所拥有的:

3帧。在第一帧上,我有一个简单的按钮,可以前进到下一帧,还有一个"stop();"代码。在第三帧中,我只有一个简单的绘图和一个"stop();"代码。

在第二帧上,我有一个容器(所以,只是一个简单的电影剪辑),代码是:

stop();
createEmptyMovieClip("intro_mc", 20);
intro_mc._x = 0;
intro_mc._y = 0;
loadMovie("TRANSICAO_LOGO.swf",intro_mc); 
audioClip = new Sound(); 
audioClip.loadSound("TRANSICAO_LOGO.mp3",true); 
onEnterFrame = function(){
    if(intro_mc.getBytesLoaded()==intro_mc.getBytesTotal() && intro_mc.getBytesTotal()>0 && intro_mc._currentframe==intro_mc._totalframes){
        delete onEnterFrame;
        nextFrame();
    }
}

所以,现在我可以点击第一帧上的按钮,它会在播放MP3文件的同时播放SWF文件。问题是,每次我测试它时,SWF文件(而不是MP3)都会循环。只有一次它真的进入了第三帧。

我真的不明白这是怎么回事。我一直在网上查找,试图找出问题出在哪里。有人知道是什么原因造成的吗?

谢谢你的帮助!

循环是MovieClip的一种自然行为。

只需将stop();放置在加载的swf的最后一帧。或者如果它来找你没有来源放置

intro_mc.stop();

在您的if(...){//here};块内

PS:

intro_mc._x = 0;
intro_mc._y = 0;

此代码不起任何作用。默认情况下,新创建的MovieClip放置在0,0坐标处。

最新更新