0

我有一个 SWC,其中包括我的项目的一些资产。在这个 SWC 中还有一个静态 AS 文件,其中包含库中每个图像的类声明。

例如,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 的情况下执行此操作?

4

1 回答 1

3

如此处所述为了在 CSS 中使用 ClassReference 来引用 Class 类型的类成员,您应该使用“_”而不是“。” 在要使用的字段的完全限定名称中。

在你的例子中,

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

应该有效。

于 2011-04-10T12:41:24.333 回答