Необходим ли дополнительный класс-оболочка или класс декоратора при использовании ресурсов SWC? - PullRequest
1 голос
/ 10 сентября 2009

Я все еще учусь компилировать с помощью Flex SDK. И я учусь использовать SWC-файлы и операторы [EMBED], чтобы использовать мои ресурсы в моем приложении.

С помощью Flash IDE я могу связать ресурс библиотеки с классом, и он автоматически встроится в мой пользовательский класс. Так что это 1 актив в 1 классе. С файлами Flex SDK и SWC кажется, что я могу * извлекать ресурсы только на переменном уровне, поэтому я получаю свои собственные классы, содержащие еще один класс - это означает, что у меня есть дополнительная оболочка Класс decorator (как бы вы это ни называли), которого у меня не было при использовании Flash IDE.

Это то, что люди обычно делают? Разве это не кажется лишним?

  • Я прочитал «Essential Actionscript 3.0» Колина Мука, ​​где он упоминает кое-что о внедрении SWF на уровне класса в виде двоичных данных ... WTF.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2009

Чтобы связать символ непосредственно с классом, сделайте это. Это работает и для всех видов подклассов (если они расширяют соответствующий базовый класс):

package foo {

    import flash.display.Sprite;    

    [Embed(source='../../../../../../assets/Assets.swf', symbol='InfoPopup')]
    public class InfoPopup extends Sprite {

        public function InfoPopup(){
            trace("constructor!");
        }

    }

}
0 голосов
/ 10 сентября 2009

Класс, связанный с активом библиотеки Flash, должен содержаться в том же SWC.

Затем, когда SWC компилируется Flash, он находит связанный класс и связывает их вместе?

Если это так, то обложка и код объединены в одном файле SWC? Я думал, что Flex w / SWCs - это здорово, потому что художественное произведение было отделено ...?

РЕДАКТИРОВАТЬ: Это не работает. Единственный способ, которым я могу создать экземпляр ресурса SWC, - это если он наследуется от базового класса , поэтому кажется, что я не могу связать пользовательские классы с активами SWC ????? !!!!!!

...