如何在AS3中的另一部电影[.swf]的末尾加载电影[.swf]?
感谢
答案 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();