2010-12-08 80 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"); 
} 

應該作品。

相關問題