![]() |
Вопрос по регистрации всех классов приложения
Всем доброго времени суток!
Дело собственно вот в чем, при инициализации приложения я загружаю данные с сервера. Беру псевдоним каждого класса и создаю объекты в своем приложении. Перед этим я регистрирую все классы, которые есть в моем приложении. Для этого создал класс Код AS3:
Вопрос собственно вот в чем, как сделать так чтобы не вбивать каждый раз вручную новый класс и его псевдоним. Я думал может в самом классе сделать статическую переменную типа Код AS3:
|
В SDK есть такая утилита, называется swfdump вызываете ее с вашей флешкой и получаете список всех классов, например, так:
Код:
$ ./swfdump -noglyphs ./foo.swf | grep "<DoABC" | grep -oP "'[^']+'"флешку нужно компилировать для отладки, потому что иначе DoABC теги сливаются в один. |
Не-не... тут тоже что-то типа "вручную"... надо заранее откомпилять...
Просто, я думал, может можно как-то типа указать пакет Код AS3:
Код AS3:
|
А зачем вообще нужна эта регистрация классов, что это дает ? где это может понадобится и т.п. ? Я просто сколько уже пишу, но ни разу не пользовался этим.
|
Обычно класс регистрируют с тем же именем, которое у него во флеше, т.е.:
Код AS3:
Если вы можете как-то выделить классы в группу, и, например, заставить их всех унаследовать функцию, которая делает то, что показано выше - процесс будет более автоматичным. etc когда-то писал класс, который в рантайме находит все классы во флешке. Но я думаю, проблема будет в том, что если делать это абсолютно авотоматически, то будет очень много лишнего. Еще вариант - сложите все классы, которые нуждаются в сериализации в одну папку, и в билд скрипте на основании содержимого папки генерируйте класс, который регистрирует алиасы. (Я бы так делал, скорее всего). |
Цитата:
Вот пользователь запускает ваше приложение... игру или еще что... Все данные для инициализации хранятся на серваке, а может и локально... Вы загружаете эти данные и.... Вариант №1 Код AS3:
Код AS3:
Код AS3:
Спасибо wvxvw за предложенные варианты, буду пробовать. |
getDefinitionByName
Добавлено через 58 секунд P.S. Классы должны быть в конечной swf (вкомпилированы или загружены). |
Цитата:
Добавлено через 11 часов 19 минут Что-то не совсем получается с getDefinitionByName. Выдает ошибку что переменная не определена. Код AS3:
Код AS3:
Код AS3:
Для примера с сайта адоба не нужно ничего выдумывать... там все чисто работает... Почему? И как с этим бороться? |
Еще раз:
Цитата:
Цитата:
Цитата:
|
Tayrus
Код AS3:
|
| Часовой пояс GMT +4, время: 10:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.