0

我创建了一个库项目,其中包含一个嵌入图像,如下所示AssetLib

   [Embed(source="Frame_Title_BG.png")]
   private var Frame_Title_BG:Class;

然后我将 swc 导出到我现有的 actionscript 项目中。所以我假设 img Frame_Title_BG应该在内存中,但是当我尝试创建类时

var assetCLs:Class = getClassByAlias('Frame_Title_BG');
var asset = new  assetCLs();

我无法得到assetCLs;

在我看来,所有的类都应该在 applicationDomain 中。

那么如何在我当前的项目中使用该类?

4

2 回答 2

1

作为替代方案,您可以将资产定义为公共静态变量,然后您应该能够执行以下操作:

public class AssetLib
{
    [Embed(source="Frame_Title_BG.png")]
    public static var Frame_Title_BG:Class;
}

然后在另一个班级:

var frameBG:Bitmap = new AssetLib.Frame_Title_BG() as Bitmap;
addChild( frameBG );

甚至

var frameBG:Bitmap = new AssetLib['Frame_Title_BG']() as Bitmap;
addChild( frameBG );

只是另一种选择。

于 2013-01-16T05:07:26.250 回答
0

在嵌入类名之前添加“ClassHolder_”:

    var imageClass:Class= ApplicationDomain.currentDomain.getDefinition('AssetLib_Frame_Title_BG') as Class;
    var bitmap:DisplayObject = new imageClass();
    addChild(bitmap);
于 2013-01-15T09:23:36.483 回答