在主swf中加载多个外部SWF

时间:2009-08-31 16:26:09

标签: flash actionscript-3

我正在建立一个网站,在一个主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);

2 个答案:

答案 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');   }
}
相关问题