Le langage ActionScript > Utilisation du langage ActionScript de Flash MX avec d'anciennes versions de Flash > Utilisation de Flash MX pour ouvrir des fichiers Flash 4

 

Utilisation de Flash MX pour ouvrir des fichiers Flash 4

Le code ActionScript de Flash 4 ne possédait qu'un seul véritable type de données : les chaînes. Il utilisait différents types d'opérateurs dans les expressions pour indiquer si la valeur devait être traitée comme une chaîne ou comme un nombre. Dans Flash 5 et Flash MX, vous pouvez utiliser un seul jeu d'opérateurs pour tous les types de données.

Si vous utilisez la version 5 (ou ultérieure) de Flash pour ouvrir un fichier créé dans Flash 4, Flash convertit automatiquement les expressions ActionScript afin de les rendre compatibles avec la nouvelle syntaxe. Dans votre code ActionScript, vous remarqueriez alors les conversions suivantes des type de données et d'opérateurs :

L'opérateur = de Flash 4 était utilisé pour des égalités numériques. Dans Flash 5 et Flash MX, == est l'opérateur d'égalité et = est l'opérateur d'affectation. Tous les opérateurs = des fichiers Flash 4 sont automatiquement convertis en ==.

Flash effectue automatiquement les conversions pour assurer le bon fonctionnement des opérateurs. L'introduction de plusieurs types de données donne une nouvelle signification aux opérateurs suivants :

+, ==, !=, <>, <, >, >=, <=

Dans ActionScript de Flash 4 , ces opérateurs étaient toujours des opérateurs numériques. Dans Flash 5 et Flash MX, ils se comportent différemment, selon le type de données des opérandes. Pour éviter toutes différences sémantiques dans les fichiers importés, la fonction Number est insérée autour des opérandes de ces opérateurs. Les nombres constants sont déjà des nombres évidents et ne sont donc pas encadrés de Number).

Dans Flash 4, la séquence d'échappement \n générait le caractère de retour chariot (ASCII 13). Dans Flash 5 et Flash MX, pour respecter la norme ECMA-262, \n génère le caractère de changement de ligne (ASCII 10). Une séquence \n dans les fichiers FLA de Flash 4 est automatiquement convertie en \r.

L'opérateur & de Flash 4 était utilisé pour les additions de chaînes. Dans Flash 5 et Flash MX, & est l'opérateur AND au niveau du bit. L'opérateur d'addition de chaînes est maintenant appelé add. Tous les opérateurs & des fichiers de Flash 4 sont automatiquement convertis en opérateurs add.

De nombreuses fonctions de Flash 4 ne nécessitaient pas l'usage de parenthèses de fermeture (par exemple, Get Timer, Set Variable, Stop et Play). Pour créer une syntaxe cohérente, la fonction getTimer et toutes les actions nécessitent maintenant l'usage de parenthèses de fermeture. Ces parenthèses sont automatiquement ajoutées lors de la conversion.

Dans Flash 5 et Flash MX, lorsque la fonction getProperty est exécutée sur un clip qui n'existe pas, elle renvoie la valeur undefined et pas 0. L'instruction undefined == 0 est false dans ActionScript. Flash résout ce problème lors de la conversion de fichiers Flash 4 en introduisant des fonctions Number dans les comparaisons d'égalité. Dans l'exemple suivant, Number oblige à la conversion de undefined en 0 pour permettre la comparaison :

getProperty("clip", _width) == 0 
Number(getProperty("clip", _width)) == Number(0)

Remarque   Si vous avez utilisé des mots-clés de Flash 5 ou Flash MX comme noms de variables dans vos scripts Flash 4, la syntaxe renverra une erreur dans Flash MX. Pour éviter cela, renommez les variables à tous les emplacements. Pour plus d'informations, consultez Mots-clés.