Как лучше всего преобразовать приложение AS1/AS2 в приложение ActionScript3?
-
05-09-2019 - |
Вопрос
У меня есть программа, состоящая из нескольких SWF.AS2-SWF загружает несколько AS1-SWF.Это дерьмовая программа.Я хотел бы указать графический интерфейс в MXML и, возможно, выполнить рефакторинг некоторого кода для AS3.Однако преобразование всех более чем 300 символов в AS3 или что-то еще невозможно.
Какие у меня есть варианты перехода на AS3/Flex/MXML?Приложение очень простое, только еще и довольно большое.Он состоит только из кнопок, фонов и текстов-вниманий.Все тексты кнопок находятся в файлах XML.
Я хочу как можно скорее превратить это в красивый код, но при этом контролируемый, чтобы код выглядел следующим образом:
- легко обновляемый/обслуживаемый,
- удобочитаемый
- обучаемый (поэтому я могу поручить обновление кому-то, кто умеет писать только сценарии AS3 или даже MXML).
Конечно делаю это по своей инициативе, если это займет больше недели, времени я не смогу найти.
С уважением, Юрген
Решение
Это может помочь:
http://flexman.info/2009/03/29/as3converter-an-ant-task-small-collection-of-as3/
В основном это код AS2, поэтому о редактировании FLA не может быть и речи.Но вам обязательно стоит изучить JSFL.
Есть несколько довольно хороших сценариев, которые уже имеют дело с чем-то вроде этого:
http://bumpslide.com/blog/2009/03/07/jsfl-class-generator/
Эта команда делает, что она просматривает вашу библиотеку и находит все элементы библиотеки, которые имеют пользовательское имя класса связи.Если класс расширяет flash.display.movieclip (или если базовый класс пуст), он проверяет, существует ли классфил, а если нет, это создает его для вас.Когда это происходит, сценарий рассматривает все элементы на временной шкале и добавляет соответствующие свойства в ваш класс.Если эти клипы являются экземплярами других компонентов, они будут напечатаны как таковые, а соответствующие операторы импорта будут автоматически добавлены в ваш класс.Если ваш компонент настроен на расширение некоторого другого класса (например, com.bumpslide.ui.button), класс не будет сгенерирован.Файлы классов будут записаны в правильное местоположение пакета внутри первого пользовательского пути класса, определенного в ваших настройках публикации.
Другие советы
Юрген, я сочувствую тебе...это звучит как большая работа.
Какие у вас проблемы?все ли SWF-файлы можно рассматривать как разные классы?Есть ли много совпадений в логике или каждый объект имеет определенную роль?
Я думаю, что наличие такого большого количества разных SWF-файлов может привести к проблемам с определением области действия> какой SWF с каким взаимодействует.возможно, вы сможете настроить что-то с помощью as3, которое использует существующие части, а затем попытаться создать фасад поверх существующего кода> использовать существующую логику в SWF-файлах и выполнить визуальную часть через mxml.кроме этого, все, что я могу посоветовать, это перестроить.вам также может понадобиться декомпилятор SWF, если вам не хватает некоторых исходных файлов fla.