Win 80% performance on Flash ActionScript 2 project

[:en]If you have lot of AS 2.0 projets like me you should be happy to know that you could win 80% performance on your projets with 4 lines of ActionScript.

First compile your AS 2.0 project with Flash.

Export your swf file in AS 2.0. (eg: your_as2_project.swf)

Then create an AS 3.0 loader with Flash CS3 or better.

Keep the same framerate on your loader. The same dimentions and the same background color. Put those lines into your AS 3.0 loader and replace the swf file with your file name.

var request:URLRequest = new URLRequest("your_as2_project.swf");
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);

Finally compile your AS 3 loader.

It’s magic it works perfectly. It’s more smoothly and faster. Thanks AVM2 ;).

Very important notes :

  • Delete all your TextField variables on you AS 2.0 file and use instance name. In AS 3.0 AVM2 doesn’t support TextField variables.
  • You couldn’t send HTML parameters to swf direclty to your AS 2.0 swf. You have to use a LocalConnection in order to send and receive informations between your 2 swf.

[:fr]Si vous avez comme moi quelques projets Flash développés en ActionScript 2.0 vous pouvez les réutiliser et gagner 80% de performance grâce à la machine virtuelle AVM2 de Flash. Et cela seulement avec 3 lignes de codes.

Tout d’abord compiler votre projet AS 2.0

Avec Flash générer un fichier .swf (ex: your_as2_project.swf)

Ensuite créer un loader AS 3.0 loader avec Flash CS3 ou mieux.

Garder le même framerate, la même couleur de fond et les mêmes dimensions pour le loader et pour l’animation AS2..
Ajouter ces lignes de code dans le loader AS 3.0 et remplacer le nom du fichier swf par le vôtre.

var request:URLRequest = new URLRequest("your_as2_project.swf");
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);

Enfin compiler le loader AS 3.0

C’est magique ça marche impec ! Et c’est encore plus fluide qu’avant. Merci MVM2 :).

Très important

  • Supprimer toutes vos variables de TextField dans vôtre fichier fla AS 2.0. La machine virtuelle ne supporte pas les variables de TextField.
  • On ne peut plus envoyer des paramètres HTML vers le swf compilé en AS 2.0 directement. Il faut utiliser une LocalConnection pour communiquer entre le fichier AS 2.0 et le loader AS 3.0

[:]

Author: Benoit Freslon