我有一个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")
)?
答案 0 :(得分:3)
如前所述here为了在CSS中使用ClassReference引用类型Class的类成员,您应该使用“_”而不是“。”。在您要使用的字段的完全限定名称中。
在您的示例中,
<mx:Style>
.mySampleStyle {
upIcon: ClassReference("Assets_IMG_1");
downIcon: ClassReference("Assets_IMG_2");
}
应该有效。