AS3常用代码(四):初始化加载SWF中定义的类
当一个子SWF定义了某些类A的时候,可以通过加载它的主SWF访问到类A的定义并初始化一个新的对象。
关键词:ApplicationDomain,getDefinition
思想:我们通过访问loaderInfo的applicationDomain属性获得子SWF的域,然后再通过getDefinition方法获得子SWF定义的类(OOP思想中一切皆对象),最后通过这个类就可以生成新的对象了。
代码如下:
var _loader:Loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
_loader.load(new URLRequest("xxxxx"));
function onComplete(e:Event):void {
var _domain:ApplicationDomain = e.currentTarget.applicationDomain;
var _swfClass:Class = _domain.getDefinition("xxxx") as Class;
var _newObject:_swfClass = new _swfClass();
}
好处:可以更好的让我们的代码模块化。更好的分拆我们的程序。