2013-02-26 11 views
5

sto cercando di aggiungere le risorse in una libreria flessibile .swc file senza successo.Come aggiungere asset a una libreria Flex?

La cartella attivi nel progetto di libreria contiene un file gif. Il progetto contiene anche un componente Spark Group che visualizza l'immagine.

Quando provo a utilizzare questo componnent in un progetto diverso l'immagine non è visibile. Se copio la cartella delle risorse dal progetto della biblioteca al progetto principale, l'immagine è visibile.

ho aggiunto la cartella risorse nella libreria di Flex Build Path

Perché non sono i beni contenuti dal SWC?

Grazie!

screenshots allegati: enter image description hereenter image description here

+2

ho il sospetto che l'immagine è incluso nel SWC; ma non è incluso nel file SWF che utilizza SWC. Un SWC è un file zip, quindi puoi decomprimerlo per vedere se la tua immagine è lì dentro. Se non si sta incorporando la risorsa; Sospetto che il compilatore Flex non lo inserirà nel tuo SWF risultante. – JeffryHouser

+0

Hai trovato una risposta? Un'alternativa sarebbe quella di aggiungere una cartella di origine delle risorse come una delle fonti del progetto, quindi è possibile selezionare i file in "Contenuto della confezione", giusto? – Nemi

risposta

0

Dipende da come si sta cercando di accedere all'immagine dalla libreria.

Per farlo funzionare, è necessario utilizzare @Embed ("facebook.gif") nel vostro caso - nessuna cartella "attività" utilizzato in cammino. Pertanto, non potrai accedervi dalla tua applicazione a meno che non la incorpori e utilizzi solo il nome del file per l'incorporamento.

+0

io uso l'immagine solo nel progetto di libreria all'interno di un componente immagine mxml. allora io uso il componnent nel progetto principale –

+0

Se si imposta l'origine del componente dell'immagine di essere il percorso dell'immagine, non funzionerà. Devi impostarlo su un embed. Poiché l'immagine sarà inclusa nel SWC, ma non sarà possibile utilizzarla tramite un percorso. Questo è praticamente ciò che sto cercando di dire nella mia risposta. –

2

Creare classe nel progetto di libreria

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

utilizzo in progetti di produzione:

import resources.IconResource; 

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

o

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

<s:Image source="{IconResource.icon_facebook}"/> 
Problemi correlati