我是这里的新手,对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坐标处。