Можно ли внедрить класс Flex Assets в объявление CSS? - PullRequest
0 голосов
/ 08 декабря 2010

У меня есть 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, которое использует эти два изображения, но я не хочу вставлять полный путь.Можно ли что-то сделать , например this?

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

В данный момент этот синтаксис недействителен - я получаю ошибки компиляции для "."символ в объявлении стиля.

Есть ли другой способ сделать это без встраивания пути (например, upIcon: Embed(source="/assets/foo/bar/img1.jpg")) в CSS?

1 Ответ

3 голосов
/ 10 апреля 2011

Как указано здесь , чтобы ссылаться на член класса типа Class с помощью ClassReference в CSS, вы должны использовать «_» вместо «.» в полном имени поля, которое вы хотите использовать.

В вашем примере,

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

должно работать.

...