Notre application est écrite en ActionScript2 et contient environ 50 000 lignes de code. Nous voulons le porter sur ActionScript3 et nous essayons de découvrir quelles sont nos options. Devons-nous le faire manuellement ou pouvons-nous utiliser un convertisseur, et à quels problèmes pouvons-nous nous attendre?Quel est le meilleur moyen de porter une application d'ActionScript2 vers ActionScript3?
Répondre
J'ai posé une question similaire il y a peu de temps que vous pourriez trouver utiles.
What is the best approach to moving a preexisting project from Flash 7/AS2 to Flex/AS3?
Certaines tâches mineures peuvent être automatisées (la réparation des déclarations de paquet principalement), b En dehors de cela, je doute que cela puisse être automatisé.
Je ne pense pas que vous pouvez jamais utiliser un convertisseur automatique pour cette tâche. Un convertisseur peut être en mesure de vous enregistrer quelques étapes ou de signaler les endroits où le changement doit avoir lieu, mais vous devrez passer en revue le code manuellement. Par exemple, faire référence à _level0.variableName dans AS2 peut pointer sur un MovieClip au niveau _root, sur un FlashVar envoyé depuis le conteneur HTML ou sur un objet créé par le code lui-même. Il n'y a pas de véritable moyen de savoir. (Vous ne pouvez pas chercher le nom de variable dans le code, car cela peut aussi être calculé ou lu en externe.)
Vous devez avoir une très bonne raison de faire une telle conversion Si AS2 ne convient plus pour quelque raison, peut-être vous devriez essayer de résoudre le problème au lieu de convertir en AS3 juste parce qu'il a une petite fonction bien que vous avez besoin
J'ai toujours eu un mauvais moment lors de la conversion d'AS2 en AS3, principalement parce qu'il n'y a pas de bons scripts automatisés pour l'ensemble du processus et franchement c'est ennuyeux. À long terme, la mise à jour du vieux code AS2 sur des projets qui sont encore actifs et en cours de mise à jour est une bonne idée, AS3 est juste un meilleur langage et AVM2 est juste plus rapide que AVM1.
Vous pouvez utiliser un script pour supprimer les traits de soulignement dans un grand nombre de propriétés, ajouter les informations de package, effectuer certaines importations de base, mais ce que j'ai trouvé est probablement le meilleur moyen de vider votre classe principale ou gestionnaire dans la ligne de classe de document dans votre FLA, commentez tout sauf le constructeur et commencez simplement à convertir et à ne pas commenter au fur et à mesure. Cela peut sembler lent mais j'ai envie d'essayer de comprendre 40 erreurs de compilation différentes à la fois pourrait finir par être plus lent.
Bonne chance, c'est un travail nécessaire, mais pas un travail amusant.
Un site en ligne est disponible pour convertir le code AS2 en code AS3. Mais selon mon expérience passée ce n'était pas bon et résultat à 100%. Beaucoup de choses sont modifiées dans l'AS3. Donc, une partie vous pouvez automatiser et la plupart d'entre vous ont à faire manuellement. Si vous avez utilisé _global dans l'AS2, vous pouvez déclarer une classe avec le nom "_global" qui contiendra des variables statiques utilisant des variables _global.XXXX dans AS2.
Pensez simplement à plusieurs façons de le rendre facile en utilisant les fonctionnalités POO. Je vous donne un exemple pour les variables _global ...
- 1. Quel est le meilleur moyen de copier une liste?
- 2. Quel est le meilleur moyen d'empaqueter une application Java avec beaucoup de dépendances?
- 3. Quel est le meilleur moyen de conserver les données dans une application Java Desktop?
- 4. Quel est le meilleur moyen de stocker des données de modèle dans une application jQuery?
- 5. Quel est le meilleur moyen d'ajouter une API à une application Django?
- 6. Quel est le meilleur moyen de mettre en ligne une petite application ruby?
- 7. Quel est le meilleur moyen de contourner XML dans une application .NET?
- 8. Quel est le meilleur moyen de créer une application d'instance unique dans .net?
- 9. Quel est le meilleur moyen de créer une application d'instance unique dans Compact Framework?
- 10. Quel est le meilleur moyen de fermer un thread WCF?
- 11. Quel est le meilleur moyen de gérer QUERY_STRING en PHP?
- 12. Quel est le meilleur moyen de communication interprocesseur sous Linux?
- 13. Quel est le meilleur moyen de faire throbber en C#?
- 14. Quel est le meilleur moyen de déployer des applications Web?
- 15. Quel est le meilleur moyen de comparer plusieurs propriétés javabéennes?
- 16. Quel est le meilleur moyen de redimensionner un objet BitmapData?
- 17. Quel est le meilleur moyen de faire défiler automatiquement une vue de liste vers le dernier élément ajouté?
- 18. Le meilleur moyen de version une application rails?
- 19. Quel serait le meilleur moyen de fournir une petite sélection d'image dans une application iPhone?
- 20. Quel est le meilleur moyen de publier sur Twitter à partir d'une application django?
- 21. En C#, quel est le meilleur moyen de déterminer si une base de données est opérationnelle?
- 22. Quel est le meilleur moyen de créer une Smart Part dans SharePoint?
- 23. Quel est le meilleur moyen de consigner des exceptions dans une chaîne?
- 24. Quel est le meilleur moyen de poster une date/heure dans une vue django?
- 25. Quel est le meilleur moyen de trouver une chaîne spécifique dans le vecteur?
- 26. Quel est un bon émulateur à porter sur Silverlight 3?
- 27. Quel est le meilleur moyen d'ajouter des utilisateurs à plusieurs groupes dans une base de données?
- 28. Quel est le meilleur moyen de copier une base de données?
- 29. Le meilleur moyen d'obtenir le chemin vers le répertoire "Application Data"?
- 30. Quel est le meilleur moyen d'obtenir des données d'une application Ruby on Rails dans une feuille de calcul Excel?