停止从循环中动态加载.SWF,然后转到主时间轴上的下一帧

时间:2013-12-03 16:42:09

标签: flash actionscript-2 flash-cs6

我是新来的,对动作脚本编程有点新,所以我为任何错误道歉。我正在使用Adobe Flash CS6。

我正在研究AS2项目并试图在我的主项目中动态加载外部.SWF文件和随附的.MP3文件.FLA。

我有什么:

3帧。 在第一帧我有一个简单的按钮,前进到下一帧和一个“停止();”码。 在第3帧,我只有一张简单的图画,知道我何时到达它并且“停止();”代码。

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

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();
    }

}

...所以,现在我可以点击第一帧上的按钮,它将播放SWF文件和MP3文件。问题是,每次测试时,SWF文件(不是MP3)都会循环播放。只有一次实际进入第3帧。

我真的不明白这有什么问题。我一直在网上寻找并试图找出问题所在。有谁知道可能导致这种情况的原因?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

循环是MovieClip的自然行为。

只需将stop();放在已加载的swf的最后一帧。 或者,如果没有消息来源,那么

intro_mc.stop();

if(...){//here};区块内

PS:

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

此代码不执行任何操作。默认情况下,新创建的MovieClip位于0,0坐标。