Pergunta

O aplicativo é escrito em ActionScript2 e tem cerca de 50.000+ linhas de código. Queremos porta-lo para ActionScript3 e estamos tentando descobrir o que nossas opções são. Nós temos que fazê-lo manualmente ou podemos usar um conversor, e quais os problemas que podemos esperar?

Foi útil?

Solução

Eu fiz uma pergunta semelhante há pouco que você pode achar útil:

Qual é a melhor abordagem para mover um projeto pré-existente de flash 7 / AS2 para Flex / AS3?

Algumas tarefas menores pode ser automatable (fixação declarações de pacotes, principalmente), mas diferente do que eu duvido que poderia ser automatizado.

Outras dicas

Eu sempre tive um momento ruim das coisas ao converter de AS2 para AS3, principalmente porque não é bom scripting automatizado para todo o processo e, francamente, é chato. No longo prazo, a atualização do código AS2 velho em projetos que ainda estão ativos e sendo-se atualizado é uma ótima idéia, AS3 é apenas uma linguagem melhor e AVM2 é apenas em linha reta até mais rápido do que AVM1.

Você pode usar um script para tirar os sublinhados em um monte de propriedades, adicione a informação de pacotes, fazer algumas das importações de base, mas o que eu encontrei é provavelmente a melhor maneira para mim é simplesmente despejar o seu principal ou classe gerente para a linha de classe de documento em sua FLA, comentar tudo, mas o construtor para fora e apenas iniciar a conversão e un-comentando que você vá. Pode parecer lento, mas eu sinto como se tentando descobrir 40 erros do compilador diferentes ao mesmo tempo pode acabar sendo mais lento.

Boa sorte, é trabalho necessário, mas não trabalho divertido.

Eu não acho que você pode sempre usar um conversor automático para esta tarefa. Um conversor pode ser capaz de poupar alguns passos ou apontar lugares onde a mudança deve ocorrer, mas você vai ter que passar por cima o código manualmente.

Por exemplo, se referindo a um _level0.variableName em AS2 pode apontar para uma movieClip no nível _root, a um FlashVar enviado do recipiente HTML ou para um objeto criado pelo próprio código. Não há nenhuma maneira real de saber. (Você não pode olhar para o varname no código desde que também pode ser calculado ou ler externamente.

Você precisa ter uma razão muito boa para fazer essa conversão. Se AS2 não é mais apropriado para alguma razão, talvez você deve tentar resolver o problema em vez de converter a AS3 apenas porque tem uma função pouco agradável que você precisa.

Alguns online site está disponível para converter AS2 ao código AS3. Mas de acordo com a minha experiência passado não era bom e resultado 100%. Muitas coisas são alteradas no AS3. Assim Uma parte pode automação e a maioria de vocês tem fazer manualmente. se você usou _global no AS2 o que você pode declarar uma classe com o nome de "_global", que contém variáveis ??estáticas que usaram variáveis ??_global.XXXX em AS2.

Basta pensar maneira múltipla para tornar mais fácil usando oops características. Dou-lhe um exemplo para as variáveis ??_global ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top