2013-02-26 18 views
5

Próbuję dodać zasoby do pliku .swc biblioteki elastycznej bez powodzenia.Jak dodać zasoby do biblioteki Flex?

Folder zasobów w projekcie bibliotecznym zawiera plik gif. Projekt zawiera także komponent Spark Group, który wyświetla obraz.

Kiedy próbuję użyć tego komponentu w innym projekcie, obraz nie jest widoczny. Po skopiowaniu folderu zasobów z projektu biblioteki do głównego projektu obraz jest widoczny.

dodałem folder aktywa w Bibliotece Flex Build Path

Dlaczego nie są to aktywa zawarte przez SWC?

Dziękujemy!

Załączone screeny: enter image description hereenter image description here

+2

Podejrzewam, że obraz jest wliczone w SWC; ale nie jest zawarty w SWF, który używa SWC. SWC jest plikiem zip, więc możesz go rozpakować, aby zobaczyć, czy jest tam twoje zdjęcie. Jeśli nie osadzasz zasobu; Podejrzewam, że kompilator Flex nie umieści go w wynikowym pliku SWF. – JeffryHouser

+0

Czy znalazłeś odpowiedź? Alternatywą byłoby dodanie folderu źródłowego zasobów jako jednego ze źródeł projektu, aby można było wybrać pliki w "Zawartość opakowania", prawda? – Nemi

Odpowiedz

0

To zależy od tego, jak próbujesz uzyskać dostęp do obrazu z biblioteki.

Aby to działało, musisz użyć @Embed ("facebook.gif") w twoim przypadku - nie używaj folderu "assets" w ścieżce. Tak więc nie będziesz mieć dostępu do niego z poziomu swojej aplikacji, chyba że ją osadzisz, a do osadzania używasz tylko nazwy pliku.

+0

Używam obrazu tylko w projekcie bibliotecznym w ramach komponentu mxml componnent. Następnie używam componentnent w głównym projekcie –

+0

Jeśli ustawisz źródło na komponencie obrazu jako ścieżkę do obrazu, to nie zadziała. Musisz ustawić go na osadzanie. Ponieważ obraz zostanie uwzględniony w SWC, ale nie będziesz mógł użyć ścieżki do niego. Właśnie to staram się powiedzieć w mojej odpowiedzi. –

2

Tworzenie klasy w projekcie biblioteki

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() 
     {} 
    } 
} 

Korzystanie z projektów produkcyjnych:

import resources.IconResource; 

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

lub

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

<s:Image source="{IconResource.icon_facebook}"/> 
Powiązane problemy