Я вот уже пару дней бьюсь головой об стену и надеюсь, что кто-нибудь сможет направить меня в правильном направлении.
Работаю в очень большомПриложение Flash, ранее в AS2 / CS3, у меня была бы установка, подобная следующей:
root.swf
-- modules
---- code_a.swf
---- code_b.swf
-- views
---- view_a.swf
---- view_b.swf
Используя _exclude.xml
файлы, я мог исключить классы, определенные в code_a
и code_b
из выходного файла.SWF view_a
и view_b
.root.swf
будет отвечать за загрузку модулей кода до view_a
или view_b
, обеспечивая, чтобы определения классов, от которых view_a
и view_b
зависели, существовали.
Проблема
Мы недавно перешли на использование Actionscript 3 / CS5.*_exclude.xml
файлы больше не существуют.Чтобы получить ту же функциональность, что и выше, я попробовал следующее:
Моя установка теперь выглядит примерно так:
root.swf
-- modules
---- class_a.as
---- class_b.as
-- views
---- view_a.swf
---- view_b.swf
Используйте mxmlc
для компиляции root.swf
, view_a.swf
и view_b.swf
, передав ему -externs
опцию, чтобы указать классы, которые будут загружены извне (два класса в modules
).Это гарантирует, что класс исключен из скомпилированного SWF.
Используйте compc
для компиляции class_a.as
и class_b.as
в classes.swf
, используя -directory=true
для доступа к library.swf
для внешней загрузки.
Однако, когда я пытаюсь запустить одиниз двух файлов представлений, которые зависят от classes.swf
, я получаю ошибки времени выполнения, говорящие мне, что определение класса отсутствует.
Текущий обходной путь
Я разработалОбходной путь, который в настоящее время меня не устраивает, поскольку он обратен к модульному подходу, который я ранее использовал:
Вместо загрузки модулей кода я статически связываю все определения классов, требуемые дочерними фильмами, в root.swf
,При сборке root.swf
я использую параметр -link-report
mxmlc
, чтобы предоставить список включенных классов.При создании дочерних SWF-файлов я могу использовать -load-externs
, чтобы гарантировать, что уже существующие определения классов не будут включены в выходные данные компиляции.
Есть ли способ, которым кто-либо знает о репликации AS2 / _excludeXML-решение, которое у меня было с использованием AS3 / CS5?