如何在AS3中的另一个影片剪辑的末尾加载影片?

时间:2010-03-02 14:35:56

标签: flash actionscript-3

如何在AS3中的另一部电影[.swf]的末尾加载电影[.swf]?

感谢

2 个答案:

答案 0 :(得分:1)

最简单的方法是在影片剪辑的最后一帧上执行以下操作:

var myLoader:Loader = new Loader(); 
addChild(myLoader); 
var url:URLRequest = new URLRequest("myExternalMovie.swf"); 
myLoader.load(url); 

但最好的方法是使用这样的东西来听取最后一个影片剪辑的结尾:

if (mc1.currentFrame == mc1.totalFrames) {
 //code to load next movie clip
}

使用currentFrame和totalFrames查找第一个剪辑是否已完成播放。

使用它来创建MovieClip实例:

var mc:MovieClip = new MovieClip();
//properties code here (just his .)
addChild(mc);

答案 1 :(得分:0)

这是我用谷歌搜索时得到的一段代码,它有效。我已经得到了这个人的名字,但他救了我4天的时间

//要使用的外部剪辑数组。变量索引是指要显示的下一个剪辑。

var clips:Array = [“check.swf”,“02.swf”]; var index:int = 0;

//加载文件的东西 var thisLoader:Loader = new Loader(); thisLoader.contentLoaderInfo.addEventListener(Event.INIT,doneLoading);

var thisMC:MovieClip = new MovieClip(); stage.addChild(thisMC); //最初添加空MC,以便nextClip函数即使在第一次调用时也能正常工作

//获取下一个MC,等待INITialization,然后再将其添加到舞台

function nextClip():void { thisLoader.load(new URLRequest(clips [index])); }

//删除旧剪辑,告诉AS已加载的文件是新文件,将其添加到舞台上,然后播放。 function doneLoading(e:Event):void { stage.removeChild(thisMC); thisMC = MovieClip(thisLoader.content); thisLoader.unload(); thisMC.addEventListener(Event.ENTER_FRAME,runOnce); stage.addChild(thisMC); thisMC.gotoAndPlay(1); }

//当currentFrame等于加载剪辑(播放)中的totalFrames时,增量索引&播放下一个片段。 function runOnce(e:Event):void { if(thisMC.currentFrame == thisMC.totalFrames){ thisMC.removeEventListener(Event.ENTER_FRAME,runOnce); index =(index + 1)%(clips.length); nextClip(); } }

//调用nextClip以自动启动第一个剪辑

nextClip();