1

我有一个项目,我将带有资产符号 (assets.swf) 的外部文件加载到主 swf 中,然后在需要时将符号添加到显示中。我希望与每个符号关联的类在运行时链接到文档类中的自定义类。我真的很想避免通过符号属性在资产 fla 中定义自定义类。

在 AS2 中,这可以通过 Object.registerClass 实现,如下所示:

Object.registerClass("assetID",AssetClass);
this.attachMovie("assetID", "asset_mc", 0);

因此,该符号独立于它在运行时链接到的类。

在 AS3 中,我看到了对 registerClassAlias 的引用,但在线可用的可靠文档很少。

有谁知道用 registerClassAlias 或任何其他方式做我想做的事情的方法?

谢谢!!!马特

4

1 回答 1

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

如果您想了解更多信息,可以阅读这篇文章

于 2012-07-30T16:21:45.390 回答