AS3 - 如何从外部SWF加载MovieClip资源

时间:2017-09-07 16:41:34

标签: actionscript-3 flash actionscript

我从FLA导出了一个带有天气图标(如MovieClips)的SWF文件。链接名称为" IconX" (其中X是0到25之间的图标编号)。

我想在其他模板上使用这些图标...如何将特定的MofieClip资源加载到新模板中?

带有图标的SWF名为TP1023.swf,位于其他模板所在的位置。

1 个答案:

答案 0 :(得分:-1)

最简单的方法是在加载的SWF中设置一个方法,该方法将返回您要求的内容。 即:

public function getAsset(classId:String):DisplayObject {
    var c:Class = Class(getDefinitionByName(classId));
    if (!c) {
        trace("ERROR: class " + classId + " not found.");
        return null;
    }
    var d:DisplayObject = new c() as DisplayObject;
    if (!d) {
        trace("ERROR instantiating " + classId);
        return null;
    }
    return d;
}

我认为它必须是通用的,所以它返回一个DisplayObject。您也可以使用其他类型。 加载SWF并正确初始化后,您可以检索所需的任何元素:

var c:MovieClip = loadedSwf.getAsset("MyAssetId") as MovieClip;