Каков наилучший способ переноса приложения с ActionScript2 на ActionScript3? - PullRequest
3 голосов
/ 19 сентября 2008

Наше приложение написано на ActionScript2 и содержит около 50 000+ строк кода. Мы хотим перенести его на ActionScript3 и пытаемся выяснить, какие у нас есть варианты. Должны ли мы делать это вручную или мы можем использовать конвертер, и какие проблемы мы можем ожидать?

Ответы [ 4 ]

1 голос
/ 19 сентября 2008

Недавно я задал похожий вопрос, который может оказаться полезным:

Как лучше всего перенести существующий проект из Flash 7 / AS2 во Flex / AS3?

Некоторые второстепенные задачи могут быть автоматизируемыми (в основном исправление объявлений пакетов), но, кроме этого, я сомневаюсь, что это может быть автоматизировано.

1 голос
/ 19 сентября 2008

У меня всегда было плохое время при переходе с AS2 на AS3, в основном из-за того, что не существует хороших автоматических сценариев для всего процесса, и, откровенно говоря, это скучно. В долгосрочной перспективе обновление старого кода AS2 для проектов, которые все еще активны и обновляются сами по себе, - отличная идея, AS3 - просто лучший язык, а AVM2 работает быстрее, чем AVM1.

Вы можете использовать скрипт, чтобы убрать подчеркивания во многих свойствах, добавить информацию о пакете, выполнить некоторые базовые операции импорта, но я обнаружил, что, вероятно, лучший способ для меня - просто сбросить ваш основной файл. или управляющий класс в строку класса документа в вашем FLA, закомментируйте все, кроме конструктора, и просто начинайте конвертировать и снимать комментарии по мере продвижения. Это может показаться медленным, но я чувствую, что попытка выяснить 40 различных ошибок компилятора может оказаться медленнее.

Удачи, это необходимая работа, но не веселая работа.

0 голосов
/ 28 ноября 2011

Некоторые онлайн-сайты доступны для преобразования AS2 в код AS3. Но по моему прошлому опыту это было не хорошо и 100% результат. В AS3 многое изменилось. Так что некоторые части вы можете автоматизировать, и большинство из вас делают это вручную. если вы использовали _global в AS2, вы можете объявить один класс с именем «_global», который будет содержать статические переменные, которые использовали переменные _global.XXXX в AS2.

Просто подумайте о нескольких способах облегчить использование функций ООП. Я приведу один пример для глобальных переменных ...

0 голосов
/ 19 сентября 2008

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

Например, ссылка на _level0.variableName в AS2 может указывать на movieClip на уровне _root, на FlashVar, отправленный из контейнера HTML, или на объект, созданный самим кодом. Там нет реального способа узнать. (Вы не можете искать переменную в коде, так как она также может быть рассчитана или прочитана извне.

У вас должна быть очень веская причина для такого преобразования. Если AS2 по какой-то причине больше не подходит, возможно, вам следует попытаться решить проблему, а не переходить на AS3 только потому, что у него есть небольшая нужная функция, которая вам нужна.

...