使用SWC资产时需要额外的包装器或装饰器类?

时间:2009-09-10 17:22:55

标签: flex actionscript-3 flex3 flashdevelop

我还在学习如何使用Flex SDK进行编译。我正在学习如何使用SWC文件和[EMBED]语句将我的资产拉入我的应用程序。

使用Flash IDE,我可以将库资源链接到一个类,它会自动嵌入到我的自定义类中。所以这是1类中的1个资产。使用Flex SDK和SWC文件,似乎我只能*在变量级别上拉资产,所以我最终得到了包含另一个类的自定义类 - 这意味着我有一个额外的包装器/ decorator(无论你想要什么)它都是我在使用Flash IDE时没有的类。

这是人们通常做的吗?这看起来不是多余的吗?

  • 我读过Colin Moock的'Essential Actionscript 3.0',在那里他提到了一些关于在类级别嵌入SWF作为二进制数据...... WTF。

2 个答案:

答案 0 :(得分:0)

与Flash库资产关联的类必须包含在同一SWC中。

然后,当SWC由Flash编译时,它会找到关联的类并将它们绑定在一起吗?

如果是这种情况,那么艺术品和代码会在同一个SWC文件中耦合在一起吗?我认为Flex w / SWC很棒,因为艺术品解耦 ......?

编辑:这不起作用。我可以实例化SWC资产的唯一方法是它是否继承自基类,所以我似乎无法将自定义类与SWC资产相关联????? !!!!!! < / em>的

答案 1 :(得分:0)

要将符号直接关联到类,请执行此操作。这适用于所有类型的子类(只要它们扩展适当的基类):

package foo {

    import flash.display.Sprite;    

    [Embed(source='../../../../../../assets/Assets.swf', symbol='InfoPopup')]
    public class InfoPopup extends Sprite {

        public function InfoPopup(){
            trace("constructor!");
        }

    }

}