在加载的SWF中为actionscript创建符号实例

时间:2011-05-05 14:02:30

标签: flash actionscript-3

在flash项目中,我正在加载一个外部SWF,它的库中为ActionScript导出了一些符号。我需要创建这些符号的实例,但是,由于它是一个加载的SWF,我没有直接访问那些类。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

嗯,有几种方法可以做到这一点。

最好的可能是:

var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener("complete", ldrDone);
ldr.load(new URLRequest("external.swf"));

function ldrDone(evt:*):void
{
    var externalclass:Class = evt.target.applicationDomain.getDefinition("ExternalClass") as Class;
    var temp:MovieClip = new externalclass();
    addChild(temp);
}

其中ExternalClass是外部swf中的导出类名。

或者,只需在外部电影中使用一个功能,您可以根据需要返回特定对象。

喜欢把它放在你的外部swf中:

function getThisClass():*
{
     return new MyClass();
}

这不像第一个那样令人敬畏,但也可能导致其他想法。

希望这有帮助。