Si le présent guide est fourni avec un logiciel régi par un contrat d’utilisateur final, ce guide ainsi que le logiciel décrit, sont
fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. Sauf indication
expresse dans le contrat de licence, aucune partie de ce guide ne peut être reproduite, stockée dans un système d’extraction ni
transmise de quelque manière que soit, électronique, mécanique, par enregistrement ou autre, sans l’accord écrit préalable
d’Adobe Systems Incorporated. Veuillez noter que le contenu de ce guide est protégé par les lois de copyright même s’il n’est pas
diffusé avec le logiciel comprenant l’accord de licence utilisateur final.
Le contenu de ce guide est fourni à titre d’information uniquement, peut faire l’objet de modifications sans préavis et ne saurait
être considéré comme un engagement quelconque de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated décline
toute responsabilité quant aux erreurs ou imprécisions susceptibles d’apparaître dans les informations que présente ce guide.
Rappelez-vous que certaines illustrations ou images que vous souhaitez inclure dans votre projet peuvent être protégées par les lois
de copyright. L’inclusion sans autorisation de tels éléments dans vos propres travaux peut porter atteinte aux droits du détenteur
de ce copyright. Veillez à obtenir toutes les autorisations nécessaires auprès de ce dernier.
Toutes les références aux noms de sociétés dans les exemples de modèles sont fournies à titre d’illustration uniquement et ne
visent aucune entreprise existante.
Adobe, le logo Adobe, Flex, Flex Builder et Flash Player sont des marques déposées ou des marques d’Adobe Systems
Incorporated aux Etats-Unis et/ou dans d’autres pays.
ActiveX et Windows sont des marques ou des marques déposées de Microsoft Corporation aux Etats-Unis et dans d’autres pays.
Macintosh est une marque d’Apple Inc., déposée aux Etats-Unis et dans d’autres pays. Toutes les autres marques sont la propriété
de leurs détenteurs respectifs.
Technologie de compression et décompression audio discours utilisée sous licence de Nellymoser, Inc. (www.nellymoser.com).
Technologie de compression et décompression vidéo Sorenson™ Spark™ utilisée sous licence de
Sorenson Media, Inc.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, Californie 95110, E.-U.
Avis aux utilisateurs finaux dépendant du gouvernement des Etats-Unis. Le logiciel et la documentation sont des « articles
commerciaux », selon la définition établie par l’article 48 C.F.R. §2.101, composés d’un « logiciel informatique commercial » et
d’une « documentation de logiciel informatique commercial », tels que définis dans les articles 48 C.F.R. §12.212 ou 48 C.F.R.
§227.7202, selon le cas. Conformément aux articles 48 C.F.R. §12.212 ou 48 C.F.R. §§227.7202-1 à 227.7202-4, selon le cas, le
logiciel informatique commercial et la documentation de logiciel informatique commercial sont fournis sous licence aux
utilisateurs finaux dépendant du gouvernement des Etats-Unis (a) comme articles commerciaux uniquement et (b) avec les seuls
droits normalement accordés aux utilisateurs finaux, en accord avec les conditions générales applicables. Les droits non publiés
sont réservés conformément aux lois sur le copyright en vigueur aux Etats-Unis. Adobe Systems Incorporated, 345 Park Avenue,
San Jose, CA 95110-2704, E.-U. Pour les utilisateurs finaux ne dépendant pas du gouvernement des Etats-Unis, Adobe accepte
de respecter toutes les lois applicables relatives à l’égalité des chances, y compris, s’il y a lieu, aux dispositions du décret 11246 et
ses modifications, de la section 402 de la loi sur l’aide à la réhabilitation des vétérans du Vietnam (Vietnam Era Veterans
Readjustment Assistance Act) de 1974 (38 USC 4212), de la section 503 de la loi de réhabilitation (Rehabilitation Act) de 1973
et ses modifications, et des règlements des articles 41 CFR 60-1 à 60-60, 60-250 et 60-741. La clause relative à la discrimination
positive et les régulations énoncées dans la phrase précédente sont incluses par référence.
Ce manuel peut servir de base au développement d’applications avec ActionScript™ 3.0.
Il est préférable de maîtriser les concepts de programmation généraux (types de données,
variables, boucles et fonctions) afin de mieux comprendre les idées et techniques décrites.
Il est également conseillé de comprendre les concepts de programmation orientés objet (classes
et héritage). La connaissance d’ActionScript 1.0 ou ActionScript 2.0 est utile mais pas
nécessaire.
Les chapitres de ce manuel sont structurés en groupes logiques (indiqués ci-dessous) afin de
faciliter la recherche de sections de documentation ActionScript connexes :
ChapitresDescription
Chapitres 1 à 4, présentation de la
programmation avec ActionScript
Chapitres 5 à 10, classes et types de
données ActionScript 3.0 de base
Chapitres 11 à 26, API de Flash PlayerDécrit les fonctions importantes mises en
Ce manuel contient également de nombreux fichiers d’exemple qui décrivent des concepts de
programmation d’applications pour des classes importantes ou couramment utilisées.
Les fichiers d’exemple sont préparés de façon à ce que vous puissez les charger et les utiliser
plus facilement avec Adobe® Flash® CS3 Professional. Ils peuvent inclure des fichiers
enveloppes. Néanmoins, l’exemple de code de base est du code ActionScript 3.0 pur que vous
pouvez utiliser dans l’environnement de développement de votre choix.
ActionScript 3.0 peut être écrit et compilé de plusieurs façons différentes :
■ En utilisant l’environnement de développement d’Adobe Flex Builder 2
■ En utilisant un éditeur de texte et un compilateur de ligne de commande (celui fourni
avec Flex Builder 2, par exemple)
■ En utilisant l’outil de programmation Adobe® Flash® CS3 Professional
Pour plus d’informations sur les environnements de développement d’ActionScript, voir
Chapitre 1, « Introduction à ActionScript 3.0 ».
Décrit les concepts ActionScript 3.0 de base, y
compris la syntaxe, les instructions et les
opérateurs du langage, la spécification de
langage ECMAScript version 4, la
programmation ActionScript orientée objet et la
nouvelle façon de gérer des objets d’affichage
sur la liste d’affichage Adobe
Décrit les types de données de niveau supérieur
dans ActionScript 3.0 qui font également partie
de la spécification ECMAScript.
œuvre dans des packages et des classes
propres à Adobe Flash Player 9, notamment
la gestion d’événements, la mise en réseau et
les communications, le fichier d’E/S,
l’interface externe, le modèle de sécurité de
l’application, etc.
® Flash® Player 9.
16A propos de ce manuel
Pour comprendre les exemples de code fournis dans ce manuel, vous n’avez pas besoin de
savoir utiliser les environnements de développement intégrés pour ActionScript (Flex Builder
ou l’outil de création Flash, par exemple). En revanche, vous pouvez consulter la
documentation relative à ces outils pour savoir comment les utiliser pour écrire et compiler du
code ActionScript 3.0. Pour plus d’informations, voir « Accès à la documentation
ActionScript », à la page 17.
Accès à la documentation ActionScript
Etant donné que ce manuel traite principalement de la description d’ActionScript 3.0 qui est
un langage de programmation orienté objet riche et puissant, il ne décrit pas de façon détaillée
le processus de développement de l’application ou le flux de travail au sein d’une architecture
serveur ou d’un outil particulier. Par conséquent, outre la Programmation avec ActionScript
3.0, vous pouvez consulter d’autres sources de documentation lorsque vous concevez,
développez, testez et déployez des applications ActionScript 3.0.
Documentation ActionScript 3.0
Ce manuel décrit les concepts qui sous-tendent le langage de programmation ActionScript 3.0
et fournit des détails et des exemples d’implémentation illustrant les fonctions importantes du
langage. Néanmoins, il ne constitue pas un guide de référence du langage complet. Pour cela,
consultez la Référence du langage et des composants ActionScript 3.0, qui décrit chaque classe,
chaque méthode, chaque propriété et chaque événement dans le langage. La Référence du langage et des composants ActionScript 3.0 fournit des informations de référence détaillées sur le
langage de base, les composants Flash (dans les packages fl) et les API de Flash Player (dans les
packages flash).
Documentation Flash
Si vous utilisez l’environnement de développement Flash, vous pouvez consulter les manuels
suivants :
ManuelDescription
Utilisation de FlashDécrit comment développer vos applications
Web dynamiques dans l’environnement de
programmation de Flash
Programmation avec ActionScript 3.0Décrit l’utilisation spécifique du langage
ActionScript 3.0 et de l’API de base de
Flash Player
Accès à la documentation ActionScript17
ManuelDescription
Référence du langage et des composants
ActionScript 3.0
Utilisation des composants ActionScript 3.0 Explique comment utiliser les composants pour
Formation à ActionScript 2.0 dans
Adobe Flash
Guide de référence du langage
ActionScript 2.0
Utilisation des composants ActionScript 2.0 Explique de façon détaillée comment utiliser les
Référence du langage des composants
ActionScript 2.0
Extension de FlashDécrit les objets, les méthodes et les propriétés
Prise en main de Flash Lite 2.xExplique comment utiliser Adobe® Flash® Lite™
Développement d’applications Flash Lite 2.0 Explique comment développer des applications
Introduction à ActionScript Flash Lite 2.xExplique comment développer des applications
Référence du langage ActionScript Flash
Lite 2.x
Prise en main de Flash Lite 1.xPrésente Flash Lite 1.x et décrit comment tester
Fournit des exemples de code, d’utilisation et
de syntaxe pour les composants de Flash et
l’API d’ActionScript 3.0
développer des applications Flash
Passe en revue les principes généraux de la
syntaxe ActionScript 2.0 et explique comment
utiliser ce langage pour intervenir sur différents
types d’objet
Fournit des exemples de code, d’utilisation et
de syntaxe pour les composants de Flash et
l’API d’ActionScript 2.0
composants ActionScript 2.0 pour développer
des applications Flash
Décrit chaque composant disponible dans
l’architecture des composants Adobe, version
2, avec son API
disponibles dans l’API de JavaScript
2.x pour développer des applications et fournit
des exemples de code, d’utilisation et de
syntaxe pour les fonctions ActionScript
disponibles avec Flash Lite 2.x
Flash Lite 2.x
avec Flash Lite 2.x et décrit toutes les fonctions
ActionScript disponibles pour les développeurs
de Flash Lite 2.x
Fournit des exemples de code, d’utilisation et
de syntaxe pour l’API d’ActionScript 2.0
disponible dans Flash Lite 2.x
votre contenu à l’aide de l’émulateur CS3
d’Adobe® Device Central
18A propos de ce manuel
ManuelDescription
Développement d’applications Flash Lite 1.x Décrit comment développer des applications
pour des périphériques mobiles à l’aide de
Flash Lite 1.x
Formation à ActionScript Flash Lite 1.xExplique comment utiliser ActionScript dans
des applications Flash Lite 1.x et décrit toutes
les fonctions ActionScript disponibles avec
Flash Lite 1.x
Guide de référence du langage ActionScript
Flash Lite 1.x
Fournit la syntaxe et l’utilisation d’éléments
ActionScript disponibles avec Flash Lite 1.x
Ressources ActionScript destinées à
la formation
Outre le contenu de ces manuels, Adobe fournit des articles, des idées de conception et
des exemples mis à jour régulièrement dans le Pôle de développement et le Pôle de
création Adobe.
Pôle de développement Adobe
Le Pôle de développement d’Adobe constitue votre ressource pour consulter les dernières
informations concernant ActionScript, des articles sur le développement d’application et des
informations sur des problèmes importants. Consultez le Pôle de développement à l’adresse
www.adobe.com/go/developer_fr.
Pôle de création Adobe
Consultez les dernières nouveautés en matière de design numérique et d’animations.
Parcourez les œuvres d’artistes renommés, découvrez les nouvelles tendances de design et
consolidez vos connaissances à l’aide de didacticiels, de flux de travail clés et de techniques
avancées. Vérifiez deux fois par mois si de nouveaux didacticiels et articles ainsi que des pièces
de galerie d’inspiration sont disponibles. Consultez le Pôle de création à l’adresse
www.adobe.com/go/designcenter_fr.
Ressources ActionScript destinées à la formation19
20A propos de ce manuel
CHAPITRE 1
Introduction à ActionScript 3.0
Ce chapitre offre une présentation générale d’ActionScript 3.0, la version la plus récente et la
plus révolutionnaire d’ActionScript.
ActionScript est un langage de programmation destiné à l’environnement d’exécution
d’Adobe Flash Player. Il assure l’interactivité, le traitement des données et bien d’autres
fonctions du contenu Flash et dans les applications associées.
ActionScript est exécuté par la machine virtuelle ActionScript, un composant de Flash Player.
Le code ActionScript est généralement compilé en pseudo-code binaire (une sorte de langage de
programmation écrit et compris par les ordinateurs) par un compilateur, par exemple celui
intégré dans Adobe Flash CS3 Professional ou Adobe® Flex™ Builder™, ou celui fourni dans le
kit de développement Adobe® Flex™ SDK et les services de données Flex™ Data Services.
Le pseudo-code binaire est incorporé aux fichiers SWF, qui sont exécuté par Flash Player dans
l’environnement d’exécution.
ActionScript 3.0 constitue un modèle de programmation solide, bien connu des développeurs
dotés des connaissances élémentaires de la programmation orientée objet. Les fonctions
principales d’ActionScript 3.0 sont les suivantes :
■ Une nouvelle machine virtuelle ActionScript, nommée AVM2, qui exploite un nouveau
jeu d’instructions de pseudo-code binaire et améliore grandement les performances.
1
21
■ Une base de code de compilation plus moderne, davantage en accord avec la norme
ECMAScript (ECMA 262) et qui accomplit de meilleures optimisations que les versions
antérieures du compilateur.
■ Une interface de programmation (API) étendue et améliorée, avec contrôle de bas niveau
des objets et un véritable modèle orienté objet.
■ Un langage de base reposant sur la future version 4 de la spécification ECMAScript
(ECMA-262).
■ Une API XML reposant sur la spécification ECMAScript pour XML (E4X) (ECMA-357
niveau 2). E4X est une extension de langage d’ECMAScript qui ajoute XML comme type
de données natif.
■ Un modèle d’événements fondé sur la spécification d’événements du modèle d’objet de
document (DOM, Document Object Model) niveau 3.
Avantages d’ActionScript 3.0
Les possibilités d’ActionScript 3.0 dépassent largement les fonctions de programmation des
versions précédentes. Cette version est conçue pour faciliter la création d’applications très
complexes impliquant d’importants jeux de données et des bases de code orientées objet et
réutilisables. Si ActionScript 3.0 n’est pas indispensable à l’exécution de contenu dans Adobe
Flash Player 9, il ouvre néanmoins la voie à des améliorations de performance uniquement
disponibles dans AVM2, la nouvelle machine virtuelle. Le code d’ActionScript 3.0 peut
s’exécuter jusqu’à dix fois plus vite que le code des versions antérieures d’ActionScript.
L’ancienne version de la machine virtuelle, AVM1, exécute le code ActionScript 1.0 et
ActionScript 2.0. Elle est prise en charge par Flash Player 9 pour assurer la compatibilité
ascendante avec le contenu existant. Pour plus d’informations, voir « Compatibilité avec les
versions précédentes », à la page 27.
22Introduction à ActionScript 3.0
Nouveautés d’ActionScript 3.0
Bien que de nombreuses classes et fonctions d’ActionScript 3.0 seront familières aux
programmeurs d’ActionScript, son architecture et sa conceptualisation diffèrent des versions
précédentes. Parmi les améliorations d’ActionScript 3.0, on compte de nouvelles fonctions du
langage de base et une API Flash Player avancée, qui accroît le contrôle des objets de bas
niveau.
Fonctions du langage de base
Le langage de base définit les éléments de construction fondamentaux du langage de
programmation, par exemple les arguments, expressions, conditions, boucles et types.
ActionScript 3.0 contient de nombreuses fonctions qui accélèrent le processus de
développement.
Exceptions d’exécution
ActionScript 3.0 peut signaler davantage de conditions d’erreur que les versions précédentes
d’ActionScript. Utilisées pour les conditions d’erreur courantes, les exceptions d’exécution
améliorent la procédure de débogage et vous permettent de développer des applications
susceptibles de gérer les erreurs de manière fiable. Les erreurs d’exécution peuvent fournir des
traces d’empilement qui identifient le fichier source et le numéro de ligne, pour un repérage
plus rapide des erreurs.
Types d’exécution
Dans ActionScript 2.0, les annotations de type visaient avant tout à aider le développeur ; lors
de l’exécution, toutes les valeurs étaient typées dynamiquement. Dans ActionScript 3.0, les
informations de type sont préservées lors de l’exécution et utilisées à plusieurs fins. Flash
Player 9 effectue une vérification du type d’exécution afin d’améliorer la sécurité du système
quant aux types. Les informations de type servent également à représenter les variables dans les
représentations machine natives, ce qui accroît les performances et réduit l’utilisation de la
mémoire.
Nouveautés d’ActionScript 3.023
Classes scellées
ActionScript 3.0 introduit le concept de classe scellée. Une telle classe possède uniquement un
jeu fixe de propriétés et de méthodes, définies lors de la compilation. Il est impossible
d’ajouter d’autres propriétés et méthodes. Ainsi, la vérification effectuée au moment de la
compilation est plus stricte et garantit une plus grande robustesse des programmes.
L’utilisation de la mémoire est également optimisée puisque la table de hachage n’est pas
requise pour chaque instance d’objet. Les classes dynamiques sont également disponibles, par
le biais du mot-clé
peuvent être déclarées dynamiques grâce au mot-clé
dynamic. Bien que scellées par défaut, toutes les classes d’ActionScript 3.0
dynamic.
Fermetures de méthodes
ActionScript 3.0 permet l’utilisation d’une fermeture de méthode qui se rappelle
automatiquement l’instance de l’objet d’origine. Cette fonction s’avère utile dans le traitement
des événements. Dans ActionScript 2.0, les fermetures de méthode ne gardaient pas la trace de
l’instance d’objet à partir de laquelle il était extrait, ce qui provoquait un comportement
inattendu lors de l’appel de la fermeture de méthode. La classe mx.utils.Delegate était une
solution prisée, qui n’est désormais plus nécessaire.
ECMAScript pour XML (E4X)
ActionScript 3.0 intègre ECMAScript pour XML (E4X), récemment normalisé sous le nom
ECMA-357. E4X offre un jeu d’éléments de langage naturels et courants qui permettent de
manipuler XML. Contrairement aux API classiques d’analyse XML, XML et E4X
fonctionnent à la manière d’un type de données natif du langage. E4X simplifie le
développement d’applications exploitant XML grâce à une réduction drastique du volume de
code requis. Pour plus d’informations sur l’intégration d’E4X dans ActionScript 3.0, voir
Chapitre 11, « Utilisation de XML », à la page 367.
Pour visualiser la spécification E4X d’ECMA, consultez le site www.ecma-international.org.
Expressions régulières
ActionScript 3.0 inclut une prise en charge native des expressions régulières afin d’accélérer la
recherche et la manipulation des chaînes. Dans ActionScript 3.0, cette prise en charge suit la
version 3 de la spécification de langage ECMAScript (ECMA-262).
24Introduction à ActionScript 3.0
Espaces de noms
Les espaces de noms sont semblables aux spécificateurs d’accès classiques qui assurent le
contrôle de visibilité des déclarations (
comme des spécificateurs d’accès personnalisés, qui portent le nom de votre choix. Les espaces
de noms sont dotés d’un identifiant de ressource universel (URI, Universal Resource
Identifier) afin d’éviter les collisions. Ils servent également à représenter les espaces de noms
XML en cas d’utilisation d’E4X.
public, private, protected). Ils fonctionnent
Nouveaux types de primitives
ActionScript 2.0 utilise un seul type numérique, Number, un nombre en virgule flottante à
deux décimales. ActionScript 3.0 comprend les types int et uint. Le type int est un entier signé
32 bits qui permet au code ActionScript de profiter de la rapidité de traitement mathématique
de l’unité centrale. Il s’avère pratique pour les compteurs de boucles et les variables utilisant
des entiers. Le type uint est un type d’entier non signé 32 bits, utile pour les valeurs de
couleurs RVB, les compteurs d’octets, etc.
Fonctions API de Flash Player
L’API Flash Player d’ActionScript 3.0 contient un grand nombre de nouvelles classes qui vous
permettent de contrôler les objets de bas niveau. L’architecture du langage est complètement
nouvelle et plus intuitive. Ces nouvelles classes étant trop nombreuses pour autoriser une
présentation détaillée à ce stade, les sections ci-après mettent en avant quelques changements
significatifs.
Modèle d’événements DOM3
Le modèle d’événements Document Object Model de niveau 3 (DOM3) offre une méthode
standard de génération et de traitement des messages d’événement, qui permet aux objets
composant les applications d’interagir et de communiquer tout en conservant leur état et en
réagissant aux changements. Etabli à partir des spécifications d’événements DOM niveau 3 du
World Wide Web Consortium, ce modèle fournit un mécanisme plus clair et plus efficace que
les systèmes d’événement disponibles dans les versions antérieures d’ActionScript.
Les événements et événements d’erreur se trouvent dans le package flash.events. La structure
des composants Flash utilise le même modèle d’événements que l’API de Flash Player ; ainsi le
système d’événements est unifié sur l’ensemble de la plate-forme Flash.
Nouveautés d’ActionScript 3.025
API de liste d’affichage
L’API d’accès à la liste d’affichage Flash Player, c’est-à-dire l’arborescence contenant tous les
éléments visuels d’une application Flash, est constituée de classes permettant de manipuler les
primitives visuelles dans Flash.
La nouvelle classe Sprite est un élément de construction léger, semblable à la classe MovieClip
mais plus adaptée à la classe de base des composants d’interface. La nouvelle classe Shape
représente des formes vectorielles brutes. Il est possible d’instancier ces classes naturellement à
l’aide de l’opérateur
new, mais aussi de les redéfinir dynamiquement comme parent à tout
moment.
Grâce à la gestion de profondeur désormais automatique et intégrée à Flash Player, le rendu
d’affectation de numéros de profondeur n’est plus nécessaire. De nouvelles méthodes
permettent de spécifier et de gérer l’ordre z des objets.
Gestion des données et contenus dynamiques
ActionScript 3.0 comprend des mécanismes de chargement et de gestion des actifs et des
données au sein de l’application Flash qui se caractérisent par leur intuitivité et leur cohérence
dans l’ensemble de l’API. La nouvelle classe Loader propose un unique mécanisme de
chargement des fichiers SWF et des actifs d’image, et permet d’accéder à des informations
détaillées sur le contenu chargé. La classe URLLoader
chargement du texte et des données binaires dans les applications orientées données. La classe
Socket permet la lecture et l’écriture des données binaires dans les sockets de serveur, quel que
soit le format.
offre un mécanisme distinct de
Accès aux données de bas niveau
De nombreuses API permettent d’accéder à des données de bas niveau jusqu’ici indisponibles
dans ActionScript. Pour le téléchargement de données, la classe URLStream, mise en oeuvre
par URLLoader, donne accès aux données sous forme binaire brute pendant le
téléchargement. Avec la classe ByteArray, vous pouvez optimiser la lecture, l’écriture et la
manipulation des données binaires. La nouvelle API Sound assure le contrôle précis du son
par le biais des classes SoundChannel et SoundMixer. De nouvelles API liées à la sécurité
fournissent des informations sur les droits de sécurité d’un fichier SWF ou du contenu chargé,
pour une gestion plus efficace des erreurs de sécurité.
26Introduction à ActionScript 3.0
Utilisation du texte
ActionScript 3.0 contient un package flash.text destiné à l’ensemble des API relatives au texte.
La classe TextLineMetrics fournit des dimensions détaillées pour les lignes de texte d’un
champ texte ; elle remplace la méthode
TextField.getLineMetrics() dans ActionScript
2.0. La classe TextField contient plusieurs nouvelles méthodes de bas niveau intéressantes, qui
peuvent fournir des informations spécifiques sur une ligne de texte ou un simple caractère
dans un champ texte. Parmi ces méthodes, on compte notamment les suivantes :
getCharBoundaries(), qui renvoie un rectangle représentant le cadre de sélection d’un
caractère,
getFirstCharInParagraph(), qui renvoie l’index du premier caractère d’un paragraphe.
Les méthodes de niveau de ligne incluent
caractères d’une ligne de texte donnée, et
getCharIndexAtPoint(), qui renvoie l’index d’un caractère à un point donné et
getLineLength(), qui renvoie le nombre de
getLineText(), qui renvoie le texte de la ligne
spécifiée. La nouvelle classe Font permet de gérer les polices incorporées des fichiers SWF.
Compatibilité avec les versions
précédentes
Comme toujours, Flash Player garantit une compatibilité totale avec les versions précédentes
et les contenus publiés antérieurement. Tous les contenus lisibles dans les anciennes versions
de Flash Player s’exécutent dans Flash Player 9. L’introduction d’ActionScript 3.0 dans cette
dernière version présente cependant quelques problèmes d’interopérabilité entre les contenus
anciens et nouveaux lus dans Flash Player 9. Les problèmes de compatibilité sont les suivants :
■ Un même fichier SWF ne peut combiner du code ActionScript 1.0 ou 2.0 et du code
ActionScript 3.0.
■ Le code ActionScript 3.0 peut charger un fichier SWF écrit en ActionScript 1.0 ou 2.0,
mais ne peut accéder aux variables et fonctions de ce fichier.
■ Les fichiers SWF écrits en ActionScript 1.0 ou 2.0 ne peuvent charger des fichiers SWF
écrits en ActionScript 3.0. Cela a pour conséquence que les fichiers SWF créés dans Flash
8 ou Flex Builder version 1.5 ou antérieure ne peuvent charger des fichiers SWF
ActionScript 3.0.
Il existe une seule exception à cette règle : un fichier SWF ActionScript 2.0 peut se
remplacer par un fichier SWF ActionScript 3.0 à condition que le fichier ActionScript 2.0
n’est effectué aucun chargement à quelque niveau que ce soit. Pour ce faire, le fichier SWF
ActionScript 2.0 doit appeler
loadMovieNum() et passer la valeur 0 au paramètre level.
Compatibilité avec les versions précédentes27
■ En général, les fichiers SWF écrits en ActionScript 1.0 ou 2.0 doivent faire l’objet d’une
migration s’ils sont destinés à fonctionner avec des fichiers SWF écrits en ActionScript
3.0. Imaginez par exemple que vous ayez créé un lecteur de média avec ActionScript 2.0.
Ce lecteur peut charger de nombreux contenus également créés à l’aide d’ActionScript 2.0.
Mais vous ne pouvez pas créer un contenu avec ActionScript 3.0 et le charger dans ce
lecteur. Vous devez migrer le lecteur vers ActionScript 3.0.
Néanmoins, si vous avez créé un lecteur de média avec ActionScript 3.0, ce lecteur peut
effectuer de simples chargements de votre contenu ActionScript 2.0.
Le tableau ci-après récapitule les limitations des versions précédentes de Flash Player relatives
au chargement de nouveaux contenus et à l’exécution de code, ainsi que les restrictions liées à
la programmation croisée entre les fichiers SWF écrits avec différentes versions d’ActionScript.
Fonctionnalité prise
Environnement d’exécution
en charge
Flash Player 7Flash Player 8Flash Player 9
Peut charger les fichiers
SWF pour
Machine virtuelle incluse
Exécute les fichiers SWF
écrits en ActionScript
Fonctionnalité prise
version 7 et
antérieure
AVM1AVM1AVM1 et AVM2
1.0 et 2.01.0 et 2.01.0, 2.0 et 3.0
version 8 et
antérieure
version 9 et antérieure
Contenu créé dans
en charge*
ActionScript 1.0 et 2.0ActionScript 3.0
Peut charger du contenu
et exécuter le code de
contenus créé dans
Peut programmer le
contenu créé dans
* Contenu lisible dans Flash Player version 9 ou ultérieure. Le contenu lisible dans Flash
Player version 8 ou antérieure peut être chargé, affiché, exécuté et programmé avec
ActionScript 1.0 et 2.0 uniquement.
†ActionScript 3.0 via LocalConnection
‡ActionScript 1.0 et 2.0 via LocalConnection
ActionScript 1.0 et 2.0 uniquement
ActionScript 1.0 et 2.0 uniquement†
ActionScript 1.0 et 2.0 et
ActionScript 3.0
ActionScript 3.0‡
28Introduction à ActionScript 3.0
CHAPITRE 2
Prise en main d’ActionScript
Ce chapitre vise à vous familiariser avec la programmation d’ActionScript et à vous offrir les
informations nécessaires à la compréhension des concepts et des exemples présentés dans le
reste de ce manuel. Nous commencerons par évoquer les concepts de base de la
programmation, tels qu’ils s’appliquent à ActionScript. Nous verrons aussi les principes
fondamentaux qui régissent l’organisation et la construction d’une application ActionScript.
ActionScript étant un langage de programmation, il vous sera plus facile de l’apprendre si vous
maîtrisez déjà quelques concepts généraux de programmation.
Quel est le rôle d’un programme informatique
Pour commencer, il est intéressant d’avoir une idée conceptuelle de la nature et du rôle d’un
programme informatique. Un tel programme présente deux aspects principaux :
■ Il s’agit d’une série d’instructions ou d’étapes que l’ordinateur doit effectuer.
■ Chaque étape implique à terme la manipulation d’informations ou de données.
29
Dans un sens général, un programme informatique n’est rien d’autre qu’une liste d’actions pas
à pas que vous ordonnez à l’ordinateur, qui les exécute une à une. Chacune de ces actions
représente une instruction. Comme vous le verrez tout au long de ce manuel, dans
ActionScript, chaque instruction se termine par un point-virgule.
Par nature, le seul rôle d’une instruction d’un programme consiste à manipuler quelques
données stockées dans la mémoire de l’ordinateur. Voici un exemple simple : vous pouvez
demander à l’ordinateur d’ajouter deux nombres et de stoker le résultat dans sa mémoire.
Dans un cas de figure plus compliqué, imaginez un rectangle dessiné sur l’écran ; vous écrivez
un programme pour le déplacer à un autre endroit de l’écran. L’ordinateur garde une trace de
certaines informations relatives au rectangle : les coordonnées x, y de sa position, sa largeur et
sa longueur, sa couleur, etc. Chacune de ces informations est stockée dans la mémoire de
l’ordinateur. Un programme qui déplacerait le rectangle vers un autre emplacement
comprendrait des procédures du type « remplacer la coordonnée x par 200, remplacer la
coordonnée y par 150 », c’est-à-dire qui spécifieraient de nouvelles valeurs pour les
coordonnées x et y. Bien entendu, l’ordinateur agit sur ces données pour effectivement
modifier l’image à l’écran en fonction de ces chiffres. Cependant, pour ce qui nous intéresse, il
est suffisant de savoir que le déplacement d’un rectangle sur l’écran n’implique réellement que
la modification de quelques bits de données dans la mémoire de l’ordinateur.
Variables et constantes
La programmation reposant sur la modification d’informations dans la mémoire de
l’ordinateur, il est nécessaire d’établir une représentation de chaque information au sein du
programme. Une variable est un nom qui représente une valeur dans la mémoire de
l’ordinateur. Lorsque l’on écrit des instructions visant à manipuler des valeurs, on écrit le nom
de la variable plutôt que la valeur. Chaque fois que l’ordinateur rencontre le nom de la variable
dans le programme, il cherche dans sa mémoire la valeur à utiliser. Si vous disposez par
exemple de deux variables nommées
pouvez additionner ces deux nombres à l’aide de l’instruction suivante :
value1 + value2
Lorsqu’il exécute véritablement la procédure, l’ordinateur recherche les valeurs correspondant
à chaque variable et les ajoute.
Dans ActionScript 3.0, une variable se compose de trois éléments :
■ La nom de la variable
■ Le type de données qui peut être stocké dans la variable
■ La valeur réelle stockée dans la mémoire de l’ordinateur
value1 et value2, chacune contenant un nombre, vous
30Prise en main d’ActionScript
Loading...
+ 828 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.