是否可以在CSS声明中嵌入Flex Assets类?

时间:2010-12-08 17:51:06

标签: css flex embed assets

我有一个SWC,其中包含我项目的一些资产。在此SWC中,还有一个静态AS文件,其中包含库中每个图像的类声明。

例如,SWF包含以下图像:

/assets/foo/bar/img1.jpg
/assets/foo/bar/img2.jpg

它包含一个AS文件,如下所示:

[Embed(source="/assets/foo/bar/img1.jpg")]
public static const IMG_1:Class;

[Embed(source="/assets/foo/bar/img2.jpg")]
public static const IMG_2:Class;

我想创建一个使用这两个图像的CSS声明,但我不想嵌入完整的路径。是否可以做喜欢这个?

<mx:Style>
    .mySampleStyle {
        upIcon:   Assets.IMG_1;
        downIcon: Assets.IMG_2;
    }
</mx:Style>

目前,这种特殊语法无效 - 我收到了“。”的编译错误。风格宣言中的字符。

是否有其他方法可以在中使用在CSS中嵌入路径(例如upIcon: Embed(source="/assets/foo/bar/img1.jpg"))?

1 个答案:

答案 0 :(得分:3)

如前所述here为了在CSS中使用ClassReference引用类型Class的类成员,您应该使用“_”而不是“。”。在您要使用的字段的完全限定名称中。

在您的示例中,

<mx:Style>
.mySampleStyle {
    upIcon:   ClassReference("Assets_IMG_1");
    downIcon: ClassReference("Assets_IMG_2");
}

应该有效。