我有一个项目,我将带有资产符号(assets.swf)的外部文件加载到主swf中,然后在需要时将符号添加到显示中。我希望与每个符号关联的类在文档类的运行时链接到自定义类。我真的想避免通过符号属性在资产fla中定义自定义类。
在AS2中,这可以通过Object.registerClass实现,如下所示:
Object.registerClass("assetID",AssetClass);
this.attachMovie("assetID", "asset_mc", 0);
因此符号独立于它在运行时链接的类。
在AS3中,我看到了对registerClassAlias的引用,但在线提供的可靠文档很少。
有没有人知道我想用registerClassAlias或其他任何方式做的事情?
感谢!!! 亚光
答案 0 :(得分:3)
首先,您需要加载资产符号并保留对加载程序的引用。
assetsLoader.load(new URLRequest("assets.swf"));
加载完成后,您可以在加载的SWF ApplicationDomain
中检索资产。
var assetClass:Class = assetsLoader.contentLoaderInfo.applicationDomain.getDefinition("MyAssetClass") as Class;
var asset:* = new assetClass();
注意: MyAssetClass
应在assets.swf
内定义!
如果您想了解更多信息,you can read this article。