2013-02-26 64 views
5

我試圖將資產添加到Flex庫.swc文件中,但沒有成功。如何將資產添加到Flex庫?

庫項目中的assets文件夾包含一個gif文件。該項目還包含一個顯示圖像的Spark Group組件。

當我嘗試在不同的項目中使用此組件時,圖像不可見。 如果我從資源庫項目複製到主項目的圖像是可見的。

我加了Flex庫中的資產文件夾構建路徑

爲什麼不是由SWC包含的資產?

謝謝!

附截圖:enter image description hereenter image description here

+2

我懷疑圖像包括在SWC;但不包含在使用SWC的SWF中。 SWC是一個zip文件,因此您可以將其解壓縮以查看您的圖像是否在該文件中。如果您沒有嵌入資產;我懷疑Flex編譯器不會把它放到你的SWF文件中。 – JeffryHouser 2013-02-26 21:28:50

+0

您是否找到答案?另一種方法是將assets資源文件夾添加爲項目源,以便您可以選擇'Package Contents'中的文件,對嗎? – Nemi 2015-11-27 04:06:36

回答

0

這取決於你如何試圖從庫中訪問圖像。

對於它的工作,你需要在你的情況下使用@Embed(「facebook.gif」) - 路徑中沒有使用「assets」文件夾。因此,除非嵌入它,否則將無法從應用程序訪問它,並且只使用該文件的名稱進行嵌入。

+0

我僅在mxml圖像組件中的圖庫項目中使用該圖像。然後我在主項目中使用組件 – 2013-02-27 18:07:09

+0

如果將圖像組件上的源設置爲圖像的路徑,它將不起作用。您需要將其設置爲嵌入。因爲圖像將包含在SWC中,但您無法通過其路徑使用該圖像。這正是我在回答中所要說的。 – 2013-02-28 08:51:23

2

生產項目創建庫項目

package resources 
{ 
    public final class IconResource 
    { 
     //list embedded items - you can embed any files, mp3 etc 

     [Embed (source="../assets/facebook.gif")] 
     public static const icon_facebook:Class;  

     public function IconResource() 
     {} 
    } 
} 

類使用:

import resources.IconResource; 

var img:Image = new Image(); 
img.source = IconResource.icon_facebook; 

<fx:Script> 
    <![CDATA[ 
    import resources.IconResource; 
    ]]> 
</fx:Script> 

<s:Image source="{IconResource.icon_facebook}"/> 
相關問題