2010-12-08 16 views
0

私は自分のプロジェクトにいくつかの資産を含むSWCを持っています。このSWC内には、ライブラリ内の各画像のクラス宣言を含む静的なASファイルもあります。例えばFlex AssetsクラスをCSS宣言に埋め込むことは可能ですか?

、SWFは、これらの画像が含まれます。

/assets/foo/bar/img1.jpg 
/assets/foo/bar/img2.jpg 

をそしてそれはこのようなものですASファイルが含まれます。私は、これら2つを使用してCSS宣言を作成したいと考え

[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; 

をイメージはありますが、完全なパスを埋め込むことは望ましくありません。 のようなものをのようにすることは可能ですか?

<mx:Style> 
    .mySampleStyle { 
     upIcon: Assets.IMG_1; 
     downIcon: Assets.IMG_2; 
    } 
</mx:Style> 

この特定の構文は無効です。「。スタイル宣言の文字。

には、のようにパスを埋め込む別の方法がありますか(例:upIcon: Embed(source="/assets/foo/bar/img1.jpg")

+1

あなたはクラスのインスタンスを埋め込みたいと思われます。それが可能かどうかはわかりません。しかし、ClassReferenceを見て、スタイルシート内のクラスを活用してください。 – JeffryHouser

+0

@Flextras、良い点 - 私はClassReferenceについて忘れました。 Assets.IMG_1の定義が見つかりませんでした "というエラーが表示されます。クラスをASファイルまで追跡することができないと思う。私はおそらく、CSSではなくMXMLタグ宣言にアイコンを埋め込むことに固執するでしょう。 – bedwyr

+0

@Flextras、これを回答として投稿したい場合は、私はそれを受け入れます。私はこれを達成するために他の何かを見つけることができません。 – bedwyr

答えて

3

CSSでClassReferenceを使用してClassクラスのクラスメンバを参照するためにhereと記述したように、 "。"の代わりに "_"を使用する必要があります。使用するフィールドの完全修飾名で指定します。あなたの例では

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

なければならない作品。

関連する問題