ActionScript外部加载SWF与控制

外部加载的 SWF 文件控制玩法挺经典的,尤其是在维护老项目的时候。用 ActionScript 配合 Loader 类,不光能把 SWF 文件动态加载进来,还能直接调用里面的函数,比如播放、暂停、切换场景这些交互都能搞定。响应也快,代码也简单,比较适合那种多模块、更新频繁的 Flash 应用。

加载方式用的是Loader类,简单写几行:

var loader:Loader = new Loader();
loader.load(new URLRequest("path_to_your_swf.swf"));
addChild(loader);

控制加载后内容其实也不难,强转成MovieClip就行:

var loadedMovie:MovieClip = loader.content as MovieClip;
loadedMovie.play();

要注意监听事件,比如Event.COMPLETE,加载完成做点初始化逻辑:

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(e:Event):void {
  trace("SWF 已加载完毕");
}

跨域是个老问题,要记得准备好crossdomain.xml,不然加载失败你都不知道怎么回事。还有,文件太大会拖慢加载速度,最好加个预加载器给用户点反馈。

虽然 Flash 已经慢慢退出主流舞台,但你如果还在手里维护老项目,这一套还是蛮有用的。要是想深入了解,推荐你看看这篇:ActionScript 3.0 加载外部 SWF 并调用内部方法,讲得挺细。

rar
外部加载swf+控制.rar 预估大小:8个文件
folder
外部加载swf+控制 文件夹
file
NR_1.fla 60KB
file
liebiao.swf 984B
file
index.swf 3KB
file
NR_0.swf 769B
file
index.fla 60KB
file
liebiao.fla 37KB
file
NR_0.fla 64KB
file
NR_1.swf 783B
rar 文件大小:28.3KB