2009-11-25 4 views

Répondre

7

Mise à jour: Mon expérience avec AS1/2 est limité et cela est basé sur ce que je l'ai vu dans les forums AS. D'après les commentaires, il semble que les deuxième et troisième méthodes de traitement des événements sont valides dans AS1 et AS2.

La syntaxe de la gestion des événements sont différents:

ActionScript 3

addEventListener(MouseEvent.MOUSE_UP, handleClick); 
private function handleClick(e:MouseEvent):void 
{ 
    //Just do it 
} 

ActionScript 2

onRelease = function():Void{ //it's not void - it's Void 
    //do something 
} 

ActionScript 1

on(release){ 
    //do something 
} 

Vous trouverez peut-être cette aide page FUL: Migrating from AS2 to AS3

AS3 façon d'ajouter une nouvelle enfants est new suivie addChild

var s:Sprite = new Sprite(); 
var tf:TextField = new TextField(); 
this.addChild(s); 
s.addChild(tf); 

Il fut un temps createMovieClip et createTextField méthodes plus tôt - pas sûr version exacte bien.

_root.createTextField("mytext",1,100,100,300,100); 
//that is name, depth, x, y, width, height 
mytext.multiline = true; 
mytext.wordWrap = true; 
mytext.border = false; 

Plus tôt, si vous aviez la propriété name d'un enfant, vous pouvez accéder à l'enfant du parent à l'aide parent.childName même si la classe parent n'a pas une propriété appelée childName. Avec AS3, il est possible que la classe parente ait une propriété appelée childName (de type approprié) et que vous lui ayez assigné la référence de l'enfant (ou que vous ayez créé cette propriété sur la classe dynamique MovieClip). Il y a getChildByName() - mais il retournera le premier enfant avec le prénom (et il est possible d'avoir des noms en double dans une liste d'enfants).

+2

effectivement vos 2e et 3e extraits sont valides à la fois AS1 et AS2. – Cay

+1

Je ne pense pas que l'extrait AS2 soit valide dans AS1, mais l'extrait AS1 est valide dans AS2. Cependant, je n'ai aucun moyen de tester cela. –

+1

onRelease = function() ... était parfaitement valide dans Flash 6, et AS2 a été introduit dans Flash 7;) – Cay

2

Entre AS3 et AS1/2 il y a beaucoup de différences et dans la plupart des cas vous le verrez tout de suite (recherchez addChild et addEventListener dans AS3). Les différences entre AS1 et AS2 cependant beaucoup moins évident, mais probablement le plus pertinent sur le plan linguistique est l'introduction du concept "classe" avec quelques déclarations et mots clés pour le développement de la POO (classe, public, privé, etc. .).

EDIT: regardez, le wikipedia explique beaucoup mieux:

2003-2006: ActionScript 2.0 La prochaine révision majeure du langage, ActionScript 2.0, a été introduit en Septembre 2003 avec la libération de Flash MX 2004 et son lecteur, Flash player correspondant 7. en réponse à la demande des utilisateurs pour une langue mieux équipé pour plus grandes et plus complexes applications, ActionScript 2.0 fonctionnalités de type compilation vérification et la syntaxe basée sur les classes, telle que la classe de mots-clés et s'étend.(Alors que ce qui a permis une approche de programmation orientée objet plus structuré, le code serait encore compilé pour ActionScript 1.0 bytecode, ce qui lui permet à utiliser sur le précédent flash Player 6 ainsi. En d'autres termes, la syntaxe d'héritage de classes est une couche au-dessus du système à base de prototype existant.) Avec ActionScript 2.0, les développeurs pourraient contraindre les variables à un type spécifique en ajoutant une annotation de type afin que les erreurs de non-concordance de type pourraient être trouvé au à la compilation. ActionScript 2.0 a également introduit la syntaxe d'héritage de classe afin que les développeurs puissent créer des classes et des interfaces , tout comme dans les langages de classe tels que Java et C++. Cette version est conforme partiellement à l'ECMAScript Quatrième spécification de l'édition Edition.

http://en.wikipedia.org/wiki/ActionScript#ActionScript_2.0

0

Eh bien, il ne doit pas seulement être ActionScript 1 qui a le code dans le plan de montage. Mais un moyen simple et rapide de vérifier la version dans laquelle vous codez est de cliquer sur un cadre (vide ou non) et d'appuyer sur F9. Il dira sur le côté gauche quelle version il est (je suis assez sûr ..) :)