Почему Adobe Flex удаляет ActionScript из Flash при компиляции?

StackOverflow https://stackoverflow.com/questions/1251725

Вопрос

Я хотел, чтобы анимация отправляла пользовательские события по мере ее цикла.Стало очевидно, что даже трассировка() не запущена.После некоторых поисков я нашел в Adobe следующее:
http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html
«Если SWF-файл содержит какой-либо код ActionScript, Flex печатает предупреждение во время компиляции, а затем удаляет ActionScript из символа внедрения.Это означает, что вы можете встроить только сам символ».

Я также нашел обходной путь Гранта Скиннера по адресу:
http://gskinner.com/blog/archives/2007/03/using_flash_sym.html

Итак, я могу продолжить, но мне все еще интересно.Почему mxmlc удаляет ActionScript из скомпилированных ресурсов Flash при встраивании их символов в приложения Flex с помощью метатегов?

Это было полезно?

Решение

Извините за очень поздний ответ, но поскольку я написал этот код, я могу ответить.:-)

По сути, есть два ответа.

  1. Для старых SWF-ресурсов, содержащих байт-код AS2, было слишком сложно преобразовать байт-код в AS3.Я предполагаю, что это не тот вариант использования, который вас волнует в любом случае.

  2. Для SWF-ресурсов, связанных с байт-кодом AS3, основная проблема заключается в том, что больше нет информации о зависимостях, поэтому, когда мы клонируем актив, мы понятия не имеем, что еще нам нужно будет извлечь.Поскольку Flash может экспортировать SWC, я решил, что это гораздо более надежный рабочий процесс для переноса ресурсов с кодом из Flash во Flex.(Загляните внутрь файла SWC, и вы увидите файл XML, описывающий зависимости, используемые компоновщиком.)

Другие советы

Вероятно, это проблема с производительностью.Чтобы загрузить SWF-ресурс, не удаляя его, загрузите его динамически с помощью SWFLoader или Loader, а не встраивайте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top