2015-08-31 4 views
1

Я уже знаю кодировку части рабочего стола actionscript. Недавно я переключил IDE на FlashDevelop. Я не могу понять, как скомпилировать swf-файл actionscript в FlashDevelop.Как скомпилировать actioncript swf в FlashDevelop

Я пытаюсь использовать Инструменты - Инструменты Flash - Создайте текущий файл. Но это вызывает ошибку: Error: Type was not found or was not a compile-time constant: File. Возможно, это потому, что мой проект является проектом AIR, и я использую AIR API для своего рабочего.

Я также пытаюсь скомпилировать рабочий swf с помощью amxmlc через командную строку. Он успешно компилируется. Но AIR Debug Launcher падает при выполнении рабочей части swf. Swf, который я скомпилировал вручную, почти вдвое меньше прежнего, созданного для меня Flash Builder. Я догадываюсь, что я скомпилировал версию swf версии, чтобы ADL не смог отлаживать, а затем разбился.

Как я могу скомпилировать рабочий swf в FlashDevelop для отладки или публикации выпуска проекта?


Update:

Я считаю, что команда «Построить текущий файл» в меню является функция в FlashDevelop называется быстрой сборки. По умолчанию он будет компилировать текущий файл для корневого каталога проекта без аргументов. Мы можем добавить аргументы компилятора, используя тег ASDoc @mxmlc (см. Ссылки ниже для подробностей), чтобы он скомпилировал рабочий swf для нас. Но в настоящее время в FD 5.0.1 это кажется ошибкой, что @mxmlc +configname=air не компилирует воздушные swfs. Я нашел обходное решение, используя @mxmlc -noplay -library-path=[Flex_SDK]\frameworks\libs\air\airglobal.swc -library-path=[Flex_SDK]\frameworks\libs\air\airframework.swc, но путь не может быть окружен цитатой, иначе FD покажет ошибку. Я могу изучить источник и попытаться его исправить.

ссылки:

+0

У меня возникли проблемы с компиляцией рабочего swf с использованием 'File' и никогда не выяснял этого. Если вы это выясните, напишите свой ответ здесь. :) – Aaron

ответ

1

Компиляция работника ничем не отличается от компиляции любого SWF, вы будете нуждаться в отдельный проект для компиляции работника, если ваш главный рабочий загружает себя как рабочий.

Поскольку FlashDevelop не управляет зависимостями между проектами, вам придется скомпилировать его вручную, а затем основного рабочего. Вы можете автоматизировать его марки или какой-либо системы сборки вне FlashDevelop, или использовать Pre/Post сборки командной строки

Кстати amxmlc это просто ярлык для «mxmlc + configname = воздуха», -debug = True будет компилировать отлаживать version

Я могу заверить, что Файл может использоваться в рабочем состоянии, в основном это всего лишь некоторый байт-код actioncript, который загружает некоторый другой байт-код actioncript и запускает его в отдельном потоке, поэтому любой swf может использоваться как рабочий, за исключением случаев, когда он не использует класс flash.system.Worker, он не сможет общаться с другими работниками или останавливаться сам. Подводя итог, ограничения и проблемы скорее связаны с передачей между потоками и их синхронизацией.Например, имея возможность копировать только сложные объекты с помощью сериализации AMF3, передавать только базовые типы/объекты, поскольку параметры будут препятствовать взаимодействию со списком отображения от неосновных работников.

Не забывайте обновлять FlashDevelop/AIR SDK для поддержка лучших рабочих

+0

В чем разница между amxmlc/mxmlc и adl, которые использует FB? – Joe

Смежные вопросы