我正在建立一个网站,在一个主swf中加载多个swfs。当我点击它上面的按钮时,我还想要一些swfs卸载。
有人可以帮我解决这个问题。
目前我只能使用此代码加载一个swf,默认情况下,我能以某种方式加载更多只有一个swf吗?你可以看到下面的代码:
var swf:MovieClip;
var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest("swf/gallery.swf");
loader.load(defaultSWF);
addChild(loader);
答案 0 :(得分:1)
如果您尝试一次加载多个SWF,只需创建多个Loader对象然后加载它们。
例如:
var gallery:Loader = new Loader();
gallery.load(new URLRequest("swf/gallery.swf"));
addChild(gallery);
var other:Loader = new Loader();
other.load(new URLRequest("swf/other.swf"));
addChild(other);
至于卸载SWF - 你只需要引用Loader对象并调用它的unloadAndStop方法。
答案 1 :(得分:0)
作为Branden的答案的补充,如果你想按顺序加载项目,你可以重用相同的Loader实例,并有类似的东西:
var gallery:MovieClip;
var other:MovieClip;
var swfClips:Array = [gallery,other];
var swfUrls:Array = ['swf/gallery.swf','swf/other.swf'];
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, loaderReady);
loader.load(new URLRequest(swfUrls[0]));
function loaderReady(event:Event):void{
swfClips[0] = MovieClip(event.target.content);
if(swfUrls.length){
swfClips.shift();
swfUrls.shift();
loader.load(new URLRequest(swfUrls[0]));
}else{ trace('all swfs are loaded'); }
}