2011-05-24 4 views

Répondre

1

Dans AS3 vous pouvez structurer et organiser votre application un lot plus stratégiquement. C'est plus rapide, plus propre et beaucoup plus recommandé que AS2. La principale différence est que vous pouvez développer des applications flash avec une influence OOP beaucoup plus forte que dans AS2. AS3 rend beaucoup plus facile l'utilisation de code tiers tel que Tweenlite, Papervision 3D et box2d de Greensock. En AS2, vous devrez utiliser un prototype pour réaliser ce que la classe peut faire pour vous en AS3. Exemple:

prototype AS2:

MovieClip.prototype.flip = function():Void 
{ 
    this._rotation += 180; 
} 

classe AS3 qui peut être utilisé en tant que classe de base pour tous vos MovieClips:

package 
{ 
    import flash.display.MovieClip; 

    public class MyMovieClip extends MovieClip 
    { 
     public function flip():void 
     { 
      rotation += 180; 
     } 
    } 
} 

Bien qu'il y ait plus de code dans la création de votre propre classe, vous pouvez maintenant étendre cette classe et appeler simplement flip() depuis l'intérieur pour exécuter la méthode flip(). Dans AS2, vous devriez être dans la même portée que votre fonction MovieClip.prototype.flip() pour y accéder, ce qui peut causer un désordre.

Voici la comparaison AS2 et AS3 pour créer un MovieClip, ajoutant à la scène, puis en utilisant votre fonction flip():

AS3:

var mc:MyMovieClip = new MyMovieClip(); 
mc.flip(); 

addChild(mc); 

AS2 ::

MovieClip.prototype.flip = function():Void 
{ 
    this._rotation += 180; 
} 
var mc:MovieClip = attachMovie("your_library_mc", "newname", this.getNextHighestDepth()); 
mc.flip(); 
+0

merci. C'est vraiment utile pour moi. – Ramu

4

Outre les modifications de la bibliothèque, Actionscript 3 est compil édité et exécuté sur une machine virtuelle complètement différente (AVM2), qui a été réécrite à partir de zéro. Il exécuterait le code AS3 compilé jusqu'à 10 fois plus vite que le script de code compilé pour la machine virtuelle AVM1.

Vous devriez vérifier this doc pour une liste des différences entre Comme deux autres personnes AS2 et AS3 car ils ne peuvent être expliquées mieux sur le SO :)

+2

Et un addendum non technique: AS2 est le langage hérité, AS3 est la langue actuelle. Les nouvelles fonctionnalités ajoutées au lecteur Flash ne sont généralement pas utilisables depuis AS2. – fenomas

0

ont déclaré AS2 et AS3 sont des langues différentes et même courir sur différentes machines virtuelles dans le lecteur flash, AVM et AVM2 (Actionscript Virtual Machine).

Cependant, la plupart du code AS2 a des équivalents AS3 directs et dans le cas du code de ligne de temps, les noms sont généralement les mêmes (par exemple, gotoAndPlay, stop, etc.). Vous pouvez trouver une feuille de triche pratique ici: http://actionscriptcheatsheet.com/downloads/as3cs_migration.pdf Généralement, s'il n'y a pas d'AS3 équivalent à ce que vous avez dans votre AS2, il y a une meilleure et plus robuste méthode à la place.

Il existe également un appel de livre intitulé «Guide de migration d'ActionScript 3.0» que vous pouvez également consulter.

Vous pouvez également faire en sorte que les codes AS2 et AS3 se parlent via une connexion locale. Il y a beaucoup de choses à faire à ce sujet sur le web.

Questions connexes