AS3.0模块化开发基础知识

AS3.0 的模块加载机制用得好,能帮你把项目结构分得清清楚楚,尤其是在做多 SWF 模块化开发的时候,效率提升挺的。像Loader配合LoaderContext这种写法,挺常见的,能控制模块的域,避免类名冲突,挺实用的。

applicationDomain的使用是关键。如果你子模块能访问主模块的类,可以传ApplicationDomain.currentDomain;反过来,想让模块完全独立,隔离开,就新建一个new ApplicationDomain(),这样更安全。

看起来代码不多,其实里面的门道还挺多。比如下面这段:

var loader : Loader = new Loader();
var context : LoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain();
loader.load(new URLRequest("loaded.swf"), context);

注意context.applicationDomain的赋值顺序,还有你传进去的是不是一个新的ApplicationDomain。不然模块之间容易互相影响,调试起来麻烦。

你要是还没太搞懂 AS3.0 模块加载机制,可以先撸一遍这篇,再搭配下面这些相关文章,理解会更透:

如果你经常做 Flash 项目,建议把模块加载这块吃透了,是大型项目,维护起来会轻松多。

doc 文件大小:43.5KB