2010-12-08 76 views
0

我有一个SWC,其中包含我的项目的一些资产。在这个SWC中也是一个静态AS文件,它包含库中每个图像的Class声明。是否可以在CSS声明中嵌入Flex资产类?

例如,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> 

此刻,这个特殊的语法是无效的 - 我得到“。”的编译错误。样式声明中的字符。

是否有另一种方法做到这一点没有嵌入路径(例如upIcon: Embed(source="/assets/foo/bar/img1.jpg"))在CSS?

+1

看来你想嵌入一个类的实例。我不确定这是否可能。但是,请看一下ClassReference以利用样式表中的类。 – JeffryHouser 2010-12-08 18:06:41

回答

3

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

在你的榜样,

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

应该作品。

相关问题