Sunteți pe pagina 1din 808

Guide de rfrence ActionScript

Marques Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware, Authorware Star, Backstage, Bright Tiger, Clustercats, ColdFusion, Contribute, Design In Motion, Director, Dream Templates, Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite, JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo and Design, Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with Macromedia Logo and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip, Roundtrip HTML, Shockwave, Sitespring, SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be et Xtra sont des marques de commerce ou des marques dposes de Macromedia, Inc. qui peuvent tre dposes aux Etats-Unis et/ou dans dautres juridictions ou pays. Les autres noms de produits, logos, graphiques, mises en page, titres, mots ou expressions mentionns dans cette publication peuvent tre des marques de commerce, des marques de service ou des noms de marque appartenant Macromedia, Inc. ou dautres entits et peuvent tre dposs dans certaines juridictions ou pays. Autres marques mentionnes Ce guide contient des liens vers des sites Web qui ne sont pas sous le contrle de Macromedia, qui nest donc aucunement responsable de leur contenu. Laccs ces sites se fait sous votre seule responsabilit. Macromedia mentionne ces liens pour rfrence, ce qui nimplique pas son soutien, accord ou responsabilit quant au contenu des sites. Technologie de compression et dcompression audio discours utilise sous licence de Nellymoser, Inc. (www.nellymoser.com). Technologie de compression et dcompression vido Sorenson Spark utilise sous licence de Sorenson Media, Inc. Navigateur Opera Copyright 1995-2002 Opera Software ASA et ses fournisseurs. Tous droits rservs. Limite de garantie et de responsabilit Apple APPLE COMPUTER, INC. NOFFRE AUCUNE GARANTIE, EXPRES OU IMPLICITE, CONCERNANT CE LOGICIEL, SA CAPACITE A ETRE COMMERCIALISE OU A REPONDRE A UN BESOIN PARTICULIER. LEXCLUSION DES GARANTIES IMPLICITES EST INTERDITE PAR CERTAINS PAYS, ETATS OU PROVINCES. LEXCLUSION ENONCEE CI-DESSUS PEUT NE PAS SAPPLIQUER A VOTRE CAS PARTICULIER. CETTE GARANTIE VOUS ASSURE DES DROITS SPECIFIQUES. DAUTRES DROITS VARIANT DUN PAYS A LAUTRE PEUVENT EGALEMENT VOUS ETRE ACCORDES. Copyright 2003 Macromedia, Inc. Tous droits rservs. La copie, photocopie, reproduction, traduction ou conversion de ce manuel, sous quelque forme que ce soit, mcanique ou lectronique, partiellement ou dans son intgralit est interdite sans lautorisation pralable obtenue par crit auprs de Macromedia, Inc. Rfrence ZFL70M400F Remerciements Directeur : Erick Vera Gestion du projet : Stephanie Gowin, Barbara Nelson Rdaction : Jody Bleyle, Mary Burger, Kim Diezel, Stephanie Gowin, Dan Harris, Barbara Herbert, Barbara Nelson, Shirley Ong, Tim Statler Rdactrice en chef : Rosana Francescato Rvision : Linda Adler, Mary Ferguson, Mary Kraemer, Noreen Maher, Antonio Padial, Lisa Stanziano, Anne Szabla Gestion de la production : Patrice ONeill Conception et production des supports : Adam Barnett, Christopher Basmajian, Aaron Begley, John Francis, Jeff Harmon Localisation: Tim Hussey, Seungmin Lee, Masayo Noda, Simone Pux, Yuko Yagi, Florian de Joanns Premire dition : Septembre 2003 Macromedia, Inc. 600 Townsend St. San Francisco, CA 94103 Etats-Unis

TABLE DES MATIERES

INTRODUCTION : Bien dmarrer avec ActionScript

....................... 9

Public vis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Configuration systme requise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Utilisation de la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Conventions typographiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Terminologie utilise dans ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Ressources supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

PARTIE I : Bienvenue dans ActionScript


CHAPITRE 1 : Nouveauts de Flash MX 2004 ActionScript

. . . . . . . . . . . . . . . . 15 15 17 17 23 24 25

Elments de langage nouveaux et modifis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nouveau modle de scurit et fichiers SWF hrits . . . . . . . . . . . . . . . . . . . . . . . Portage de scripts existants sur Flash Player 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifications de lditeur ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifications de dbogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nouveau modle de programmation oriente objet . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 2 : Notions de base du langage ActionScript .

. . . . . . . . . . . . . . . . . . 27 27 28 28 31 36 39 43 47 52 53 53

Diffrences entre ActionScript et JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Support du format Unicode pour ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A propos des types de donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affectation de types de donnes aux lments . . . . . . . . . . . . . . . . . . . . . . . . . . . . A propos des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation doprateurs pour manipuler les valeurs des expressions . . . . . . . . . . . . Dfinition du chemin dun objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de fonctions intgres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CHAPITRE 3 : Rdaction et dbogage de scripts

. . . . . . . . . . . . . . . . . . . . . . . . 57

Contrle de lexcution dActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Utilisation du panneau Actions et de la fentre de script . . . . . . . . . . . . . . . . . . . . 59 Utilisation de lditeur ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Dbogage de scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Utilisation du panneau de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Mise jour de Flash Player pour le test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

PARTIE II : Gestion des vnements et cration dinteractivit


CHAPITRE 4 : Gestion dvnements.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Utilisation de mthodes de gestionnaire dvnement . . . . . . . . . . . . . . . . . . . . . . 87 Utilisation des couteurs dvnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Utilisation de gestionnaires dvnement de bouton et de clip . . . . . . . . . . . . . . . . 90 Cration de clips avec tats de bouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Domaine du gestionnaire dvnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Domaine du mot-cl this . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
CHAPITRE 5 : Cration dinteractivit avec ActionScript .

. . . . . . . . . . . . . . . . . . 95

A propos des vnements et de linteraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Contrle de la lecture dun fichier SWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Cration dinteractivit et deffets visuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Structure dun exemple de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

PARTIE III : Utilisation des objets et des classes


CHAPITRE 6 : Utilisation des classes intgres

. . . . . . . . . . . . . . . . . . . . . . . . . 117

A propos des classes et des occurrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Aperu des classes intgres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
CHAPITRE 7 : Utilisation des clips

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

A propos du contrle des clips laide dActionScript . . . . . . . . . . . . . . . . . . . . . 125 Appel de plusieurs mthodes sur un seul clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Chargement et dchargement de fichiers SWF supplmentaires . . . . . . . . . . . . . 127 Spcification dun scnario racine pour les fichiers SWF chargs . . . . . . . . . . . . . 127 Chargement de fichiers JPEG dans des clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Modification de la position et de lapparence dun clip . . . . . . . . . . . . . . . . . . . . 129 Dplacement des clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Cration de clips lexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Ajout de paramtres aux clips crs dynamiquement . . . . . . . . . . . . . . . . . . . . . . 132 Gestion des profondeurs de clip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Dessin de formes avec ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Utilisation de clips comme masques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Table des matires

Gestion dvnements de clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Affectation dune classe un symbole de clip. . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Initialisation de proprits de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
CHAPITRE 8 : Utilisation du texte . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 140 141 141 143 151 158

Utilisation de la classe TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration de champs de texte lexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de la classe TextFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatage de texte avec les feuilles de style en cascade. . . . . . . . . . . . . . . . . . . . . Utilisation de texte au format HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration de texte dfilant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 9 : Cration de classes avec ActionScript 2.0 .

. . . . . . . . . . . . . . . . 161 162 163 167 171 173 175 177 178 179 180 181

Principes de la programmation oriente objet . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des classes : un exemple simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et utilisation de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Membres doccurrence et de classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et utilisation dinterfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comprhension du chemin de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importation de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mthodes get/set implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration de classes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compilation et exportation des classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PARTIE IV : Utilisation des donnes et des mdias externes


CHAPITRE 10 : Utilisation de donnes externes . . . . .

. . . . . . . . . . . . . . . . . . . . 185

Echange de variables avec une source distante . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Echange de messages avec Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Fonctions de scurit de Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
CHAPITRE 11 : Utilisation de mdias externes

. . . . . . . . . . . . . . . . . . . . . . . . . . 201 201 202 203 204 205 206

Aperu du chargement de mdia externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement de fichiers SWF et JPEG externes . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement des fichiers externes MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lecture des balises ID3 dans les fichiers MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . Lecture dynamique des fichiers FLV externes. . . . . . . . . . . . . . . . . . . . . . . . . . . . Prchargement de mdia externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table des matires

PARTIE V : Rfrence
CHAPITRE 12 : Dictionnaire ActionScript Prsentation .

. . . . . . . . . . . . . . . . . . 211

Exemple dentre pour la plupart des lments ActionScript . . . . . . . . . . . . . . . . 211 Exemple dentre pour les classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Contenu du dictionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Classe Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Classe Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Classe Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Classe Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Classe Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Classe Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Classe Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Classe ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Classe ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Classe CustomActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Classe Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Classe Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Classe Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Classe Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Classe LoadVars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Classe LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Classe Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Classe Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Classe Mouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 Classe MovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Classe MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Classe NetConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Classe NetStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Classe Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 Classe Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Classe PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 Classe Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 Classe SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 Classe Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Classe Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 Classe String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 Classe System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 Objet System.capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 Objet System.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 Classe TextField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 Classe TextField.StyleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696 Classe TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 objet TextSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 Classe Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 Classe XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743 Classe XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 Classe XMLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763

Table des matires

ANNEXE A : Messages derreur .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773 . . . . . . . . . . . . . . . . . . . . . 779 . . . . . . . . 781

ANNEXE B : Priorit et associativit des oprateurs .

ANNEXE C : Touches du clavier et valeurs de code correspondantes

Lettres A Z et chiffres (clavier standard) de 0 9. . . . . . . . . . . . . . . . . . . . . . . . 781 Touches du clavier numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 Touches de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 Autres touches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
ANNEXE D : Ecriture de scripts destins des versions antrieures de Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . 787

A propos du ciblage danciennes versions de Flash Player. . . . . . . . . . . . . . . . . . . 787 Utilisation de Flash MX 2004 pour crer du contenu destin Flash Player 4 . . . 787
ANNEXE E : Programmation oriente objet avec ActionScript 1 . . .

. . . . . . . . . . 791

A propos dActionScript 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791


INDEX

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799

Table des matires

Table des matires

INTRODUCTION Bien dmarrer avec ActionScript

Macromedia Flash MX 2004 et Flash MX Professionnel 2004 sont les outils standard des professionnels pour la cration de contenu web percutant. ActionScript est le langage que vous utilisez pour dvelopper une application dans Flash. Vous pouvez trs bien vous servir de Flash sans ActionScript. Toutefois, si linteractivit utilisateur est une de vos priorits ou si vous voulez utiliser des objets autres que ceux qui sont intgrs dans Flash (tels les boutons et les clips) ou crer des applications plus complexes partir de fichiers SWF, il est probable que vous aurez recours ActionScript.

Public vis
Ce manuel prsume que vous avez dj install Flash MX 2004 ou Flash MX Professionnel 2004 et que vous savez comment lutiliser. Il considre galement comme acquis que vous savez placer des objets sur la scne et les manipuler dans lenvironnement auteur de Flash. Si vous avez dj crit des programmes, vous vous sentirez en terrain connu avec ActionScript. Et si vous tes un novice, vous naurez aucun mal faire son apprentissage. Le plus simple consiste commencer par les commandes de base et aborder les lments plus complexes progressivement.

Configuration systme requise


La configuration systme requise par ActionScript est identique celle de Flash MX 2004 ou Flash MX Professionnel 2004. Toutefois, la documentation suppose que vous utilisez les paramtres de publication par dfaut pour vos fichiers Flash : Flash Player 7 et ActionScript 2.0. Si vous modifiez ces paramtres, les explications et les exemples de code contenus dans la documentation risquent de ne pas fonctionner correctement.

Utilisation de la documentation
Ce manuel passe en revue les principes gnraux de la syntaxe ActionScript, explique comment utiliser ce langage pour intervenir sur diffrents types dobjet et dcrit en dtail la syntaxe et lutilisation de chaque lment. Commencez par vous familiariser avec la terminologie et les concepts de base utiliss dans le reste du manuel (consultez le Chapitre 2, Notions de base du langage ActionScript, page 27). Vous pourrez ensuite vous concentrer sur lcriture et le dbogage de scripts Flash (consultez le Chapitre 3, Rdaction et dbogage de scripts, page 57).

Avant de crer vos propres scripts, suivez les leons Ecrire des scripts avec ActionScript et Crer un formulaire avecune logique conditionnelle et envoyer des donnes , qui constituent une introduction interactive lutilisation dActionScript. Pour localiser ces leons, slectionnez Aide > Comment > Manuel de prise en main rapide. Une fois que vous matrisez les concepts de base, vous pouvez rechercher, dans le reste du manuel, les informations qui vous permettront dobtenir leffet que vous recherchez. Si, par exemple, vous voulez savoir comment crire un script qui excute une action spcifique lorsquun utilisateur clique avec la souris, consultez le Chapitre 4, Gestion dvnements, page 87. Lorsque vous trouvez des informations sur une commande qui vous intresse, vous pouvez consulter lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211 ; tous les lments du langage y sont rpertoris par ordre alphabtique.

Conventions typographiques
Ce manuel utilise les conventions typographiques suivantes :

le code ActionScript. identifie un lment, tel un paramtre ou un nom dobjet ActionScript, que vous remplacez par votre propre texte lorsque vous crez un script.
La police de code en italique

La police de code indique

Terminologie utilise dans ce manuel


Ce manuel utilise les termes suivants :

Vous fait rfrence au programmeur qui crit un script ou une application. Lutilisateur dsigne la personne qui excute vos scripts et applications. Compilation correspond au moment auquel vous publiez, exportez, testez ou dboguez votre
document. Excution reprsente le moment auquel votre script sexcute dans Flash Player.

Les termes ActionScript tels que mthode et objet sont dfinis dans le Chapitre 2, Notions de base du langage ActionScript, page 27.

Ressources supplmentaires
La documentation spcifique Flash et aux produits apparents est disponible sparment.

Pour plus dinformations sur lutilisation de lenvironnement auteur de Flash, consultez le


guide Utilisation de Flash de laide. Pour en savoir plus sur lutilisation des composants, consultez le guide Utilisation des composants de laide. Pour plus dinformations sur la cration dapplications de communication, consultez les leons Dveloppement dapplications de communication et Gestion du serveur de communications Flash . Pour plus dinformations sur laccs aux services web avec des applications Flash, consultez Using Flash Remoting.

10

Introduction : Bien dmarrer avec ActionScript

Le site web Macromedia DevNet (www.macromedia.com/devnet) est rgulirement actualis et propose les informations les plus rcentes sur Flash, ainsi que des conseils dutilisateurs expriments, des rubriques avances, des exemples, des astuces et dautres mises jour. Consultez rgulirement ce site web pour vous tenir au courant des nouveauts de Flash et tirer le meilleur parti de votre programme. Le Centre de support Macromedia Flash (www.macromedia.com/support/flash) fournit des TechNotes, des mises jour de la documentation et des liens vers des ressources supplmentaires dans la communaut Flash.

Ressources supplmentaires

11

12

Introduction : Bien dmarrer avec ActionScript

PARTIE I Bienvenue dans ActionScript

PARTIE I

Cette section inclut des informations lmentaires sur le langage ActionScript. Le Chapitre 1 comprend des informations concernant les nouveauts ou les modifications apportes ActionScript et Flash Player 7. Si vous avez dj utilis ActionScript, veillez lire attentivement ces informations. Si vous navez jamais utilis ActionScript, les chapitres 2 et 3 contiennent les bases qui vous permettront de comprendre la terminologie et la syntaxe dActionScript et de savoir crire et dboguer vos scripts. Chapitre 1: Nouveauts de Flash MX 2004 ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapitre 2: Notions de base du langage ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Chapitre 3: Rdaction et dbogage de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

CHAPITRE 1 Nouveauts de Flash MX 2004 ActionScript

Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004 bnficient de plusieurs amliorations pour vous permettre dcrire facilement des scripts plus robustes laide du langage ActionScript. Ces amliorations, dcrites dans ce chapitre, portent notamment sur de nouveaux lments de langage, les outils de dbogage et ddition (consultez Modifications de lditeur ActionScript, page 23 et Modifications de dbogage, page 24), ainsi que lutilisation dun modle de programmation plus orient objet (consultez Nouveau modle de programmation oriente objet, page 25). Ce chapitre contient galement une section dtaille lire attentivement si vous projetez de publier lun de vos fichiers existants Flash MX ou dune version antrieure dans Flash Player 7 (consultez Portage de scripts existants sur Flash Player 7, page 17).

Elments de langage nouveaux et modifis


Cette section dcrit les lments du langage ActionScript qui sont nouveaux ou ont t modifis dans Flash MX 2004. Pour pouvoir utiliser ces lments dans vos scripts, vous devez utiliser Flash Player 7 (lecteur par dfaut) lors de la publication des documents.

Les mthodes Array.sort et Array.sortOn() vous permettent dajouter des paramtres pour
spcifier des options de tri supplmentaires, par exemple un tri ascendant ou descendant, le respect de la casse lors du tri et bien dautres options encore. Les proprits Button.menu, MovieClip.menu et TextField.menu se conjuguent aux nouvelles classes ContextMenu et ContextMenuItem pour vous permettre dassocier des lments de menu contextuel des objets Button, MovieClip ou TextField. La Classe ContextMenu et la Classe ContextMenuItem vous permettent de personnaliser le menu contextuel qui saffiche lorsquun utilisateur clique avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh) dans Flash Player. La Classe Error et les commandes throw et try..catch..finally vous permettent dimplmenter une gestion des exceptions plus robuste. Les mthodes XML.addRequestHeader() et LoadVars.addRequestHeader() ajoutent ou modifient les en-ttes de requte HTTP (tels que Content-Type ou SOAPAction ) envoys avec les actions POST. La fonction MMExecute() vous permet dmettre des commandes de lAPI Flash JavaScript partir dActionScript.

15

(Windows uniquement) Lcouteur dvnement Mouse.onMouseWheel est gnr lorsque


lutilisateur effectue un dfilement en utilisant la molette de la souris.

La mthode MovieClip.getNextHighestDepth() vous permet de crer des occurrences de


MovieClip au moment de lexcution et de vous assurer que leurs objets seront placs devant les autres objets dans lespace z dun clip parent. La mthode MovieClip.getInstanceAtDepth() vous permet daccder des occurrences de MovieClip cres dynamiquement en utilisant la profondeur comme index de recherche. La mthode MovieClip.getSWFVersion() vous permet de dterminer quelle version de Flash Player est supporte par un fichier SWF charg. Les mthodes MovieClip.getTextSnapshot() et lobjet TextSnapshot vous permettent dintervenir sur du texte qui figure dans des champs de texte statiques dans un clip. La proprit MovieClip._lockroot vous permet dindiquer quun clip agira en tant que _root pour tout clip qui y sera charg, ou que la signification de _root dans un clip ne sera pas modifie si le clip est charg dans un autre clip. La Classe MovieClipLoader vous permet de contrler la progression du tlchargement de fichiers dans des clips. La Classe NetConnection et la Classe NetStream vous permettent de lire en continu des fichiers vido en local (fichiers FLV). La Classe PrintJob vous donne (ainsi qu lutilisateur) davantage de contrle sur les impressions partir de Flash Player. Le gestionnaire dvnement Sound.onID3 donne accs aux donnes ID3 associes un objet Sound contenant un fichier MP3. La proprit Sound.ID3 donne accs aux mtadonnes faisant partie dun fichier MP3. La Classe System comporte de nouveaux objets et mthodes et lObjet System.capabilities possde plusieurs proprits nouvelles. La proprit TextField.condenseWhite vous permet de supprimer lespace blanc supplmentaire dans les champs de texte HTML qui sont rendus dans un navigateur. La proprit TextField.mouseWheelEnabled vous permet de spcifier si le contenu dun champ de texte doit dfiler lorsque le pointeur de la souris est plac dessus et que lutilisateur actionne la molette. La Classe TextField.StyleSheet vous permet de crer un objet feuille de style contenant des rgles de formatage de texte, comme la taille et la couleur de la police, et dautres styles de formatage. La proprit TextField.styleSheet vous permet dassocier un objet feuille de style un champ de texte. La mthode TextFormat.getTextExtent() accepte un nouveau paramtre et lobjet quelle renvoie contient un nouveau membre. La mthode XML.addRequestHeader() vous permet dajouter ou de modifier les en-ttes de requte HTTP (tels que Content-Type ou SOAPAction ) envoys avec les actions POST.

16

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

Nouveau modle de scurit et fichiers SWF hrits


Les rgles qui permettent Flash Player de dterminer si deux domaines sont identiques ont chang dans Flash Player 7. Les rgles qui dterminent si, et de quelle faon, un fichier SWF servi par un domaine HTTP peut accder un fichier SWF ou charger des donnes partir dun domaine HTTPS ont galement chang. Dans la plupart des cas, ces modifications nont pas dincidence, moins que vous ne portiez vos fichiers SWF existants sur Flash Player 7 Toutefois, si vous avez publi, pour Flash Player 6 ou une version antrieure, des fichiers SWF qui chargent des donnes issues dun fichier rsidant sur un serveur et que le fichier SWF lorigine de lappel sexcute dans Flash Player 7, une nouvelle bote de dialogue invitant lutilisateur autoriser laccs est susceptible de safficher. Vous pouvez empcher laffichage de cette bote de dialogue en mettant en oeuvre un fichier de rgulation sur le site contenant les donnes. Pour plus dinformations sur cette bote de dialogue, consultez A propos de la compatibilit avec les prcdents modles de scurit Flash Player, page 199. Il peut galement tre ncessaire dimplmenter un fichier de rgulation si vous utilisez des bibliothques partages lexcution. Si le fichier SWF charg ou en chargement est publi pour Flash Player 7 et que les fichiers chargs ou en chargement ne sont pas servis par le mme domaine, utilisez un fichier de rgulation pour autoriser laccs. Pour plus dinformations sur les fichiers de rgulation, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198.

Portage de scripts existants sur Flash Player 7


A linstar de toute nouvelle version, Flash Player 7 prend en charge un plus grand nombre de commandes ActionScript que ses versions prcdentes. Ces commandes vous permettent dimplmenter des scripts plus robustes. (Consultez Elments de langage nouveaux et modifis, page 15.)Toutefois, si vous avez utilis lune de ces commandes dans vos scripts existants, il est possible que le script ne fonctionne pas correctement si vous le publiez pour Flash Player 7. Par exemple, si lun de vos script contient une fonction nomme Error, le script peut sembler se compiler correctement mais ne pas tre excut comme prvu dans Flash Player 7, car Error est dsormais une classe intgre (et donc un mot rserv) dans ActionScript. Vous pouvez corriger votre script en renommant la fonction Error, par exemple en ConditionErreur. De plus, Flash Player 7 implmente diffrentes modifications qui affectent la faon dont un fichier SWF accde un autre ficher SWF, la faon dont les donnes externes peuvent tre charges et le mode daccs aux paramtres et donnes locaux (par exemple les paramtres de confidentialit et les objets partags localement). Enfin, le comportement de certaines fonctions existantes a t modifi. Si vous voulez publier, pour Flash Player 7, des scripts destins Flash Player 6 ou une version antrieure, vous devrez peut-tre les modifier afin quils se conforment limplmentation de Flash Player 7 et fonctionnent correctement. Les modifications requises sont dcrites dans cette section.

Portage de scripts existants sur Flash Player 7

17

Conformit la norme ECMA-262 version 4 Flash Player 7 a subi plusieurs modifications pour mieux se conformer la norme ECMA-262 version 4 (consultez www.mozilla.org/js/language/es4/index.html). Outre les techniques de programmation bases sur les classes disponibles dans ActionScript 2,0 (consultez Nouveau modle de programmation oriente objet, page 25), dautres fonctions ont t ajoutes et certains comportements modifis. De plus, lorsque vous effectuez une publication pour Flash Player 7 et que vous utilisez ActionScript 2.0, vous pouvez attribuer un type dobjet un autre. Pour plus dinformations, consultez Attribution dobjets, page 41. Vous ntes pas oblig dactualiser vos scripts existants. Toutefois, il est souhaitable dutiliser ces fonctions si vous publiez, pour Flash Player 7, des scripts que vous modifierez et enrichirez par la suite. Contrairement aux modifications mentionnes plus haut, les modifications rpertories dans le tableau suivant (dont certaines renforcent la conformit la norme ECMA) sont susceptibles de changer le comportement des scripts existants. Si vous utilisez ces fonctions dans des scripts existants que vous avez lintention de publier pour Flash Player 7, passez les modifications en revue pour dterminer si le code fonctionne toujours correctement ou si vous devez le rcrire. Plus particulirement, il est conseill dinitialiser toutes les variables des scripts que vous portez sur Flash Player 7, car undefined est valu de faon diffrente dans certains cas.
Fichier SWF publi pour Flash Player 7 Le respect de la casse est pris en charge (les noms de variable dont la casse est diffrente sont interprts comme tant diffrents). Cette modification a galement des rpercussions sur les fichiers chargs au moyen de #include et les variables externes charges via LoadVars.load(). Pour plus dinformations, consultez Hauteur de casse, page 31. Lvaluation de undefined dans un contexte numrique renvoie NaN.
monNombre +=1; trace(monNombre); // NaN

Fichier SWF publi pour des versions prcdentes de Flash Player Le respect de la casse nest pas pris en charge (les noms de variable dont la casse est diffrente sont interprts comme tant identiques).

Lvaluation de undefined dans un contexte numrique renvoie 0.


monNombre +=1; trace(monNombre); // 1

Lorsque undefined est converti en chane, le rsultat Lorsque undefined est converti en chane, le est undefined. rsultat est "" (une chane vide).
prnom = "Joan "; nom = "Flender"; trace(prnom + deuxime prnom + nom); // Joan undefinedFlender prnom = "Joan "; nom = "Flender"; trace(prnom + deuxime prnom + nom); // Joan Flender

18

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

Fichier SWF publi pour Flash Player 7 Lorsque vous convertissez une chane en valeur boolenne, le rsultat est true si la longueur de la chane est suprieure zro et false pour une chane vide. Lorsque vous dfinissez la longueur dun tableau, seule une chane de nombre valide peut dfinir la longueur. Par exemple, "6" fonctionne, et non " 6" ou "6xyz".
mon_array=new Array(); mon_array[" 6"] ="x"; trace(mon_array.length); // 0 mon_array["6xyz"] ="x"; trace(mon_array.length); // 0 mon_array["6"] ="x"; trace(mon_array.length); // 7

Fichier SWF publi pour des versions prcdentes de Flash Player Lorsque vous convertissez une chane en valeur boolenne, la chane est tout dabord convertie en nombre. Le rsultat est true si le nombre nest pas gal zro et false dans le cas contraire. Lorsque vous dfinissez la longueur dun tableau, mme une chane de nombre mal formule peut dfinir la longueur :
mon_array=new Array(); mon_array[" 6"] ="x"; trace(mon_array.length); // 7 mon_array["6xyz"] ="x"; trace(mon_array.length); // 7 mon_array["6"] ="x"; trace(mon_array.length); // 7

Rgles de nom de domaine pour les paramtres et les donnes locales Dans Flash Player 6, les rgles de correspondance de superdomaine sont utilises par dfaut pour accder aux paramtres locaux (tels que les autorisations daccs de la camra ou du microphone) ou aux donnes persistantes localement (objets partags). Cela signifie que les paramtres et donnes de fichiers SWF rsidant sur ici.xyz.com, la.xyz.com et xyz.com sont partags, et tous enregistrs sur xyz.com. Dans Flash Player 7, les rgles de correspondance exacte de domaine sont utilises par dfaut. Cela signifie que les paramtres et donnes dun fichier hberg sur ici.xyz.com sont enregistrs sur ici.xyz.com, les paramtres et donnes dun fichier hberg sur la.xyz.com sont enregistrs sur la.xyz.com et ainsi de suite. Une nouvelle proprit, System.exactSettings, vous permet de spcifier les rgles utiliser. Cette proprit est supporte pour les fichiers publis pour Flash Player 6 ou une version ultrieure. Pour les fichiers publis pour Flash Player 6, la valeur par dfaut est false, ce qui signifie que les rgles de correspondance de superdomaine sont utilises. Pour les fichiers publis pour Flash Player 7, la valeur par dfaut est true, ce qui signifie que les rgles de correspondance exacte de domaine sont utilises. Si vous utilisez des paramtres ou des donnes locales persistantes et souhaitez publier un fichier SWF Flash Player 6 pour Flash Player 7, il peut tre ncessaire de dfinir cette valeur sur false dans le fichier port. Pour plus dinformations, consultez System.exactSettings, page 655. Accs aux inter-domaines et sous-domaines entre des fichiers SWF Lorsque vous dveloppez une srie de fichiers SWF qui communiquent les uns avec les autres (par exemple, lorsque vous utilisez loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), ou des objets Local Connection), vous pouvez hberger les animations dans des domaines diffrents ou dans des sous-domaines diffrents dun mme superdomaine.

Portage de scripts existants sur Flash Player 7

19

Dans les fichiers publis pour Flash Player 5 ou une version ultrieure, laccs aux inter-domaines et sous-domaines ntait soumis aucune restriction. Dans les fichiers publis pour Flash Player 6, vous pouviez utiliser le gestionnaire LocalConnection.allowDomain ou la mthode System.security.allowDomain() pour spcifier laccs inter-domaines autoris (par exemple pour autoriser laccs un fichier situ sur unSite.com par un fichier situ sur unAutreSite.com). Aucune commande ntait ncessaire pour autoriser laccs au superdomaine (par exemple, un fichier situ sur store.unSite.com pouvait accder un fichier situ sur www.unSite.com). Les fichiers publis pour Flash Player 7 implmentent laccs entre les fichiers SWF diffremment des versions prcdentes, et ce de deux manires : tout dabord, Flash Player 7 implmente les rgles de correspondance exacte de domaine et non les rgles de correspondance de superdomaine. Ainsi, le fichier auquel on accde (mme sil est publi pour une version antrieure Flash Player 7) doit autoriser de faon explicite laccs aux inter-domaines et sous-domaines. Ce sujet est abord plus bas. Ensuite, un fichier hberg sur un site qui utilise un protocole scuris (HTTPS) doit autoriser de faon explicite laccs partir dun fichier hberg sur un site utilisant un protocole non scuris (HTTP ou FTP). Ce sujet est abord dans la section suivante (consultez Accs du protocole HTTP vers le protocole HTTPS entre les fichiers SWF, page 21). Etant donn que Flash Player 7 implmente les rgles de correspondance exacte de domaine et non les rgles de correspondance de superdomaine, il peut tre ncessaire de modifier les scripts existants si vous souhaitez y accder partir de fichiers publis pour Flash Player 7. (Vous pouvez toujours publier les fichiers modifis pour Flash Player 6.) Si vous avez utilis une instruction LocalConnection.allowDomain() ou System.security.allowDomain() dans vos fichiers et que vous avez spcifi des sites de superdomaine autoriser, vous devez modifier vos paramtres pour spcifier les domaines exacts la place. Le code suivant prsente un exemple des types de modifications quil peut tre ncessaire dapporter :
// commandes Flash Player 6 dun fichier SWF situ sur www.unAncienSite.com // pour autoriser laccs par des fichiers SWF hbergs sur www.unSite.com // ou sur store.unSite.com System.security.allowDomain("unSite.com"); mon_lc.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="unSite.com"); } // Commandes correspondantes pour autoriser laccs par les fichiers SWF // qui sont publis pour Flash Player 7 System.security.allowDomain("www.unSite.com", "store.unSite.com"); mon_lc.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="www.unSite.com" || domaineDenvoi=="store.unSite.com"); }

Il peut galement tre ncessaire dajouter des instructions similaires dans vos fichiers si vous ne les utilisez pas actuellement. Par exemple, si votre fichier SWF est hberg sur www.unSite.com et que vous souhaitez autoriser laccs par un fichier SWF publi pour Flash Player 7 sur store.unSite.com, vous devez ajouter des instructions semblables aux instructions suivantes au fichier situ sur www.unSite.com (vous pouvez toujours publier le fichier situ sur www.unSite.com pour Flash Player 6) :
System.security.allowDomain("store.unSite.com"); mon_lc.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="store.unSite.com"); }

20

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

Pour rsumer, il peut tre ncessaire de modifier vos fichiers pour ajouter ou modifier des instructions allowDomain si vous publiez des fichiers pour Flash Player 7 dans les conditions suivantes :

Vous avez implment des scripts entre des fichiers SWF ( laide de loadMovie(),
ou dobjets Local Connection). Le fichier SWF appel (de nimporte quelle version) nest pas hberg sur un site utilisant un protocole scuris (HTTPS), ou le fichier SWF appel et celui effectuant lappel sont tous deux hbergs sur des sites HTTPS (si seul le fichier SWF appel est HTTPS, consultez Accs du protocole HTTP vers le protocole HTTPS entre les fichiers SWF, page 21). Les fichiers SWF ne se trouvent pas dans le mme domaine (par exemple, lun deux rside sur www.domaine.com et lautre sur store.domaine.com).
MovieClip.loadMovie(), MovieClipLoader.LoadClip(),

Vous devez effectuer les modifications suivantes :

Si le fichier SWF appel est publi pour Flash Player 7, incluez


System.security.allowDomain ou LocalConnection.allowDomain dans le fichier SWF appel, en utilisant la correspondance exacte de domaine. Si le fichier SWF appel est publi pour Flash Player 6, modifiez-le en ajoutant ou en modifiant une instruction System.security.allowDomain ou LocalConnection.allowDomain, en utilisant la correspondance exacte de domaine, comme illustr dans les exemples de code plus haut dans cette section. Vous pouvez publier le fichier modifi pour flash Player 6 ou 7. Si le fichier SWF appel est publi pour Flash Player 5 ou version antrieure, portez le fichier appel sur Flash Player 6 ou 7 et ajoutez une instruction System.security.allowDomain en utilisant la correspondance exacte de domaine, comme illustr dans les exemples de code plus haut dans cette section. (Les objets LocalConnection ne sont pas supports dans Flash Player 5 ou version antrieure.)

Accs du protocole HTTP vers le protocole HTTPS entre les fichiers SWF Comme nous lavons vu dans la section prcdente, les rgles daccs aux inter-domaines et sousdomaines ont t modifies dans Flash Player 7. En plus des rgles de correspondance exacte de domaine dornavant implmentes, vous devez autoriser de faon explicite laccs aux fichiers situs sur des sites utilisant un protocole scuris (HTTPS) par des fichiers hbergs sur des sites utilisant des protocoles non scuriss. Selon que votre fichier est publi pour Flash Player 7 ou Flash Player 6, vous devez implmenter lune des deux instructions allowDomain (consultez Accs aux inter-domaines et sous-domaines entre des fichiers SWF, page 19), ou utiliser les nouvelles instructions LocalConnection.allowInsecure Domain ou System.security.allowInsecureDomain().
Avertissement : Limplmentation dune instruction allowInsecureDomain() compromet la scurit assure par le protocole HTTPS. Vous devez effectuer ces modifications uniquement si vous ne pouvez pas rorganiser votre site de manire ce que tous les fichiers SWF soient servis par le protocole HTTPS.

Le code suivant prsente un exemple des types de modifications quil peut tre ncessaire dapporter :
// Commandes dans un fichier SWF Flash Player 6 situ sur https:// www.unSite.com // pour autoriser laccs par des fichiers SWF Flash Player 7 hbergs // sur http://www.unSite.com ou http://www.unAutreSite.com

Portage de scripts existants sur Flash Player 7

21

System.security.allowDomain("unAutreSite.com"); mon_lc.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="unAutreSite.com"); } // Commandes correspondantes dans un fichier SWF Flash Player 7 // pour autoriser laccs par des fichiers SWF Flash Player 7 hbergs // sur http://www.unSite.com ou http://www.unAutreSite.com System.security.allowInsecureDomain("www.unSite.com", "www.unAutreSite.com"); mon_lc.allowInsecureDomain = function(domaineDenvoi) { return(domaineDenvoi=="www.unSite.com" || domaineDenvoi=="www.unAutreSite.com"); }

Il peut galement tre ncessaire dajouter des instructions similaires dans vos fichiers si vous ne les utilisez pas actuellement. Une modification peut savrer ncessaire mme si les deux fichiers rsident dans le mme domaine (par exemple, un fichier situ sur http://www.domaine.com appelle un fichier situ sur https://www.domaine.com). Pour rsumer, il peut tre ncessaire de modifier vos fichiers pour ajouter ou modifier des instructions si vous publiez des fichiers pour Flash Player 7 qui correspondent aux critres suivants :

Vous avez implment des scripts entre des fichiers SWF ( laide de loadMovie(),
MovieClip.loadMovie(), MovieClipLoader.LoadClip()

ou dobjets Local Connection).

Le fichier effectuant lappel nest pas hberg laide dun protocole HTTPS et le fichier appel
est HTTPS. Vous devez effectuer les modifications suivantes :

Si le fichier appel est publi pour Flash Player 7, incluez linstruction


System.security.allowInsecureDomain ou LocalConnection.allowInsecureDomain dans le fichier appel en utilisant la correspondance exacte de domaine, comme illustr dans les exemples de code, plus haut dans cette section. Cette instruction est requise mme lorsque le fichier SWF appel et celui effectuant lappel se trouvent sur le mme domaine. Si le fichier appel est publi pour Flash Player 6 ou une version antrieure, et que le fichier effectuant lappel et le fichier appel rsident dans le mme domaine (par exemple, si un fichier sur http://www.domaine.com appelle un fichier situ sur https://www.domaine.com), aucune modification nest ncessaire. Si le fichier appel est publi pour Flash Player 6, que les fichiers ne se trouvent pas sur le mme domaine, et que vous ne souhaitez pas porter le fichier appel sur Flash Player 7, modifiez le fichier appel en ajoutant ou en modifiant une instruction System.security.allowDomain ou LocalConnection.allowDomain en utilisant la correspondance exacte de domaine, comme illustr dans les exemples de code plus haut dans cette section. Si le fichier appel est publi pour Flash Player 6 et que vous souhaitez le porter sur Flash Player 7, incluez System.security.allowInsecureDomain ou LocalConnection.allowInsecureDomain dans le fichier appel en utilisant la correspondance exacte de domaine, comme illustr dans les exemples de code, plus haut dans cette section. Cette instruction est requise mme si les deux fichiers se trouvent dans le mme domaine.

22

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

Si le fichier appel est publi pour Flash Player 5 ou une version antrieure et que les deux
fichiers ne se trouvent pas sur le mme domaine, vous pouvez procder de lune des deux manires suivantes. Vous pouvez soit porter le fichier appel sur Flash Player 6 et ajouter ou modifier une instruction System.security.allowDomain en utilisant la correspondance exacte de domaine, soit porter le fichier appel sur Flash Player 7, et inclure une instruction System.security.allowInsecureDomain dans le fichier appel en utilisant le filtrage de domaine, comme illustr dans les exemples de code, plus haut dans cette section. Fichiers de rgulation ct serveur pour autoriser laccs aux donnes Un document Flash peut charger les donnes depuis une source externe laide de lun des appels de chargement de donnes suivants : XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(), MovieClip.loadVariables(), XMLSocket.connect() et Macromedia Flash Remoting (NetServices.createGatewayConnection). De plus, un fichier SWF peut importer des bibliothques partages lexcution (RSL) ou des actifs dfinis dans un autre fichier SWF, au moment de lexcution. Par dfaut, les donnes ou le support RSL doivent se trouver sur le mme domaine que le fichier SWF qui charge ces donnes externes ou ce support. Pour que les fichiers SWF situs dans diffrents domaines puissent accder aux donnes et aux actifs contenus dans des bibliothques partages lexcution, utilisez un fichier de rgulation inter-domaines. Il sagit dun fichier XML qui permet au serveur dindiquer que ses donnes et ses documents sont disponibles pour les fichiers SWF servis par certains domaines ou par tous les domaines. Tout fichier SWF servi par un domaine spcifi par le fichier de rgulation du serveur peut accder aux donnes et aux RSL de ce serveur. Si vous chargez des donnes externes, il est conseill de crer des fichiers de rgulation mme si vous ne projetez pas de porter vos fichiers sur Flash Player 7. Si vous utilisez des bibliothques partages lexcution (RSL), il est conseill de crer des fichiers de rgulation si le fichier appel ou le fichier effectuant lappel est publi pour Flash Player 7. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes interdomaines, page 198.

Modifications de lditeur ActionScript


Lditeur ActionScript a subi diffrentes mises jour afin dtre plus robuste et plus simple utiliser. Cette section rcapitule toutes ces modifications.
Retour automatique la ligne Pour activer ou dsactiver le retour automatique la ligne, vous pouvez dsormais utiliser le menu doptions de la fentre de script, du panneau Dbogueur et du panneau de sortie. Vous pouvez galement lactiver ou le dsactiver laide du menu droulant du panneau Actions. Le raccourci clavier est Ctrl+Maj+W (Windows) ou Commande+Maj+W (Macintosh). Affichage de laide contextuelle Lorsque vous positionnez votre pointeur sur un lment du langage ActionScript dans la bote outils Actions ou dans la fentre de script, vous pouvez utiliser loption Afficher laide du menu contextuel pour afficher une page daide concernant cet lment.

Modifications de lditeur ActionScript

23

Importation de scripts Lorsque vous slectionnez Importer le script dans le menu droulant du panneau Actions, le script import est copi dans le script lemplacement du point dinsertion dans votre fichier code. Dans les versions antrieures de Flash, limportation dun script crasait le contenu du script existant. Points darrt en un clic Pour ajouter un point darrt de dbogage devant une ligne de code dans les panneaux Dbogueur, Script ou Actions, vous pouvez cliquer dans la marge de gauche. Dans les versions antrieures de Flash, le fait de cliquer dans la marge de gauche slectionnait une ligne de code. La nouvelle faon de slectionner une ligne de code consiste cliquer en appuyant sur Ctrl (Windows) ou cliquer en appuyant sur Commande (Macintosh). Modes normal et expert ne figurant plus dans le panneau Actions Dans les versions antrieures de Flash, vous pouviez travailler dans le panneau Actions soit en mode normal, dans lequel vous compltiez des options et des paramtres pour crer du code, soit en mode expert, dans lequel vous ajoutiez des commandes directement dans la fentre de script. Dans Flash MX 2004 et Flash MX Professionnel 2004, vous pouvez uniquement travailler dans le panneau Actions en ajoutant des commandes directement dans la fentre de script. Vous pouvez toujours faire glisser des commandes de la bote outils Actions vers la fentre de script ou utiliser le bouton Ajouter (+) situ au-dessus de la fentre de script pour ajouter des commandes un script. Verrouillage de plusieurs scripts

Vous pouvez verrouiller plusieurs scripts figurant dans un fichier FLA le long du bord infrieur de la fentre de script dans le panneau Actions. Dans les versions prcdentes de Flash, vous ne pouviez verrouiller quun seul script la fois. La partie gauche du panneau Actions contient dsormais deux panneaux : la bote outils Actions et un nouveau navigateur de script. Le navigateur de script est une reprsentation visuelle de la structure de votre fichier FLA ; il vous permet de parcourir votre fichier FLA pour localiser le code ActionScript.

Navigateur de script

Fentre de script intgre pour la modification de fichiers externes (Flash Professionnel uniquement) Vous pouvez utiliser lditeur ActionScript dans une fentre de script (distincte du

panneau Actions) pour crire et modifier des fichiers scripts externes. La coloration de la syntaxe, les conseils de code et dautres prfrences sont supports dans la fentre de script. La bote outils Actions y est galement disponible. Pour afficher la fentre de script, cliquez sur Fichier > Nouveau, puis slectionnez le type de fichier externe modifier. Vous pouvez ouvrir plusieurs fichiers externes simultanment ; les noms de fichier saffichent alors sur des onglets en haut de la fentre de script. Cette fonction est uniquement disponible sous Windows.

Modifications de dbogage
Cette section dcrit les modifications permettant damliorer votre capacit dboguer vos scripts.
Fentre Sortie change en panneau de sortie Vous pouvez dsormais dplacer et ancrer le panneau de sortie de la mme manire que nimporte quel autre panneau dans Flash. Amlioration de la signalisation des erreurs au moment de la compilation

ActionScript 2.0 fournit non seulement une gestion des exceptions plus robuste, mais il propose galement plusieurs nouvelles erreurs de compilation. Pour plus dinformations, consultez Annexe A, Messages derreur, page 773.

Amlioration de la gestion des exeptions La classe Error et les commandes throw et try..catch..finally vous permettent dimplmenter une gestion des exceptions plus robuste.

24

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

Nouveau modle de programmation oriente objet


Depuis son introduction il y a quelques annes de cela, le langage ActionScript na cess de se dvelopper. A chaque nouvelle version de Flash, de nouveaux mots-cls, objets, mthodes et autres lments de langage sont ajouts. Cependant, contrairement aux versions antrieures de Flash, Flash MX 2004 et Flash MX Professionnel 2004 prsentent plusieurs nouveaux lments de langage qui renforcent sa standardisation selon le modle de programmation oriente objet. Ces lments de langage constituent une amlioration significative du langage ActionScript de base et reprsentent donc une nouvelle version dActionScript lui-mme : ActionScript 2.0. ActionScript 2.0 nest pas un nouveau langage. Il sagit plutt dun ensemble dlments de langage de base qui simplifient le dveloppement de programmes orients objet. Lintroduction de mots-cls tels que class, interface, extends et implements facilite lapprentissage de la syntaxe ActionScript aux programmeurs habitus dautres langages. Les nouveaux programmeurs apprennent ainsi une terminologie standard applicable dautres langages orients objet quils tudieront sans doute ultrieurement. ActionScript 2.0 supporte tous les lments standard du langage ActionScript. Il vous permet simplement dcrire des scripts plus conformes aux normes utilises dans dautres langages orients objet, tels que Java. ActionScript 2.0 intressera principalement les dveloppeurs Flash de niveau intermdiaire ou avanc qui crent des applications ncessitant limplmentation de classes et de sous-classes. ActionScript 2.0 vous permet galement de dclarer le type dobjet dune variable au moment de sa cration (consultez Typage strict des donnes, page 40) et amliore considrablement les erreurs de compilateur (consultez lAnnexe A, Messages derreur, page 773 ). Les nouveaux lments dActionScript 2.0 sont rpertoris ci-dessous.

classe extends implements interface dynamic static public private get set import

Les principaux points connatre sur ActionScript 2,0 sont les suivants :

Les scripts utilisant ActionScript 2.0 pour dfinir des interfaces doivent tre enregistrs en tant
que fichiers scripts externes, avec une seule classe dfinie dans chaque script. Cela implique que les classes et les interfaces ne peuvent pas tre dfinies dans le panneau Actions. Vous pouvez importer des fichiers de classe individuels de faon implicite (en les enregistrant dans un emplacement spcifi par des chemins de recherche gnraux ou spcifiques des documents et en les utilisant dans un script) ou de faon explicite (en utilisant la commande import). Vous pouvez importer des ensembles de fichiers (ensembles de fichiers de classe dans un rpertoire) en utilisant des caractres gnriques.

Nouveau modle de programmation oriente objet

25

Les applications dveloppes laide dActionScript 2.0 sont supportes par Flash Player 6 et
les versions ultrieures.
Attention : Le paramtre de publication par dfaut des nouveaux fichiers crs dans Flash MX 2004 est ActionScript 2.0. Si vous projetez de modifier un fichier FLA existant pour utiliser la syntaxe ActionScript 2.0, vrifiez que le fichier FLA spcifie bien ActionScript 2.0 dans ses paramtres de publication. Si ce nest pas le cas, votre fichier ne sera pas compil correctement, mme si Flash ne gnre pas derreurs de compilateur.

Pour plus dinformations sur lutilisation dActionScript 2.0 pour lcriture de programmes orients objet en Flash, consultez le Chapitre 9, Cration de classes avec ActionScript 2.0, page 161.

26

Chapitre 1 : Nouveauts de Flash MX 2004 ActionScript

CHAPITRE 2 Notions de base du langage ActionScript

ActionScript possde des rgles de grammaire et de ponctuation qui dterminent les caractres ou les mots porteurs de sens et lordre dans lequel ils peuvent tre rdigs. Par exemple, en franais, un point termine une phrase. Dans ActionScript, cest un point-virgule qui termine une instruction. Les rgles gnrales suivantes sappliquent tous les scripts ActionScript. La plupart des termes ActionScript font galement lobjet de rgles individuelles ; pour en savoir plus sur les rgles qui sappliquent un terme dtermin, consultez lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Diffrences entre ActionScript et JavaScript


ActionScript est similaire au langage de programmation JavaScript. La connaissance de JavaScript nest pas indispensable pour apprendre utiliser ActionScript. Toutefois, si vous connaissez JavaScript, ActionScript vous semblera familier. Cet ouvrage na pas pour but denseigner la programmation gnrale. Il existe de nombreuses sources qui fournissent des informations complmentaires sur les concepts de programmation gnraux et sur le langage JavaScript.

LECMA (European Computers Manufacturers Association) a tabli la spcification ECMA


262, drive du langage JavaScript, qui sert de norme internationale pour le langage JavaScript. ActionScript est bas sur la spcification ECMA-262. Netscape DevEdge Online offre un centre de dveloppement JavaScript (http:// developer.netscape.com/tech/javascript/index.html) qui contient de la documentation et des articles utiles la comprhension dActionScript. La ressource la plus importante est le Core JavaScript Guide.

Les principales diffrences qui existent entre ActionScript et JavaScript sont les suivantes :

ActionScript ne supporte pas les objets spcifiques aux navigateurs que sont les documents,
fentres et ancres, par exemple.

ActionScript ne supporte pas entirement tous les objets JavaScript intgrs. ActionScript ne supporte pas certaines constructions syntaxiques JavaScript, telles que les
tiquettes dinstructions.

Dans ActionScript, laction eval() ne peut effectuer que des rfrences aux variables.

27

Support du format Unicode pour ActionScript


Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004 prennent en charge le codage du texte au format Unicode pour ActionScript. Vous pouvez donc intgrer du texte en diffrentes langues dans un mme fichier ActionScript. Vous pouvez par exemple intgrer du texte en anglais, en japonais et en franais dans un mme fichier. Vous pouvez dfinir les prfrences dActionScript afin de spcifier le type de codage utiliser lors de limportation ou de lexportation de fichiers ActionScript. Vous avez le choix entre le codage UTF-8 ou le codage par dfaut. UTF-8 est le format Unicode 8 bits. Le codage par dfaut, ou page de code classique, est le codage pris en charge par la langue utilise actuellement sur votre systme. En rgle gnrale, si vous importez ou exportez des fichiers ActionScript au format UTF-8, choisissez UTF-8. Si vous importez ou exportez des fichiers dans la page de code classique de votre systme, choisissez Codage par dfaut comme prfrence. Si le texte que contiennent vos scripts ne saffiche pas correctement lorsque vous ouvrez ou importez un fichier, modifiez la prfrence de codage pour limportation. Si vous obtenez un avertissement lors de lexportation de fichiers ActionScript, vous pouvez modifier la prfrence de codage pour lexportation ou dsactiver laffichage de cet avertissement dans les prfrences ActionScript.
Pour choisir des options de codage de texte pour limportation ou lexportation de fichiers ActionScript :

1 Dans la bote de dialogue Prfrences (Modifier > Prfrences), cliquez sur longlet

ActionScript.
2 Dans la section Options ddition, effectuez au moins une des actions suivantes :

Pour loption Ouvrir/Importer, choisissez UTF-8 pour ouvrir ou importer en utilisant le codage Unicode, ou choisissez Codage par dfaut pour ouvrir ou importer en utilisant le format de codage de la langue de votre systme actuel. Pour loption Enregistrer/Exporter, choisissez UTF-8 pour enregistrer ou exporter en utilisant le codage Unicode, ou choisissez Codage par dfaut pour enregistrer ou exporter en utilisant le format de codage de la langue de votre systme actuel.

Pour activer ou dsactiver le message davertissement de codage dexportation :

1 Dans la bote de dialogue Prfrences (Edition > Prfrences), cliquez sur longlet

Avertissements. 2 Activez ou dsactivez loption Avertir des conflits de codage pendant lexportation de fichiers .as.
Attention : La commande Tester lanimation (consultez Dbogage de scripts, page 71) choue si une partie du chemin du fichier SWF contient des caractres ne pouvant pas tre reprsents laide du systme de codage MBCS. Par exemple, les chemins japonais dans un systme anglais ne fonctionnent pas. Toutes les zones de lapplication utilisant le lecteur externe sont soumises cette restriction.

Terminologie
A linstar de tout langage de programmation, ActionScript utilise une terminologie qui lui est propre. La liste suivante prsente les principaux termes ActionScript.

28

Chapitre 2 : Notions de base du langage ActionScript

Les actions sont des instructions qui ordonnent un fichier SWF dexcuter une opration dtermine lors de sa lecture. Par exemple, gotoAndStop() envoie la tte de lecture une image ou une tiquette spcifique. Dans cet ouvrage, les termes action et instruction sont interchangeables. Une valeur boolenne est une valeur true (vraie) ou false (fausse). Les classes sont des types de donnes que vous pouvez crer pour dfinir un nouveau type dobjet. Pour dfinir une classe, utilisez le mot-cl class dans un fichier de script externe (et non dans le script en cours de rdaction dans le panneau Actions). Les constantes sont des lments qui ne changent pas. Par exemple, la constante Key.TAB a toujours la mme signification : elle indique la touche Tab du clavier. Les constantes sont utiles pour comparer des valeurs. Les constructeurs sont des fonctions que vous utilisez pour dfinir les proprits et les mthodes dune classe. Par dfinition, les constructeurs sont des fonctions au sein dune dfinition de classe qui portent le mme nom que la classe. Par exemple, le code suivant dfinit une classe Cercle et implmente une fonction constructeur :
// fichier Circle.as class Circle { private var radius:Number private var circumference:Number // constructeur function Circle(radius:Number) { circumference = 2 * Math.PI * radius; } }

Le terme constructeur est galement utilis lorsque vous crez (instanciez) un objet en fonction dune classe particulire. Les instructions suivantes sont des constructeurs pour la classe Array intgre et pour la classe Circle personnalise :
mon_array:Array = new Array(); mon_circle:Circle = new Circle();

Les types de donnes dcrivent le genre dinformations quune variable ou quun lment ActionScript peut contenir. Les types de donnes ActionScript sont les suivants : String, Number, Boolean, Object, MovieClip, Function, Null et Undefined. Pour plus dinformations, consultez A propos des types de donnes, page 36. Les vnements sont des actions qui se produisent lors de la lecture dun fichier SWF. Par exemple, diffrents vnements sont gnrs lorsquun clip est charg, que la tte de lecture entre dans une image, que lutilisateur clique sur un bouton ou clip ou quil tape sur le clavier. Les gestionnaires dvnement sont des actions spciales qui grent les vnements tels que mouseDown ou load. Il existe deux sortes de gestionnaires dvnement ActionScript : les mthodes de gestionnaire dvnement et les couteurs dvnement. (Il existe galement deux gestionnaires dvnement, on() et onClipEvent(), que vous pouvez affecter directement aux boutons et aux clips.) Dans la bote outils Actions, chaque objet ActionScript qui possde des mthodes de gestionnaire dvnement ou des couteurs dvnement est associ une souscatgorie appele Evnements ou Ecouteurs. Certaines commandes, qui peuvent tre utilises la fois en tant que gestionnaires dvnement et couteurs dvnement, sont incluses dans les deux sous-catgories.

Terminologie

29

Une expression est toute combinaison lgale de symboles ActionScript qui reprsentent une valeur. Une expression se compose doprateurs et doprandes. Par exemple, dans lexpression x + 2, x et 2 sont des oprandes et + est un oprateur. Les fonctions sont des blocs de code rutilisables qui peuvent recevoir des paramtres et renvoyer une valeur. Pour plus dinformations, consultez Cration de fonctions, page 53. Les identifiants sont des noms utiliss pour indiquer une variable, une proprit, un objet, une fonction ou une mthode. Le premier caractre doit tre une lettre, un trait de soulignement (_) ou un dollar ($). Chaque caractre qui suit doit tre une lettre, un chiffre, un trait de soulignement ou un dollar. Par exemple, prnom est le nom dune variable. Les occurrences sont des objets qui appartiennent une certaine classe. Chaque occurrence dune classe contient toutes les proprits et les mthodes de cette classe. Par exemple, tous les clips sont des occurrences de la classe MovieClip, vous pouvez alors utiliser nimporte quelle mthode ou proprit de la classe MovieClip avec nimporte quelle occurrence de clip. Les noms doccurrence sont des noms uniques qui vous permettent de cibler des occurrences de clip et de bouton dans les scripts. Linspecteur des proprits permet daffecter des noms aux occurrences prsentes sur la scne. Par exemple, un symbole principal de la bibliothque pourrait sappeler compteur et les deux occurrences de ce symbole dans le fichier SWF pourraient avoir comme noms doccurrence scoreJoueur1_mc et scoreJoueur2_mc. Le code suivant dfinit une variable appele score lintrieur de chaque occurrence de clip en utilisant le nom des occurrences :
_root.scorePlayer1_mc.score += 1; _root.scorePlayer2_mc.score -= 1;

Vous pouvez utiliser des suffixes spciaux lors de laffectation dun nom une occurrence, afin que des conseils de code (consultez Utilisation de conseils de code, page 66) saffichent lorsque vous tapez du code. Pour plus dinformations, consultez Utilisation de suffixes pour dclencher des conseils de code, page 64. Les mots-cls sont des mots rservs avec une signification particulire. Par exemple, var est un mot-cl utilis pour dclarer des variables locales. Vous ne pouvez pas utiliser un mot-cl comme identificateur. Par exemple, var nest pas un nom de variable lgal. Pour obtenir une liste des mots-cls, consultez Mots-cls, page 35. Les mthodes sont des fonctions associes une classe. Par exemple, getBytesLoaded() est une mthode intgre associe la classe MovieClip. Vous pouvez aussi crer des fonctions qui agissent ensuite comme des mthodes pour les objets bass sur les classes intgres ou sur les classes que vous crez. Par exemple, dans le code suivant, clear() devient une mthode dun objet contrleur que vous avez prcdemment dfini :
function reset(){ this.x_pos = 0; this.x_pos = 0; } contrleur.clear = reset; contrleur.clear();

Les objets sont des groupes de proprits et mthodes, chaque objet ayant son propre nom et tant une occurrence dune classe particulire. Les objets intgrs sont prdfinis dans le langage ActionScript. Par exemple, lobjet intgr Date fournit des informations provenant de lhorloge systme.

30

Chapitre 2 : Notions de base du langage ActionScript

Les oprateurs sont des termes qui calculent une nouvelle valeur partir dune ou de plusieurs valeurs. Par exemple, loprateur daddition (+) additionne deux ou plusieurs valeurs pour en obtenir une nouvelle. Les valeurs manipules par les oprateurs sont appeles oprandes. Les paramtres, galement appels arguments, sont des espaces rservs qui vous permettent de transmettre des valeurs aux fonctions. Par exemple, la fonction bienvenue() suivante, utilise deux valeurs quelle reoit dans les paramtres prnom et hobby :
function bienvenue(prnom, hobby) { texteDeBienvenue = "Bonjour " + prnom + "Votre hobby est : " + hobby; }

Les paquets sont des rpertoires qui contiennent un ou plusieurs fichiers de classe et rsident dans un rpertoire de chemin de classe dsign (consultez Comprhension du chemin de classe, page 175). Les proprits sont des attributs qui dfinissent un objet. Par exemple, _visible est une proprit de tous les clips qui dfinit si ceux-ci sont visibles ou masqus. Les chemins cibles sont des adresses hirarchiques de noms doccurrences de clips, de variables et dobjets dun fichier SWF. Les occurrences de clips sont nommes dans linspecteur des proprits des clips correspondants. Le scnario principal porte toujours le nom _root. Vous pouvez utiliser un chemin cible pour raliser une action sur un clip ou pour obtenir ou dfinir la valeur dune variable. Par exemple, linstruction suivante est le chemin cible de la variable volume dans le clip contrleStro :
_root.contrleStro.volume

Pour plus dinformations sur les chemins cibles, consultez Chemins cibles absolus et relatifs dans le guide Utilisation de Flash de laide. Les variables sont des identifiants qui contiennent des valeurs de nimporte quel type de donnes. Les variables peuvent tre cres, modifies et mise jour. Vous pouvez rcuprer les valeurs quelles contiennent et les utiliser dans des scripts. Dans lexemple suivant, les identifiants situs gauche du signe gal sont des variables :
var x = 5; var name = "Lolo"; var c_color = new Color(mcinstanceName);

Pour plus dinformations sur les variables, consultez A propos des variables, page 43.

Syntaxe
Comme dans tout langage, ActionScript implique des rgles syntaxiques respecter pour crer des scripts pouvant tre compils et excuts correctement. Cette section dcrit les lments de syntaxe ActionScript. Hauteur de casse Dans un langage de programmation sensible la casse, les noms de variable qui diffrent uniquement par leur casse (livre et Livre) ne sont pas considrs comme identiques. Par consquent, il est toujours judicieux demployer les majuscules et les minuscules selon des conventions fixes, comme celles utilises dans cet ouvrage, car cela permet didentifier plus facilement les noms des fonctions et des variables dans le code ActionScript.

Syntaxe

31

Lorsque vous publiez des fichiers pour Flash Player 7 ou une version ultrieure, Flash implmente la sensibilit la casse que vous utilisiez ActionScript 1 ou ActionScript 2.0. Cela signifie que les mots-cls, noms de classe, variables, noms de mthode etc. sont tous sensibles la casse. Par exemple :
// Dans un fichier ciblant Flash Player 7 // et dans ActionScript 1 ou ActionScript 2.0 // // Dfinit les proprits de deux objets diffrents chat.hilite = true; CHAT.hilite = true; // Cre trois variables diffrentes var maVar=10; var mavar=10; var mAvAr=10; // Ne gnre pas derreur var tableau = new Array(); var date = new Date();

Cette modification a galement des rpercussions sur les variables externes charges via LoadVars.load(). En outre, la sensibilit la casse est implmente pour les scripts externes, tels que les scripts ou les fichiers de classe ActionScript 2.0 que vous importez en utilisant la commande #include. Si vous publiez des fichiers pour Flash Player 7 et avez pralablement cr des fichiers externes que vous ajoutez vos scripts via linstruction #include, vous devez passer chacun deux en revue pour vous assurer que la casse est correcte. Pour ce faire, ouvrez le fichier dans la Fentre de script (Flash Professionnel uniquement) ou, dans un nouveau fichier FLA, rglez vos paramtres de publication sur Flash Player 7 et copiez le contenu du fichier dans le panneau Actions. Utilisez ensuite le bouton Vrifier la syntaxe (consultez Vrification de la syntaxe et de la ponctuation, page 69) ou publiez votre fichier. Les erreurs dues des conflits de noms sont signales dans le panneau de sortie. Lorsque la coloration de la syntaxe est active, les lments du langage dont la casse est correcte sont affichs en bleu par dfaut. Pour plus dinformations, consultez Mots-cls, page 35, et Mise en vidence de la syntaxe, page 63. Syntaxe pointe Dans ActionScript, un point (.) est utilis pour indiquer les proprits ou les mthodes associes un objet ou un clip. Il est galement utilis pour identifier le chemin cible dun clip, dune variable, dune fonction ou dun objet. Une expression en syntaxe point commence par le nom de lobjet ou du clip suivi dun point et se termine par llment que vous souhaitez spcifier. Par exemple, la proprit _x dun clip indique la position sur laxe x du clip sur la scne. Lexpression balleMC._x fait rfrence la proprit _x de loccurrence de clip balleMC. Dans un autre exemple, envoyer est une variable dfinie dans le clip formulaire, qui est imbriqu dans le clip panier. Lexpression panier.formulaire.envoyer = true dfinit la variable envoyer du formulaire de loccurrence sur true. Lexpression dune mthode dun objet ou clip se fait selon le mme schma. Par exemple, la mthode play() de loccurrence de clip balle_mc dplace la tte de lecture dans le scnario de balle_mc, comme indiqu dans linstruction suivante :
balle_mc.play();

32

Chapitre 2 : Notions de base du langage ActionScript

La syntaxe pointe utilise galement deux alias spciaux, _root et _parent. Lalias _root fait rfrence au scnario principal. Vous pouvez utiliser lalias _root pour crer un chemin cible absolu. Par exemple, linstruction suivante appelle la fonction constructPlateau() dans le clip fonctions du scnario principal :
_root.fonctions.constructPlateau();

Vous pouvez utiliser lalias _parent pour faire rfrence un clip dans lequel est imbriqu lobjet courant. Vous pouvez galement utiliser _parent pour crer un chemin cible relatif. Par exemple, si le clip chien_mc est imbriqu dans le clip animal_mc, linstruction suivante de loccurrence chien_mc indique animal_mc de sarrter :
_parent.stop();

Syntaxe barre oblique La syntaxe barre oblique tait utilise dans Flash 3 et 4 pour indiquer le chemin cible dun clip ou dune variable. Cette syntaxe est toujours supporte dans Flash Player 7, mais son utilisation nest pas recommande. La syntaxe barre oblique nest pas supporte dans ActionScript 2.0. Toutefois, si vous crez du contenu destin spcialement Flash Player 4, vous devrez utiliser la syntaxe barre oblique. Pour plus dinformations, consultez Utilisation de la syntaxe barre oblique, page 789. Accolades Les gestionnaires dvnement, les dfinitions de classe et les fonctions ActionScript sont regroups en blocs dlimits par des accolades ({}). Vous pouvez placer laccolade ouvrante sur la mme ligne que la dclaration ou sur la ligne suivante, comme illustr dans les exemples cidessous. Pour amliorer la lisibilit du code, il est prfrable de choisir un format et de sy tenir.
//Gestionnaire dvnement on (release) { maDate = new Date(); moisCourant = maDate.getMonth(); } on(release) { maDate = new Date(); moisCourant = maDate.getMonth(); } // Classe class Circle(radius) { } class Square(side) { } //Fonction circleArea = function(radius) { return radius * radius * MATH.PI; } squareArea = function(side) { return side * side; }

Syntaxe

33

Vous pouvez contrler quil ne manque pas daccolades dans vos scripts ; consultez Vrification de la syntaxe et de la ponctuation, page 69. Points-virgules Une instruction ActionScript se termine par un point-virgule (;), comme dans les exemples suivants :
var colonne = dateTransmise.getDay(); var ligne = 0;

Lomission du point-virgule final nempche pas Flash de compiler le script correctement. Cependant, lemploi de points-virgules est une bonne habitude prendre lors de la rdaction de scripts. Parenthses Lorsque vous dfinissez une fonction, placez les paramtres entre parenthses :
function maFonction (nom, ge, lecteur){ // entrez votre code ici }

Lorsque vous appelez une fonction, incluez tous les paramtres transmis la fonction entre parenthses, comme suit :
maFonction ("Steve", 10, true);

Vous pouvez galement utiliser les parenthses pour supplanter lordre de priorit dActionScript ou pour faciliter la lecture des instructions ActionScript. Pour plus dinformations, consultez Priorit et associativit des oprateurs, page 47. Les parenthses servent galement valuer une expression situe gauche dun point dans la syntaxe pointe. Par exemple, dans linstruction suivante, les parenthses obligent lvaluation de new Color(this) et la cration dun objet Color :
onClipEvent(enterFrame){ (new Color(this)).setRGB(0xffffff); }

Si vous nutilisez pas de parenthses, vous devez ajouter une instruction pour valuer lexpression :
onClipEvent(enterFrame){ maCouleur = new Color(this); maCouleur.setRGB(0xffffff); }

Vous pouvez contrler quil ne manque pas de parenthses dans vos scripts ; consultez Vrification de la syntaxe et de la ponctuation, page 69. Commentaires Il est vivement recommand dutiliser des commentaires pour ajouter des notes aux scripts. Les commentaires sont particulirement utiles pour consigner vos intentions et transmettre des informations dautres dveloppeurs (si vous travaillez en quipe ou si vous fournissez des chantillons). Mme un script simple est plus facile comprendre si vous lannotez lors de sa cration. Pour indiquer quune ligne ou portion de ligne est un commentaire, faites-la prcder de deux barres obliques(//) :

34

Chapitre 2 : Notions de base du langage ActionScript

on (release) { // crer un nouvel objet Date maDate = new Date(); moisCourant = maDate.getMonth(); // convertir le chiffre du mois en son nom nomDuMois = calcMois(moisCourant); anne = maDate.getFullYear(); dateDuJour = maDate.getDate(); }

Lorsque la coloration de la syntaxe est active (consultez Mise en vidence de la syntaxe, page 63), les commentaires apparaissent en gris, par dfaut. Les commentaires peuvent avoir nimporte quelle longueur sans que cela affecte la taille du fichier export. Ils ne suivent aucune rgle de syntaxe ou de mots-cls relative ActionScript. Si vous souhaitez appliquer un commentaire une portion complte de script, intgrez-le dans un bloc de commentaire plutt que de devoir ajouter // au dbut de chaque ligne. Cette technique est plus simple et plus pratique, surtout lorsque vous souhaitez tester uniquement certaines parties dun script en en commentant de grandes parties. Pour crer un bloc de commentaire, entrez /* au dbut du commentaire, puis */ la fin. Par exemple, lorsque le script suivant est excut, le code intgr dans le bloc de commentaire nest pas excut :
// Le code ci-dessous est excut var x:Number = 15; var y:Number = 20; // Le code ci-dessous ne sexcute pas /* on (release) { // crer un nouvel objet Date maDate = new Date(); moisCourant = maDate.getMonth(); // convertir le chiffre du mois en son nom nomDuMois = calcMois(moisCourant); anne = maDate.getFullYear(); dateDuJour = maDate.getDate(); } */ // Le code ci-dessous est excut var nom:String = "Je mappelle"; var ge:Number = 20;

Mots-cls ActionScript rserve certains mots des usages spcifiques au sein du langage et vous ne pouvez pas vous en servir comme identifiants (noms de variable, de fonction, dtiquette, etc.). Le tableau suivant rpertorie tous les mots-cls ActionScript :
break default extends if instanceof private case delete for implements interface public classe dynamic function import intrinsic return continue else get in new set

Syntaxe

35

static var

switch void

this while

typeof with

Constantes Une constante est une proprit dont la valeur ne varie jamais. Par exemple, les constantes BACKSPACE, ENTER, QUOTE, RETURN, SPACE et TAB sont des proprits de lobjet Key et font rfrence aux touches du clavier. Pour savoir si un utilisateur appuie sur la touche Entre, vous pourriez utiliser linstruction suivante :
if(Key.getCode() == Key.ENTER) { alert = "Etes-vous prt(e) ?"; controlMC.gotoAndStop(5); }

A propos des types de donnes


Un type de donnes dcrit le genre dinformations quune variable ou quun lment ActionScript peut contenir. Il existe deux sortes de types de donnes intgres dans Flash : primitives et de rfrence. Les donnes primitives (chane, nombre et boolen) ont une valeur constante et peuvent donc contenir la valeur relle de llment quelles reprsentent. Les donnes de rfrence (clip et objet) possdent des valeurs qui peuvent changer et contiennent donc des rfrences la valeur relle de llment. Les variables contenant des donnes primitives ont un comportement diffrent de celles contenant des rfrences dans certaines situations. Pour plus dinformations, consultez Utilisation des variables dans un programme, page 45. Il existe galement deux types spciaux de donnes : null et undefined. Dans Flash, tout objet intgr qui nest pas une donne primitive, ni une donne de clip, telle que Array ou Math, est une donne dobjet. Chaque type de donnes possde ses propres rgles et est dcrit sous les rubriques suivantes :

String, page 37 Number, page 37 Boolean, page 38 Objet, page 38 MovieClip, page 38 Null, page 39 Undefined, page 39

Lorsque vous dboguez des scripts, vous pouvez avoir besoin de dterminer le type de donnes dune expression ou dune variable pour comprendre pourquoi elle se comporte de telle manire. Vous pouvez effectuer cette opration avec loprateur typeof (consultez Dfinition du type de donnes dun objet, page 39). Vous pouvez convertir un type de donnes en un type diffrent en utilisant lune des fonctions de conversion suivantes : Array(), Boolean(), Number, Objet(), String.

36

Chapitre 2 : Notions de base du langage ActionScript

String Une chane est une squence de caractres (lettres, chiffres et signes de ponctuation, par exemple). Vous insrez des chanes dans une instruction ActionScript en les plaant entre des guillemets droits simples ou doubles. Les chanes sont traites comme des caractres et non comme des variables. Par exemple, dans linstruction suivante, "L7" est une chane :
groupePrfr = "L7";

Vous pouvez utiliser loprateur daddition (+) pour concatner, ou joindre, deux chanes. ActionScript traite les espaces au dbut ou la fin dune chane comme faisant partie de la chane. Lexpression suivante contient un espace aprs la virgule :
salutations = "Bonjour, " + prnom;

Pour inclure un guillemet dans une chane, il faut le faire prcder dune barre oblique inverse (\). Cette opration sappelle chapper un caractre. Dautres caractres ne peuvent pas tre reprsents dans ActionScript sans lemploi de squences dchappement particulires. Le tableau suivant rpertorie lensemble des caractres dchappement dActionScript:
Squence dchappement
\b \f \n \r \t \" \ \\ \000 - \377 \x00 - \xFF \u0000 - \uFFFF

Caractre Caractre de retour arrire (ASCII 8) Caractre de changement de page (ASCII 12) Caractre de changement de ligne (ASCII 10) Caractre de retour chariot (ASCII 13) Caractre de tabulation (ASCII 9) Guillemet droit double Guillemet droit simple Barre oblique inverse Un octet spcifi en octal Un octet spcifi en hexadcimal Un caractre Unicode 16 bits spcifi en hexadcimal

Number Le type de donnes Number correspond un nombre virgule flottante double prcision. Vous pouvez manipuler les nombres avec les oprateurs arithmtiques daddition (+), de soustraction (-), de multiplication (*), de division (/), de modulo (%), dincrmentation (++) et de dcrmentation (--). Vous pouvez galement utiliser des mthodes des classes intgres Math et Number pour manipuler les nombres. Lexemple suivant utilise la mthode sqrt() (racine carre) pour renvoyer la racine carre de 100 :
Math.sqrt(100);

Pour plus dinformations, consultez Oprateurs numriques, page 48.

A propos des types de donnes

37

Boolean Une valeur boolenne est soit true (vraie), soit false (fausse). ActionScript convertit galement les valeurs true et false en 1 et 0 lorsque cela est ncessaire. Les valeurs boolennes sont le plus souvent utilises dans les instructions ActionScript effectuant des comparaisons pour contrler le droulement dun script. Par exemple, dans le script suivant, le fichier SWF est lu si la variable motDePasse est vraie (true) :
onClipEvent(enterFrame){ if (nomDutilisateur == true && motDePasse == true){ play(); } }

Consultez Utilisation de fonctions intgres, page 53, et Oprateurs logiques, page 49. Objet Un objet est une collection de proprits. Chaque proprit possde un nom et une valeur. La valeur dune proprit peut tre de nimporte quel type de donnes Flash, mme un type de donnes Object. Cela vous permet darranger les objets les uns dans les autres, ou de les imbriquer. Pour spcifier les objets et leurs proprits, vous devez utiliser loprateur point (.). Par exemple, dans le code suivant, heuresTravailles est une proprit de statsHebdo, qui est une proprit de personnel :
personnel.statsHebdo.heuresTravailles

Vous pouvez utiliser les objets ActionScript intgrs pour localiser et manipuler certains types dinformations spcifiques. Par exemple, lobjet Math possde des mthodes qui effectuent des oprations mathmatiques sur les nombres que vous leur transmettez. Cet exemple utilise la mthode sqrt() :
racineCarre = Math.sqrt(100);

Lobjet ActionScript MovieClip possde des mthodes qui vous permettent de contrler les occurrences de symbole de clip sur la scne. Cet exemple utilise les mthodes play() et nextFrame() :
nomDoccurrenceMC.play(); nomDoccurrenceMC2.nextFrame();

Vous pouvez aussi crer des objets personnaliss pour organiser les informations dans votre application Flash. Pour ajouter de linteractivit votre application avec ActionScript, vous aurez besoin dun certain nombre dinformations : un nom dutilisateur, la vitesse dune balle, les noms des objets contenus dans un panier, le nombre dimages charges, le code postal de lutilisateur et la dernire touche utilise, par exemple. La cration dobjets personnaliss vous permet dorganiser ces informations dans des groupes, de simplifier la rdaction et de rutiliser vos scripts. MovieClip Les clips sont des symboles qui peuvent lire des effets anims dans une application Flash. Ils sont le seul type de donnes faisant rfrence un lment graphique. Le type de donnes MovieClip vous permet de contrler les symboles de clip au moyen des mthodes de la classe MovieClip. Vous appelez les mthodes en utilisant loprateur point (.), comme ci-dessous :
mon_mc.startDrag(true); parent_mc.getURL("http://www.macromedia.com/support/" + produit);

38

Chapitre 2 : Notions de base du langage ActionScript

Null Le type de donnes nul ne possde quune valeur, null. Cette valeur signifie en fait pas de valeur , cest--dire une absence de donnes. La valeur null peut tre utilise dans diverses situations. En voici quelques exemples :

Pour indiquer quune variable na pas encore reu de valeur. Pour indiquer quune variable ne contient plus de valeur. En tant que valeur de retour dune fonction, afin dindiquer quaucune valeur na pu tre
retourne par la fonction.

En tant que paramtre dune fonction, afin dindiquer quun paramtre est omis.
Undefined Le type de donnes undefined ne possde quune valeur, undefined, et est utilis pour les variables auxquelles aucune valeur na t affecte. Dfinition du type de donnes dun objet Lors du test et du dbogage de vos programmes, des problmes lis aux types de donnes peuvent se produire. Dans ce cas, il peut tre souhaitable de dterminer le type de donnes dun objet. Pour ce faire, utilisez loprateur typeof, comme dans lexemple suivant :
trace(typeof(nomDeVariable));

Pour plus dinformations sur le test et le dbogage, consultez le Chapitre 3, Rdaction et dbogage de scripts, page 57.

Affectation de types de donnes aux lments


Flash affecte automatiquement les types de donnes aux lments de langage suivants, comme indiqu dans la section suivante, Typage des donnes automatique :

Variables Paramtres transmis une fonction, une mthode ou une classe Valeurs renvoyes dune fonction ou dune mthode Objets crs comme sous-classes de classes existantes

Vous pouvez galement affecter explicitement des types de donnes aux lments, ce qui peut vous aider viter ou diagnostiquer certaines erreurs dans vos scripts. Pour plus dinformations, consultez Typage strict des donnes, page 40. Typage des donnes automatique Dans Flash, il nest pas ncessaire de dfinir explicitement un lment comme contenant un nombre, une chane ou un autre type de donnes. Flash dtermine le type de donnes dun lment lorsque celui est affect :
var x = 3;

Dans lexpression var x = 3, Flash value llment droite de loprateur et dtermine quil sagit du type de donnes nombre. Une affectation ultrieure pourra changer le type de x. Par exemple, linstruction x = "bonjour" change le type de x en chane. Une variable laquelle aucune valeur na t affecte est du type undefined.

Affectation de types de donnes aux lments

39

ActionScript convertit automatiquement les types de donnes lorsquune expression le ncessite. Par exemple, lorsque vous transmettez une valeur laction trace(), trace() convertit automatiquement la valeur en chane et lenvoie au panneau de sortie. Dans les expressions avec oprateurs, ActionScript convertit les types de donnes en fonction des besoins, par exemple, lors de lutilisation dans une chane, loprateur + sattend ce que lautre oprande soit une chane.
"Suivant : le numro " + 7

ActionScript convertit le chiffre 7 en chane "7" et lajoute la fin de la premire chane, ce qui aboutit la chane suivante :
"Suivant : le numro 7"

Typage strict des donnes ActionScript 2.0 vous permet de dclarer explicitement le type dobjet dune variable lorsque vous la crez, ce qui est appel typage strict. Les incompatibilits de type de donnes dclenchent des erreurs de compilation, le typage strict vous permet donc dviter daffecter un type de donnes incorrect une variable existante. Pour affecter un type de donnes spcifique un lment, spcifiez son type laide dune syntaxe utilisant le mot-cl var ainsi que deux points :
// typage strict de variable ou objet var x:Number = 7; var anniversaire:Date = new Date(); // typage strict de paramtres function welcome(firstName:String, age:Number){ } // typage strict de paramtre et de valeur renvoye function square(x:Number):Number { var squared = x*x; return squared; }

Etant donn que vous devez utiliser le mot-cl var pour le typage strict des variables, vous ne pouvez pas dfinir strictement le type dune variable globale (consultez Domaine et dclaration de variables, page 44). Vous pouvez typer des objets en fonction des classes intgres (Button, Date, MovieClip, etc.) et des classes et interfaces que vous crez. Par exemple, vous avez un fichier qui sappelle Etudiant.as dans lequel vous avez dfini une classe Etudiant, vous pouvez spcifier que les objets que vous crez sont de type Etudiant :
var tudiant:Student = new Student();

Vous pouvez galement spcifier que les objets sont de type Function ou Void. Lutilisation du typage strict vous empche daffecter, par inadvertance, un type de valeur incorrect un objet. Flash recherche les incompatibilits de type au moment de la compilation. Par exemple, supposons que vous tapez ce qui suit :
// dans le fichier de classe Etudiant.as class Etudiant { var status:Boolean; // proprit des objets Etudiant } // dans un script var tudiantMarieLago:Student = new Student(); tudiantMarieLago.status = "inscrite";

40

Chapitre 2 : Notions de base du langage ActionScript

Lorsque Flash compile ce script, une erreur Incompatibilit de types se produit. Un des autres avantages du typage strict des donnes rside dans le fait que Flash MX 2004 affiche automatiquement des conseils de code pour les objets intgrs que vous typez strictement. Pour plus dinformations, consultez Typage strict des objets pour dclencher des conseils de code, page 64. Les fichiers publis laide dActionScript 1 ne respectent pas les affectations de typage strict des donnes lors de la compilation. Ainsi, laffectation du mauvais type de valeur une variable que vous avez strictement type ne gnre pas derreur de compilation.
var x:String = "abc" x = 12 ; // aucune erreur dans ActionScript 1, erreur de compatibilit de type dans ActionScript 2

Ceci est d au fait que lorsque vous publiez un fichier pour ActionScript 1, Flash interprte une instruction telle que var x:String = "abc" comme une syntaxe barre oblique et non comme un typage strict. (ActionScript 2.0 ne supporte pas la syntaxe barre oblique.) Il peut alors en rsulter un objet affect une variable de type erron. Le compilateur autorise alors que des appels de mthodes illgaux et que des rfrences de proprit non dfinies passent sans tre signals. Ainsi, si vous implmentez le typage strict de donnes, assurez-vous de publier les fichiers pour ActionScript 2.0. Attribution dobjets ActionScript 2.0 vous permet dattribuer un type de donnes un autre. Loprateur dattribution utilis par Flash se prsente sous la forme dun appel de fonction et concorde avec la coercition explicite, telle quelle est dfinie dans la norme ECMA-262 version 4. Lattribution vous permet daffirmer quun objet est dun type spcifique de telle sorte que, lors de la vrification du type, le compilateur considre que lobjet est dot de proprits absentes du type dorigine. Ceci peut savrer utile, par exemple, lors de litration sur un tableau dobjets pouvant tre de types diffrents. Dans les fichiers publis pour Flash Player 7 ou une version ultrieure, les instructions dattribution qui chouent lexcution renvoient null. Dans les fichiers publis pour Flash Player 6, les attributions ayant choues ne sont pas supportes lexcution. La syntaxe dattribution est type(lment) : le compilateur doit se comporter comme si le type de donnes de lment tait type. Lattribution est essentiellement un appel de fonction, et lappel de fonction renvoi null si lattribution choue. Si lattribution russit, lappel de fonction renvoie lobjet original. Toutefois, le compilateur ne gnre pas derreurs dincompatibilit de type lorsque vous attribuez des lments des types de donnes que vous avez crs dans des fichiers de classe externes, mme si lattribution choue lexcution.
// dans Animal.as class Animal {} // dans Chien.as class Chien extends Animal { function aboie (){} } // dans Chat.as class Chat extends Animal { function miaule (){} } // dans le fichier FLA var spot:Chien = new Chien();

Affectation de types de donnes aux lments

41

var temp:Chat = Chat (spot); // affirme quun objet Chien est de type Chat temp.miaou(); // na aucun effet et nentrane pas derreur de compilation non plus

Dans cette situation, vous avez indiqu au compilateur que temp est un objet Chat, et le compilateur suppose donc que temp.miaou() est une instruction lgale. Toutefois, le compilateur ne sait pas que lattribution chouera (cest--dire que vous avez essay dattribuer un objet Chien un type Chat), et aucune erreur de compilation ne se produit. Si vous incorporez une vrification dans votre script de manire vous assurer que lattribution russit, vous pouvez trouver des erreurs dincompatibilit de types lexcution.
var spot:Chien = new Chien(); var temp:Chat = Chat (spot); trace(temp); //affiche null lexcution

Vous pouvez attribuer une expression une interface. Si lexpression est un objet qui implmente linterface, ou si elle possde une classe de base qui implmente linterface, lobjet est renvoy. Sinon, null est renvoy. Lexemple suivant montre les rsultats de lattribution de types dobjet intgrs. Comme le montre la premire ligne du bloc with(results), une attribution illgale (dans le cas prsent, lattribution dune chane un clip) renvoie null. Comme le montrent les deux dernires lignes, lattribution vers null ou undefined renvoie undefined.
var mc:MovieClip; var tab:Array; var bool:Boolean; var num3:Number; var obj:Object; var str:String; _root.createTextField("results",2,100,100,300,300); with(results){ text = "type MovieClip : "+(typeof MovieClip(str)); text += "\ntype object : "+(typeof Object(str)); text += "\ntype Array : "+(typeof Array(num3)); text += "\ntype Boolean : "+(typeof Boolean(mc)); text += "\ntype String : "+(typeof String(mc)); text += "\ntype Number : "+(typeof Number(obj)); text += "\ntype Function : "+(typeof Function(mc)); text += "\ntype null : "+(typeof null(arr)); text += "\ntype undefined : "+(typeof undefined(obj)); } //Rsultats dans le panneau de sortie type MovieClip : null type object : objet type Array : object type Boolean : boolean type String : string type Number : number type Function : object type null : undefined type undefined : undefined

// // // // // // // // //

renvoie renvoie renvoie renvoie renvoie renvoie renvoie renvoie renvoie

null object object boolean string number object undefined undefined

Vous ne pouvez pas supplanter les types de donnes primitifs tels que Boolean, Date et Number par un oprateur dattribution du mme nom.

42

Chapitre 2 : Notions de base du langage ActionScript

A propos des variables


Une variable est un conteneur qui stocke des informations. Le conteneur reste toujours le mme, cest le contenu qui peut varier. La modification de la valeur dune variable pendant la lecture du fichier SWF permet denregistrer les informations relatives aux actions de lutilisateur, denregistrer les valeurs modifies pendant la lecture du fichier SWF ou dvaluer si une condition est true ou false. Il est toujours judicieux daffecter une valeur connue une variable que vous dfinissez pour la premire fois. Cette opration, appele initialisation de la variable, est souvent effectue dans la premire image du fichier SWF. Elle facilite le suivi et la comparaison de la valeur de la variable pendant la lecture du fichier SWF. Les variables peuvent contenir tous les types de donnes (consultez A propos des types de donnes, page 36). Le type de donnes contenu dans une variable affecte la faon dont est modifie la valeur de la variable lorsquelle est affecte un script. Les types dinformations standard que vous pouvez stocker dans une variable sont les URL, les noms dutilisateur, les rsultats doprations mathmatiques, le nombre de fois quun vnement sest produit ou si un bouton a t actionn. Chaque fichier SWF et chaque occurrence de clip dispose dun jeu de variables, dont la valeur est indpendante des variables figurant dans dautres fichiers SWF ou clips. Pour tester la valeur dune variable, utilisez laction trace() pour envoyer la valeur au panneau de sortie. Par exemple, trace(heuresTravailles) envoie la valeur de la variable heuresTravailles au panneau de sortie en mode de test. Vous pouvez galement vrifier et dfinir les valeurs des variables dans le dbogueur en mode de test. Pour plus dinformations, consultez Utilisation de linstruction trace, page 82, et Affichage et modification de variables, page 74. Affectation dun nom une variable Le nom des variables doit suivre les rgles suivantes :

Il doit sagir dun identifiant (consultez Terminologie, page 28). Il ne peut pas sagir dun mot-cl ni dun littral ActionScript, tel que true, false, null ou
undefined.

Il doit tre unique dans son domaine (consultez Domaine et dclaration de variables, page 44).
Par ailleurs, nutilisez pas les lments du langage ActionScript comme noms de variable : cela donnerait lieu des erreurs de syntaxe ou des rsultats inattendus. Si vous appelez une variable String, par exemple, puis tentez de crer un objet String au moyen de new String(), le nouvel objet nest pas dfini.
bonjour_str = new String(); trace(bonjour_str.length); // renvoie 0 String = "bonjour"; // Attribution du nom dune classe intgre une variable bonjour_str = new String(); trace(bonjour_str.length); // renvoie undefined

Lditeur ActionScript prend en charge les conseils de code pour les classes intgres et pour les variables bases sur ces classes. Si vous souhaitez obtenir des conseils de code pour un type dobjet particulier affect une variable, vous pouvez dfinir strictement le type de cette dernire ou la nommer en utilisant un suffixe spcial.

A propos des variables

43

Par exemple, supposons que vous tapez ce qui suit :


var membres:Array = new Array(); membres.

Ds que vous tapez le point (.), Flash affiche la liste des mthodes et proprits disponibles pour les objets Array. Pour plus dinformations, consultez Rdaction de code qui dclenche des conseils de code, page 64. Domaine et dclaration de variables Le domaine dune variable fait rfrence au domaine dans lequel la variable est connue et peut tre rfrence. Il existe trois types de domaine de variable dans ActionScript :

Les variables locales sont disponibles dans le corps de la fonction dans lequel elles sont dclares
(dlimit par des accolades).

Les variables de scnario sont disponibles pour tout script dans ce scnario. Les variables globales et les fonctions sont visibles par tout scnario et domaine du document.
Remarque : Les classes ActionScript 2.0 que vous crez supportent des domaines de variables publics, privs et statiques. Pour plus dinformations, consultez Contrle de laccs des membres, page 170, et Cration des membres de classe, page 172.

Les variables locales Pour dclarer des variables locales, utilisez linstruction var dans le corps de la fonction. Une variable locale a un domaine limit au bloc et expire la fin du bloc. Une variable locale qui nest pas dclare dans un bloc expire la fin de son script. Par exemple, les variables i et j sont souvent utilises comme compteurs de boucles. Dans lexemple suivant, i est utilise comme variable locale et existe uniquement dans la fonction constructJours() :
function constructJours() { var i; for( i = 0; i < tableauDeMois[month]; i++ ) { _root.Jours.attachMovie( "affichageDesJours", i, i + 2000 ); _root.Jours[i].num = i + 1; _root.Jours[i]._x = colonne * _root.Jours[i]._width; _root.Jours[i]._y = ligne * _root.Jours[i]._height; colonne = colonne + 1; if (colonne == 7 ) { colonne = 0; ligne = ligne + 1; } } }

Les variables locales permettent aussi dempcher les conflits de noms, qui peuvent donner lieu des erreurs dans une application. Par exemple, si vous crez la variable locale nom, vous pouvez lutiliser pour stocker un nom dutilisateur dans un contexte et une occurrence de clip dans un autre. Ces variables fonctionnant dans des domaines distincts, il ny a pas de risques de conflits.

44

Chapitre 2 : Notions de base du langage ActionScript

Il est toujours judicieux dutiliser des variables locales dans le corps dune fonction pour que celleci puisse agir en tant que partie de code indpendante. Une variable locale nest modifiable quau sein de son propre bloc de code. Si une expression dune fonction utilise une variable globale, un lment extrieur peut modifier sa valeur, ce qui modifierait la fonction. Vous pouvez affecter un type de donnes une variable locale lorsque vous la dfinissez, ce qui vous vite daffecter un type de donnes erron une variable existante. Pour plus dinformations, consultez Typage strict des donnes, page 40. Les variables de scnario Les variables de scnario sont disponibles pour tout script dans le scnario. Pour dclarer les variables de scnario, initialisez-les sur nimporte quelle image du scnario. Veillez initialiser la variable avant de tenter dy accder dans un script. Si, par exemple, vous placez le code varx = 10 ; sur limage 20, un script associ une image prcdant limage 20 naura pas accs cette variable. Les variables globales Les variables et les fonctions globales sont visibles par tout scnario et domaine du document. Pour crer une variable globale, faites prcder son nom de lidentifiant _global et nutilisez pas la syntaxe var =. Par exemple, le code suivant cre la variable globale monNom :
var _global.monNom = "George"; // erreur de syntaxe _global.monNom = "George";

Toutefois, si vous initialisez une variable locale portant le mme nom quune variable globale, vous navez pas accs cette dernire dans le domaine de la variable locale :
_global.compteur = 100; compteur++; trace(compteur); // affiche 101 function count(){ for( var compteur = 0; compteur <= 10 ; compteur++ ) { trace(compteur); // affiche 0 10 } } count(); compteur++; trace(compteur); // affiche 102

Utilisation des variables dans un programme Vous devez dclarer une variable dans un script avant de pouvoir lutiliser dans une expression. Si vous utilisez une variable non dclare, comme dans lexemple suivant, elle prend la valeur NaN ou undefined, et votre script est susceptible de gnrer des rsultats inattendus :
var squared = x*x; trace(squared); // NaN var x = 6;

Dans lexemple ci-dessous, linstruction dclarant la variable x doit tre place en premier de sorte que squared puisse tre remplace par une valeur.
var x = 6; var squared = x*x; trace(squared); // 36

A propos des variables

45

La mme chose se produit lorsque vous transmettez une valeur non dfinie une mthode ou une fonction :
getURL(onSiteWeb); // aucune action var monSiteWeb = "http://www.macromedia.com"; var monSiteWeb = "http://www.macromedia.com"; getURL(monSiteWeb); // le navigateur affiche www.macromedia.com

Vous pouvez changer plusieurs fois la valeur dune variable dans un script. Le type de donnes contenu dans la variable affecte les conditions et le moment o la variable sera modifie. Les types primitifs de donnes, comme les chanes et les nombres, sont transmis par valeur. Cela signifie que le contenu rel de la variable est transmis la variable. Dans lexemple suivant, x est dfini sur 15 et cette valeur est copie dans y. Lorsque x devient 30 la ligne 3, la valeur de y reste 15 tant donn que y ne va pas chercher sa valeur dans x ; elle contient la valeur de x quelle a reu la ligne 2.
var x = 15; var y = x; var x = 30;

Dans un autre exemple, la variable valeurEntre contient une valeur primitive, 3, la valeur relle tant donc transmise la fonction sqrt() et la valeur renvoye tant 9 :
function sqrt(x){ return x * x; } var valeurEntre = 3; var Sortie = sqrt(valeurEntre);

La valeur de la variable valeurEntre ne change pas. Le type de donnes objet peut contenir tant dinformations complexes quune variable de ce type ne contient pas la valeur relle, mais contient une rfrence la valeur. Cette rfrence est un alias qui dsigne le contenu de la variable. Lorsque la variable a besoin de connatre sa valeur, la rfrence demande le contenu et renvoie la rponse sans transfrer la valeur la variable. Le code suivant est un exemple de transmission par rfrence :
var monTableau = ["tom", "josie"]; var nouveauTableau = monTableau; monTableau[1] = "jack"; trace(nouveauTableau);

Le code ci-dessus cre un objet Array appel monTableau qui contient deux lments. La variable nouveauTableau est cre et reoit une rfrence monTableau. La modification du deuxime lment de monTableau affecte toutes les variables qui y font rfrence. Laction trace() envoie tom, jack au panneau de sortie.
tableauNul() monTableau.

Dans lexemple suivant, monTableau contient un objet Array qui est transmis la fonction par rfrence. La fonction tableauNu()l change le contenu du tableau en

function tableauNul(leTableau){ var i; for (i=0; i < leTableau.length; i++) { leTableau[i] = 0; } }

46

Chapitre 2 : Notions de base du langage ActionScript

var monTableau = new Array(); monTableau[0] = 1; monTableau[1] = 2; monTableau[2] = 3; tableauNul(monTableau);

La fonction tableauNul() accepte un objet Array comme paramtre et dfinit tous les lments de ce tableau sur 0. Elle peut modifier ce tableau car il est transmis par rfrence.

Utilisation doprateurs pour manipuler les valeurs des expressions


Une expression est une instruction que Flash pourra valuer et qui renvoie une valeur. Pour crer une expression, vous pouvez associer des oprateurs et des valeurs ou appeler une fonction. Les oprateurs sont des caractres qui spcifient comment combiner, comparer ou modifier les valeurs dune expression. Les lments sur lesquels les oprateurs agissent sont appels oprandes. Par exemple, dans linstruction suivante, loprateur + additionne la valeur dun littral numrique la valeur de la variable truc; truc et 3 sont les oprandes :
truc + 3

Cette section dcrit des rgles gnrales au sujet de types courants doprateurs, de la priorit des oprateurs et de leur associativit. Pour plus dinformations sur chaque oprateur, de mme que sur les oprateurs spciaux nappartenant pas ces catgories, consultez les entres du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Priorit et associativit des oprateurs Lorsque deux oprateurs ou plus sont utiliss dans la mme instruction, certains oprateurs sont prioritaires par rapport dautres. ActionScript suit une hirarchie prcise pour dterminer les oprateurs excuter en premier. Par exemple, une multiplication est toujours effectue avant une addition, les lments entre parenthses restant cependant prioritaires sur la multiplication. Donc, sans parenthses, ActionScript effectue la multiplication en premier, comme dans lexemple suivant :
total = 2 + 4 * 3;

Le rsultat est 14. Mais si laddition est mise entre parenthses, ActionScript effectue laddition en premier :
total = (2 + 4) * 3;

Le rsultat est 18. Lorsque deux ou plusieurs oprateurs possdent le mme ordre de priorit, leur associativit dtermine lordre dans lequel ils sont excuts. Lassociativit peut aller de la gauche vers la droite, comme de la droite vers la gauche. Par exemple, loprateur de multiplication a une associativit gauche-droite et les deux instructions suivantes sont donc quivalentes :
total = 2 * 3 * 4; total = (2 * 3) * 4;

Un tableau de tous les oprateurs, de leur ordre de priorit et de leur associativit, apparat lAnnexe B, Priorit et associativit des oprateurs, page 779.

Utilisation doprateurs pour manipuler les valeurs des expressions

47

Oprateurs numriques Les oprateurs numriques additionnent, soustraient, multiplient, divisent et effectuent dautres oprations arithmtiques. Lemploi le plus courant de loprateur dincrmentation est i++ au lieu de loprateur i = i+1, qui est plus long. Loprateur dincrmentation peut sutiliser avant ou aprs une oprande. Dans lexemple suivant, ge est incrment en premier, puis nouveau test contre le nombre 30 :
if (++ge >= 30)

Dans lexemple suivant, ge est incrment la suite du test :


if (ge++ >= 30)

Le tableau suivant rpertorie les oprateurs numriques dActionScript :


Oprateur
+ * / % ++ --

Opration effectue Addition Multiplication Division Modulo (reste de division) Soustraction Incrmentation Dcrmentation

Oprateurs de comparaison Les oprateurs de comparaison comparent les valeurs des expressions et renvoient une valeur boolenne (true ou false). Ces oprateurs sont surtout utiliss dans les boucles et les instructions conditionnelles. Dans lexemple suivant, si la variable score correspond 100, un fichier SWF spcifique est charg ; sinon, cest un autre fichier SWF qui est charg :
if (score > 100){ loadMovieNum("gagnant.swf", 5); } else { loadMovieNum("perdant.swf", 5); }

Le tableau suivant rpertorie les oprateurs de comparaison dActionScript :


Oprateur
< > <= >=

Opration effectue Infrieur Suprieur Infrieur ou gal Suprieur ou gal

48

Chapitre 2 : Notions de base du langage ActionScript

Oprateurs de chane Loprateur + agit de manire spciale sur les chanes : il en concatne les deux oprandes. Par exemple, les instructions suivantes additionnent "Flicitations," et "Donna !":
"Flicitations, " + "Donna !"

Le rsultat est "Flicitations, Donna !". Si un seul oprande de loprateur + est une chane, Flash convertit lautre oprande en chane. Les oprateurs de comparaison >, >=, < et <= agissent galement de manire particulire sur les chanes. Ces oprateurs comparent deux chanes pour dterminer celle qui apparat en premier dans lordre alphabtique. Les oprateurs de comparaison ne comparent des chanes que si les deux oprandes sont des chanes. Si un seul oprande est une chane, ActionScript convertit les deux oprandes en nombres et effectue une comparaison numrique. Oprateurs logiques Les oprateurs logiques comparent des valeurs boolennes (true et false) et renvoient une troisime valeur boolenne. Par exemple, si les deux oprandes sont true, loprateur logique AND (&&) renvoie true. Si lun des oprandes, ou les deux, est true, loprateur logique OR (||) renvoie false. Les oprateurs logiques sont souvent utiliss en complment des oprateurs de comparaison pour dterminer la condition dune action if. Par exemple, dans le script suivant, si les deux expressions sont true, laction if est excute :
if (i > 10 && _framesloaded > 50){ play(); }

Le tableau suivant rpertorie les oprateurs logiques dActionScript :


Oprateur
&& || !

Opration effectue AND logique OR logique NOT logique

Oprateurs au niveau du bit Les oprateurs au niveau du bit manipulent (en interne) les nombres virgule flottante pour les transformer en entiers 32 bits. Lopration exacte effectue dpend de loprateur, mais toutes les oprations au niveau du bit valuent chaque bit dun entier 32 bits sparment pour calculer une nouvelle valeur. Le tableau suivant rpertorie les oprateurs au niveau du bit dActionScript :
Oprateur & | ^ ~ << Opration effectue AND au niveau du bit OR au niveau du bit XOR au niveau du bit NOT au niveau du bit Dcalage gauche

Utilisation doprateurs pour manipuler les valeurs des expressions

49

Oprateur >> >>>

Opration effectue Dcalage droit Dcalage droit avec remplissage par zros

Oprateurs dgalit Vous pouvez utiliser loprateur dgalit (==) pour dterminer si les valeurs ou les identits de deux oprandes sont gales. Cette comparaison renvoie une valeur boolenne (true ou false). Si les oprandes sont des chanes, des nombres ou des valeurs boolennes, ils sont compars par valeur. Si les oprandes sont des objets ou des tableaux, ils sont compars par rfrence. Une erreur courante consiste utiliser loprateur daffectation pour contrler lgalit. Par exemple, le code suivant compare x 2 :
if (x == 2)

Dans ce mme exemple, lexpression x = 2 est incorrecte, car elle ne compare pas les oprandes, mais affecte la valeur 2 la variable x. Loprateur dgalit stricte (===) est semblable loprateur dgalit, une diffrence (importante) prs : loprateur dgalit stricte neffectue pas de conversion de type. Si les deux oprandes sont de types diffrents, loprateur dgalit stricte renvoie false. Loprateur dingalit stricte (!==) renvoie linverse de loprateur dgalit stricte. Le tableau suivant rpertorie les oprateurs dgalit dActionScript :
Oprateur
== === != !==

Opration effectue Egalit Egalit stricte Ingalit Ingalit stricte

Oprateurs daffectation Vous pouvez utiliser loprateur daffectation (=) pour affecter une valeur une variable, comme par exemple :
var motDePasse = "Sk8tEr";

Vous pouvez galement utiliser loprateur daffectation pour affecter plusieurs variables dans la mme expression. Dans linstruction suivante, la valeur a est affecte aux variables b, c et d :
a = b = c = d;

Vous pouvez aussi utiliser des oprateurs daffectation composs pour combiner des oprations. Les oprateurs composs agissent sur les deux oprandes, puis affectent la nouvelle valeur au premier. Par exemple, les deux instructions suivantes sont quivalentes :
x += 15; x = x + 15;

Loprateur daffectation peut galement tre utilis au milieu dune expression, comme illustr cidessous :
// sil ne sagit pas de vanille, afficher un message.

50

Chapitre 2 : Notions de base du langage ActionScript

if ((got =gotGlace()) != "vanille") { trace ("Le got est " + flavor + ", pas la vanille."); }

Ce code quivaut au code suivant, qui est quelque peu plus long :
got = gotGlace(); if (got != "vanille") { trace ("Le got est " + flavor + ", pas la vanille."); }

Le tableau suivant rpertorie les oprateurs daffectation dActionScript :


Oprateur
= += -= *= %= /= <<= >>= >>>= ^= |= &=

Opration effectue Affectation Addition et affectation Soustraction et affectation Multiplication et affectation Modulo et affectation Division et affectation Dcalage gauche au niveau du bit et affectation Dcalage droit au niveau du bit et affectation Dcalage droit avec remplissage par zros et affectation XOR au niveau du bit et affectation OR au niveau du bit et affectation AND au niveau du bit et affectation

Oprateurs point et accs tableau Vous pouvez utiliser les oprateurs point (.) et accs tableau ([]) pour accder aux proprits des objets ActionScript intgrs ou personnaliss, telles que celles dun clip. Loprateur point utilise le nom dun objet dans sa partie gauche et le nom dune proprit ou dune variable dans sa partie droite. Le nom de proprit ou de variable ne peut pas tre une chane ni une variable value comme une chane ; il doit sagir dun identifiant. Les exemples suivants utilisent loprateur point :
anne.mois = "juin"; anne.mois.jour = 9;

Les oprateurs point et accs tableau jouent le mme rle, mais loprateur point prend un identifiant comme proprit alors que loprateur daccs tableau value son contenu comme nom et accde ensuite la valeur de cette proprit nomme. Par exemple, les expressions suivantes accdent la mme variable vitesse dans le clip fuse :
fuse.vitesse; fuse["vitesse"];

Utilisation doprateurs pour manipuler les valeurs des expressions

51

Vous pouvez utiliser loprateur daccs tableau pour dfinir et rcuprer dynamiquement les noms et les variables des occurrences. Par exemple, dans le code suivant, lexpression insre dans loprateur [] est value et le rsultat de cette valuation est utilis comme nom de la variable rcuprer du clip nom :
nom["mc" + i]

Vous pouvez galement utiliser la fonction eval() , comme dans lexemple ci-dessous :
eval("mc" + i)

Loprateur daccs tableau peut galement tre utilis dans la partie gauche dune instruction daffectation. Cela vous permet de dfinir dynamiquement les noms dobjet, de variable et doccurrence, comme dans lexemple suivant :
nom[index] = "Gary";

Pour crer des tableaux multidimensionnels dans ActionScript, vous construisez un tableau dont les lments sont galement des tableaux. Pour accder aux lments dun tableau multidimensionnel, vous pouvez imbriquer loprateur accs tableau en lui-mme, comme illustr ci-aprs :
var Echiquier = new Array(); for (var i=0; i<8; i++) { Echiquier.push(new Array(8)); } function rcupContenuPosition(ligne, colonne){ Echiquier[ligne][colonne]; }

Vous pouvez contrler quil ne manque pas doprateurs [] dans vos scripts ; consultez Vrification de la syntaxe et de la ponctuation, page 69.

Dfinition du chemin dun objet


Pour utiliser une action afin de contrler un clip ou un fichier SWF charg, vous devez spcifier son nom et son adresse, qui constituent le chemin cible. Dans ActionScript, un clip est identifi par son nom doccurrence. Par exemple, dans linstruction suivante, la proprit _alpha du clip nomm toile est dfinie sur une visibilit de 50 % :
toile._alpha = 50; Pour donner un nom doccurrence un clip :

1 Slectionnez le clip sur la scne. 2 Entrez un nom doccurrence dans linspecteur des proprits.
Pour identifier un fichier SWF charg :

Utilisez _levelX, o X est le numro du niveau spcifi dans laction loadMovie() qui a
charg le fichier SWF. Par exemple, un fichier SWF charg dans le niveau 5 a pour chemin cible _level5. Dans lexemple suivant, un fichier SWF est charg dans le niveau 5 et sa visibilit est dfinie sur false :
onClipEvent(load) { loadMovieNum("monAnimation.swf", 5); } onClipEvent(enterFrame){

52

Chapitre 2 : Notions de base du langage ActionScript

_level5._visible = false; } Pour entrer le chemin cible dun fichier SWF :

Dans le panneau Actions (Fentre > Dveloppement > Actions), cliquez sur le bouton Insrer
un chemin cible et slectionnez un clip dans la liste qui apparat. Pour plus dinformations sur les chemins cibles, consultez Chemins cibles absolus et relatifs dans le guide Utilisation de Flash delaide.

Utilisation de fonctions intgres


Une fonction est un bloc de code ActionScript qui peut tre rutilis nimporte o dans un fichier SWF. Si vous transmettez des valeurs en tant que paramtres une fonction, cette dernire agit en fonction de ces valeurs. Une fonction peut galement renvoyer des valeurs. Flash possde des fonctions intgres qui permettent daccder certaines informations et dexcuter certaines tches, comme lobtention du numro de version de Flash Player qui hberge le fichier SWF (getVersion()). Les fonctions appartenant un objet sont appeles mthodes. Les fonctions qui nappartiennent pas un objet sont appeles fonctions de niveau suprieur et se trouvent dans la catgorie Fonctions du panneau Actions. Chaque fonction possde ses propres caractristiques, certaines fonctions vous obligeant transmettre certaines valeurs. Si vous transmettez plus de paramtres quil nest ncessaire la fonction, les valeurs supplmentaires sont ignores. Si vous ne transmettez pas un paramtre requis, les paramtres vides reoivent le type de donnes undefined, ce qui peut provoquer des erreurs lexportation du script. Pour appeler une fonction, celle-ci doit se trouver dans limage que la tte de lecture a atteinte. Pour appeler une fonction, utilisez tout simplement son nom et transmettez les paramtres requis :
isNaN(someVar); getTimer() eval("someVar");

Pour plus dinformations sur une fonction, consultez son entre dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Cration de fonctions
Vous pouvez dfinir des fonctions pour excuter une srie dinstructions sur des valeurs transmises. Vos fonctions peuvent galement renvoyer des valeurs. Une fois dfinie, une fonction peut tre appele partir de tout scnario, y compris celui dun fichier SWF charg. Une fonction bien rdige peut tre considre comme une bote noire . Si elle contient des commentaires positionns judicieusement au sujet de son entre, sa sortie et son rle, lutilisateur de la fonction ne doit pas ncessairement comprendre tout son fonctionnement interne.

Cration de fonctions

53

Dfinition dune fonction Les fonctions, tout comme les variables, sont associes au scnario du clip qui les dfinit, et vous devez utiliser un chemin cible pour les appeler. Tout comme dans le cas dune variable, vous pouvez utiliser lidentificateur _global pour dclarer une fonction globale disponible pour tous les scnarios sans emploi dun chemin cible. Pour dfinir une fonction globale, faites prcder son nom de lidentificateur _global, comme illustr ci-dessous :
_global.maFonction = function (x) { return (x*2)+3; }

Pour dfinir une fonction de scnario, utilisez laction function suivie du nom de la fonction, des paramtres qui doivent tre transmis la fonction et des instructions ActionScript qui indiquent ce que la fonction fait. Lexemple suivant illustre une fonction nomme aireDuCercle et dote du paramtre rayon :
function aireDuCercle(rayon) { return Math.PI * rayon * rayon; }

Vous pouvez galement dfinir une fonction en crant un littral de fonction, une fonction sans nom qui est dclare dans une expression au lieu dune instruction. Vous pouvez utiliser un littral de fonction pour dfinir une fonction, renvoyer sa valeur et laffecter une variable dans une expression, comme illustr dans lexemple suivant :
aire = (function() {return Math.PI * rayon *rayon;})(5);

Lorsquune fonction est redfinie, la nouvelle dfinition remplace lancienne. Transmission de paramtres une fonction Les paramtres sont les lments sur lesquels une fonction excute son code. Dans cet ouvrage, les termes paramtre et argument sont interchangeables. Par exemple, la fonction suivante prend les paramtres initiales et scoreFinal:
function remplirScores(initiales, scoreFinal) { carteDeScore.affichage = initiales; carteDeScore.score = scoreFinal; }

Lorsque la fonction est appele, les paramtres requis doivent lui tre transmis. La fonction substitue les valeurs transmises aux paramtres de la dfinition de la fonction. Dans cet exemple, carteDeScore est le nom doccurrence dun clip, affichage et score tant des champs de texte de saisie dans loccurrence. Lappel de fonction suivant affecte la valeur "JEB" la variable display et la valeur 45000 la variable affichage:
remplirScores("JEB", 45000);

Le paramtre initiales de la fonction remplirScores() est similaire une variable locale : il existe tant que la fonction est appele et cesse dexister la sortie de la fonction. Si vous omettez des paramtres lors de lappel dune fonction, les paramtres omis sont transmis comme undefined. Si vous fournissez des paramtres supplmentaires dans un appel de fonction alors quils ne sont pas requis par la dclaration de la fonction, ces paramtres sont ignors.

54

Chapitre 2 : Notions de base du langage ActionScript

Utilisation de variables dans une fonction Les variables locales sont des outils qui simplifient grandement lorganisation du code et en facilitent la comprhension. Lorsquune fonction utilise des variables locales, elle peut les cacher tous les autres scripts du fichier SWF. Les variables locales ont un domaine limit au corps de la fonction et sont dtruites la sortie de celle-ci. Tous les paramtres transmis une fonction sont galement traits comme des variables locales. Vous pouvez galement utiliser des variables globales et normales dans une fonction. Cependant, si vous modifiez des variables globales ou normales dans une fonction, il est judicieux dutiliser des commentaires pour documenter ces modifications. Renvoi de valeurs dune fonction Utilisez linstruction return pour renvoyer les valeurs des fonctions. Linstruction return stoppe la fonction et la remplace par la valeur de laction return. Les rgles suivantes gouvernent lutilisation de linstruction return dans les fonctions :

Si vous spcifiez un type de renvoi autre que void pour une fonction, vous devez inclure une
instruction return dans la fonction. Si vous spcifiez un type de renvoi void, nincluez pas dinstruction return. Si vous ne spcifiez pas de type de renvoi, lincorporation dune instruction return est facultative. Si vous nen incluez pas, une chane vide est renvoye.

Par exemple, la fonction suivante renvoie le carr du paramtre x et spcifie que la valeur renvoye doit tre un Number :
function sqr(x):Number { return x * x; }

Certaines fonctions effectuent une srie de tches sans renvoyer de valeur. Par exemple, la fonction suivante initialise une srie de variables globales :
function initialize() { bateau_x = _global.bateau._x; bateau_y = _global.bateau._y; voiture_x = _global.voiture._x; voiture_y = _global.voiture._y; }

Appel dune fonction dfinie par lutilisateur Vous pouvez utiliser un chemin cible pour appeler une fonction dun scnario, quel quil soit, partir de nimporte quel autre scnario, y compris celui dun fichier SWF charg. Si une fonction a t dclare au moyen de lidentificateur _global, il nest pas ncessaire de lappeler laide dun chemin cible. Pour appeler une fonction, entrez le chemin cible du nom de la fonction, si ncessaire, puis transmettez les paramtres requis entre parenthses. Par exemple, linstruction suivante appelle la fonction sqr() du clip MathLib du scnario principal, lui transmet le paramtre 3 et enregistre le rsultat dans la variable temp :
var temp = _root.MathLib.sqr(3);

Cration de fonctions

55

Lexemple suivant utilise un chemin absolu pour appeler la fonction initialiser() qui a t dfinie dans le scnario principal et nexige aucun paramtre :
_root.initialiser();

Lexemple suivant utilise un chemin relatif pour appeler la fonction liste() qui a t dfinie dans le clip functionsClip :
_parent.clipDeFonctions.liste(6);

56

Chapitre 2 : Notions de base du langage ActionScript

CHAPITRE 3 Rdaction et dbogage de scripts

Dans Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004, vous pouvez rdiger des scripts intgrs votre fichier FLA ou stocks en externe sur votre ordinateur. (Si vous rdigez des fichiers de classe ActionScript 2.0, stockez chaque classe comme un fichier externe du mme nom.) Pour rdiger des scripts intgrs, utilisez le panneau Actions et associez laction un bouton, un clip ou une image dans le scnario (consultez Contrle de lexcution dActionScript, page 57). Pour rdiger des fichiers de script externes, vous pouvez utiliser nimporte quel diteur de texte ou de code. Dans Flash Professionnel, vous pouvez aussi utiliser la fentre de script intgre. Pour plus dinformations, consultez Utilisation du panneau Actions et de la fentre de script, page 59. Lorsque vous utilisez lditeur ActionScript, vous pouvez galement rechercher les erreurs de syntaxe, mettre automatiquement le code en forme et utiliser des conseils pour complter la syntaxe du code. De plus, la fonction dquilibrage de la ponctuation vous aide complter les paires de parenthses, de crochets ou daccolades. Pour plus dinformations, consultez Utilisation de lditeur ActionScript, page 63. Lorsque vous travaillez dans un document, nous ne pouvons que vous recommander de le tester assez frquemment afin de vous assurer que sa lecture est aussi fluide que possible et quelle seffectue de la manire prvue. Vous pouvez utiliser le testeur de bande passante pour simuler la lecture de votre document en fonction de diffrentes vitesses de connexion (consultez Test des performances de tlchargement des documents dans le manuel Utilisation de Flash de laide). Une version de dbogage spciale de Flash Player qui facilite la rsolution des problmes vous permet de tester vos scripts. Si vous utilisez de bonnes techniques de programmation dans votre code ActionScript, vos scripts seront plus faciles dpanner si un problme imprvu est rencontr. Pour plus dinformations, consultez Dbogage de scripts, page 71.

Contrle de lexcution dActionScript


Lorsque vous rdigez un script, vous utilisez le panneau Actions pour associer le script une image dun scnario, ou un bouton ou un clip sur la scne. Les scripts associs une image sont excuts lorsque la tte de lecture entre dans cette image. Toutefois, il se peut que les scripts associs la premire image dun fichier SWF se comportent diffremment de ceux qui sont associs aux images suivantes. La premire image est en effet rendue de manire incrmentielle (les objets sont tracs sur la scne au fur et mesure de leur tlchargement dans Flash Player), ce qui peut influer sur le moment o les actions sont excutes. Toutes les images qui suivent la premire sont rendues en une seule fois, lorsque tous les objets quelles contiennent sont disponibles.

57

Les scripts associs des clips ou des boutons sont excuts lorsquun vnement se produit. Un vnement correspond une occurrence dans le fichier SWF telle quun mouvement de souris, une pression sur une touche ou le chargement dun clip. Vous pouvez utiliser ActionScript pour dterminer quand de tels vnements se produisent et excuter des scripts en fonction de lvnement. Pour plus dinformations, consultez le Chapitre 4, Gestion dvnements, page 87. Pour excuter une action selon quune condition existe ou non, ou pour rpter une action, vous pouvez utiliser les instructions , else, else if, for, while, do while, for..in ou switch, qui sont dcrites brivement dans la suite de cette section. Vrification dune condition Les instructions qui vrifient si une condition est true ou false commencent par le terme if. Si la condition existe, ActionScript excute linstruction qui suit. Si la condition nexiste pas, ActionScript passe linstruction suivante, lextrieur du bloc de code. Pour optimiser les performances de votre code, vrifiez dabord les conditions les plus probables. Les instructions suivantes testent trois conditions. Le terme else if spcifie dautres tests effectuer si les conditions prcdentes sont false.
if (motDePasse == null || email == null) { gotoAndStop("refuser"); } else if (motDePasse == iDutilisateur){ gotoAndPlay("dmarrerAnim"); }

Pour vrifier une condition parmi dautres, vous pouvez utiliser linstruction switch, plutt que plusieurs instructions else if. Rptition dune action ActionScript peut rpter une action un certain nombre de fois prcis ou tant quune condition spcifique existe. Utilisez les actions while, do..while, for et for..in pour crer des boucles.
Pour rpter une action tant quune condition existe :

Utilisez linstruction while.


Une boucle while value une expression et excute le code dans le corps de la boucle si lexpression est true. Lexpression est value nouveau aprs lexcution de chaque instruction du corps. Dans lexemple suivant, la boucle est excute quatre fois :
i = 4; while (var i > 0) { mon_mc.duplicateMovieClip("nouveauMC" + i, i ); i--; }

Vous pouvez utiliser linstruction do..while pour crer le mme genre de boucle quavec une boucle while. Dans une boucle do..while, lexpression est value la fin du bloc de code et la boucle est toujours excute au moins une fois, comme dans lexemple suivant :
i = 4; do { mon_mc.duplicateMovieClip("nouveauMC" +i, i ); i--; } while (var i > 0);

58

Chapitre 3 : Rdaction et dbogage de scripts

Pour rpter une action en utilisant un compteur intgr :

Utilisez linstruction for.


La plupart des boucles utilisent un compteur dun certain type pour contrler le nombre de fois quune boucle est excute. Chaque excution dune boucle est appele itration. Vous pouvez dclarer une variable et rdiger une instruction qui augmente ou diminue la variable chaque fois que la boucle est excute. Dans laction for, le compteur et linstruction qui lincrmente font partie de laction. Dans lexemple suivant, la premire expression (var i = 4) est lexpression initiale value avant la premire itration. La deuxime expression ( i > 0) est la condition contrle chaque fois avant lexcution de la boucle. La troisime expression (i--) est appele post-expression et est value chaque fois aprs lexcution de la boucle.
for (var i = 4; i > 0; i--){ monMC.duplicateMovieClip("nouveauMC" + i, i + 10); } Pour passer en boucle sur les enfants dun clip ou dun objet :

Utilisez linstruction for..in.


Les enfants sont composs dautres clips, fonctions, objets et variables. Lexemple suivant utilise linstruction trace pour envoyer les rsultats dans le panneau de sortie :
monObjet = { nom:Joe, ge:25, ville:San Francisco }; for (nomDeProp in monObjet) { trace("monObjet a la proprit : " + nomDeProp + ", avec la valeur : " + monObjet[nomDeProp]); }

Cet exemple donne les rsultats suivants dans le panneau de sortie :


monObjet a la proprit : nom, avec la valeur : Joe monObjet a la proprit : ge, avec la valeur : 25 monObjet a la proprit : ville, avec la valeur : San Francisco

Vous pouvez souhaiter que votre script itre sur un type particulier denfants, par exemple, seulement sur les enfants dun clip. Vous pouvez le faire avec for..in en conjonction avec loprateur typeof.
for (nom dans monClip) { if (typeof (monClip[nom]) == "clip") { trace("Jai un clip enfant appel " + nom); } }

Pour plus dinformations sur chaque action, consultez les entres correspondantes dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Utilisation du panneau Actions et de la fentre de script


Vous pouvez intgrer des scripts Flash votre fichier FLA ou les enregistrer dans des fichiers externes. Dans la mesure du possible, il est prfrable denregistrer la majorit du code ActionScript dans des fichiers externes. Il est en effet plus simple dutiliser du code dans plusieurs fichiers FLA. Ensuite, dans votre fichier FLA, crez un script comportant des instructions #include pour accder au code stock en externe. Utilisez le suffixe .as pour identifier vos scripts en tant que fichiers ActionScript (AS). (Si vous crez des fichiers de classe personnaliss, vous devez les enregistrer en tant que fichiers AS externes.)

Utilisation du panneau Actions et de la fentre de script

59

Remarque : Lors de la publication, de lexportation, du test ou du dbogage dun fichier FLA, le code ActionScript enregistr dans des fichiers externes est compil dans un fichier SWF. Si vous modifiez un fichier externe, vous devez donc lenregistrer et recompiler tout fichier FLA qui lutilise.

Vous pouvez associer des images et des objets le code ActionScript que vous intgrez dans un fichier FLA. Dans la mesure du possible, associez le code ActionScript intgr la premire image du scnario. Votre code ne sera ainsi pas parpill et vous ne serez pas oblig de le rechercher dans tout le fichier FLA. Crez un calque appel Actions et placez-y votre code. Ainsi, mme si vous associez du code dautres images ou des objets, il vous suffira de consulter un seul calque pour le retrouver. Pour crer des scripts qui font partie de votre document, accdez directement ActionScript via le panneau Actions. Pour crer des scripts externes, utilisez votre diteur de texte prfr ou, dans Flash Professionnel, utilisez la fentre de script. Lorsque vous utilisez le panneau Actions ou la fentre de script, vous utilisez le mme diteur ActionScript et tapez votre code dans la fentre de script, sur le ct droit du panneau ou de la fentre. Pour viter davoir rdiger toutes les informations, vous pouvez galement slectionner ou faire glisser des actions de la bote outils Actions vers la fentre de script.
Pour afficher le panneau Actions, effectuez lune des oprations suivantes :

Choisissez Fentre > Panneaux de dveloppement > Actions. Appuyez sur la touche F9.
(Flash Professionnel uniquement) Pour afficher la fentre de script, effectuez lune des oprations suivantes :

Pour commencer rdiger un nouveau script, choisissez Fichier > Nouveau > Fichier
ActionScript. Pour ouvrir un script existant, choisissez Fichier > Ouvrir, puis ouvrez un fichier ActionScript (AS) existant. Pour modifier un script dj ouvert, cliquez sur longlet du document qui affiche le nom du script. (Les onglets de document sont uniquement disponibles sous Microsoft Windows.)

A propos de lenvironnement de lditeur ActionScript Lenvironnement de lditeur ActionScript se compose de deux sections. A droite figure la fentre de script, dans laquelle vous saisissez le code. A gauche se trouve la bote outils Actions qui comprend une entre pour chaque lment du langage ActionScript.

60

Chapitre 3 : Rdaction et dbogage de scripts

Dans le panneau Actions, la bote outils Actions contient galement un navigateur de script, qui est une reprsentation visuelle des emplacements du fichier FLA auxquels du code ActionScript est associ. Ce fichier vous permet de parcourir votre fichier FLA pour localiser le code ActionScript. Si vous cliquez sur un lment dans le navigateur de script, le script correspondant saffiche dans la fentre de script et la tte de lecture se dplace jusqu la position approprie dans le scnario. Si vous double-cliquez sur un lment dans le navigateur de script, le script est verrouill (consultez Gestion de scripts dans un fichier FLA, page 62).
Bote outils Actions Navigateur de script* Menu contextuel*

* Panneau Actions uniquement

Plusieurs boutons figurent galement au-dessus de la fentre de script :


Ajouter un lment au script Rechercher Remplacer Insrer un chemin cible* Vrifier la syntaxe Rfrence Format automatique Options de dbogage* Afficher les conseils Menu droulant Options daffichage de code

* Panneau Actions uniquement

Vous modifiez des actions, entrez des paramtres pour les actions ou supprimez des actions directement dans la fentre de script. Vous pouvez galement double-cliquer sur un lment de la bote outils Actions ou sur le bouton Ajouter (+) en haut de la fentre de script pour ajouter des actions dans la fentre de script.

Utilisation du panneau Actions et de la fentre de script

61

Gestion de scripts dans un fichier FLA Si vous dissminez le code dans un fichier FLA, vous pouvez verrouiller plusieurs scripts dans le panneau Actions pour faciliter le passage de lun lautre. Dans lillustration suivante, le script associ lemplacement en cours du scnario se trouve sur limage 1 du calque Nettoyage. (Longlet le plus gauche suit toujours votre emplacement dans le scnario.) Ce script est galement verrouill (il est reprsent par longlet le plus droite). Deux autres scripts sont verrouills : un sur limage 1 et lautre sur limage 15 du calque Intro. Pour passer dun script verrouill lautre, cliquez sur les onglets correspondants ou utilisez les raccourcis clavier. Cette opration na aucune incidence sur votre position actuelle dans le scnario.

Conseil : Si le contenu affich dans la fentre de script ne change pas de manire reflter lemplacement que vous slectionnez dans le scnario, la fentre de script affiche probablement un script verrouill. Cliquez sur longlet le plus gauche dans la partie infrieure gauche de la fentre de script pour afficher le code ActionScript associ votre emplacement sur le scnario. Pour verrouiller un script :

1 Pointez sur le scnario afin que le script apparaisse dans un onglet situ en bas gauche de la

fentre de script dans le panneau Actions.


2 Effectuez lune des oprations suivantes :

Cliquez sur licne en forme de punaise qui figure droite de longlet. (Si la punaise ressemble licne la plus gauche, le script est dj verrouill. Cliquez sur licne pour le dverrouiller.) Cliquez sur longlet avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh) et choisissez Verrouiller le script. Choisissez Verrouiller le script dans le menu contextuel Options (dans le coin suprieur droit du panneau).

Pour dverrouiller un ou plusieurs scripts :

Effectuez lune des oprations suivantes :

Si un script verrouill est affich dans un onglet situ en bas gauche de la fentre de script, dans le panneau Actions, cliquez sur licne en forme de punaise situe droite de longlet. (Si la punaise ressemble licne la plus gauche, le script est dj dverrouill. Cliquez sur licne pour le verrouiller.) Cliquez avec le bouton droit de la souris (Windows) ou cliquez en appuyant sur la touche Control (Macintosh) sur longlet et choisissez Fermer le script ou Fermer tous les scripts. Choisissez Fermer le script ou Fermer tous les scripts dans le menu contextuel Options (dans le coin suprieur droit du panneau).

Pour utiliser les raccourcis clavier avec les scripts verrouills :

Vous pouvez utiliser les raccourcis clavier suivants avec les scripts verrouills :
Action Verrouiller le script Dverrouiller le script Raccourci clavier Windows Raccourci clavier Macintosh Contrle-= (signe gal) Contrle-- (signe moins) Commande-= Commande--

62

Chapitre 3 : Rdaction et dbogage de scripts

Action

Raccourci clavier Windows Raccourci clavier Macintosh Commande-Maj-. Commande-Maj-, Commande-Maj--

Dplacer le focus vers longlet Contrle-Maj-. (point) de droite Dplacer le focus vers longlet Contrle-Maj-, (virgule) de gauche Dverrouiller tous les scripts Contrle-Maj-- (moins)

Utilisation de lditeur ActionScript


Flash MX 2004 et Flash MX Professionnel 2004 comportent plusieurs outils pour vous aider rdiger du code conforme la syntaxe. Ils vous donnent galement la possibilit de dfinir des prfrences de formatage du code et dautres options. Ces fonctionnalits sont prsentes dans la section suivante. Mise en vidence de la syntaxe Dans ActionScript, comme dans tout autre langage, la syntaxe est la manire dont les lments sont assembls afin de crer du sens. Vos scripts ne fonctionneront pas si vous utilisez une syntaxe ActionScript incorrecte. Lorsque vous rdigez des scripts dans Flash MX 2004 et Flash MX Professionnel 2004, les commandes qui ne sont pas prises en charge par la version du lecteur que vous ciblez saffichent en jaune dans la bote outils Actions. Par exemple, si la version de Flash Player SWF est dfinie sur Flash 6, le code ActionScript qui est uniquement pris en charge par Flash Player 7 apparat en jaune dans la bote outils Actions. (Pour plus dinformations sur la dfinition de la version de Flash Player SWF, consultez Dfinition des options de publication pour le format de fichier Flash SWF dans le guide Utilisation de Flash de laide.) Vous pouvez galement dfinir une prfrence pour que les codes-couleurs de Flash sintgrent vos scripts, mesure que vous les rdigez, afin de vous signaler les fautes de frappe. Par exemple, supposons que vous ayez dfini votre prfrence de coloration de la syntaxe de sorte ce que les mots-cls saffichent en vert fonc. Lors de la saisie, si vous entrez var, le mot var saffiche en vert. Toutefois, si vous tapez vae par inadvertance, le mot vae restera en noir, vous indiquant ainsi que vous avez fait une faute de frappe.
Pour dfinir des prfrences de coloration de la syntaxe en cours de frappe, effectuez lune des oprations suivantes :

Choisissez Edition > Prfrences et dfinissez les paramtres Coloration de la syntaxe dans
longlet ActionScript. Dans le menu contextuel Options (dans le coin suprieur droit du panneau Actions), choisissez Prfrences et dfinissez les paramtres Coloration de la syntaxe dans longlet ActionScript.

Utilisation de lditeur ActionScript

63

Rdaction de code qui dclenche des conseils de code Lorsque vous travaillez dans lditeur ActionScript (dans le panneau Actions ou la fentre de script), Flash peut dtecter laction que vous entrez et afficher un conseil de code (une infobulle contenant la syntaxe complte de laction en cours ou un menu contextuel rpertoriant des noms de proprits ou de mthodes possibles). Des conseils de code apparaissent pour les paramtres, proprits et vnements lorsque vous tapez ou nommez strictement vos objets de sorte que lditeur ActionScript sache quels conseils de code afficher, comme lindique la suite de cette section. Pour plus dinformations sur lutilisation des conseils de code lorsque ceux-ci apparaissent, consultez Utilisation de conseils de code, page 66.
Remarque : Les conseils de code sont activs automatiquement pour les classes natives pour lesquelles vous navez pas besoin de crer ni de nommer un objet de la classe, telles que Math, Key, Mouse, etc.

Typage strict des objets pour dclencher des conseils de code Lorsque vous utilisez ActionScript 2.0, vous pouvez dfinir strictement le type dune variable qui est base sur une classe intgre, telle que Button, Array, etc. Si vous faites cela, lditeur ActionScript affiche des conseils de code relatifs la variable. Par exemple, supposons que vous tapez ce qui suit :
var noms:Array = new Array(); noms.

Ds que vous tapez le point final (.), Flash affiche la liste des mthodes et proprits disponibles pour les objets Array, car vous avez dfini la variable comme tant de type tableau. Pour plus dinformations sur le typage des donnes, consultez Typage strict des donnes, page 40. Pour plus dinformations sur lutilisation des conseils de code lorsque ceux-ci apparaissent, consultez Utilisation de conseils de code, page 66. Utilisation de suffixes pour dclencher des conseils de code Si vous utilisez ActionScript 1 ou que vous souhaitez afficher des conseils de code pour des objets que vous crez sans dfinir strictement leur type (consultez Typage strict des objets pour dclencher des conseils de code, page 64), vous devez ajouter un suffixe spcial au nom de chaque objet lors de sa cration. Par exemple, les suffixes qui dclenchent des conseils de code pour les classes Array et Camera sont respectivement _array et _cam. Si vous tapez le code suivant :
var mon_array = new Array(); var ma_cam = Camera.get();

et que vous tapez le nom de la variable suivi dun point, comme indiqu ci-dessous, des conseils de code pour les objets Array et Camera saffichent respectivement.
mon_array. ma_cam.

Pour les objets qui apparaissent sur la scne, entrez le suffixe dans le champ Nom de loccurrence, dans linspecteur des proprits. Par exemple, pour afficher des conseils de code pour des objets MovieClip, utilisez linspecteur des proprits pour affecter des noms doccurrence portant le suffixe _mc tous les objets MovieClip. Lorsque vous taperez le nom dune occurrence suivi dun point, des conseils de code dafficheront. Mme si les suffixes ne sont pas ncessaires au dclenchement des conseils de code lorsque vous dfinissez strictement le type dun objet, il est recommand de les utiliser de faon cohrente pour rendre vos scripts plus comprhensibles.

64

Chapitre 3 : Rdaction et dbogage de scripts

Le tableau suivant rpertorie les suffixes requis pour le support des conseils de code automatiques :
Type dobjet Array Button Camera Color ContextMenu ContextMenuItem Date Error LoadVars LocalConnection Microphone MovieClip MovieClipLoader PrintJob NetConnection NetStream SharedObject Sound String TextField TextFormat Video XML XMLNode XMLSocket Suffixe de variable _array _btn _cam _color _cm _cmi _date _err _lv _lc _mic _mc _mcl _pj _nc _ns _so _sound _str _txt _fmt _video _xml _xmlnode _xmlsocket

Pour plus dinformations sur lutilisation des conseils de code lorsque ceux-ci apparaissent, consultez Utilisation de conseils de code, page 66.

Utilisation de lditeur ActionScript

65

Utilisation de commentaires pour dclencher des conseils de code Vous pouvez galement utiliser des commentaires ActionScript pour spcifier la classe dun objet pour les conseils de code. Lexemple suivant indique ActionScript que la classe de loccurrence Lobjet est Object, et ainsi de suite. Si vous entrez le code mc suivi dun point aprs ces commentaires, un conseil de code affiche la liste de mthodes et de proprits MovieClip. Si vous entrez le code theArray suivi dun point, un conseil de code affiche une liste de mthodes et de proprits Array, et ainsi de suite.
// Object Lobjet; // Array leTableau; // MovieClip mc;

Toutefois, Macromedia recommande dutiliser le typage strict des donnes (consultez Typage strict des objets pour dclencher des conseils de code, page 64) ou les suffixes (consultez Utilisation de suffixes pour dclencher des conseils de code, page 64) plutt que cette technique, car ces techniques permettent dobtenir des conseils de code automatiquement et rendent votre code plus comprhensible. Utilisation de conseils de code Les conseils de code sont activs par dfaut. Des prfrences vous permettent de dsactiver les conseils de code ou de dterminer la vitesse laquelle ils saffichent. Lorsque les conseils de code sont dsactivs dans les prfrences, il est toujours possible dafficher un conseil de code pour une commande spcifique.
Pour dfinir des paramtres pour les conseils de code automatiques, effectuez lune des oprations suivantes :

Choisissez Edition > Prfrences, puis, dans longlet ActionScript, activez ou dsactivez
loption Conseils de code.

Dans le panneau Actions, dans le menu contextuel Options (dans le coin suprieur droit du
panneau), choisissez Prfrences et, sous longlet ActionScript, activez ou dsactivez Conseils de code. Si vous activez les conseils de code, vous pouvez galement spcifier un dlai daffichage, en secondes. Par exemple, si vous dcouvrez ActionScript, il pourrait tre souhaitable de ne spcifier aucun dlai, de sorte que les conseils de code saffichent toujours immdiatement. Toutefois, si vous savez en gnral ce que vous voulez taper et que vous avez besoin de conseils uniquement lorsque vous utilisez des lments de langage que vous ne connaissez pas, vous pouvez spcifier un dlai de sorte que les conseils de code ne saffichent pas lorsque vous ne le souhaitez pas.
Pour utiliser des conseils de code de type info-bulle :

1 Faites apparatre un conseil de code en tapant une parenthse douverture [(] aprs un lment
if

qui ncessite lutilisation des parenthses, tel quun nom de mthode, une commande comme ou do while, etc. Le conseil de code apparat.

66

Chapitre 3 : Rdaction et dbogage de scripts

Remarque : Si le conseil de code ne saffiche pas, assurez-vous que loption Conseils de code est active dans longlet ActionScript. Pour afficher des conseils de code pour une variable ou un objet que vous avez cr(e), assurez-vous que vous avez nomm correctement la variable ou lobjet (consultez Utilisation de suffixes pour dclencher des conseils de code, page 64), ou que vous avez dfini strictement son type (consultez Typage strict des objets pour dclencher des conseils de code, page 64).

2 Entrez une valeur pour le paramtre. Sil existe plusieurs paramtres, sparez les valeurs par des

virgules. Des commandes tendues telles que gotoAndPlay() ou for (il sagit de fonctions ou de mthodes qui peuvent tre invoques selon diffrents jeux de paramtres) affichent un indicateur qui vous permet de choisir le paramtre que vous souhaitez dfinir. Cliquez sur les petits boutons flchs ou appuyez sur Ctrl+Flche gauche ou Ctrl+Flche droite pour choisir le paramtre.

3 Pour annuler le conseil de code, effectuez lune des oprations suivantes :


Tapez une parenthse de fermeture [)]. Cliquez lextrieur de linstruction. Appuyez sur la touche Echap.

Pour utiliser des conseils de code de type menu :

1 Faites apparatre le conseil de code en tapant un point aprs le nom de la variable ou de lobjet.

Le menu du conseil de code apparat.

Remarque : Si le conseil de code ne saffiche pas, assurez-vous que loption Conseils de code est active dans longlet ActionScript. Pour afficher des conseils de code pour une variable ou un objet que vous avez cr(e), assurez-vous que vous avez nomm correctement la variable ou lobjet (consultez Utilisation de suffixes pour dclencher des conseils de code, page 64), ou que vous avez dfini strictement son type (consultez Typage strict des objets pour dclencher des conseils de code, page 64).

2 Pour naviguer dans les conseils de code, utilisez les touches Flche Haut ou Flche Bas. 3 Pour slectionner un lment dans le menu, appuyez sur Entre ou Tab, ou double-cliquez sur

cet lment.
4 Pour annuler le conseil de code, effectuez lune des oprations suivantes :

Choisissez lun des lments du menu. Cliquez lextrieur de linstruction. Tapez une parenthse de fermeture [)] si vous avez dj tap une parenthse douverture. Appuyez sur la touche Echap.

Utilisation de lditeur ActionScript

67

Pour afficher manuellement un conseil de code :

1 Cliquez dans le code lendroit o les conseils de code peuvent safficher. En voici quelques

exemples : Aprs le point qui suit une instruction ou une commande, lendroit o une proprit ou une mthode doit tre entre. Entre les parenthses dans un nom de mthode 2 Effectuez lune des oprations suivantes : Cliquez sur le bouton Afficher les conseils de code, situ au-dessus de la fentre de script. Appuyez sur Ctrl+Barre despace (Windows) ou sur Commande+Barre despace (Macintosh). Si vous travaillez dans le panneau Actions, ouvrez le menu contextuel (dans le coin suprieur droit de la barre de titre), puis choisissez Afficher les conseils de code. Utilisation des touches de raccourci dchappement Vous pouvez ajouter plusieurs lments un script en utilisant des touches de raccourci (en appuyant sur la touche Echap et sur deux autres touches). (Il ne sagit pas des mmes raccourcis que les raccourcis clavier qui initialisent certaines commandes de menu.) Si vous saisissez Echap+d+o dans la fentre de script, le code suivant est insr dans votre script, et le point dinsertion est plac immdiatement aprs le mot while, ce qui vous permet de commencer taper la condition :
do { } while ();

De mme, si vous saisissez Echap+c+h, le code suivant est insr dans votre script, et le point dinsertion est plac entre les parenthses, ce qui vous permet de commencer taper la condition :
catch () { }

68

Chapitre 3 : Rdaction et dbogage de scripts

Si vous souhaitez connatre (ou revoir) les commandes qui bnficient de touches de raccourci, vous pouvez les afficher en regard des lments dans le panneau Actions.

Pour afficher ou masquer les touches de raccourci dchappement :

Dans le menu contextuel Options daffichage, activez ou dsactivez Afficher les touches de
raccourci Echap. Vrification de la syntaxe et de la ponctuation Pour dterminer lavance si le code que vous avez rdig fonctionne comme prvu, vous devez publier ou tester le fichier. Vous avez toutefois la possibilit deffectuer une vrification rapide sans quitter le fichier FLA. Les erreurs de syntaxe sont signales dans le panneau de sortie. (Lors de la vrification de la syntaxe, seul le script en cours est examin ; les autres scripts que contient ventuellement le fichier FLA sont ignors.) Vous pouvez galement vrifier que les jeux de parenthses, daccolades ou de crochets (oprateurs daccs tableau) encadrent correctement un bloc.
Pour vrifier la syntaxe, effectuez lune des oprations suivantes :

Cliquez sur le bouton Vrifier la syntaxe, situ au-dessus de la fentre de script. Dans le panneau Actions, affichez le menu contextuel (dans le coin suprieur droit du
panneau) et choisissez Vrifiez la syntaxe.

Appuyez sur Ctrl+T (Windows) ou sur Commande+T (Macintosh).


Pour vrifier lquilibrage de la ponctuation :

1 Cliquez entre les accolades ({}), les oprateurs daccs tableau ([]) ou les parenthses (()) dans

votre script.

Utilisation de lditeur ActionScript

69

2 Appuyez sur Ctrl+ (Windows) ou Commande+ (Macintosh) pour slectionner le texte entre

accolades, crochets ou parenthses. La mise en surbrillance vous permet de vrifier si la ponctuation douverture possde une ponctuation de fermeture correspondante. Formatage du code Vous pouvez dfinir des paramtres pour dterminer si votre code est format et mis en retrait automatiquement ou manuellement. Vous pouvez galement choisir laffichage des numros de ligne et le retour la ligne automatique des lignes de code trop longues.
Pour dfinir des options de format :

1 Effectuez lune des oprations suivantes:

Dans le panneau Actions, dans le menu contextuel Options (dans le coin suprieur droit du panneau), choisissez Options de format automatique. (Flash Professionnel uniquement) Dans un fichier de script externe, choisissez Edition > Options de format automatique. La bote de dialogue Options de format automatique apparat. 2 Faites votre choix parmi les options proposes. Pour visualiser leffet de chaque slection, examinez le panneau Afficher un aperu.

Une fois les options de format automatique dfinies, vos paramtres sappliquent automatiquement au code que vous rdigez, mais pas au code existant. Pour appliquer vos paramtres au code existant, vous devez procder manuellement. Vous pouvez utiliser la procdure suivante pour mettre en forme du code format selon dautres paramtres, import dun autre diteur, etc.
Pour mettre du code en forme selon les paramtres Options de format automatique, effectuez lune des oprations suivantes :

Cliquez sur le bouton Format automatique, situ au-dessus de la fentre de script. Choisissez Format automatique dans le menu contextuel du panneau Actions. Appuyez sur Ctrl+Maj+F1 (Windows) ou sur Commande+Maj+F1 (Macintosh).
Pour utiliser la fonction dindentation automatique :

Lindentation automatique est active par dfaut. Pour la dsactiver, dsactivez loption
Indentation automatique dans les prfrences dActionScript. Lorsque lindentation automatique est active, le texte tap aprs ( ou { est automatiquement mis en retrait conformment la valeur de taille de tabulation dfinie dans les prfrences dActionScript. Pour mettre en retrait une autre ligne, slectionnez la ligne souhaite, puis appuyez sur la touche Tab. Pour supprimer le retrait, appuyez sur Maj+Tab.
Pour activer ou dsactiver les numros de ligne et le retour la ligne automatique :

Dans le menu contextuel Options daffichage, activez ou dsactivez Afficher les numros de
ligne et Retour la ligne.

70

Chapitre 3 : Rdaction et dbogage de scripts

Dbogage de scripts
Flash propose plusieurs outils qui permettent de tester le code ActionScript dans vos fichiers SWF. Le dbogueur, qui est dcrit dans la suite de cette section, vous permet de reprer des erreurs dans un fichier SWF en cours dexcution dans Flash Player. Flash dispose galement des outils de dbogage complmentaires suivants :

Le panneau de sortie, qui affiche des messages derreur et rpertorie les variables et les objets
(consultez Utilisation du panneau de sortie, page 80).

Linstruction trace, qui envoie des notes de programmation et la valeur des expressions au
panneau de sortie (consultez Utilisation de linstruction trace, page 82). Les instructions throw et try..catch..finally, qui vous permettent de tester et de rsoudre les erreurs dexcution partir de votre script. Des messages derreur de compilateur clairs, qui vous permettent de diagnostiquer et de rsoudre les problmes plus facilement (consultez lAnnexe A, Messages derreur, page 773).

Vous devez afficher votre fichier SWF dans une version spciale de Flash Player appele dbogueur de Flash Player. Lorsque vous installez loutil de programmation, le dbogueur de Flash Player est automatiquement install. Ainsi, si vous installez Flash et naviguez sur un site web avec du contenu Flash, ou effectuez un test danimation, cela signifie que vous utilisez le dbogueur de Flash Player. Vous pouvez galement utiliser le programme dinstallation situ dans le rpertoire <app_dir>\Players\Debug\ , ou lancer le dbogueur de Flash Player autonome partir du mme rpertoire. Lorsque vous utilisez la commande Tester lanimation pour tester des animations qui implmentent des contrles de clavier (tabulation, raccourcis claviers crs laide de Key.addListener() etc.), choisissez Contrle > Dsactiver les raccourcis clavier. La slection de cette option empche lenvironnement auteur de rcuprer les squences de touches, et les laisse tre transmises au lecteur. Par exemple, dans lenvironnement auteur, Ctrl+U ouvre la bote de dialogue Prfrences. Si votre script affecte Ctrl+U une action qui souligne du texte lcran, lorsque vous utilisez Tester lanimation, le fait dappuyer sur Ctrl+U ouvre la bote de dialogue Prfrences au lieu dexcuter laction qui souligne le texte. Pour que la commande Ctrl+U puisse tre transmise au lecteur, vous devez choisir Contrle > Dsactiver les raccourcis clavier.
Attention : La commande Tester lanimation choue si nimporte quelle partie du chemin du fichier SWF contient des caractres ne pouvant pas tre reprsents laide du systme de codage MBCS. Par exemple, les chemins japonais ne fonctionnent pas dans un systme anglais. Toutes les zones de lapplication utilisant le lecteur externe sont soumises cette restriction.

Le dbogueur affiche une liste hirarchique des clips actuellement chargs dans Flash Player. Il permet dafficher et de modifier la valeur des variables et des proprits pendant la lecture du fichier SWF et dinsrer des points darrt grce auxquels vous pouvez arrter le fichier SWF et examiner le code ActionScript ligne par ligne. Vous pouvez utiliser le dbogueur en mode de test sur des fichiers locaux, ou lutiliser pour tester des fichiers sur un serveur web un emplacement distant. Le dbogueur permet dinsrer des points darrt dans le code ActionScript, grce auxquels vous pouvez arrter lanimation et consulter le code ligne par ligne. Vous pouvez alors revenir aux scripts et les modifier afin dobtenir les rsultats souhaits.

Dbogage de scripts

71

Lorsque le dbogueur est activ, sa barre dtat affiche lURL ou le chemin daccs local du fichier, indique si celui-ci est excut en mode de test ou depuis un site distant, et prsente une vue en direct de la liste hirarchique de clips. Lorsque vous ajoutez des clips au fichier ou en supprimez, la liste est immdiatement mise jour. Vous pouvez redimensionner la liste hirarchique en tirant la barre de sparation horizontale.
Pour activer le dbogueur :

Choisissez Contrle > Dboguer lanimation.


Cette commande entrane louverture du dbogueur. Elle ouvre galement le fichier SWF en mode de test.
Barre dtat Liste hirarchique Liste dobservation Code

Dbogage dun fichier SWF partir dun emplacement distant Vous pouvez dboguer un fichier SWF distance au moyen de la version autonome, de la version ActiveX ou du module de Flash Player. Lors de lexportation dun fichier SWF, vous pouvez activer le dbogage dans le fichier et crer un mot de passe de dbogage. Le dbogueur nest pas activ si vous nactivez pas le dbogage. Pour que seuls certains utilisateurs puissent excuter vos fichiers SWF dans le dbogueur de Flash Player, vous pouvez les publier avec un mot de passe de dbogage. Tout comme dans JavaScript ou HTML, les utilisateurs peuvent consulter les variables ct client dans ActionScript. Pour stocker les variables de faon scurise, vous devez les envoyer une application ct serveur au lieu de les stocker dans votre fichier. Cependant, en tant que dveloppeur Flash, vous ne voudrez peut-tre pas rvler dautres secrets professionnels, tels que des structures de clips. Vous pouvez donc utiliser un mot de passe de dbogage pour protger votre travail. Lorsque vous exportez, publiez ou testez une animation, Flash cre un fichier SWD contenant des informations de dbogage. Pour effectuer le dbogage distance, vous devez placer le fichier SWD dans le rpertoire du serveur qui contient le fichier SWF.
Pour permettre le dbogage distance dune animation Flash :

1 Choisissez Fichier > Paramtres de publication.

72

Chapitre 3 : Rdaction et dbogage de scripts

2 Sous longlet Flash de la bote de dialogue Paramtres de publication, activez loption Dbogage

autoris.

3 Pour dfinir un mot de passe, entrez-le dans le champ Mot de passe.

Une fois un mot de passe dfini, personne ne peut tlcharger dinformations vers le dbogueur sans entrer ce mot de passe. Cependant, aucun mot de passe nest requis si vous ne remplissez pas le champ correspondant. 4 Fermez la bote de dialogue Paramtres de publication, puis choisissez lune des commandes suivantes : Contrle > Dboguer lanimation Fichier > Exporter lanimation Fichier > Paramtres de publication > Publier Flash cre un fichier de dbogage portant lextension .swd et lenregistre conjointement avec le fichier SWF. Le fichier SWD contient des informations qui vous permettent dutiliser des points darrt et de faire dfiler le code pas pas. 5 Placez le fichier SWD dans le rpertoire du serveur qui contient le fichier SWF. Si le fichier SWD ne se trouve pas dans ce rpertoire, vous pouvez toujours effectuer le dbogage distance, mais le dbogueur ignore les points darrt et il vous est impossible de faire dfiler le code pas pas. 6 Dans Flash, choisissez Fentre > Panneaux de dveloppement > Dbogueur. Dans le dbogueur, dans le menu contextuel Options (dans le coin suprieur droit du panneau), choisissez Activer le dbogage distance.
Pour activer le dbogueur distance :

1 Ouvrez lapplication auteur Flash. 2 Dans un navigateur ou dans le lecteur autonome, ouvrez le fichier SWF publi partir de son

emplacement distant. La bote de dialogue Dbogage distance apparat.

Dbogage de scripts

73

Si cette bote de dialogue ne saffiche pas, cela signifie que Flash na pas trouv le fichier SWD. Dans ce cas, cliquez sur le fichier SWF avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh) pour afficher un menu contextuel, et choisissez Dbogueur.

3 Dans la bote de dialogue Dbogage distance, slectionnez Hte local ou Autre machine :

Loption Hte local est utilise si le lecteur de dbogage et lapplication auteur Flash se trouvent sur le mme ordinateur. Optez pour Autre machine si le lecteur de dbogage et lapplication auteur Flash ne se trouvent pas sur le mme ordinateur. Entrez ladresse IP de lordinateur qui excute lapplication auteur Flash. 4 Lorsquune connexion est tablie, une bote de dialogue saffiche et vous invite entrer un mot de passe. Entrez le mot de passe de dbogage si vous en avez dfini un. La liste hirarchique du fichier SWF apparat dans le dbogueur.

Affichage et modification de variables Longlet Variables du dbogueur affiche les noms et valeurs des variables globales et de scnario du fichier SWF. Si vous modifiez la valeur dune variable dans cet onglet, vous pouvez constater la modification dans le fichier SWF au cours de son excution. Par exemple, pour tester la dtection de collision dans un jeu, vous pouvez entrer la valeur de la variable afin de positionner une balle lemplacement correct prs dun mur. Longlet Locales du dbogueur affiche les noms et les valeurs des variables locales disponibles lorsque le fichier SWF sest arrt un point darrt ou nimporte o ailleurs dans une fonction dfinie par lutilisateur.
Pour afficher une variable :

1 Slectionnez le clip contenant la variable de la liste.

Pour afficher les variables globales, slectionnez le clip _global dans la liste.
2 Cliquez sur longlet Variables.

74

Chapitre 3 : Rdaction et dbogage de scripts

La liste hirarchique est automatiquement mise jour au cours de la lecture du fichier SWF. Un clip supprim du fichier SWF au niveau dune image spcifique est galement supprim (avec sa variable et son nom de variable) de la liste hirarchique du dbogueur. Toutefois, si vous marquez une variable pour la liste dobservation (consultez Utilisation de la liste dobservation, page 75), cette variable nest pas supprime.

Pour modifier la valeur dune variable :

Double-cliquez sur la valeur et entrez-en une nouvelle.


La valeur ne peut pas tre une expression. Par exemple, vous pouvez utiliser "Bonjour", 3523 ou "http://www.macromedia.com", et vous ne pouvez pas utiliser x + 2 ou eval("nom:" +i). La valeur peut tre une chane (nimporte quelle valeur comprise entre guillemets, un nombre ou une valeur boolenne (true ou false).
Remarque : Pour afficher la valeur dune expression dans le panneau de sortie en mode de test danimation, utilisez linstruction trace. Pour plus dinformations, consultez Utilisation de linstruction trace, page 82.

Utilisation de la liste dobservation Pour facilement contrler un ensemble de variables critiques, vous pouvez marquer celles qui doivent apparatre dans la liste dobservation. Cette liste affiche le chemin daccs absolu de la variable et de la valeur. Vous pouvez galement entrer une nouvelle valeur de variable dans la liste dobservation, comme dans le volet Variables. Si vous ajoutez une variable locale la liste dobservation, sa valeur ne saffiche que lorsque le lecteur est arrt sur une ligne de code ActionScript au niveau de laquelle cette variable est utilise. Toutes les autres variables saffichent pendant la lecture du fichier SWF. Si le dbogueur ne trouve pas la valeur de la variable, elle est rpertorie comme undefined .

Dbogage de scripts

75

La liste dobservation ne peut afficher que les variables, et non les proprits ou les fonctions.

Variables marques pour la liste dobservation et variables dans la liste dobservation


Pour ajouter des variables la liste dobservation, effectuez lune des oprations suivantes :

Sous longlet Variables ou Locales, cliquez sur une variable slectionne avec le bouton droit de
la souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh), puis choisissez Observateur dans le menu contextuel. Un point bleu apparat en regard de la variable. Sous longlet Observateur, cliquez sur une variable slectionne avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh), puis choisissez Ajouter dans le menu contextuel. Entrez le chemin cible du nom de variable et sa valeur dans les champs.

Pour retirer des variables de la liste dobservation :

Sous longlet Observateur, cliquez sur une variable slectionne avec le bouton droit de la
souris (Windows) ou en appuyant sur la touche Ctrl (Macintosh), puis choisissez Supprimer dans le menu contextuel. Affichage et modification des proprits de clip Longlet Proprits du dbogueur affiche toutes les valeurs de proprits des clips sur la scne. Vous pouvez modifier une valeur et constater leffet de la modification sur le fichier SWF lors de son excution. Certaines proprits de clip sont en lecture seule et ne peuvent pas tre modifies.
Pour afficher les proprits dun clip dans le dbogueur :

1 Slectionnez un clip dans la liste.

76

Chapitre 3 : Rdaction et dbogage de scripts

2 Cliquez sur longlet Proprits du dbogueur.

Pour modifier la valeur dune proprit :

Double-cliquez sur la valeur et entrez-en une nouvelle.


La valeur ne peut pas tre une expression. Par exemple, vous pouvez entrer 50 ou "goutteDeau" mais pas x + 50. La valeur peut tre une chane (nimporte quelle valeur comprise entre guillemets, un nombre ou une valeur boolenne (true ou false). Vous ne pouvez pas entrer de valeurs dobjets ou tableaux (par exemple, {id: "rogue"} ou [1, 2, 3]) dans le dbogueur. Pour plus dinformations, consultez Oprateurs de chane, page 49 et Utilisation doprateurs pour manipuler les valeurs des expressions, page 47.
Remarque : Pour afficher la valeur dune expression dans le panneau de sortie en mode de test danimation, utilisez linstruction trace. Pour plus dinformations, consultez Utilisation de linstruction trace, page 82.

Dfinition et suppression de points darrt Un point darrt vous permet dinterrompre un fichier SWF en cours de lecture dans Flash Player une ligne prcise de code ActionScript. Vous pouvez utiliser les points darrt pour tester dventuels endroits problmatiques du code. Par exemple, si vous avez rdig un jeu dinstructions if..else if et que vous ne pouvez pas dterminer laquelle est en cours dexcution, vous pouvez ajouter un point darrt avant ces instructions et les faire dfiler une par une dans le dbogueur. Vous pouvez dfinir des points darrt dans le panneau Actions ou dans le dbogueur. (Pour dfinir des points darrt dans des scripts externes, vous devez utiliser le dbogueur.) Les points darrt dfinis dans le panneau Actions sont enregistrs dans le document Flash (fichier FLA). Les points darrt dfinis dans le dbogueur ne sont pas enregistrs dans le fichier FLA et ne sont valides que pour la session de dbogage en cours.

Dbogage de scripts

77

Pour dfinir ou supprimer un point darrt dans le panneau Actions, effectuez lune des oprations suivantes :

Cliquez dans la marge gauche. La prsence dun point rouge indique un point darrt. Cliquez sur le bouton Options de dbogage, situ au-dessus de la fentre de script. Cliquez avec le bouton droit (Windows) ou en appuyant sur la touche Contrle (Macintosh)
pour afficher le menu contextuel et choisissez Dfinir un point darrt, Supprimer le point darrt ou Supprimer tous les points darrt. Appuyez sur Ctrl+Maj+B (Windows) ou sur Commande+Maj+B (Macintosh).

Remarque : Dans les versions prcdentes de Flash, un clic dans la marge gauche de la fentre de script slectionnait la ligne de code. Dsormais il permet dajouter ou de supprimer un point darrt. Pour slectionner une ligne de code, cliquez en appuyant sur la touche Ctrl (Windows) ou Commande (Macintosh). Pour dfinir ou supprimer des points darrt dans le dbogueur, effectuez lune des oprations suivantes :

Cliquez dans la marge gauche. La prsence dun point rouge indique un point darrt. Cliquez sur le bouton Basculer le point darrt ou Supprimer tous les points darrt, au-dessus
de laffichage du code. Cliquez avec le bouton droit (Windows) ou en appuyant sur la touche Contrle (Macintosh) pour afficher le menu contextuel et choisissez Dfinir un point darrt, Supprimer le point darrt ou Supprimer tous les points darrt. Appuyez sur Ctrl+Maj+B (Windows) ou sur Commande+Maj+B (Macintosh). Lorsque Flash Player est interrompu un point darrt, vous pouvez entrer dans une ligne de code, lignorer ou en sortir. Un point darrt fix dans un commentaire ou sur une ligne vide du panneau Actions est ignor.

Dfilement de lignes de code Flash Player est mis en pause lorsque vous commencez une session de dbogage. Si vous dfinissez des points darrt dans le panneau Actions, vous pouvez tout simplement cliquer sur le bouton Continuer pour lire le fichier SWF jusqu ce quil rencontre un de ces points. Par exemple, dans le code suivant, supposons quun point darrt a t dfini dans un bouton sur la ligne maFonction():
on(press) { maFonction(); }

Lorsque vous cliquez sur le bouton, le point darrt est atteint et Flash Player sinterrompt. Vous pouvez ensuite intervenir afin damener le dbogueur la premire ligne de maFonction(), l o elle a t dfinie dans le document. Vous pouvez galement faire dfiler toute la fonction ou la quitter. Si vous navez pas dfini de points darrt dans le panneau Actions, vous pouvez utiliser le menu de passage aux autres lments du dbogueur pour slectionner nimporte quel script de lanimation. Vous pouvez ensuite y ajouter des points darrt. Aprs avoir ajout des points darrt, vous devez cliquer sur le bouton Continuer pour lancer lanimation. Le dbogueur sarrte lorsquil atteint le point darrt.

78

Chapitre 3 : Rdaction et dbogage de scripts

Lorsque vous faites dfiler les lignes de code, les valeurs des variables et des proprits changent dans la liste dobservation ainsi que dans les onglets Variables, Locales et Proprits. Une flche jaune sur le ct gauche de la fentre de code du dbogueur indique la ligne sur laquelle le dbogueur sest arrt. Utilisez les boutons suivants, placs en haut de la fentre de code :
Continuer Arrter le dbogage Basculer le point darrt Supprimer tous les points darrt

Sortir du pas pas Pas pas dtaill Pas pas principal

Le bouton Pas pas dtaill fait avancer le dbogueur (indiqu par la flche jaune) dans une fonction. Le bouton Pas pas dtaill ne peut tre utilis quavec les fonctions dfinies par lutilisateur. Dans lexemple suivant, si vous placez un point darrt la ligne 7 et que vous cliquez sur Pas pas dtaill, le dbogueur passe la ligne 2, et un nouveau clic sur ce bouton passe la ligne 3. Un clic sur Pas pas dtaill pour des lignes ne comportant pas de fonction dfinie par lutilisateur fait avancer le dbogueur sur une ligne de code. Par exemple, si vous effectuez un arrt la ligne 2 et que vous choisissez Pas pas dtaill, le dbogueur passe la ligne 3, comme dans lexemple suivant :
1 2 3 4 5 6 7 8 function maFonction() { x = 0; y = 0; } mover = 1; maFonction(); mover = 0;

Le bouton Sortir du pas pas fait sortir le dbogueur dune fonction. Le bouton Sortir du pas pas ne fonctionne que si vous tes actuellement arrt(e) sur une fonction dfinie par lutilisateur. Il dplace la flche jaune sur la ligne suivant celle au niveau de laquelle cette fonction a t appele. Dans lexemple ci-dessus, si vous placez un point darrt la ligne 3 et que vous cliquez sur Sortir du pas pas, le dbogueur passe la ligne 8. Un clic sur Sortir du pas pas sur une ligne qui ne se trouve pas dans une fonction dfinie par lutilisateur quivaut cliquer sur Continuer. Par exemple, si vous vous arrtez la ligne 6 et que vous cliquez sur Sortir du pas pas, le lecteur continue excuter le script jusqu ce quil rencontre un point darrt. Le bouton Pas pas principal fait avancer le dbogueur sur une ligne de code. Le bouton Pas pas principal dplace la flche jaune sur la ligne suivante du script et ignore les fonctions dfinies par lutilisateur. Dans lexemple ci-dessus, si vous tes arrt(e) la ligne 7 et que vous cliquez sur Pas pas principal, vous passez directement la ligne 8 et maFonction() est ignore. Le bouton Continuer quitte la ligne au niveau de laquelle le lecteur est arrt et continue la lecture jusqu ce quun point darrt soit atteint.

Dbogage de scripts

79

Le bouton Interrompre le dbogage dsactive le dbogueur sans arrter la lecture du fichier SWF dans Flash Player.

Utilisation du panneau de sortie


En mode de test danimation, le panneau de sortie affiche des informations facilitant le dpannage de votre fichier SWF. Certaines informations, telles que les erreurs de syntaxe, sont automatiquement affiches. Vous pouvez afficher dautres informations laide des commandes Lister les objets et Lister les variables. (Consultez Liste des objets dun fichier SWF, page 80 et Liste des variables dun fichier SWF, page 81.) Si vous utilisez linstruction trace dans vos scripts, vous pouvez envoyer des informations spcifiques au panneau de sortie au cours de lexcution du fichier SWF. Il peut sagir de notes relatives ltat du fichier SWF ou la valeur dune expression. Pour plus dinformations, consultez Utilisation de linstruction trace, page 82. Pour afficher le panneau de sortie, choisissez Fentre > Panneaux de dveloppement > Sortie ou appuyez sur la touche F2.
Remarque : Si un script comporte des erreurs de syntaxe, le panneau de sortie apparat automatiquement lorsque vous vrifiez la syntaxe ou que vous testez votre fichier SWF.

Pour utiliser le contenu du panneau de sortie, utilisez le menu doptions (dans le coin suprieur droit).

Liste des objets dun fichier SWF En mode de test danimation, la commande Lister les objets affiche le niveau, limage, le type dobjet (forme, clip ou bouton), les chemins cible et les noms doccurrences de clips, boutons et champs de texte dans une liste hirarchique. Cela est particulirement utile pour rechercher le chemin cible et le nom de loccurrence corrects. Contrairement au dbogueur, la liste nest pas automatiquement mise jour au cours de la lecture du fichier SWF ; vous devez choisir la commande Lister les objets chaque fois que vous voulez envoyer les informations au panneau de sortie. La commande Lister les objets ne dresse pas la liste de tous les objets de donnes ActionScript. Dans ce contexte, un objet est considr comme une forme ou un symbole sur la scne.
Pour afficher une liste dobjets dune animation :

1 Si lanimation nest pas en cours dexcution en mode de test danimation, choisissez Contrle >

Tester lanimation.

80

Chapitre 3 : Rdaction et dbogage de scripts

2 Choisissez Dboguer > Lister les objets.

La liste des objets actuellement sur la scne saffiche dans le panneau de sortie, comme illustr dans lexemple suivant :
Level #0: Image=1 Etiquette="Scene_1" Bouton: Cible="_level0.monBouton" Forme: Clip: Image=1 Cible="_level0.monClip" Forme: Modifier le texte: Cible="_level0.monChampDeTexte" Texte="Ceci est un exemple."

Liste des variables dun fichier SWF En mode de test, la commande Lister les variables affiche la liste de toutes les variables actuelles que contient le fichier SWF. Cela est particulirement utile pour rechercher la variable cible et le nom de la variable corrects. Contrairement au dbogueur, la liste nest pas automatiquement mise jour au cours de la lecture du fichier SWF ; vous devez choisir la commande Lister les variables chaque fois que vous voulez envoyer les informations au panneau de sortie. La commande Lister les variables affiche galement les variables globales dclares au moyen de lidentifiant _global. Les variables globales sont affiches en haut de la liste produite par loption Lister les variables, dans une section nomme Variables globales . Chacune dentre elles est prcde de la mention _global. En outre, la commande Lister les variables affiche des proprits de type lecture/dfinition, des proprits cres par la mthode Objet.addProperty() et qui appellent des mthodes get ou set. Une proprit lecture/dfinition est affiche ct des autres proprits de lobjet auquel elle appartient. Pour distinguer aisment ces proprits des variables ordinaires, la valeur dune proprit lecture/dfinition porte le prfixe [obtenir/placer]. La valeur affiche pour une proprit lecture/dfinition est dtermine par lvaluation de la fonction get de la proprit.
Pour afficher la liste des variables dun fichier SWF :

1 Si le fichier SWF nest pas en cours dexcution en mode de test, choisissez Contrle > Tester

lanimation. 2 Choisissez Dboguer > Lister les variables. La liste de toutes les variables qui figurent actuellement dans le fichier SWF saffiche dans le panneau de sortie, comme illustr dans lexemple suivant :
Variables globales : Variable _global.MonTableauDeGlobales = [objet 1] [ 0:1, 1:2, 2:3 ] Level #0: Variable _level0.$version = "WIN 6,0,0,101" Variable _level0.VariableNormale = "Gary" Variable _level0.UnObjet = [objet 1] { maProprit: [obtenir/placer] 3.14159 }

Utilisation du panneau de sortie

81

Affichage des proprits de champ de texte pour le dbogage Pour obtenir des informations de dbogage sur les objets du champ de texte, vous pouvez utiliser la commande Dboguer > Lister les variables en mode tester lanimation. Le panneau de sortie utilise les conventions suivantes pour laffichage des objets TextField :

Si une proprit est introuvable sur lobjet, elle ne saffiche pas. Pas plus de quatre proprits saffichent sur une ligne. Une proprit possdant une valeur de chane est affiche sur une ligne spare. Si dautres proprits sont dfinies pour lobjet aprs le traitement des proprits intgres, elles sajoutent laffichage selon les rgles des deuxime et troisime points prcdents. Les proprits de couleur saffichent sous forme de nombres hexadcimaux (0x00FF00). Les proprits sont affiches dans lordre suivant : variable, text, htmlText, html, textWidth, textHeight, maxChars, borderColor, backgroundColor, textColor, border, background, wordWrap, password, multiline, selectable, scroll, hscroll, maxscroll, maxhscroll, bottomScroll, type, embedFonts, restrict, length, tabIndex, autoSize.

La commande Dboguer > Lister les objets en mode test rpertorie les objets du champ de texte. Si un nom doccurrence est spcifi pour un champ de texte, le panneau de sortie affiche le chemin cible complet, y compris le nom doccurrence sous la forme suivante :
Target = "target path"

Utilisation de linstruction trace Lutilisation de linstruction trace dans un script vous permet denvoyer des informations au panneau de sortie. Par exemple, lors du test dune animation ou squence, vous pouvez envoyer des notes de programmation spcifiques au panneau ou afficher des rsultats spcifiques lorsque vous cliquez sur un bouton ou en lisez une image. Linstruction trace est similaire linstruction JavaScript alert. Lorsque vous utilisez linstruction trace dans un script, vous pouvez utiliser des expressions en tant que paramtres. La valeur dune expression saffiche dans le panneau de sortie en mode de test, comme illustr dans lexemple suivant :

Linstruction trace renvoie des valeurs qui sont affiches dans le panneau de sortie.

82

Chapitre 3 : Rdaction et dbogage de scripts

onClipEvent (enterFrame) { trace("onClipEvent enterFrame " + enterFrame++) }

Mise jour de Flash Player pour le test


Vous pouvez tlcharger la version la plus rcente de Flash Player partir du site du centre de support Macromedia ladresse www.macromedia.com/support/flash afin de lutiliser pour tester vos fichiers SWF.

Mise jour de Flash Player pour le test

83

84

Chapitre 3 : Rdaction et dbogage de scripts

PARTIE II Gestion des vnements et cration dinteractivit

PARTIE II

Certains vnements, tels que les clics de souris ou les pressions exerces sur les touches, peuvent tre gnrs par lutilisateur. Dautres peuvent tre le rsultat de certains autres processus, tels que le chargement dun fichier XML sur le rseau. Le premier chapitre de cette section dcrit les diffrents types dvnements dans Macromedia Flash et explique comment les traiter dans ActionScript. Le deuxime chapitre explique comment appliquer ces principes pour crer des prsentations, des applications et des animations interactives simples. Chapitre 4: Gestion dvnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Chapitre 5: Cration dinteractivit avec ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

CHAPITRE 4 Gestion dvnements

Un vnement est une occurrence logicielle ou matrielle qui requiert une rponse dune application Macromedia Flash. Par exemple, un vnement tel quun clic de souris ou une pression sur une touche est appel vnement utilisateur, puisquil rsulte dune interaction directe avec lutilisateur. Un vnement gnr automatiquement par Flash Player, tel que lapparence initiale dun clip sur la scne, est appel vnement systme, car il nest pas gnr directement par lutilisateur. Pour que votre application ragisse des vnements, vous devez utiliser des gestionnaires dvnement (code ActionScript associ un objet et un vnement particuliers). Par exemple, lorsquun utilisateur clique sur un bouton sur la scne, la tte de lecture peut passer limage suivante. De mme, lissue du chargement dun fichier XML sur le rseau, le contenu du fichier peut safficher dans un champ de texte. ActionScript propose diffrentes mthodes de gestion des vnements : mthodes de gestionnaire dvnement, des couteurs dvnement, et des gestionnaires dvnement de bouton et de clip.

Utilisation de mthodes de gestionnaire dvnement


Une mthode de gestionnaire dvnement est une mthode de classe invoque lorsquun vnement se produit sur une occurrence de cette classe. Par exemple, la classe Button dfinit un gestionnaire dvnement onPress, invoqu lorsque lutilisateur clique avec le bouton de la souris sur un objet Button. Contrairement aux autres mthodes de classe, vous ninvoquez pas directement un gestionnaire dvnement ; Flash Player linvoque automatiquement lorsque lvnement appropri se produit. Par dfaut, les mthodes de gestionnaire dvnement ne sont pas dfinies : lorsquun vnement particulier se produit, son gestionnaire dvnement correspondant est invoqu, mais votre application ne rpond pas davantage lvnement. Pour quelle rponde lvnement, dfinissez une fonction au moyen de linstruction function et affectez-la au gestionnaire dvnement appropri. La fonction que vous avez affecte au gestionnaire dvnement est ensuite automatiquement invoque lorsque lvnement se produit. Un gestionnaire dvnement se compose de trois lments : lobjet auquel lvnement sapplique, le nom de la mthode de gestionnaire dvnement de lobjet et la fonction que vous avez affecte au gestionnaire dvnement. Lexemple suivant illustre la structure de base dun gestionnaire dvnement.
object.eventMethod = function () {

87

// Votre code, rpondant lvnement }

Par exemple, supposons que vous avez un bouton suivant_btn sur la scne. Le code suivant affecte au gestionnaire dvnement onPress du bouton une fonction qui permet de faire avancer la tte de lecture jusqu limage suivante dans le scnario.
suivant_btn.onPress = function () nextFrame(); }

Dans le code ci-dessus, la fonction nextFrame() est affecte directement onPress. Vous pouvez galement affecter une rfrence de fonction (nom) une mthode de gestionnaire dvnement et dfinir la fonction ultrieurement.
// Assigne une rfrence de fonction la mthode de gestionnaire dvnement onPress du bouton suivant_btn.onPress = goNextFrame; // Dfinit la fonction doSubmit() function goNextFrame() { nextFrame(); }

Notez que vous affectez la rfrence de fonction et non la valeur renvoye de la fonction au gestionnaire dvnement onPress.
// Incorrect ! suivant_btn.onPress = goNextFrame(); // Correct. suivant_btn.onPress = goNextFrame;

Certains gestionnaires dvnement reoivent des paramtres transmis qui donnent des informations sur lvnement qui sest produit. Par exemple, le gestionnaire dvnement TextField.onSetFocus est invoqu lorsquune occurrence de champ de texte parvient au focus clavier. Ce gestionnaire dvnement reoit une rfrence lobjet de champ de texte qui avait prcdemment le focus clavier. Par exemple, le code suivant insre du texte dans le champ de texte qui vient juste de perdre le focus clavier.
nomDutilisateur_txt.onSetFocus = function(oldFocus_txt) { ancienFocus_txt.text = "Je viens de perdre le focus clavier"; }

Les classes ActionScript suivantes dfinissent des gestionnaires dvnement : Button, ContextMenu, ContextMenuItem, Key, LoadVars, LocalConnection, Mouse, MovieClip, MovieClipLoader, Selection, SharedObject, Sound, Stage, TextField, XML et XMLSocket. Pour plus dinformations sur les gestionnaires dvnement quelles proposent, consultez les entres correspondantes dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Vous pouvez galement affecter des fonctions des gestionnaires dvnement pour des objets que vous crez lors de lexcution. Le code suivant, par exemple, cre une nouvelle occurrence de clip (nouveauClip_mc) et affecte une fonction au gestionnaire dvnement onPress du clip.
_root.attachMovie("idDeSymbole", "nouveauClip_mc", 10); nouveauClip_mc.onPress = function () { trace("Vous mavez press"); }

Pour plus dinformations, consultez Cration de clips lexcution, page 130.

88

Chapitre 4 : Gestion dvnements

Utilisation des couteurs dvnement


Les couteurs dvnement permettent un objet, appel objet dcoute, de recevoir des vnements gnrs par un autre objet, appel objet diffuseur. Lobjet diffuseur enregistre lobjet dcoute afin de recevoir des vnements gnrs par le diffuseur. Par exemple, vous enregistrez un objet de clip pour recevoir des notifications onResize de la scne, ou une occurrence de bouton peut recevoir des notifications onChanged dun objet de champ de texte. Vous pouvez enregistrer plusieurs objets dcoute pour recevoir des vnements dun seul diffuseur, et vous pouvez enregistrer un seul objet dcoute pour recevoir des vnements de plusieurs diffuseurs. Les couteurs dvnement utilisent le mme modle que les gestionnaires dvnement (consultez Utilisation de mthodes de gestionnaire dvnement, page 87), deux diffrences prs :

Lobjet auquel vous affectez le gestionnaire dvnement nest pas lobjet qui met lvnement. Appelez une mthode spciale de lobjet diffuseur, addListener(), qui enregistre lobjet
dcoute pour recevoir ses vnements. Pour utiliser les couteurs dvnement, crez un objet dcoute avec une proprit qui porte le mme nom que lvnement en cours de cration par lobjet diffuseur. Affectez ensuite une fonction lcouteur dvnement qui rpond en quelque sorte lvnement. Enfin, appelez addListener() sur lobjet qui diffuse lvnement, en lui transmettant le nom de lobjet dcoute. Le code suivant prsente le modle dcouteur dvnement.
objetDecoute.eventName = function(){ // votre code }; objetDiffuseur.addListener(listenerObject);

Lobjet dcoute spcifi peut tre tout objet, tel quune occurrence de bouton ou de clip sur la scne ou une occurrence de nimporte quelle classe ActionScript. Le nom de lvnement est un vnement qui se produit sur objetDiffuseur, qui ensuite diffuse lvnement objetDecoute. Vous pouvez enregistrer plusieurs couteurs sur un diffuseur dvnement. Lexemple suivant illustre comment utiliser lcouteur dvnement Selection.onSetFocus pour crer un gestionnaire de focus simple pour un groupe de champs de saisie de texte. Dans ce cas, la bordure du champ de texte qui reoit le focus clavier est active (affiche) et la bordure du champ de texte qui a perdu le focus est dsactive.
Pour crer un gestionnaire de focus simple avec des gestionnaires dvnement :

1 En utilisant loutil Texte, crez un champ de texte sur la scne. 2 Slectionnez le champ de texte et, dans lInspecteur des proprits, choisissez Entre dans le

menu contextuel Type de texte, puis choisissez loption Afficher la bordure autour du texte. 3 Crez un autre champ de saisie de texte, sous le premier. Assurez-vous que loption Afficher la bordure autour du texte nest pas active pour ce champ de texte. Si ncessaire, continuez crer des champs de saisie de texte. 4 Slectionnez limage 1 dans le scnario et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 5 Pour crer un objet qui coute les notifications de focus dune classe Selection, entrez le code suivant dans le panneau Actions :
var ecouteurDeFocus = new Object(); ecouteurDeFocus.onSetFocus = function(ancienFocus_txt, nouveauFocus_txt) { ancienFocus_txt.border = false;

Utilisation des couteurs dvnement

89

nouveauFocus_txt.border = true; }

Ce code cre un nouvel objet ActionScript (gnrique) appel focusListener. Cet objet dfinit pour lui-mme une proprit onSetFocus, laquelle il affecte une fonction. La fonction prend en compte deux paramtres : une rfrence au champ de texte qui a perdu le focus et une rfrence au champ de texte qui a reu le focus. La fonction dfinit la proprit border du champ de texte qui a perdu le focus false et la proprit border du champ de texte qui a reu le focus true. 6 Pour enregistrer lobjet focusListener pour recevoir des vnements de lobjet Selection, ajoutez le code suivant au panneau Actions :
Selection.addListener(focusListener);

7 Testez lanimation (Contrle > Tester lanimation), cliquez dans le premier champ de texte, puis

appuyez sur Tab pour passer dun champ lautre. Pour dsenregistrer un objet dcoute de sorte quil ne reoive plus dvnements, appelez la mthode removeListener() de lobjet diffuseur, en lui transmettant le nom de lobjet dcoute.
objetDiffuseur.removeListener(listenerObject);

Les couteurs dvnement sont disponibles pour les objets des classes ActionScript suivantes : Key, Mouse, MovieClipLoader, Selection, TextField, et Stage. Pour obtenir une liste des couteurs dvnement disponibles pour chaque classe, consultez les entres de ces classes dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Utilisation de gestionnaires dvnement de bouton et de clip


Vous pouvez associer des gestionnaires dvnement directement une occurrence de bouton ou de clip au moyen des gestionnaires onClipEvent() et on(). Le gestionnaire onClipEvent() traite les vnements de clips alors que le gestionnaire on() traite ceux des boutons. Vous pouvez galement utiliser on() avec des clips pour crer des clips qui reoivent des vnements de bouton. Pour plus dinformations, consultez Cration de clips avec tats de bouton, page 91. Pour utiliser le gestionnaire on() ou onClipEvent(), associez-le directement une occurrence dun bouton ou dun clip sur la scne et spcifiez lvnement que vous souhaitez grer pour cette occurrence. Par exemple, le gestionnaire dvnement on() suivant est excut lorsque lutilisateur clique sur le bouton auquel il est associ.
on(press) { trace("Merci de mavoir press."); }

Vous pouvez spcifier deux vnements, voire plus, pour chaque gestionnaire on(), spars par des virgules. Le code ActionScript dans un gestionnaire est excut lorsque lun des vnements spcifis par le gestionnaire se produit. Par exemple, le gestionnaire on() suivant, associ un bouton, est excut lorsque le pointeur de la souris passe au-dessus puis en dehors du bouton.
on(rollOver, rollOut) { trace("Vous tes pass au-dessus ou en dehors"); }

Vous pouvez associer plusieurs gestionnaires un objet si vous souhaitez excuter diffrents scripts lorsque diffrents vnements se produisent. Par exemple, vous pouvez associer les gestionnaires onClipEvent() suivants la mme occurrence de clip. Le premier est excut au premier chargement du clip (ou lorsque celui-ci apparat sur la scne), le second est excut lorsque le clip est vid de la scne.

90

Chapitre 4 : Gestion dvnements

onClipEvent(load) { trace("charg"); } onClipEvent (unload) { trace("vid"); }

Pour obtenir la liste complte des vnements pris en charge par les gestionnaires dvnement on() et onClipEvent(), consultez on(), page 577 et onClipEvent(), page 578. La gestion dvnement avec on() et onClipEvent() ne provoque pas de conflit avec la gestion dvnement via des mthodes de gestionnaire dvnement que vous dfinissez. Imaginons par exemple que votre fichier SWF comporte un bouton associ un gestionnaire on(press) qui dclenche la lecture du fichier SWF. Ce mme bouton possde galement une mthode onPress, pour laquelle vous dfinissez une fonction qui indique une rotation un objet sur la scne. Lorsque lutilisateur clique sur le bouton, la lecture du fichier SWF commence et lobjet tourne sur lui-mme. Selon vos prfrences, vous pouvez utiliser on() et onClipEvent(), des mthodes de gestionnaire dvnement ou ces deux types de gestion dvnement. Toutefois, le domaine des variables et des objets dans les gestionnaires on() et onClipEvent() nest pas le mme que celui du gestionnaire dvnement et des couteurs dvnement. Pour plus dinformations, consultez Domaine du gestionnaire dvnement, page 92. Vous pouvez associer onClipEvent() et on() uniquement des occurrences de clips qui ont t places sur la scne au cours de la programmation. Il est impossible dassocier onClipEvent() ou on() des occurrences de clips cres lexcution (avec la mthode attachMovie, par exemple). Pour associer des gestionnaires dvnement des objets crs lexcution, utilisez des mthodes de gestionnaire dvnement ou des couteurs dvnement. Pour plus dinformations, consultez Utilisation de mthodes de gestionnaire dvnement, page 87 et Utilisation des couteurs dvnement, page 89.

Cration de clips avec tats de bouton


Lorsque vous associez un gestionnaire on() un clip ou que vous affectez une fonction lun des gestionnaires dvnement souris MovieClip pour une occurrence de clip, le clip rpond des vnements souris de la mme faon quun bouton. Vous pouvez galement crer des tats de bouton automatiques (Haut, Dessus et Abaiss) dans un clip, en ajoutant les tiquettes dimage _up, _over et _down au scnario du clip. Lorsque lutilisateur dplace la souris au-dessus dun clip ou quil clique sur ce dernier, la tte de lecture passe limage avec ltiquette dimage approprie. Pour dsigner la zone active quutilise un clip, utilisez la proprit hitArea de la classe MovieClip.
Pour crer des tats de bouton dans un clip :

1 Slectionnez, dans le scnario dun clip, une image utiliser comme tat de bouton (Haut,

Dessus ou Abaiss). 2 Entrez une tiquette dimage dans linspecteur des proprits(_up, _over ou _down). 3 Pour ajouter dautres tats de bouton, rptez les tapes 1 et 2. 4 Pour que votre clip rponde aux vnements souris, effectuez lune des oprations suivantes : Associez un gestionnaire dvnement on() loccurrence du clip, comme indiqu dans Utilisation de gestionnaires dvnement de bouton et de clip, page 90.

Cration de clips avec tats de bouton

91

Affectez une fonction lun des gestionnaires dvnement souris de lobjet du clip (onPress, onRelease, etc.), comme indiqu dans Utilisation de mthodes de gestionnaire dvnement, page 87.

Domaine du gestionnaire dvnement


Le domaine, ou contexte, des variables et commandes que vous dclarez et excutez dans un gestionnaire dvnement varie selon le type de gestionnaire dvnement que vous utilisez : gestionnaires dvnement ou couteurs dvnement, gestionnaires on() et onClipEvent(). Les fonctions affectes aux mthodes de gestionnaire dvnement et aux couteurs dvnement (comme toutes les fonctions ActionScript que vous rdigez) dfinissent un domaine de variable locale, contrairement aux gestionnaires on() et onClipEvent(). Par exemple, soit les deux gestionnaires dvnement suivants : le premier est un gestionnaire dvnement onPress associ un clip appel clip_mc, le second est un gestionnaire on() associ la mme occurrence de clip.
// Associ au scnario de clip parent de clip_mc : clip_mc.onPress = function () { var couleur; // variable de fonction locale couleur = "bleu"; } // gestionnaire on() associ clip_mc : on(press) { var couleur; // aucun domaine de variable locale couleur = "bleu"; }

Bien que les deux gestionnaires dvnement contiennent le mme code, les rsultats sont diffrents. Dans le premier cas, la variable couleur est locale par rapport la fonction dfinie pour onPress. Dans le second, dans la mesure o le gestionnaire on() ne dfinit pas de domaine de variable locale, la variable a un domaine limit au scnario du clip clip_mc. Dans le cas des gestionnaires dvnement on() associs des boutons, plutt qu des clips, le domaine des variables ( linstar des appels de fonction et de mthode) est limit au scnario qui contient loccurrence de bouton. Le gestionnaire dvnement on() suivant, par exemple, gnre diffrents rsultats selon quil est associ un clip ou un bouton. Dans le premier exemple, lappel de la fonction play() lance la tte de lecture du scnario qui contient le bouton ; dans le second, lappel de la fonction play() dmarre le scnario du clip auquel le gestionnaire est associ.
// Associ on(press) { play(); // } // Associ on(press) { play(); // } un bouton excute le scnario parent un clip excute le scnario du clip

Autrement dit, lorsquil est associ un objet de bouton, lappel de la mthode play() sapplique au scnario qui contient le bouton, cest--dire au scnario parent du bouton. En revanche, lorsque ce mme gestionnaire est associ un objet de clip, la mthode play() sapplique au clip qui contient le gestionnaire.

92

Chapitre 4 : Gestion dvnements

Dans la dfinition dune fonction de gestionnaire dvnement ou dcouteur dvnement, la fonction play() sappliquerait au scnario contenant la dfinition. Imaginons par exemple que la fonction de gestionnaire dvnement MovieClip.onPress suivante soit dclare dans le scnario contenant linstance de clip monClip.
// Fonction dfinie dans le scnario du clip : monClip.onPress = function () { play(); // excute le scnario contenant la dfinition de la fonction }

Pour excuter le clip qui dfinit le gestionnaire dvnement onPress, vous devez faire explicitement rfrence ce clip laide du mot-cl this, comme suit :
monClip.onPress = function () { this,play(); // excute le scnario du clip qui dfinit le gestionnaire onPress }

Domaine du mot-cl this


Le mot-cl this fait rfrence lobjet dans le domaine en cours dexcution. Selon le type de technique de gestionnaire dvnement que vous utilisez, this renvoie diffrents objets.
Dans une fonction de gestionnaire dvnement ou dcouteur dvnement, this

fait

rfrence lobjet qui dfinit la mthode du gestionnaire dvnement ou de lcouteur dvnement. Dans le code suivant, par exemple, this renvoie monClip.
// gestionnaire dvnement onPress() associ _level0.monClip : monClip.onPress = function () { trace(this); // affiche "_level0.monClip" } Dans un gestionnaire on() associ un clip, this

renvoie au clip auquel le gestionnaire on()

est associ.
// Associ au clip "monClip" on(press) { trace(this); // affiche "_level0.monClip" } Dans un gestionnaire on() associ un bouton, this

renvoie au scnario qui contient le

bouton.
// Associ un bouton du scnario principal on(press) { trace(this); // affiche "_level0" }

Domaine du mot-cl this

93

94

Chapitre 4 : Gestion dvnements

CHAPITRE 5 Cration dinteractivit avec ActionScript

Dans une animation simple, Macromedia Flash Player lit les scnes et les images du fichier SWF de faon squentielle. Dans un fichier SWF interactif, votre public utilise le clavier et la souris pour atteindre les diffrentes parties du fichier SWF, pour dplacer des objets, entrer des informations dans des formulaires et effectuer bien dautres oprations interactives. Utilisez ActionScript pour crer des scripts qui indiquent Flash Player laction excuter lorsquun vnement survient. Certains vnements pouvant dclencher un script se produisent lorsque la tte de lecture atteint une image, quun clip est charg ou purg, ou que lutilisateur clique sur un bouton ou appuie sur une touche. Les scripts peuvent prendre la forme dune commande unique (pour ordonner la fin de la lecture dun fichier SWF, par exemple) ou dune srie de commandes et dinstructions (pour valuer une condition avant deffectuer une action, par exemple). De nombreuses commandes ActionScript sont simples et permettent de crer des contrles de base pour un fichier SWF. Dautres actions exigent une certaine connaissance des langages de programmation et sont destines un dveloppement avanc.

A propos des vnements et de linteraction


Chaque clic de souris ou pression sur une touche entrane la gnration dun vnement. Ces types dvnements portent gnralement le nom dvnements utilisateur, car ils sont gnrs en rponse une action de lutilisateur final. Vous pouvez utiliser ActionScript pour rpondre ces vnements ou les grer. Par exemple, lorsquun utilisateur clique sur un bouton, il peut tre intressant denvoyer la tte de lecture vers une autre image du fichier SWF ou de charger une nouvelle page dans le navigateur. Dans un fichier SWF, les boutons, clips et champs de texte gnrent tous des vnements auxquels vous pouvez rpondre. ActionScript offre trois manires de grer les vnements : les mthodes des gestionnaires dvnement, les couteurs dvnements et les gestionnaires on() et onClipEvent(). Pour plus dinformations sur les vnements et les gestionnaires dvnement, consultez le Chapitre 4, Gestion dvnements, page 87.

Contrle de la lecture dun fichier SWF


Les fonctions ActionScript suivantes vous permettent de contrler la tte de lecture dans le scnario et de charger une nouvelle page web dans une fentre de navigateur :

95

Les fonctions gotoAndPlay() et gotoAndStop() envoient la tte de lecture vers une image ou
une scne. Ce sont des fonctions gnrales que vous pouvez appeler partir de tout script. Vous pouvez galement utiliser les mthodes MovieClip.gotoAndPlay() et MovieClip.gotoAndStop() pour naviguer dans le scnario dun objet clip spcifique. Les actions play() et stop() entranent la lecture et larrt des animations. Laction getURL() permet datteindre une URL diffrente.

Dplacement vers une image ou une scne Pour atteindre une image ou une scne spcifique du fichier SWF, vous pouvez utiliser les fonctions globales gotoAndPlay() ou gotoAndStop() ou les mthodes quivalentes gotoAndPlay() et gotoAndStop() de la classe MovieClip. Chaque fonction ou mthode vous permet de spcifier limage de la scne en cours atteindre. Si le document contient plusieurs scnes, vous pouvez en plus spcifier celle qui est concerne.
onRelease

Lexemple suivant utilise la fonction globale gotoAndPlay() dans le gestionnaire dvnement dun objet bouton pour envoyer la tte de lecture du scnario contenant le bouton vers limage 10.

jump_btn.onRelease = function () { gotoAndPlay(10); }

Dans lexemple suivant, la mthode MovieClip.gotoAndStop() envoie le scnario dun clip nomm categories_mc vers limage 10 puis sarrte. Lorsque vous utilisez les mthodes MovieClip gotoAndPlay() et gotoAndStop(), vous devez indiquer loccurrence laquelle elles sappliquent.
jump_btn.onPress = function () { categories_mc.gotoAndStop(10); }

Lecture et arrt de clips Sauf indication contraire, une fois dmarr, un fichier SWF excute toutes les images du scnario. Vous pouvez arrter ou dmarrer un fichier SWF laide des fonctions globales play() et stop() ou des mthodes MovieClip quivalentes. Ainsi, la fonction ou la mthode stop() vous permet darrter un fichier SWF la fin dune scne avant de passer la scne suivante. Une fois un fichier SWF arrt, il doit tre redmarr au moyen de play(). Vous pouvez utiliser les fonctions play() et stop() ou les mthodes MovieClip pour contrler le scnario principal ou le scnario de tout clip ou de tout fichier SWF charg. Le clip que vous souhaitez contrler doit possder un nom doccurrence et tre prsent dans le scnario. Le gestionnaire on(press) suivant associ un bouton lance la tte de lecture dans le fichier SWF ou le clip contenant lobjet bouton.
// Associ une occurrence de bouton on (press) { // Lit le scnario contenant le bouton play(); }

96

Chapitre 5 : Cration dinteractivit avec ActionScript

Ce mme code donnerait un rsultat diffrent sil tait associ un clip plutt qu un bouton. Lorsquelles sont associes un objet bouton, les instructions faites dans un gestionnaire on() sont par dfaut appliques au scnario contenant le bouton. En revanche, lorsquelles sont associes un clip, les instructions dfinies dans un gestionnaire on() sont appliques au clip contenant le gestionnaire. Le gestionnaire on() suivant, par exemple, arrte le scnario du clip auquel il est associ, et non le scnario contenant le clip.
on (press) { stop(); }

Il en va de mme pour les gestionnaires onClipEvent() associs des clips. Le code suivant, par exemple, arrte le scnario du clip contenant le gestionnaire onClipEvent() lors du premier chargement du clip ou de sa premire apparition sur la scne.
onClipEvent(load) { stop(); }

Dplacement vers une URL diffrente Pour ouvrir une page web dans une fentre de navigateur ou pour transmettre des donnes une autre application sur une URL dfinie, utilisez la fonction globale getURL() ou la mthode MovieClip.getURL(). Vous pouvez, par exemple, lier un bouton un nouveau site web ou envoyer des variables de scnario un script CGI pour traitement comme sil sagissait dun formulaire HTML. Vous pouvez galement spcifier une fentre cible, exactement comme pour le ciblage dune fentre laide dune balise dancrage HTML (<a></a>). Par exemple, le code suivant ouvre la page daccueil macromedia.com dans une fentre de navigateur vide lorsque lutilisateur clique sur loccurrence de bouton homepage_btn.
homepage_btn.onRelease = function () { getURL("http://www.macromedia.com", _blank); }

Vous pouvez galement envoyer des variables avec lURL, en utilisant GET ou POST. Cette opration est utile si la page que vous chargez provient dun serveur dapplications, telle une page ColdFusion Server (CFM), et attend la rception de variables. Supposons par exemple que vous souhaitiez charger une page CFM nomme addUser.cfm qui attend deux variables de formulaire, name et age. Pour ce faire, vous pouvez crer un clip nomm variables_mc qui dfinit ces deux variables de la faon suivante :
variables_mc.name = "Francois"; variables_mc.age = 32;

Le code suivant charge ensuite addUser.cfm dans une fentre de navigateur vide, puis transmet variables_mc.name et variables_mc.age la page CFM dans len-tte POST.
variables_mc.getURL("addUser.cfm", "_blank", "POST");

Pour plus dinformations, consultez getURL(), page 394.

Cration dinteractivit et deffets visuels


Pour crer de linteractivit et dautres effets visuels, vous devez comprendre les techniques suivantes :

Cration dinteractivit et deffets visuels

97

Cration dun pointeur de souris personnalis Obtention de la position de la souris Capture des pressions sur les touches Dfinition des valeurs des couleurs Cration de commandes audio Dtection des collisions Cration dun outil de dessin de ligne simple

Cration dun pointeur de souris personnalis Un pointeur de souris standard est la reprsentation visuelle par le systme dexploitation de la position de la souris de lutilisateur. Si vous remplacez le pointeur de souris standard par un pointeur ralis dans Flash, vous pouvez intgrer plus troitement les mouvements de la souris de lutilisateur dans le fichier SWF. Lexemple de cette section utilise un pointeur personnalis qui ressemble une grande flche. Cependant, la puissance de cette fonctionnalit rside dans la possibilit de donner au pointeur nimporte quelle apparence (par exemple, un ballon de football qui doit franchir la ligne de but ou un rouleau de tissu que lutilisateur tire au-dessus dun canap afin de modifier sa couleur). Pour crer un pointeur personnalis, vous devez crer son clip sur la scne. Ensuite, dans ActionScript, masquez le pointeur standard et associez le clip aux mouvements du curseur personnalis. Pour masquer le pointeur standard, utilisez la mthode Mouse.hide() de la classe Mouse intgre. Pour utiliser un clip comme pointeur personnalis, utilisez startDrag() laction.
Pour crer un pointeur personnalis :

1 Crez un clip utiliser comme pointeur et placez une occurrence du clip sur la scne. 2 Slectionnez loccurrence de clip sur la scne. 3 Slectionnez Fentre > Panneaux de dveloppement > Actions pour ouvrir le panneau Actions

si ce dernier nest pas dj visible. 4 Tapez ce qui suit dans le panneau Actions :
onClipEvent(load) { Mouse.hide(); startDrag(this, true); } onClipEvent(mouseMove) { updateAfterEvent(); }

Le premier gestionnaire onClipEvent() masque le pointeur de la souris lors de la premire apparition du clip sur la scne. Le second gestionnaire appelle updateAfterEvent() chaque fois que lutilisateur dplace la souris. La fonction updateAfterEvent() actualise lcran ds que lvnement spcifi sest produit, sans attendre le dessin de limage suivante, ce qui correspond au comportement par dfaut. Pour plus dinformations, consultez updateAfterEvent(), page 734. 5 Slectionnez Contrle > Tester lanimation pour tester votre pointeur personnalis.

98

Chapitre 5 : Cration dinteractivit avec ActionScript

Les boutons fonctionnent encore lorsque vous utilisez un pointeur personnalis. Il est conseill de placer le pointeur personnalis sur le calque suprieur du scnario, de sorte quil saffiche au premier plan, par-dessus les boutons et autres objets, lorsque vous le dplacez dans le fichier SWF. De plus, lextrmit dun pointeur personnalis est le point dalignement du clip que vous utilisez comme pointeur. Pour quelle corresponde une partie spcifique du clip, dfinissez donc les coordonnes du point dalignement de faon ce quils concident avec ce point. Pour plus dinformations sur les mthodes de la classe Mouse, consultez lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Obtention de la position de la souris Vous pouvez utiliser les proprits _xmouse et _ymouse pour dterminer la position du pointeur de la souris (curseur) dans un fichier SWF. Chaque scnario possde une proprit _xmouse et _ymouse qui renvoie lemplacement de la souris dans son systme de coordonnes. La position est toujours donne par rapport au point dalignement. Dans le scnario principal (_level0), le point dalignement se trouve dans le coin suprieur gauche.

Les proprits _xmouse et _ymouse dans le scnario principal et dans le scnario dun clip Les procdures suivantes reprsentent deux manires dobtenir la position de la souris.
Pour obtenir la position actuelle de la souris dans le scnario principal :

1 Crez deux champs de texte dynamiques et nommez-les x_pos et y_pos. 2 Slectionnez Fentre > Panneaux de dveloppement > Actions pour ouvrir le panneau Actions

si ce dernier nest pas dj visible.


3 Pour renvoyer la position de la souris dans le scnario principal, ajoutez le code suivant une

image du fichier SWF _level0 :


x_pos = _root._xmouse; y_pos = _root._ymouse;

Les variables x_pos et y_pos sont utilises en tant que conteneurs pour stocker les valeurs des positions de la souris. Vous pouvez utiliser ces variables dans nimporte quel script de votre document. Dans le gestionnaire onClipEvent() suivant, les valeurs de x_pos et y_pos sont mises jour chaque fois que lutilisateur dplace la souris.
onClipEvent(mouseMove) { x_pos = _root._xmouse;

Cration dinteractivit et deffets visuels

99

y_pos = _root._ymouse; } Pour obtenir la position actuelle de la souris dans un clip :

1 Crez un clip. 2 Slectionnez loccurrence de clip sur la scne. Utilisez linspecteur des proprits pour le

nommer monClip. 3 Slectionnez Fentre > Panneaux de dveloppement > Actions pour ouvrir le panneau Actions si ce dernier nest pas dj visible. 4 Utilisez le nom de loccurrence de clip pour renvoyer la position de la souris dans le scnario principal. Par exemple, vous pouvez placer linstruction suivante dans tout scnario du fichier SWF _level0 pour renvoyer la position _ymouse dans loccurrence monClip :
x_pos = _root.monClip._xmouse y_pos = _root.monClip._ymouse

Le code renvoie les positions _xpos et _ypos de la souris par rapport au point dalignement.
5 Slectionnez Contrle > Tester lanimation pour tester lanimation.
_xmouse

Vous pouvez galement dterminer la position de la souris dans un clip en utilisant les proprits et _ymouse dans un vnement de clip, comme illustr dans le code suivant :

onClipEvent(enterFrame){ xmousePosition = this._xmouse; ymousePosition = this._ymouse; }

Pour plus dinformations sur les proprits _xmouse et _ymouse, consultez MovieClip._xmouse, page 537 et MovieClip._ymouse, page 538. Capture des pressions sur les touches Vous pouvez utiliser les mthodes de la classe intgre Key pour dtecter la dernire touche sur laquelle lutilisateur a appuy. La classe Key ne requiert aucune fonction constructeur ; appelez simplement ses mthodes sur la classe mme, comme illustr dans lexemple suivant :
Key.getCode();

Vous pouvez obtenir des codes virtuels ou des valeurs ASCII (American Standard Code for Information Interchange) des pressions sur les touches :

Pour obtenir le code rel de la dernire touche enfonce par lutilisateur, utilisez la mthode
getCode().

Pour obtenir la valeur ASCII de la dernire touche enfonce par lutilisateur, utilisez la
mthode getAscii(). Un code est affect chaque touche physique du clavier. Ainsi, la touche Flche gauche est associe au code virtuel 37. Lutilisation dun code vous permet de vous assurer que les commandes de votre fichier SWF sont les mmes sur chaque clavier, quelle que soit la langue ou la plate-forme utilise. Des valeurs ASCII sont affectes aux 127 premiers caractres de chaque jeu de caractres. Les valeurs ASCII fournissent des informations sur un caractre affich lcran. Par exemple, la lettre A et la lettre a ont des valeurs ASCII diffrentes.

100

Chapitre 5 : Cration dinteractivit avec ActionScript

Pour dcider des touches que vous allez utiliser et dterminer leurs codes, utilisez lune des approches suivantes :

La liste des codes de touches est publie dans Annexe C, Touches du clavier et valeurs de code
correspondantes, page 781.

Utilisez une constante de classe Key. (Dans la bote outils Actions, cliquez sur la catgorie
Classes intgres, sur Animation, sur Touche et sur Constantes.)

Affectez le gestionnaire onClipEvent() suivant un clip, puis choisissez Contrle > Tester
lanimation et appuyez sur la touche souhaite.
onClipEvent(keyDown) { trace(Key.getCode()); }

Le code de la touche saffiche dans le panneau de sortie. Les mthodes de classe Key sont frquemment places dans un gestionnaire dvnement. Dans lexemple suivant, lutilisateur dplace la voiture laide des touches de direction. La mthode Key.isDown() indique si la touche enfonce est la flche oriente vers la droite, la gauche, le haut ou le bas. Le gestionnaire dvnement, onEnterFrame, dtermine la valeur de Key.isDown(codeDeTouche) partir des instructions if. En fonction de la valeur, il indique Flash Player de mettre jour la position de la voiture et dafficher la direction.

La saisie avec les touches du clavier entrane le dplacement de la voiture.

Cration dinteractivit et deffets visuels

101

La procdure suivante indique comment capturer les pressions sur les touches pour dplacer un clip vers le haut, le bas, gauche ou droite de la scne, en fonction de la touche flche utilise (haut, bas, gauche ou droite). Le clip est confin dans une zone arbitraire dune largeur de 400 pixels et dune hauteur de 300 pixels. Par ailleurs, un champ de texte indique le nom de la touche enfonce.
Pour crer un clip activ via le clavier :

1 Sur la scne, crez un clip qui se dplacera en rponse aux touches flches du clavier.

Dans cet exemple, le nom de loccurrence de clip est voiture.


2 Sur la scne, crez un champ de texte dynamique qui sera mis jour en fonction de la direction

de la voiture. Utilisez linspecteur des proprits pour lui donner le nom doccurrence
display_txt. Remarque : Ne confondez pas le nom des variables avec celui des occurrences. Pour plus dinformations, consultez A propos des noms doccurrence et de variable de champ de texte, page 140.

3 Slectionnez limage 1 dans le scnario et, le cas chant, choisissez Fentre > Panneaux de

dveloppement > Actions pour ouvrir le panneau Actions. 4 Pour dterminer la distance parcourue par la voiture lcran aprs chaque pression sur une touche, dfinissez une variable distance et fixez sa valeur initiale 10.
var distance = 10;

5 Pour crer le gestionnaire dvnement du clip voiture qui vrifie quelle touche de direction

(gauche, droite, bas ou haut) est enfonce, ajoutez le code suivant au panneau Actions :
voiture.onEnterFrame = function() { }

6 Ajoutez une instruction with au corps du gestionnaire onEnterFrame et spcifiez voiture

comme objet de linstruction with. Le code devrait avoir cette forme :


var distance = 10; voiture.onEnterFrame = function() { with (voiture) { } }

7 Pour vrifier si la touche de direction vers la droite est enfonce et dplacer le clip voiture en

consquence, ajoutez du code au corps de linstruction with. Le code devrait avoir cette forme :
distance = 10; voiture.onEnterFrame = function() { with (voiture) { if (Key.isDown(Key.RIGHT)) { _x += distance; if (_x >= 400) { _x = 400; } _root.display_txt.text = "Droite"; } } }

102

Chapitre 5 : Cration dinteractivit avec ActionScript

Si la touche flche vers la droite est enfonce, la proprit _x de la voiture est augmente de la valeur spcifie dans la variable distance. Linstruction if suivante teste si la valeur de la proprit _x du clip est suprieure ou gale 400 (if(_x >=400)) ; si tel est le cas, sa position est fixe 400. De plus, le mot Droite doit apparatre dans le fichier SWF. 8 Adaptez ce code pour vrifier si les autres touches de direction (gauche, haut ou bas) ont t enfonces. Le code devrait avoir cette forme :
var distance = 10; voiture.onEnterFrame = function() { with (voiture) { if (Key.isDown(Key.RIGHT)) { _x += distance; if (_x >= 400) { _x = 400; } _root.display_txt.text = "Droite"; } else if (Key.isDown(Key.LEFT)) { _x -= distance; if (_x < 0) { _x = 0; } _root.display_txt.text = "Gauche"; } else if (Key.isDown(Key.UP)) { _y -= distance; if (_y < 0) { _y = 0 ; } _root.display_txt.text = "Haut"; } else if (Key.isDown(Key.DOWN)) { _y += distance; if (_y > 300) { _y = 300; } _root.display_txt.text = "Bas"; } } }

9 Choisissez Contrle > Tester lanimation pour tester le fichier.

Pour plus dinformations sur les mthodes de la classe Key, consultez lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Cration dinteractivit et deffets visuels

103

Dfinition des valeurs des couleurs Vous pouvez utiliser les mthodes de la classe Color intgre pour dfinir la couleur dun clip. La mthode setRGB() affecte des valeurs RVB (rouge, vert, bleu) hexadcimales au clip. Lexemple suivant utilise setRGB() pour changer la couleur dun objet en rponse aux actions de lutilisateur.

Laction de bouton cre un objet Color et change la couleur de la voiture en rponse aux actions de lutilisateur.
Pour dfinir la valeur de couleur dun clip :

1 Slectionnez un clip sur la scne. 2 Dans linspecteur des proprits, entrez couleurDeVoiture comme nom doccurrence. 3 Crez un bouton nomm puce de couleur, placez quatre occurrences de ce bouton sur la scne

et nommez-les rouge, vert, bleu et noir.


4 Slectionnez limage 1 dans le scnario principal, puis choisissez Fentre > Panneaux de

dveloppement > Actions.


5 Pour crer un objet Color qui cible le clip couleurDeVoiture, ajoutez le code suivant au

panneau Actions :
maCouleur = new Color(_root.couleurDeVoiture);

6 Pour que le bouton bleu colore en bleu le clip couleurDeVoiture, ajoutez le code suivant au

panneau Actions :
_root.bleu.onRelease = function(){ maCouleur.setRGB(0x0000ff) }

La valeur hexadcimale 0x0000ff reprsente le bleu. Le tableau suivant prsente les autres couleurs que vous pouvez utiliser et leur valeur hexadcimale : 7 Rptez ltape 6 pour les autres boutons (rouge, vert et noir) pour changer la couleur du clip la couleur correspondante. Le code doit maintenant ressembler ce qui suit :
maCouleur = new Color(_root.couleurDeVoiture) _root.bleu.onRelease = function(){

104

Chapitre 5 : Cration dinteractivit avec ActionScript

maCouleur.setRGB(0x0000ff) } _root.rouge.onRelease = function(){ maCouleur.setRGB(0xff0000) } _root.vert.onRelease = function(){ maCouleur.setRGB(0x00ff00) } _root.noir.onRelease = function(){ maCouleur.setRGB(0x000000) }

8 Slectionnez Contrle > Tester lanimation pour changer la couleur du clip.

Pour plus dinformations sur les mthodes de la classe Color, consultez lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211 Cration de commandes audio La classe Sound intgre permet de contrler les sons dun fichier SWF. Pour utiliser les mthodes de la classe Sound, vous devez dabord crer un objet Sound. Faites ensuite appel la mthode attachSound() pour insrer un son de la bibliothque dans un fichier SWF pendant sa lecture.

Une chanson est lue lorsque lutilisateur relche le bouton de lecture.

Cration dinteractivit et deffets visuels

105

La mthode setVolume() de la classe Sound contrle le volume et la mthode setPan() rgle la balance gauche et droite dun son.

La mthode setVolume() est appele lorsque lutilisateur fait glisser le potentiomtre de volume. Les procdures suivantes expliquent comment crer des contrles audio semblables ceux qui sont prsents ci-dessus.
Pour associer un son un scnario :

1 Slectionnez Fichier > Importer pour importer un son. 2 Slectionnez le son dans la bibliothque, puis cliquez dessus avec le bouton droit de la souris

(Windows) ou en appuyant sur la touche Contrle (Macintosh), et choisissez Liaison.


3 Activez les options Exporter pour ActionScript et Exporter dans la premire image, puis affectez

au son lidentifiant au_clair_de_la_lune.


4 Ajoutez un bouton sur la scne et appelez-le boutonDeLecture. 5 Ajoutez un bouton sur la scne et appelez-le boutonDarrt. 6 Ajoutez un clip sur la scne et appelez-le hautParleur. 7 Slectionnez limage 1 dans le scnario principal, puis choisissez Fentre > Panneaux de

dveloppement > Actions. Ajoutez le code suivant au panneau Actions :


hautParleur.stop(); chanson = new Sound(); chanson.onSoundComplete = function() { hautParleur.stop(); }; chanson.attachSound("au_clair_de_la_lune"); boutonDeLecture.onRelease = function() { chanson.start(); hautParleur.play(); }; boutonDArrt.onRelease = function () { chanson.stop(); hautParleur.stop(); }

106

Chapitre 5 : Cration dinteractivit avec ActionScript

Ce code commence par arrter le clip du haut-parleur. Il cre ensuite un objet Sound (chanson) et lui associe le son dont lidentifiant de liaison correspond au_clair_de_la_lune. Il dfinit ensuite un gestionnaire onSoundComplete pour lobjet chanson, qui arrte le clip hautparleur une fois que le son est termin. Enfin, les gestionnaires onRelease associs aux objets playButton et stopButton dmarrent et arrtent le son laide des mthodes Sound.start() et Sound.stop(), et lisent et arrtent le clip haut-parleur. 8 Slectionnez Contrle > Tester lanimation pour entendre le son.
Pour crer une commande de volume rglable :

1 Faites glisser un bouton sur la scne. 2 Slectionnez le bouton et choisissez Modification > Convertir en symbole. Noubliez pas de

slectionner le comportement du clip. Cela cre un clip avec le bouton sur sa premire image. 3 Slectionnez le clip et choisissez Edition > Modifier la slection. 4 Slectionnez le bouton et choisissez Fentre > Panneaux de dveloppement > Actions. 5 Entrez les actions suivantes :
on (press) { startDrag(this, false, gauche, haut, droite, bas); } on (release) { stopDrag(); }

Les paramtres de startDrag(), gauche, haut, droite et bas, sont des variables dfinies dans une action de clip. 6 Choisissez Edition > Modifier le document pour revenir au scnario principal. 7 Slectionnez le clip sur la scne. 8 Entrez les actions suivantes :
onClipEvent(load) { top = _y; bottom = _y; left = _x; right = _x+100; _x += 100; } onClipEvent (enterFrame) { _parent.song.setVolume(_x-left); }

9 Slectionnez Contrle > Tester lanimation pour utiliser la commande de volume.


Pour crer une commande de balance rglable :

1 Faites glisser un bouton sur la scne. 2 Slectionnez le bouton et choisissez Insertion > Convertir en symbole. Slectionnez le clip adquat. 3 Slectionnez le clip et choisissez Edition > Modifier le symbole. 4 Slectionnez le bouton et choisissez Fentre > Panneaux de dveloppement > Actions. 5 Entrez les actions suivantes :
on (press) { startDrag ("", false, left, top, right, bottom); dragging = true; }

Cration dinteractivit et deffets visuels

107

on (release, releaseOutside) { stopDrag (); dragging = false; }

Les paramtres de startDrag(), gauche, haut, droite et bas, sont des variables dfinies dans une action de clip. 6 Choisissez Edition > Modifier le document pour revenir au scnario principal. 7 Slectionnez le clip sur la scne. 8 Entrez les actions suivantes :
onClipEvent(load) { top=_y; bottom=_y; left=_x-50; right=_x+50; center=_x; } onClipEvent(enterFrame){ if (dragging==true){ _parent.setPan((_x-center)*2); } }

9 Slectionnez Contrle > Tester lanimation pour utiliser le curseur de balance.

Pour plus dinformations sur les mthodes de la classe Sound, consultez lentre correspondante dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Dtection des collisions La mthode hitTest() de la classe MovieClip dtecte les collisions dans un fichier SWF. Elle vrifie si un objet est entr en collision avec un clip et renvoie une valeur boolenne (true ou false). Il existe deux situations o il peut tre utile de savoir si une collision sest produite : pour tester si lutilisateur a atteint une zone statique prcise de la scne, et pour dterminer si un clip en a atteint un autre. La mthode hitTest() permet de dterminer ces rsultats.

108

Chapitre 5 : Cration dinteractivit avec ActionScript

Vous pouvez utiliser les paramtres de hitTest() pour dfinir les coordonnes x et y dune zone ractive sur la scne ou utiliser le chemin cible dun autre clip comme zone ractive. Lorsque vous dfinissez x et y, hitTest() renvoie la valeur true si le point identifi par (x,y) nest pas transparent. Lorsquune cible est transmise hitTest(), les cadres de dlimitation des deux clips sont compars. Sils se chevauchent, hitTest() renvoie la valeur true. Sils ne se croisent pas, hitTest() renvoie la valeur false.

True apparat dans le champ de texte lorsque le pointeur de la souris se trouve au-dessus de la carrosserie de la voiture. Vous pouvez galement utiliser hitTest() pour tester une collision entre deux clips.

True apparat dans le champ de texte lorsquun clip en touche un autre. Les procdures suivantes indiquent comment dtecter les collisions, en utilisant une voiture comme exemple.

Cration dinteractivit et deffets visuels

109

Pour dtecter la collision entre un clip et un point de la scne :

1 Crez un clip sur la scne et entrez champ comme nom doccurrence dans linspecteur des

proprits.
2 Crez un champ de texte dynamique sur la scne et entrez tat comme nom doccurrence dans

linspecteur des proprits.


3 Slectionnez, dans le scnario, la premire image du calque 1. 4 Slectionnez Fentre > Panneaux de dveloppement > Actions pour ouvrir le panneau Actions

si ce dernier nest pas dj visible. 5 Entrez le code suivant dans le panneau Actions :
box.onEnterFrame = function () { tat.text = this.hitTest(_xmouse, _ymouse, true); }

6 Choisissez Contrle > Tester lanimation et passez la souris sur le clip pour tester la collision.

La valeur true est affiche lorsque la souris se trouve au-dessus dun pixel non transparent.
Pour dtecter la collision entre deux clips :

1 Faites glisser deux clips jusqu la scne et affectez-leur les noms doccurrence voiture et zone. 2 Crez un champ de texte dynamique sur la scne et entrez tat comme nom doccurrence dans

linspecteur des proprits. 3 Slectionnez, dans le scnario, la premire image du calque 1. 4 Slectionnez Fentre > Panneaux de dveloppement > Actions pour ouvrir le panneau Actions si ce dernier nest pas dj visible. 5 Entrez le code suivant dans le panneau Actions :
zone.onEnterFrame = function () { tat.text=this.hitTest(voiture); } voiture.onPress = function (){ this.startDrag(false); updateAfterEvent(); } voiture.onRelease = function () { this.stopDrag(); }

6 Choisissez Contrle > Tester lanimation et faites glisser le clip pour tester la collision.

Lorsque le cadre de dlimitation de la voiture touche celui de la zone, ltat devient true. Pour plus dinformations, consultez MovieClip.hitTest() dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Cration dun outil de dessin de ligne simple Vous pouvez utiliser les mthodes de la classe MovieClip pour dessiner des formes et des remplissages sur la scne en cours de lecture. Vous pouvez ainsi crer des outils de dessin pour les utilisateurs et tracer des formes dans le fichier SWF en rponse des vnements. Les mthodes de dessin sont beginFill(), beginGradientFill(), clear(), curveTo(), endFill(), lineTo(), lineStyle() et moveTo(). Vous pouvez appliquer ces mthodes toute occurrence de clip (par exemple, monClip.lineTo()) ou un niveau (_root.curveTo()).

110

Chapitre 5 : Cration dinteractivit avec ActionScript

Les mthodes lineTo() et curveTo() vous permettent respectivement de dessiner des lignes et des courbes. La mthode lineStyle() permet de spcifier une couleur et une paisseur de ligne et un paramtre alpha pour une ligne ou une courbe. La mthode de dessin moveTo() place la position de dessin actuelle aux coordonnes x et y de scne spcifies. Les mthodes beginFill() et beginGradientFill() remplissent respectivement un chemin ferm avec une couleur de remplissage unie ou dgrade, tandis que endFill() applique le remplissage spcifi dans le dernier appel beginFill() ou beginGradientFill(). La mthode clear() efface ce qui a t dessin dans lobjet clip spcifi. Pour plus dinformations, consultez MovieClip.beginFill(), page 487, MovieClip.beginGradientFill(), page 488, MovieClip.clear(), page 491, MovieClip.curveTo(), page 494, MovieClip.endFill(), page 497, MovieClip.lineTo(), page 509, MovieClip.lineStyle(), page 508 et MovieClip.moveTo(), page 513.
Pour crer un outil de dessin de ligne simple :

1 Dans un nouveau document, crez un bouton sur la scne et entrez clear_btn comme nom

doccurrence dans linspecteur des proprits.


2 Slectionnez limage 1 dans le scnario et, le cas chant, choisissez Fentre > Panneaux de

dveloppement > Actions pour ouvrir le panneau Actions.


3 Dans le panneau Actions, entrez le code suivant :
_root.onMouseDown = function() { _root.lineStyle(5, 0xFF0000, 100); _root.moveTo(_root._xmouse, _root._ymouse); isDrawing = true; }; _root.onMouseMove = function() { if (isDrawing == true) { _root.lineTo(_root._xmouse, _root._ymouse); updateAfterEvent(); } }; _root.onMouseUp = function() { isDrawing = false; }; clear_btn.onRelease = function() { _root.clear(); };

4 Slectionnez Contrle > Tester lanimation pour tester lanimation. Cliquez et faites glisser la

souris pour dessiner une ligne sur la scne. Cliquez sur le bouton pour effacer ce que vous avez dessin.

Cration dinteractivit et deffets visuels

111

Structure dun exemple de script


Lorsquun utilisateur fait glisser la coccinelle vers la prise lectrique dans le fichier dexemple zapper.swf (disponible dans le guide Utilisation de Flash de laide), la coccinelle tombe et la prise tremble. Le scnario principal ne comprend quune image et contient trois objets : la coccinelle , la prise et un bouton de rinitialisation. Chacun de ces objets est une occurrence de clip.

Le fichier SWF contient un script associ loccurrence bug, comme illustr dans le panneau Actions suivant :

Action

Gestionnaire dvnement Evnement

Variable

Instruction conditionnelle if

Panneau Actions et script associ loccurrence bug Le nom de loccurrence de coccinelle est bug et le nom de loccurrence de prise est zapper. Dans le script, la rfrence la coccinelle est this, car le script est associ la coccinelle et le mot rserv this dsigne lobjet qui le contient.

112

Chapitre 5 : Cration dinteractivit avec ActionScript

Il existe deux gestionnaires onClipEvent() avec deux vnements diffrents : load et enterFrame. Les actions contenues dans linstruction onClipEvent(load) sont excutes une seule fois, au chargement du fichier SWF. Les actions contenues dans linstruction onClipEvent(enterFrame) sont excutes chaque fois que la tte de lecture entre dans une image. Mme dans un fichier SWF compos dune image unique, la tte de lecture entre plusieurs fois dans cette image et le script est excut plusieurs reprises. Les actions suivantes ont lieu dans chaque gestionnaire onClipEvent() :
onClipEvent(load) Deux variables, initx et inity, sont dfinies de manire stocker les positions x et y initiales de loccurrence de clip bug. Une fonction est dfinie et affecte lvnement onRelease de loccurrence Reset. Cette fonction est appele chaque clic de la souris sur le bouton de rinitialisation. La fonction replace la coccinelle en position de dpart sur la scne, rinitialise ses valeurs alpha et de rotation et redfinit la variable zapped sur la valeur false.

Une instruction conditionnelle if utilise la mthode hitTest pour vrifier si loccurrence de la coccinelle touche loccurrence de la prise (_root.zapper). Cette valuation peut avoir deux types de rsultats, true ou false :
onClipEvent(enterFrame) onClipEvent(load) { initx = _x; inity = _y; _root.Reset.onRelease = function() { zapped = false; _x = initx; _y = inity; _alpha = 100 _rotation = 0; }; }

Si la mthode hitTest() renvoie la valeur true, la mthode stopDrag() est appele, la variable zapper est dfinie sur la valeur true, les proprits alpha et rotation sont modifies et lexcution de loccurrence zapped est lance. Si la mthode hitTest() renvoie la valeur false, le code entre {} qui suit immdiatement linstruction if nest pas excut. Deux gestionnaires on() sont associs loccurrence bug avec deux vnements diffrents : press et release. Les actions de linstruction on(press) sont excutes une fois le bouton de la souris appuy au-dessus de loccurrence bug. Les actions de linstruction on(release) sont excutes aprs le relchement du bouton de la souris au-dessus de loccurrence bug. Les actions suivantes se droulent lintrieur de chaque gestionnaire onClipEvent() :
on(press) Une action startDrag() rend la coccinelle dplaable. Le script tant associ loccurrence bug, le mot-cl this indique que cest loccurrence bug qui peut tre dplace : on (press) { this.startDrag(); } on(release)

Une action stopDrag() arrte laction de dplacement :

on (release) { stopDrag(); }

Pour lire le fichier SWF, consultez le Guide de rfrence ActionScript, dans laide.

Structure dun exemple de script

113

114

Chapitre 5 : Cration dinteractivit avec ActionScript

PARTIE III Utilisation des objets et des classes

PARTIEIII

Cette section prsente le modle dobjet dexcution Macromedia Flash ainsi que ses fonctionnalits, puis met laccent sur lutilisation des clips et du texte. Elle dcrit galement la manire de crer vos propres classes et interfaces laide dActionScript 2.0. Chapitre 6: Utilisation des classes intgres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapitre 7: Utilisation des clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Chapitre 8: Utilisation du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Chapitre 9: Cration de classes avec ActionScript 2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

CHAPITRE 6 Utilisation des classes intgres

En plus des principaux lments de langage, constructions (boucles for et while, par exemple) et types de donnes (nombres, chanes et tableaux) ActionScript dcrits prcdemment (consultez Notions de base du langage ActionScript, page 27), ActionScript fournit galement plusieurs classes intgres ou types de donnes complexes. Ces classes vous offrent de nombreuses options et fonctionnalits de scripts. Certaines de ces classes reposent sur la spcification ECMAScript et sont appeles classes ActionScript de base. Elles comprennent les classes Array, Boolean, Date et Math. Pour plus dinformations, consultez Classes de base, page 119. Les autres classes intgres ActionScript sont spcifiques Macromedia Flash et au modle dobjet Flash Player. La distinction entre les classes ActionScript de base et les classes spcifiques Flash est similaire celle qui existe entre les classes JavaScript de base et ct client. Tout comme les classes JavaScript ct client permettent de contrler lenvironnement du client (le navigateur web et le contenu des pages web), les classes spcifiques Flash permettent de contrler lapparence et le comportement dune application Flash lexcution. Ce chapitre prsente les classes intgres ActionScript, passe en revue les tches quelles permettent deffectuer et propose des exemples de code. Pour un aperu de ces classes, consultez Aperu des classes intgres, page 118. Pour un aperu de lutilisation des classes et objets en programmation oriente objet, consultez A propos des classes et des occurrences, page 117.

A propos des classes et des occurrences


En programmation oriente objet, une classe dfinit une catgorie dobjet. Une classe dcrit les proprits (donnes) et le comportement (mthodes) dun objet, comme un calque darchitecte dcrit les proprits dun immeuble. Pour utiliser les proprits et mthodes dfinies par une classe, vous devez tout dabord crer une occurrence de cette classe. La relation entre une occurrence et sa classe est similaire la relation entre une maison et le calque darchitecte correspondant. Cration dun nouvel objet Pour crer une occurrence de classe ActionScript, utilisez loprateur new pour appeler la fonction constructeur de la classe. La fonction constructeur porte toujours le mme nom que la classe dont elle renvoie une occurrence, que vous attribuez gnralement une variable.

117

Le code suivant cre par exemple un nouvel objet Sound :


var chanson:Sound= new Sound();

Dans certains cas, il nest pas ncessaire de crer une occurrence de classe pour lutiliser. Pour plus dinformations, consultez A propos des membres de classe (membres statiques), page 118. Accs aux proprits des objets Utilisez loprateur point (.) pour accder la valeur dune proprit dobjet. Entrez le nom de lobjet gauche du point et le nom de la proprit droite. Par exemple, dans linstruction suivante, monObjet reprsente lobjet et nom la proprit :
monObjet.nom

Le code suivant cre un objet TextField, puis dfinit sa proprit autoSize sur true.
var mon_txt = new TextField(); mon_txt.autoSize = true;

Vous pouvez galement utiliser loprateur daccs tableau ([]) pour accder aux proprits dun objet. Pour plus dinformations, consultez Oprateurs point et accs tableau, page 51. Appel des mthodes dun objet Vous pouvez appeler une mthode dobjet en utilisant loprateur point (.) suivi de la mthode. Par exemple, le code suivant cre un objet Sound et appelle sa mthode setVolume() :
monSon = new Sound(this); monSon.setVolume(50);

A propos des membres de classe (membres statiques) Certaines classes intgres ActionScript possdent des membres de classe (ou membres statiques). Pour invoquer les membres de classe (proprits et mthodes) ou y accder, vous utilisez le nom de la classe, et non loccurrence de celle-ci. Il ne faut donc pas crer une occurrence de la classe pour utiliser ces proprits et mthodes. Par exemple, toutes les proprits de la classe Math sont statiques. Le code suivant appelle la mthode max() de la classe Math pour dterminer lequel de deux nombres est le plus grand.
var plusGrandNombre = Math.max(10, 20);

Aperu des classes intgres


Cette section rpertorie toutes les classes ActionScript et contient une brve description de chaque classe et des rfrences croises menant aux autres sections pertinentes de la documentation.

118

Chapitre 6 : Utilisation des classes intgres

Classes de base Les classes ActionScript de base sont celles qui sont directement empruntes ECMAScript. Ces classes rsident dans le sous-dossier Classes intgres de base de la bote outils Actions.
Classe Arguments Description Tableau contenant les valeurs transmises comme paramtres pour toute fonction. Consultez lentre Classe Arguments dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Array contient les mthodes et proprits rserves aux objets Array. Consultez lentre Classe Array dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Boolean est une enveloppe pour les valeurs boolennes (true ou false). Consultez lentre Classe Boolean dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Button fournit des mthodes et des proprits permettant dutiliser les objets Button. Consultez lentre Classe Button dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Date donne accs des valeurs de date et dheure relatives lheure universelle (GMT) ou au systme dexploitation sur lequel Flash Player sexcute. Consultez lentre Classe Date dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Error contient des informations sur les erreurs survenant dans vos scripts. En rgle gnrale, vous utilisez linstruction throw pour gnrer une condition derreur, que vous pouvez ensuite grer laide dune instruction try..catch..finally. Consultez try..catch..finally et les entres Classe Error du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Function est la reprsentation sous forme de classe de toutes les fonctions ActionScript, y compris les fonctions Action Script natives et celles que vous dfinissez. Consultez lentre Classe Function dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Math vous permet daccder des constantes et fonctions mathmatiques et de les manipuler. Toutes les proprits et mthodes de la classe Math sont statiques et doivent tre appeles laide de la syntaxe Math.mthode(paramtre) ou Math.constante. Consultez lentre Classe Math dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Number est une enveloppe pour le type de donnes primitif de nombre. Consultez lentre Classe Number dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Object est la racine de la hirarchie de classes ActionScript. Toutes les autres classes hritent de ses mthodes et proprits. Consultez lentre Classe Object dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe String est une enveloppe pour le type de donnes primitif de chane, ce qui vous permet dutiliser les mthodes et les proprits de lobjet String pour manipuler les types primitifs de valeurs de chane. Consultez lentre Classe String dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Array

Boolean

Button

Date

Error

Function

Math

Number

Object

String

Aperu des classes intgres

119

Classes spcifiques Flash Player Les tableaux suivants rpertorient les classes spcifiques Flash Player et au modle dexcution Flash. Ces classes sont gnralement divises en quatre catgories : les classes Movie (qui autorisent un contrle gnral des fichiers SWF et de Flash Player), les classes Media (pour lutilisation de son et de vido), les classes Client-server (pour lutilisation de XML et dautres sources de donnes externes) et les classes Authoring (qui permettent de contrler lenvironnement de programmation Flash).
Remarque : Cette catgorisation dtermine lemplacement des classes dans la bote outils Actions ; elle na aucune incidence sur leur utilisation.

Classes Movie Les classes Movie permettent de contrler la plupart des lments visuels dans un fichier SWF, y compris les clips, les champs de texte et les boutons. Elles rsident dans le sous-dossier Classes intgres > Animation de la bote outils Actions.
Classe Accessibility Description La classe Accessibility gre la communication entre les fichiers SWF et les applications de lecture dcran. Conjointement avec la proprit globale _accProps, les mthodes de cette classe permettent de contrler les proprits accessibles des clips, des boutons et des champs de texte lors de lexcution. Consultez _accProps et les entres Classe Accessibility dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Tout bouton dun fichier SWF est une occurrence de la classe Button. La classe Button fournit des mthodes, proprits et gestionnaires dvnements pour lutilisation des boutons. Consultez lentre Classe Button dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Color vous permet dextraire et de dfinir les valeurs des couleurs RVB des objets dun clip. Pour plus dinformations, consultez lentre Classe Color du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Vous trouverez un exemple dutilisation de la classe Color pour modifier les couleurs dun clip la section Dfinition des valeurs des couleurs, page 104. La classe ContextMenu vous permet dagir sur le contenu du menu contextuel de Flash Player. Vous pouvez associer des objets ContextMenu spars des objets MovieClip, Button ou TextField laide de la proprit menu de ces classes. Vous avez aussi tout loisir dutiliser la classe ContextMenuItem pour ajouter des lments de menu personnaliss un objet ContextMenu. Consultez la Classe ContextMenu et Classe ContextMenuItem les entres dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe ContextMenuItem vous permet de crer des lments de menu dans le menu contextuel de Flash Player. Pour ajouter les lments de menu que vous crez laide de cette classe au menu contextuel de Flash Player, vous utilisez la classe ContextMenu. Consultez les entres Classe ContextMenu et Classe ContextMenuItem dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Button

Color

ContextMenu

ContextMenuItem

120

Chapitre 6 : Utilisation des classes intgres

Classe Key

Description La classe Key propose des mthodes et proprits permettant dobtenir des informations sur le clavier et les touches qui sont enfonces. Pour plus dinformations, consultez lentre Classe Key dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Vous trouverez un exemple de capture des pressions sur les touches en vue de crer un fichier SWF interactif la section Capture des pressions sur les touches, page 100. La classe LocalConnection permet deux fichiers SWF qui sexcutent sur un mme ordinateur de communiquer. Consultez lentre Classe LocalConnection dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Mouse vous permet de contrler la souris dans un fichier SWF. Vous pouvez lutiliser pour masquer ou afficher le pointeur de la souris, par exemple. Pour plus dinformations, consultez lentre Classe Mouse dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Vous trouverez un exemple dutilisation de la classe Mouse la section Cration dun pointeur de souris personnalis, page 98. Chaque clip dune animation Flash est une occurrence de la classe MovieClip. Utilisez les mthodes et proprits de cette classe pour contrler les objets de clip. Consultez le Chapitre 7, Utilisation des clips, page 125 et lentre Classe MovieClip dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe MovieClipLoader vous permet de suivre la progression du tlchargement des fichiers SWF et JPEG laide dun mcanisme dcouteur dvnement. Consultez Prchargement des fichiers SWF et JPEG, page 206 et lentre Classe MovieClipLoader dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe PrintJob vous permet dimprimer du contenu rendu dynamiquement, ainsi que des documents de plusieurs pages. Consultez lentre Classe PrintJob dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211 et Utilisation de la classe PrintJob dActionScript, dans le guide Utilisation de Flash de laide. La classe Selection vous permet dextraire et de dfinir le focus, les tendues de slection et les points dinsertion de champs de texte. Consultez lentre Classe Selection dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe SharedObject vous permet de stocker des donnes localement sur lordinateur client. Consultez lentre Classe SharedObject dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Stage fournit des informations sur les dimensions, lalignement et le mode dchelle dun fichier SWF, et signale les vnements de redimensionnement Stage. Consultez lentre Classe Stage dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

LocalConnection

Mouse

MovieClip

MovieClipLoader

PrintJob

Selection

SharedObject

Stage

Aperu des classes intgres

121

Classe System

Description La classe System fournit des informations sur Flash Player et sur le systme sur lequel il sexcute (la rsolution daffichage et la langue systme en cours, par exemple). Elle vous permet aussi dafficher ou de masquer le panneau Paramtres Flash Player et de modifier les paramtres de scurit du fichier SWF. Consultez lentre Classe System dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe TextField vous permet de contrler les champs dynamiques et de saisie de texte. Consultez le Chapitre 8, Utilisation du texte, page 139 et lentre Classe TextField dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

TextField

TextField.StyleSheet La classe TextField.StyleSheet (qui fait partie de la classe TextField) vous permet de crer et dappliquer des styles de texte CSS des textes au format HTML ou XML. Consultez Formatage de texte avec les feuilles de style en cascade, page 143 et lentre Classe TextField.StyleSheet dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. TextFormat La classe TextFormat vous permet de dfinir le formatage des caractres et des paragraphes dans les objets TextField. Consultez Utilisation de la classe TextFormat, page 141 et lentre Classe TextFormat dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Media classes Les classes Media permettent de contrler le son et la vido lors de la lecture dun fichier SWF, ainsi que daccder au microphone et la camra de lutilisateur, le cas chant. Ces classes rsident dans le sous-dossier Classes intgres > Support de la bote outils Actions.
Classe Camera Description La classe Camera vous permet daccder la camra de lutilisateur, sil en a install une. Utilis de concert avec Flash Communication Server MX, votre fichier SWF peut capturer, diffuser et enregistrer les images et les donnes vido de la camra dun utilisateur. Consultez lentre Classe Camera dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe Microphone vous permet daccder au microphone de lutilisateur, sil en a install un. Utilis de concert avec Flash Communication Server MX, votre fichier SWF peut diffuser et enregistrer les sons du microphone dun utilisateur. Consultez lentre Classe Microphone dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe NetConnection vous permet dtablir une connexion locale en flux continu pour la lecture de fichiers Flash Video (FLV) partir dune adresse HTTP ou du systme de fichiers local. Pour plus dinformations, consultez lentre Classe NetConnection dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Pour plus dinformations sur la lecture de fichiers FLV sur Internet, consultez Lecture dynamique des fichiers FLV externes, page 205.

Microphone

NetConnection

122

Chapitre 6 : Utilisation des classes intgres

Classe NetStream

Description La classe NetStream vous permet de contrler la lecture des fichiers FLV. Pour plus dinformations, consultez lentre Classe NetStream dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Pour plus dinformations sur la lecture de fichiers FLV sur Internet, consultez Lecture dynamique des fichiers FLV externes, page 205. La classe Sound vous permet de contrler les sons dans un fichier SWF. Pour plus dinformations, consultez lentre Classe Sound dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Vous trouverez un exemple dutilisation de la classe Sound pour crer des commandes de balance et de rglage du volume la section Cration de commandes audio, page 105. La classe Video vous permet dafficher les objets vido dun fichier SWF. Consultez lentre Classe Video dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Sound

Video

Classes Client-server Le tableau suivant rpertorie les classes vous permettant denvoyer et de recevoir des donnes provenant de sources externes, ou de communiquer avec des serveurs dapplications via FTP, HTTP ou HTTPS.
Remarque : Dans Flash Player 7, un fichier SWF ne peut charger des donnes qu partir du domaine qui la servi. Pour plus dinformations, consultez Fonctions de scurit de Flash Player, page 196, et A propos de lautorisation de chargement de donnes inter-domaines, page 198.

Ces classes rsident dans le sous-dossier Classes intgres > Client/Serveur de la bote outils Actions.
Classe LoadVars Description La classe LoadVars peut se substituer laction loadVariables() pour le transfert de variables entre un fichier SWF et un serveur en paires nomvaleur. Consultez Utilisation de la classe LoadVars, page 188 et lentre Classe LoadVars dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe XML tend la classe XMLNode et fournit des mthodes, des proprits et des gestionnaires dvnement pour lutilisation de donnes au format XML, y compris pour le chargement et lanalyse de code XML externe, la cration de documents XML et la navigation dans les arborescences de documents XML. Consultez Utilisation de la classe XML, page 189 et lentre Classe XML dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

XML

Aperu des classes intgres

123

Classe XMLNode

Description La classe XMLNode reprsente un nud unique dans une arborescence de documents XML. Elle constitue la superclasse de la classe XML. Consultez lentre Classe XMLNode dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La classe XMLSocket vous permet de crer une connexion socket durable avec un autre ordinateur pour des transferts de donnes faible temps dattente, comme ceux que requirent les applications de dialogue en ligne en temps rel. Consultez Utilisation de la classe XMLSocket, page 192 et lentre Classe XMLSocket dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

XMLSocket

Classes Authoring Les classes Authoring sont uniquement disponibles dans lenvironnement de programmation Flash. Ces classes rsident dans le sous-dossier Classes intgres > Programmation de la bote outils Actions.
Classe CustomActionsg Description La classe CustomActions vous permet de grer toute action personnalise enregistre dans loutil de programmation. Consultez lentre Classe CustomActions dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La fonction Aperu en direct (qui, bien quelle ne soit pas une classe, est rpertorie dans la catgorie Classes intgres de la bote doutils Actions) propose une fonction unique, onUpdate, rserve aux dveloppeurs de composants. Consultez onUpdate dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Aperu en direct

124

Chapitre 6 : Utilisation des classes intgres

CHAPITRE 7 Utilisation des clips

Les clips sont des fichiers SWF miniatures autonomes excutes indpendamment les uns des autres et du scnario les contenant. Par exemple, si le scnario principal contient une seule image et quun clip contenu dans cette image comporte 10 images, chaque image du clip est lue lorsque vous lisez le fichier SWF principal. Un clip peut lui-mme contenir dautres clips, ou clips imbriqus. Les clips imbriqus de cette manire sont organiss hirarchiquement : le clip parent contient un ou plusieurs clips enfants. Chaque occurrence de clip a un nom, appel nom doccurrence, qui lidentifie de faon unique en tant quobjet pouvant tre contrl laide dActionScript. De faon plus spcifique, le nom doccurrence identifie loccurrence comme un objet du type de classe MovieClip. Utilisez les proprits et mthodes de la classe MovieClip pour contrler lapparence et le comportement des clips lexcution. Vous pouvez considrer les clips comme des objets autonomes qui rpondent des vnements, envoient des messages dautres objets de clip, conservent leur tat et grent leurs clips enfants. Les clips constituent ainsi la base de larchitecture base sur les composants de Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004. Les composants disponibles dans le panneau Composants (Fentre > Panneaux de dveloppement > Composants) sont en fait des clips sophistiqus qui ont t conus et programms pour apparatre et se comporter dune certaine manire. Pour plus dinformations sur la cration de composants, consultez Utilisation des composants.

A propos du contrle des clips laide dActionScript


Vous pouvez utiliser les fonctions ActionScript globales ou les mthodes de la classe MovieClip pour accomplir des tches sur les clips. Certaines mthodes de MovieClip accomplissent les mmes tches que les fonctions du mme nom, alors que dautres mthodes MovieClip, comme hitTest() et swapDepths(), ne possdent pas de noms de fonction correspondants. Lexemple suivant illustre la diffrence entre lemploi dune mthode et dune fonction. Les deux instructions dupliquent loccurrence mon_mc, nomment le nouveau clip nouveauClip et le placent une profondeur de 5.
mon_mc.duplicateMovieClip("nouveauClip", 5); duplicateMovieClip("mon_mc", "nouveauClip", 5);

125

Lorsquune fonction et une mthode prsentent des comportements similaires, vous pouvez choisir lune ou lautre pour contrler des clips. Le choix dpend de vos prfrences et de votre familiarit avec la rdaction de scripts dans ActionScript. Que vous utilisiez une fonction ou une mthode, le scnario cible doit tre charg dans Flash Player lorsque la fonction ou la mthode est appele. Pour utiliser une mthode, vous linvoquez en utilisant le chemin cible du nom doccurrence, suivi dun point, puis du nom et des paramtres de la mthode, comme dans lexemple suivant :
monClip.play(); clipParent.clipEnfant.gotoAndPlay(3);

Dans la premire instruction, la mthode play() place la tte de lecture dans loccurrence monClip. Dans la deuxime instruction, la mthode gotoAndPlay() envoie la tte de lecture dans clipEnfant (qui est un enfant de loccurrence clipParent) limage 3 et continue dplacer la tte de lecture. Les fonctions globales qui contrlent un scnario possdent un paramtre cible qui permet de dfinir le chemin cible de loccurrence que vous voulez contrler. Par exemple, dans le script suivant, startDrag() cible loccurrence curseurPerso et la rend dplaable :
on (press) { startDrag("curseurPerso"); }

Les fonctions suivantes ciblent des clips : loadMovie(), unloadMovie(), loadVariables(), setProperty(), startDrag(), duplicateMovieClip() et removeMovieClip(). Pour utiliser ces fonctions, vous devez entrer un chemin cible dans le paramtre cible de la fonction pour indiquer la cible de la fonction. Les mthodes MovieClip suivantes peuvent contrler des clips ou des niveaux chargs et nont pas de fonctions quivalentes : MovieClip.attachMovie(), MovieClip.createEmptyMovieClip(), MovieClip.createTextField(), MovieClip.getBounds, MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.globalToLocal(), MovieClip.localToGlobal(), MovieClip.hitTest(), MovieClip.setMask(), MovieClip.swapDepths(). Pour plus dinformations sur ces fonctions et mthodes, consultez le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Appel de plusieurs mthodes sur un seul clip


Vous pouvez utiliser linstruction with pour appeler un clip une seule fois, puis excuter une srie de mthodes sur ce clip. Linstruction with fonctionne sur tous les objets ActionScript (tels que Array, Color et Sound), et non seulement sur les clips. Linstruction with prend un objet comme paramtre. Lobjet que vous spcifiez est ajout la fin du chemin cible courant. Toutes les actions imbriques dans une instruction with sont excutes lintrieur du nouveau chemin cible. Par exemple, dans le script suivant, linstruction with est transmise lobjet beignet.confiture pour changer les proprits de confiture :
with (beignet.confiture){ _alpha = 20; _xscale = 150;

126

Chapitre 7 : Utilisation des clips

_yscale = 150; }

Le script se comporte comme si les instructions dans linstruction with taient appeles depuis le scnario de loccurrence confiture. Le code ci-dessus est quivalent au code suivant :
beignet.confiture._alpha = 20; beignet.confiture._xscale = 150; beignet.confiture._yscale = 150;

Le code ci-dessus est galement quivalent au code suivant :


with (beignet){ confiture._alpha = 20; confiture._xscale = 150; confiture._yscale = 150; }

Chargement et dchargement de fichiers SWF supplmentaires


Pour lire dautres fichiers SWF sans fermer Flash Player, ou pour passer dun fichier SWF lautre sans charger une autre page HTML, vous pouvez utiliser la fonction globale loadMovie() ou la mthode loadMovie() de la classe MovieClip. Vous pouvez galement utiliser loadMovie() pour envoyer des variables un script CGI, qui gnre un fichier SWF en tant que fichier CGI. Lorsque vous chargez un fichier SWF, vous pouvez spcifier comme cible un niveau ou un clip, dans lequel sera charg le fichier SWF. Si vous chargez un fichier SWF dans une cible, le fichier SWF charg hrite des proprits du clip cibl. Une fois lanimation charge, vous pouvez modifier les proprits. La mthode unloadMovie() supprime un fichier SWF prcdemment charg par loadMovie(). En purgeant explicitement les fichiers SWF avec unloadMovie(), vous assurez une transition fluide entre les fichiers SWF et vous pouvez allger la quantit de mmoire requise par Flash Player. Utilisez loadMovie() pour effectuer les oprations suivantes :

Lire une squence de bandeaux publicitaires sous forme de fichiers SWF, en plaant une
fonction loadMovie() la fin de chaque fichier SWF pour charger le fichier SWF suivant.

Dvelopper une interface arborescente permettant lutilisateur de choisir parmi diffrents


fichiers SWF. Construire une interface de navigation avec des contrles de navigation dans le niveau 0 chargeant dautres niveaux. Le chargement de niveaux produit une transition plus douce que le chargement de nouvelles pages HTML dans un navigateur.

Pour plus dinformations sur le chargement danimations, consultez Chargement de fichiers SWF et JPEG externes, page 202.

Spcification dun scnario racine pour les fichiers SWF chargs


La proprit ActionScript _root spcifie ou renvoie une rfrence au scnario racine dun fichier SWF. Si un fichier SWF possde plusieurs niveaux, le scnario racine se situe dans le niveau contenant le script en cours dexcution. Par exemple, si un script de niveau 1 est valu comme _root, _level1 est renvoy. Cependant, le scnario spcifi par _root peut changer si le fichier SWF est excut de faon indpendante ( son propre niveau) ou sil a t charg dans une occurrence de clip par un appel loadMovie().

Spcification dun scnario racine pour les fichiers SWF chargs

127

Prenez par exemple un fichier nomm conteneur.swf qui possde une occurrence de clip nomme cible_mc dans son scnario principal. Le fichier conteneur.swf dclare une variable nomme nomDutilisateur dans son scnario principal. Le mme script charge ensuite un autre fichier nomm contenu.swf dans loccurrence de clip cible_mc.
// Dans conteneur.swf: _root.nomDutilisateur = "Tom"; cible_mc.loadMovie("contenu.swf");

Le fichier SWF charg, contenu.swf, dclare galement une variable nomme nomDutilisateur dans son scnario racine.
// Dans contenu.swf: _root.nomDutilisateur = "Marie";

Lorsque contenu.swf est charg dans le clip dans conteneur.swf, la valeur de nomDutilisateur associe au scnario racine du fichier SWF hte (conteneur.swf ) prend la valeur Marie . Ceci peut entraner le mauvais fonctionnement du code dans conteneur.swf (ainsi que dans contenu.swf ). Pour obliger _root valuer systmatiquement le scnario du fichier SWF charg, et non le scnario racine rel, utilisez la proprit _lockroot. Cette proprit peut tre dfinie par le fichier SWF en cours de chargement ou par le fichier SWF charg. Lorsque _lockroot est dfini sur true sur une occurrence de clip, le clip agira comme _root pour tout fichier SWF qui y sera charg. Lorsque _lockroot est dfini sur true au sein dun fichier SWF, le fichier SWF en question agira comme sa propre racine, quel que soit lautre fichier SWF effectuant le chargement. Nimporte quel clip, et nimporte quel nombre de clips, peut dfinir _lockroot sur true. Cette proprit est false par dfaut. Lauteur de conteneur.swf peut par exemple associer le code suivant au clip cible_mc :
// Associ au clip cible_mc : onClipEvent(load) { this._lockroot = true; }

Ceci garantit que les rfrences _root dans contenu.swf (ou dans nimporte quel fichier SWF charg dans cible_mc) feront rfrence leur propre scnario, non au scnario racine rel de conteneur.swf. De la mme faon, lauteur de contenu.swf peut ajouter le code suivant son scnario principal.
// Dans contenu.swf : this._lockroot = true;

Ceci garantit que, quel que soit lendroit o contenu.swf est charg, toute rfrence _root fera rfrence son propre scnario principal et non celui du fichier SWF hte. Pour plus dinformations, consultez MovieClip._lockroot, page 512.

Chargement de fichiers JPEG dans des clips


Vous pouvez utiliser la fonction loadMovie() ou la mthode MovieClip sur un mme nom pour charger des fichiers image JPEG dans une occurrence de clip. Vous pouvez galement utiliser la fonction loadMovieNum() pour charger un fichier JPEG dans un niveau.

128

Chapitre 7 : Utilisation des clips

Lorsque vous chargez une image dans un clip, son coin suprieur gauche est plac au point dalignement du clip. Ce point se trouvant souvent au centre du clip, il se peut que limage charge ne soit pas centre. De mme, lorsque vous chargez une image dans un scnario principal, son coin suprieur gauche est plac dans le coin suprieur gauche de la scne. Limage charge hrite de la rotation et de lchelle du clip, mais le contenu initial du clip est supprim. Pour plus dinformations, consultez Chargement de fichiers SWF et JPEG externes, page 202, loadMovie(), page 420, MovieClip.loadMovie, page 509 et loadMovieNum(), page 421.

Modification de la position et de lapparence dun clip


Pour modifier les proprits dun clip pendant sa lecture, vous pouvez rdiger une instruction affectant une valeur la proprit ou utiliser la fonction setProperty(). Par exemple, le code suivant fixe la rotation de loccurrence mc 45 :
mc._rotation = 45;

Cela quivaut au code suivant, qui utilise la fonction setProperty() :


setProperty("mc", _rotation, 45);

Certaines proprits, appeles proprits en lecture seule, ont des valeurs que vous pouvez lire mais pas dfinir. Ces proprits sont identifies comme telles dans le dictionnaire ActionScript. Les proprits suivantes sont en lecture seule : _currentframe, _droptarget, _framesloaded, _parent, _target, _totalframes, _url, _xmouse et _ymouse. Vous pouvez rdiger des instructions pour dfinir des proprits qui ne sont pas en lecture seule. Linstruction suivante dfinit la proprit _alpha de loccurrence de clip roue, qui est un enfant de loccurrence voiture :
voiture.roue._alpha = 50;

En outre, vous pouvez rdiger des instructions qui rcuprent la valeur dune proprit de clip. Par exemple, linstruction suivante rcupre la valeur de la proprit _xmouse dans le scnario du niveau actuel et donne cette valeur la proprit x de loccurrence curseurPerso :
onClipEvent(enterFrame){ curseurPerso._x = _root._xmouse; }

Cela quivaut au code suivant, qui utilise la fonction getProperty() :


onClipEvent(enterFrame){ curseurPerso._x = getProperty(_root, _xmouse); }

Les proprits _x, _y, _rotation, _xscale, _yscale, _height, _width, _alpha et _visible sont affectes par les transformations effectues sur le parent du clip et transforment le clip et tous ses enfants. Les proprits _focusrect, _highquality, _quality et _soundbuftime sont globales et appartiennent uniquement au scnario de niveau 0. Toutes les autres proprits appartiennent chaque clip ou niveau charg. Pour obtenir la liste des proprits de clips, consultez Rsum des proprits de la classe MovieClip, page 483.

Modification de la position et de lapparence dun clip

129

Dplacement des clips


Vous pouvez utiliser la fonction globale startDrag() ou la mthode MovieClip.startDrag() pour rendre un clip dplaable. Par exemple, vous pouvez crer un clip pouvant tre dplac pour les jeux, les fonctions glisser-dposer, les interfaces personnalisables, les barres de dfilement et les curseurs de dfilement. Un clip reste dplaable jusqu sont arrt explicite par stopDrag() ou jusqu ce quun autre clip soit cibl avec startDrag(). Vous ne pouvez dplacer quun seul clip la fois. Pour crer des comportements plus complexes avec les oprations glisser-dposer, vous pouvez valuer la proprit _droptarget du clip en cours de dplacement. Par exemple, vous pouvez examiner la proprit _droptarget pour voir si le clip a t dplac vers un clip spcifique (tel quun clip poubelle ), puis dclencher une autre action. Pour plus dinformations, consultez startDrag(), page 639 ou MovieClip.startDrag(), page 530.

Cration de clips lexcution


Vous pouvez crer des occurrences de clip dans lenvironnement auteur de Flash, mais galement lexcution. ActionScript propose trois manires de crer des clips lexcution :

en crant une nouvelle occurrence de clip vide ; en dupliquant une occurrence de clip existante ; en associant une occurrence de symbole de bibliothque de clip la scne.
Chaque occurrence de clip cre lexcution doit avoir un nom doccurrence et une valeur de profondeur (ordre dempilement ou ordre z). La profondeur que vous spcifiez dtermine la faon dont le nouveau clip recouvre les autres clips sur le mme scnario. Pour plus dinformations, consultez Gestion des profondeurs de clip, page 133. Cration dun clip vide Pour crer un clip vide sur la scne, utilisez la mthode createEmptyMovieClip() de la classe MovieClip. Cette mthode cre un clip en tant quenfant du clip qui la appele. Le point dalignement dun clip vide nouvellement cr se situe dans le coin suprieur gauche. Par exemple, le code suivant permet de crer un nouveau clip enfant nomm nouveau_mc une profondeur de 10 dans le clip nomm parent_mc.
parent_mc.createEmptyMovieClip("nouveau_mc", 10);

Le code suivant permet de crer un nouveau clip nomm image_mc sur le scnario racine du fichier SWF dans lequel le script est excut, puis dappeler loadMovie() pour y charger un fichier JPEG externe.
_root.createEmptyMovieClip("canevas_mc", 10); canevas_mc.loadMovie("fleurs.jpg");

Pour plus dinformations, consultez MovieClip.createEmptyMovieClip(), page 492.

130

Chapitre 7 : Utilisation des clips

Duplication ou suppression dun clip Pour dupliquer ou supprimer des occurrences de clip, utilisez les fonctions globales
duplicateMovieClip() ou removeMovieClip(), ou encore les mthodes de la classe MovieClip du mme nom. La mthode duplicateMovieClip() cre une nouvelle occurrence dune

occurrence de clip existante, lui affecte un nouveau nom doccurrence et lui donne une profondeur, ou ordre z. Un clip dupliqu commence toujours limage 1 mme si le clip initial se trouvait dans une autre image lors de la duplication, et il se situe toujours la tte de tous les clips prdfinis placs dans le scnario.
removeMovieClip().

Pour supprimer un clip que vous avez cr avec duplicateMovieClip(), utilisez Un clip dupliqu est galement supprim si le clip parent est supprim.

Pour plus dinformations, consultez duplicateMovieClip(), page 374, et removeMovieClip(), page 599. Association dun symbole de clip la scne La dernire manire de crer des occurrences de clip lexcution est dutiliser attachMovie(). La mthode attachMovie() associe une occurrence de symbole de clip comprise dans la bibliothque du fichier SWF la scne. Le nouveau clip devient un clip enfant du clip layant associ. Pour utiliser ActionScript pour associer un symbole de clip partir de la bibliothque, vous devez exporter le symbole pour ActionScript et lui affecter un identifiant de liaison unique. Pour ce faire, utilisez la bote de dialogue Proprits de liaison. Par dfaut, tous les clips exports pour tre utiliss avec ActionScript sont chargs avant la premire image du fichier SWF les contenant. Ce chargement peut entraner un retard avant la lecture de la premire image. Lorsque vous affectez un identifiant de liaison un lment, vous pouvez galement spcifier si cet lment doit tre ajout avant la premire image. Sil ne lest pas, vous devez en inclure une occurrence sur une autre image du fichier SWF, sinon llment ne sera pas export dans le fichier SWF.
Pour affecter un identifiant de liaison un clip :

1 Choisissez Fentre > Bibliothque pour ouvrir le panneau Bibliothque. 2 Slectionnez un clip dans le panneau Bibliothque. 3 Dans le panneau Bibliothque, choisissez Liaison dans le menu doptions.

La bote de dialogue Proprits de liaison apparat.


4 Pour Liaison, activez loption Exporter pour ActionScript. 5 Pour Identifiant, entrez lidentifiant du clip.

Par dfaut, lidentifiant est identique au nom du symbole. 6 Vous pouvez galement affecter une classe ActionScript 2.0 au symbole de clip. Pour plus dinformations, consultez Affectation dune classe un symbole de clip, page 136. 7 Si vous ne voulez pas que le clip soit charg avant la premire image, dsactivez loption Exporter dans la premire image. Si vous dsactivez cette option, placez une occurrence du clip sur limage du scnario o vous souhaitez quelle soit disponible. Par exemple, si le script que vous crivez ne fait pas rfrence au clip avant limage 10, placez une occurrence du symbole cette image ou juste avant celle-ci dans le scnario.

Cration de clips lexcution

131

8 Cliquez sur OK.

Une fois que vous avez affect un identifiant de liaison un clip, vous pouvez associer une occurrence du symbole la scne au moment de lexcution laide de la mthode attachMovie().
Pour associer un clip un autre clip :

1 Affectez un identifiant de liaison un symbole de bibliothque de clip comme dcrit ci-dessus. 2 Le panneau Actions tant ouvert (Fentre > Panneaux de dveloppement > Actions),

slectionnez une image dans le scnario.


3 Dans la fentre de script du panneau Actions, tapez le nom du clip ou du niveau auquel vous

souhaitez associer le nouveau clip. Par exemple, pour associer le clip au scnario principal, tapez _root. 4 Dans la bote outils Actions (du ct gauche du panneau Actions), cliquez sur la catgorie Classes intgres, puis sur Animation, puis sur MovieClip, puis sur Mthodes et double-cliquez sur attachMovie(). 5 A laide des conseils de code qui apparaissent comme un guide, entrez les valeurs des paramtres suivants : Pour nomID, spcifiez lidentifiant que vous avez saisi dans la bote de dialogue Proprits de liaison. Pour nouveauNom, entrez un nom doccurrence pour le clip associ afin de pouvoir le cibler. Pour profondeur, entrez le niveau dans lequel lanimation duplique sera associe au clip. Chaque animation associe a un ordre dempilement qui lui est propre, le niveau 0 tant le niveau de lanimation dorigine. Les clips associs sont toujours au-dessus du clip dorigine. Voici un exemple :
monClip.attachMovie("calif", "california", 10);

Pour plus dinformations, consultez MovieClip.attachMovie(), page 487.

Ajout de paramtres aux clips crs dynamiquement


Lorsque vous crez ou dupliquez dynamiquement un clip laide de MovieClip.attachMovie() et MovieClip.duplicateMovie(), vous pouvez remplir le clip avec des paramtres provenant dun autre objet. Le paramtre objetInit de attachMovie() et duplicateMovie() permet aux clips crs dynamiquement de recevoir des paramtres de clip. Le paramtre objetInit est facultatif.
MovieClip.duplicateMovieClip,

Pour plus dinformations, consultez MovieClip.attachMovie(), page 487, et page 496.

Pour remplir un clip cr dynamiquement avec des paramtres provenant dun objet spcifi, effectuez lune des oprations suivantes :

Utilisez la syntaxe suivante avec attachMovie() :


monClip.attachMovie(nomIdentifiant, nouveauNom, profondeur [, objetInit])

Utilisez la syntaxe suivante avec duplicateMovie() :


monClip.duplicateMovie(nomIdentifiant, nouveauNom, profondeur [, objetInit])

Le paramtre objetInit spcifie le nom de lobjet dont vous souhaitez utiliser les paramtres pour remplir le clip cr dynamiquement.

132

Chapitre 7 : Utilisation des clips

Pour remplir un clip avec des paramtres en utilisant attachMovie() :

1 Dans un nouveau document Flash, crez un symbole de clip en choisissant Insertion > Nouveau

symbole. Tapez dynamique dans la zone de texte Nom du symbole et slectionnez le comportement de clip. 2 A lintrieur du symbole, crez une zone de texte dynamique sur la scne avec nom_txt comme nom doccurrence. 3 Slectionnez la premire image du scnario du clip et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 4 Crez une nouvelle variable nomme nom et affectez sa valeur la proprit text de nom_txt, comme suit :
var nom:String; nom_txt.text = nom;

5 Choisissez Edition > Modifier le document pour revenir au scnario principal. 6 Slectionnez le symbole de clip dans la bibliothque et choisissez Proprits de liaison dans le

menu doptions du panneau Bibliothque. La bote de dialogue Proprits de liaison apparat. 7 Choisissez loption Exporter pour ActionScript et cliquez sur OK. 8 Slectionnez la premire image du scnario principal et ajoutez le code suivant la fentre de script du panneau Actions :
_root.attachMovie("dynamique", "nomNouveauClip", 10, {name:"Eric"});

9 Testez lanimation (Contrle > Tester lanimation). Le nom que vous avez spcifi dans lappel
attachMovie()

apparat dans le champ de texte du nouveau clip.

Gestion des profondeurs de clip


Chaque clip possde son propre ordre z qui dtermine la faon dont les objets se recouvrent lintrieur du fichier SWF parent ou du clip. A chaque clip est associe une valeur de profondeur, qui dtermine sil sera rendu devant ou derrire les autres clips dans le mme scnario de clip. Lorsque vous crez un clip lexcution laide de MovieClip.attachMovie(), MovieClip.duplicateMovieClipou MovieClip.createEmptyMovieClip(), vous devez systmatiquement spcifier une profondeur pour le nouveau clip comme paramtre de mthode. Par exemple, le code suivant associe un nouveau clip au scnario dun clip nomm conteneur_mc avec une valeur de profondeur de 10.
conteneur_mc.attachMovie("symbolID", "clip_1", 10);

Ceci cre un nouveau clip avec une profondeur de 10 dans lordre z de conteneur_mc. Par exemple, le code suivant associe deux nouveaux clips conteneur_mc. Le premier clip, nomm clip_1, sera rendu derrire clip_2, car une valeur de profondeur infrieure lui a t attribue.
conteneur_mc.attachMovie("symbolID", "clip_1", 10); container_mc.attachMovie("symbolID", "clip_2", 15);

La valeur de profondeur pour les clips peut aller de -16384 1048575. La classe MovieClip fournit plusieurs mthodes permettant de grer les profondeurs de clip : consultez MovieClip.getNextHighestDepth(), page 501, MovieClip.getInstanceAtDepth(), page 501, MovieClip.swapDepths(), page 531 et MovieClip.getDepth(), page 500.

Gestion des profondeurs de clip

133

Dfinition de la prochaine profondeur maximale disponible


MovieClip.getNextHighestDepth().

Pour dterminer quelle est la prochaine profondeur maximale disponible dans un clip, utilisez La valeur entire renvoye par cette mthode indique la prochaine profondeur disponible qui sera rendue devant tous les autres objets dans le clip.

Le code suivant cre un nouveau clip, avec une valeur de profondeur de 10, sur le scnario du clip nomm menus_mc. Il dtermine ensuite la prochaine profondeur maximale disponible dans le mme clip, puis cre un nouveau clip cette profondeur.
menus_mc.attachMovie("menuClip","file_menu", 10); var prochaineProfondeur = menus_mc.getNextHighestDepth(); menus_mc.attachMovie("menuClip", "edit_menu", prochaineProfondeur);

Dans ce cas, la variable nomme prochaineProfondeur contient la valeur 11, tant donn quil sagit de la prochaine profondeur maximale disponible pour le clip menus_mc.
getNextHighestDepth(),

Pour obtenir la profondeur maximale actuellement occupe, soustrayez 1 la valeur renvoye par comme illustr dans la section suivante (consultez Dfinition de loccurrence une profondeur spcifique, page 134).

Dfinition de loccurrence une profondeur spcifique


MovieClip.getInstanceAtDepth().

Pour dfinir loccurrence une profondeur spcifique, utilisez Cette mthode renvoie une rfrence loccurrence se trouvant la profondeur indique. Le code suivant combine getNextHighestDepth() et getInstanceAtDepth() pour dterminer le clip se trouvant la plus grande profondeur occupe du scnario racine.

var profMaxOccupe = _root.getNextHighestDepth() - 1; var occurrenceAProfMax = _root.getInstanceAtDepth(profMaxOccupe);

Pour plus dinformations, consultez MovieClip.getInstanceAtDepth(), page 501. Dfinition de la profondeur dune occurrence Pour dterminer la profondeur dune occurrence de clip, utilisez MovieClip.getDepth(). Le code suivant itre sur tous les clips du scnario principal dun fichier SWF et affiche le nom doccurrence et la valeur de profondeur de chaque clip dans le panneau de sortie.
for(each in _root) { var obj = _root[each]; if(obj instanceof MovieClip) { var profObjet = obj.getDepth(); trace(obj._name + ":" + profObjet) } }

Pour plus dinformations, consultez MovieClip.getDepth(), page 500. Permutation de profondeurs de clips Pour permuter les profondeurs de deux clips sur un mme scnario, utilisez Pour plus dinformations, consultez MovieClip.swapDepths(), page 531.
MovieClip.swapDepths().

134

Chapitre 7 : Utilisation des clips

Dessin de formes avec ActionScript


Vous pouvez utiliser des mthodes de la classe MovieClip pour dessiner des lignes et les remplissages sur la scne. Vous pouvez ainsi crer des outils de dessin pour les utilisateurs et tracer des formes dans lanimation en rponse des vnements. Les mthodes de dessin sont beginFill(), beginGradientFill(), clear(), curveTo(), endFill(), lineTo(), lineStyle() et moveTo(). Vous pouvez utiliser les mthodes de dessin avec nimporte quel clip. Toutefois, si vous les utilisez dans un clip cr en mode auteur, les mthodes de dessin sont excutes avant que le clip ne soit dessin. En dautres termes, le contenu cr en mode auteur est dessin au-dessus du contenu dessin laide des mthodes de dessin. Vous pouvez utiliser des clips comportant des mthodes de dessin en tant que masques. Toutefois, comme pour tous les masques de clips, les traits seront ignors.
Pour dessiner une forme :

1 Utilisez createEmptyMovieClip() pour crer un clip vide sur la scne.

Le nouveau clip est lenfant dun clip existant ou du scnario principal, comme dans lexemple suivant :
_root.createEmptyMovieClip ("triangle", 1);

2 Utilisez le clip vide pour appeler les mthodes de dessin.

Lexemple suivant trace un triangle comportant des lignes magenta dune paisseur de 5 points et aucun remplissage :
with (_root.triangle) { lineStyle (5, 0xff00ff, 100); moveTo (200, 200); lineTo (300, 300); lineTo (100, 300); lineTo (200, 200); }

Pour plus dinformations sur ces mthodes, consultez les entres correspondantes dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Utilisation de clips comme masques


Vous pouvez utiliser un clip comme masque pour crer un trou qui laisse apparatre le contenu dun autre clip. Le clip utilis comme masque lit toutes les images de son scnario, comme un clip ordinaire. Vous pouvez rendre le clip dplaable, lanimer le long dun guide de mouvement, utiliser des formes distinctes dans un mme masque, ou redimensionner un masque de faon dynamique. Vous pouvez galement utiliser ActionScript pour activer et dsactiver un masque. Il est impossible dutiliser un masque pour en masquer un autre. Il est impossible de dfinir la proprit _alpha dun clip utilis comme masque. Seuls les remplissages sont utiliss dans un clip utilis comme masque, les traits tant ignors.
Pour crer un masque :

1 Sur la scne, slectionnez un clip masquer. 2 Dans linspecteur des proprits, entrez un nom doccurrence pour le clip, tel que image. 3 Crez un clip devant tre un masque. Donnez-lui un nom doccurrence dans linspecteur des

proprits, tel que masque.

Utilisation de clips comme masques

135

Le clip masqu sera rvl en dessous de chaque zone opaque (non transparente) du clip agissant comme masque. 4 Slectionnez limage 1 dans le scnario. 5 Ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions) si ce dernier nest pas dj ouvert. 6 Dans le panneau Actions, entrez le code suivant :
image.setMask(masque);

Pour plus dinformations, consultez MovieClip.setMask(), page 529. A propos du masquage des polices de priphrique Vous pouvez utiliser un clip pour masquer le texte dfini dans une police de priphrique. Pour quun masque de clip fonctionne sur une police de priphrique, lutilisateur doit disposer de Flash Player 6 version 40 ou ultrieure. Lorsque vous utilisez un clip pour masquer le texte dfini dans une police de priphrique, le cadre de dlimitation rectangulaire du masque est utilis comme forme de masque. Ainsi, si vous crez un masque de clip non rectangulaire pour du texte de police de priphrique dans un environnement auteur Flash, le masque qui apparat dans le fichier SWF prend la forme du cadre de dlimitation rectangulaire et non la forme du masque lui-mme. Vous pouvez uniquement masquer des polices de priphrique en utilisant un clip comme masque. Vous ne pouvez pas masquer des polices de priphrique en utilisant un calque de masque sur la scne.

Gestion dvnements de clip


Les clips peuvent rpondre des vnements utilisateur, tels que des clics de souris ou des pressions sur des touches, ainsi qu des vnements de niveau systme, tel que le chargement initial dun clip sur la scne. ActionScript fournit deux faons de grer les vnements de clip : via les mthodes de gestionnaire dvnement et via les gestionnaires dvnement onClipEvent() et on(). Pour plus dinformations, consultez le Chapitre 4, Gestion dvnements, page 87.

Affectation dune classe un symbole de clip


ActionScript 2.0 vous permet de crer votre propre classe qui tend le comportement de la classe intgre MovieClip puis affecte cette classe un symbole de bibliothque de clip laide de la bote de dialogue Proprits de liaison. Lorsque vous crez une occurrence du clip auquel la classe est affecte, elle assume les proprits et comportements dfinis par la classe qui lui est affecte. (Pour plus dinformations sur ActionScript 2,0, consultez le Chapitre 9, Cration de classes avec ActionScript 2.0, page 161.) Dans une sous-classe de la classe MovieClip, vous pouvez fournir les dfinitions des mthodes et gestionnaires dvnements intgrs MovieClip, tels que onEnterFrame et onRelease. Dans la procdure suivante, vous crez une classe intitule MoveRight qui tend la classe MovieClip et dfinit un gestionnaire onPress qui dplace le clip de 20 pixels vers la droite chaque fois que lutilisateur clique sur le clip. Dans la deuxime procdure, vous crez un symbole de clip dans un nouveau document Flash (FLA) et affectez la classe MoveRight ce symbole.
Pour crer une sous-classe de clip :

1 Crez un nouveau rpertoire nomm TestBalle.

136

Chapitre 7 : Utilisation des clips

2 Crez un nouveau fichier ActionScript en effectuant lune des oprations suivantes :

(Flash MX Professionnel 2004) Choisissez Fichier > Nouveau et slectionnez Fichier ActionScript dans la liste des types de documents. (Flash MX 2004) Crez une nouveau fichier texte dans lditeur de texte de votre choix. 3 Entrez le code suivant dans votre script :

// Classe MoveRight -- dplace le clip de cinq pixels vers la droite chaque image la classe MoveRight tend MovieClip { function onPress() { this._x += 20; } }

4 Enregistrez le document sous MoveRight.as dans le rpertoire TestBalle.


Pour affecter la classe un symbole de clip :

1 Dans Flash, choisissez Fichier > Nouveau, slectionnez Document Flash dans la liste des types 2 3

4 5 6 7 8

de fichiers et cliquez sur OK. A laide de loutil Ovale, dessinez un cercle sur la scne. Slectionnez le cercle puis choisissez Modification > Convertir en symbole. Dans la bote de dialogue Convertir en symbole, choisissez le comportement de symbole Clip et entrez Balle dans le champ Nom. Ouvrez le panneau Bibliothque (Fentre > Bibliothque) et slectionnez le symbole Balle. Slectionnez Liaison dans le menu doptions du panneau Bibliothque pour ouvrir la bote de dialogue Proprits de liaison. Dans la bote de dialogue Proprits de liaison, slectionnez loption Exporter pour ActionScript et tapez MoveRight dans le champ Classe AS 2.0. Cliquez sur OK. Enregistrez le fichier sous Balle.fla dans le rpertoire TestBalle (le rpertoire contenant le fichier MoveRight.as). Testez lanimation (Contrle > Tester lanimation). Chaque fois que vous cliquez sur le clip balle, il se dplace de 20 pixels sur la droite.

Initialisation de proprits de classe


Dans lexemple prsent prcdemment, vous avez ajout loccurrence du symbole Balle manuellement, cest--dire lors de la programmation. Comme expliqu prcdemment (consultez Ajout de paramtres aux clips crs dynamiquement, page 132), vous pouvez affecter des paramtres des clips que vous crez lors de lexcution en utilisant le paramtre objetInit de attachMovie() et duplicateMovie(). Vous pouvez utiliser cette fonction pour initialiser des proprits de la classe que vous affectez un clip. Par exemple, la classe suivante nomme MoveRightDistance est une variante de la classe MoveRight prsente plus tt (consultez Affectation dune classe un symbole de clip, page 136). La diffrence est une nouvelle proprit nomme distance, dont la valeur dtermine le nombre de pixels dont un clip se dplace chaque fois que vous cliquez dessus.
// Classe MoveRightDistance -- dplace le clip de cinq pixels vers la droite chaque image la classe MoveRightDistance tend MovieClip { // la proprit distance dtermine le nombre de // pixels dont doit tre dplac le clip chaque clic de souris

Initialisation de proprits de classe

137

var distance:Number; function onPress() { this._x += distance; } }

En considrant que cette classe est affecte un symbole avec un identifiant de liaison de Balle, le code suivant cre deux nouvelles occurrences du symbole sur le scnario racine du fichier SWF. La premire occurrence, nomme balle_50, se dplace de 50 pixels chaque fois que vous cliquez dessus, la deuxime, nomme balle_125, se dplace de 125 pixels chaque fois que vous cliquez dessus.
_root.attachMovie("Balle", "balle_50", 10, {distance:50}); _root.attachMovie("Balle", "balle_125", 20, {distance:125});

138

Chapitre 7 : Utilisation des clips

CHAPITRE 8 Utilisation du texte

Un champ de texte dynamique ou de saisie est un objet TextField (une occurrence de la classe TextField). Lorsque vous crez un champ de texte, vous pouvez lui affecter un nom doccurrence dans linspecteur des proprits. Vous pouvez utiliser ce nom doccurrence dans les instructions ActionScript pour dfinir, modifier et formater le champ de texte et son contenu laide des classes TextField et TextFormat. Les mthodes de la classe TextField vous permettent de dfinir, slectionner et manipuler du texte dans un champ de texte dynamique ou de saisie que vous crez en cours de programmation ou lexcution. Pour plus dinformations, consultez Utilisation de la classe TextField, page 140. Pour plus dinformations sur les champs de texte de dbogage lors de lexcution, consultez Affichage des proprits de champ de texte pour le dbogage, page 82. ActionScript propose galement diffrentes manires de formater vos textes lexcution. La classe TextFormat vous permet de dfinir le formatage des caractres et des paragraphes pour les objets TextField (consultez Utilisation de la classe TextFormat, page 141). Flash Player prend galement en charge un sous-ensemble de balises HTML utiliser pour formater le texte (consultez Utilisation de texte au format HTML, page 151). Flash Player 7 et les versions ultrieures prennent en charge la balise HTML <img>, qui permet non seulement dintgrer des images externes, mais galement des fichiers SWF externes, ainsi que les clips qui rsident dans la bibliothque (consultez balise image (<img>), page 153). Dans Flash Player 7 et versions ultrieures, vous pouvez appliquer des styles de feuilles de style en cascade (CSS) aux champs de texte laide de la classe TextField.StyleSheet. Vous pouvez utiliser le style CSS pour lappliquer aux balises HTML intgres, dfinir de nouvelles balises de format ou appliquer des styles. Pour plus dinformations sur lutilisation de CSS, consultez Formatage de texte avec les feuilles de style en cascade, page 143. Vous pouvez galement directement affecter du texte au format HTML, pouvant ventuellement utiliser des styles CSS, un champ de texte. Dans Flash Player 7 et les versions ultrieures, le texte HTML que vous assignez un champ de texte peut contenir des supports intgrs (clips vidos, fichiers SWF et fichiers JPEG). Le texte enveloppe le mdia intgr, exactement comme un navigateur web enveloppe le texte autour dun mdia intgr dans un document HTML. Pour plus dinformations, consultez balise image (<img>), page 153.

139

Utilisation de la classe TextField


La classe TextField reprsente tout champ de texte dynamique ou slectionnable (modifiable) que vous crez laide de loutil Texte dans Flash. Utilisez les mthodes et les proprits de cette classe pour contrler les champs de texte lexcution. Les objets TextField supportent les mmes proprits que les objets MovieClip lexception des proprits _currentframe, _droptarget, _framesloaded et _totalframes. Vous pouvez obtenir et dfinir des proprits et invoquer des mthodes pour les champs de texte de faon dynamique. Pour contrler un champ de texte dynamique ou de saisie en utilisant ActionScript, vous devez lui affecter un nom doccurrence dans linspecteur des proprits. Vous pouvez ensuite faire rfrence au champ de texte avec le nom de loccurrence et utiliser les mthodes et les proprits de la classe TextField pour contrler le contenu ou lapparence gnrale du champ de texte. Vous pouvez galement crer des objets TextField lexcution et leur affecter des noms doccurrence laide de la mthode MovieClip.createTextField(). Pour plus dinformations, consultez Cration de champs de texte lexcution, page 141. Affectation de texte un champ de texte lexcution Pour affecter du texte un champ de texte, utilisez la proprit TextField.text.
Pour affecter du texte un champ de texte lexcution :

1 En utilisant loutil Texte, crez un champ de texte sur la scne. 2 Le champ de texte tant slectionn, dans linspecteur des proprits (Fentre > Proprits),

entrez titre_txt dans la zone de texte Nom de loccurrence, situe au-dessous du menu contextuel Type de texte sur le ct gauche de linspecteur. Les noms doccurrence peuvent uniquement comporter des lettres, des traits de soulignement (_) et des dollars ($). 3 Dans le scnario, slectionnez la premire image dans le calque 1 et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 4 Tapez le code suivant dans le panneau Actions :
titre_txt.text = "Le Brsil remporte la Coupe du monde";

5 Choisissez Contrle > Tester lanimation pour tester lanimation.

A propos des noms doccurrence et de variable de champ de texte Dans linspecteur des proprits, vous pouvez galement affecter un nom de variable un champ de texte dynamique ou de saisie, ainsi quun nom doccurrence. Vous pouvez ensuite faire rfrence au nom de variable du champ de texte dans ActionScript, dont la valeur dtermine le contenu du champ de texte. Cependant, il est important de ne pas confondre le nom doccurrence et le nom de variable dun champ de texte. Utilisez le nom doccurrence affect un champ de texte pour invoquer des mthodes, obtenir et dfinir les proprits de lobjet champ de texte. Le nom de variable dun champ de texte est tout simplement une rfrence de variable au texte contenu dans ce champ de texte, il ne sagit pas dune rfrence un objet. Par exemple, si vous affectez un champ de texte le nom de variable montexteVar, vous pouvez ensuite dfinir le contenu du champ de texte en utilisant le code suivant :
var montexteVar = "Ceci apparatra dans le champ de texte";

140

Chapitre 8 : Utilisation du texte

Cependant, vous ne pouvez pas utiliser la variable montexteVar pour dfinir la mme proprit de texte de champ de texte un autre texte.
//Cela ne fonctionnera pas monTexteVar.text = "Une variable de champ de texte nest pas une rfrence un objet";

En gnral, utilisez la proprit TextField.text pour contrler le contenu dun champ de texte, sauf si vous ciblez une version de Flash Player qui ne supporte pas la classe TextField. Ceci rduira lventualit dun conflit de noms de variables, qui pourrait engendrer un comportement inattendu lexcution.

Cration de champs de texte lexcution


Vous pouvez utiliser la mthode createTextField() de la classe MovieClip pour crer un champ de texte vide sur la scne lexcution. Ce nouveau champ est associ au scnario du clip qui appelle la mthode. La mthode createTextField() utilise la syntaxe suivante :
movieClip.createTextField(nomDoccurrence, profondeur, x, y, largeur, hauteur)

Par exemple, le code suivant cre un champ de texte de 300 x 100 pixels nomm test_txt au point (0,0) et une profondeur (ordre z) de 10.
_root.createTextField("test_txt", 10, 0, 0, 300, 100);

Utilisez le nom doccurrence spcifi dans lappel createTextField() pour accder aux mthodes et aux proprits de la classe TextField. Par exemple, le code suivant cre un nouveau champ de texte nomm test_txt, puis modifie ses proprits pour en faire un champ de texte multiligne avec retour automatique la ligne, qui se dveloppe pour sajuster la taille du texte insr. Enfin, il affecte du texte la proprit text du champ de texte.
_root.createTextField("test_txt", 10, 0, 0, 100, 50); test_txt.multiline = true; test_txt.wordWrap = true; test_txt.autoSize = true; test_txt.text = "Crez de nouveaux champs de texte laide de la mthode MovieClip.createTextField.";

Vous pouvez utiliser la mthode TextField.removeTextField() pour supprimer un champ de texte cr avec createTextField(). La mthode removeTextField() ne fonctionne pas pour les champs de texte placs par le scnario au cours de la programmation. Pour plus dinformations, consultez MovieClip.createTextField(), page 492, et TextField.removeTextField(), page 690.

Utilisation de la classe TextFormat


Vous pouvez utiliser la classe TextFormat dActionScript pour dfinir les proprits de formatage dun champ de texte. Cette classe intgre des informations sur le formatage des caractres et des paragraphes. Les informations sur le formatage des caractres dcrivent lapparence des diffrents caractres : nom de police, taille, couleur et URL associe. Les informations sur le formatage des paragraphes dcrivent lapparence dun paragraphe : marge de gauche, marge de droite, indentation de la premire ligne, ainsi qualignement gauche, droite ou au centre.

Utilisation de la classe TextFormat

141

Pour utiliser la classe TextFormat, vous devez dabord crer un objet TextFormat et dfinir ses styles de formatage de caractres et de paragraphes. Appliquez ensuite lobjet TextFormat un champ de texte laide des mthodes TextField.setTextFormat() ou TextField.setNewTextFormat(). La mthode setTextFormat() modifie le format de texte appliqu chaque caractre, des groupes de caractres ou lensemble du corps de texte dun champ de texte. Cependant, le texte nouvellement insr (tel que celui entr par lutilisateur ou insr avec ActionScript) nadopte pas le formatage spcifi par un appel setTextFormat(). Pour spcifier le formatage par dfaut pour dun texte nouvellement insr, utilisez TextField.setNewTextFormat(). Pour plus dinformations, consultez TextField.setTextFormat, page 694, et TextField.setNewTextFormat, page 694.
Pour formater un champ de texte avec la classe TextFormat :

1 Dans un nouveau document Flash, crez un champ de texte sur la scne laide de loutil Texte.

Tapez du texte dans le champ de texte sur la scne; par exemple Texte gras, italique, 24 points . 2 Dans linspecteur des proprits, tapez monTexte_txt dans la zone de texte Nom de loccurrence, slectionnez Dynamique dans le menu contextuel Type de texte et slectionnez Multiligne dans le menu contextuel Type de ligne. 3 Dans le scnario, slectionnez la premire image dans le calque 1 et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 4 Entrez le code suivant dans le panneau Actions pour crer un objet TextFormat et dfinissez ses proprits bold et italic sur la valeur true et sa proprit size sur 24.
// Crez un objet TextFormat var txtfmt_fmt = new TextFormat(); // Spcifiez le formatage des paragraphes et des caractres txtfmt_fmt.bold = "true"; txtfmt_fmt.italic = "true"; txtfmt_fmt.size = "24"

5 Appliquez lobjet TextFormat au champ de texte que vous avez cr ltape 1 en utilisant
TextField.setTextFormat(). monTexte_txt.setTextFormat(txtfmt_fmt);

Cette version de setTextFormat() applique le formatage spcifi lintgralit du champ de texte. Deux autres versions de cette mthode vous permettent dappliquer le formatage des caractres individuels ou des groupes de caractres. Par exemple, le code suivant applique le formatage gras, italique, 24 points aux quatre premiers caractres que vous avez entrs dans le champ de texte.
monTexte_txt.setTextFormat(txtfmt_fmt, 0, 3);

Pour plus dinformations, consultez TextField.setTextFormat, page 694. 6 Choisissez Contrle > Tester lanimation pour tester lanimation. Proprits par dfaut des nouveaux champs de texte Les champs de texte crs lexcution laide de createTextField() reoivent un objet TextFormat par dfaut avec les proprits suivantes :
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false

142

Chapitre 8 : Utilisation du texte

italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (tableau vide)

Pour obtenir la liste complte des mthodes TextFormat et leur description, consultez lentre Classe TextFormat dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Obtention des informations mtriques du texte Vous pouvez utiliser la mthode TextFormat.getTextExtent() pour obtenir les mesures de texte dtailles dune chane de texte laquelle est applique un formatage spcifique. Supposons, par exemple, que vous deviez crer, lexcution, un objet TextField contenant une quantit de texte alatoire format en 24 points, gras, police Arial, avec un retrait de 5 pixels. Vous devez dterminer la largeur et la hauteur du nouvel objet TextField pour afficher tout le texte. La mthode getTextExtent() fournit des mesures telles que les mesures ascendantes, descendantes, de la largeur et de la hauteur. Pour plus dinformations, consultez TextFormat.getTextExtent(), page 712.

Formatage de texte avec les feuilles de style en cascade


Les feuilles de style en cascade sont un mcanisme permettant de crer des styles de textes qui peuvent tre appliqus aux documents HTML ou XML. Une feuille de style est un ensemble de rgles de formatage qui spcifie comment formater des lments HTML ou XML. Chaque rgle associe un nom de style, ou slecteur, une ou plusieurs proprits de style ainsi qu leurs valeurs. Par exemple, le style suivant dfinit un slecteur nomm bodyText.
bodyText { text-align: left}

Vous pouvez crer des styles qui redfinissent les balises HTML de formatage intgres utilises par Flash Player (telles que <p> et <li>), crer des classes de style pouvant tre appliques des lments HTML spcifiques laide de lattribut de classe des balises <p> ou <span> ou dfinir de nouvelles balises. Utilisez la classe TextField.StyleSheet pour utiliser les feuilles de style de texte. Vous pouvez charger des styles partir dun fichier CSS externe ou les crer de faon native en utilisant ActionScript. Pour appliquer une feuille de style un champ de texte contenant du texte au format HTML ou XML, utilisez la proprit TextField.styleSheet. Les styles dfinis dans la feuille de style sont automatiquement mapps aux balises dfinies dans le document HTML ou XML. Pour utiliser des feuilles de style, vous devez suivre trois tapes basiques :

Crez un objet feuille de style partir de la classe TextField.StyleSheet. Pour plus


dinformations, consultez Cration dun objet feuille de style, page 145. Ajoutez des styles lobjet feuille de style, soit en les important dun fichier CSS externe, soit en les dfinissant avec ActionScript. Consultez Chargement de fichiers CSS externes, page 145, et Cration de nouveaux styles avec ActionScript, page 146.

Formatage de texte avec les feuilles de style en cascade

143

Affectez lobjet feuille de style un champ de texte contenant du texte au format XML ou
HTML. Consultez Application de styles un objet TextField, page 146, Exemple dutilisation de styles avec HTML, page 148, et Exemple dutilisation de styles avec XML, page 150. Proprits CSS supportes Flash Player supporte un sous-ensemble de proprits dans la spcification CSS1 dorigine (www.w3.org/TR/REC-CSS1). Le tableau suivant prsente les proprits et les valeurs CSS supportes et les noms de proprits ActionScript correspondants. (Chaque nom de proprit ActionScript est tir du nom de proprit CSS correspondant. Le trait dunion est omis et le caractre suivant est une majuscule.)
Proprit CSS text-align font-size Proprit ActionScript Utilisation et valeurs supportes textAlign fontSize Les valeurs reconnues sont left, center et right. Seule la partie numrique de la valeur est utilise ; les units (px, pt) ne sont pas analyses ; les pixels et les points sont quivalents. Les valeurs reconnues sont none et underline. Seule la partie numrique de la valeur est utilise. Les units (px, pt) ne sont pas analyses ; les pixels et les points sont quivalents. Seule la partie numrique de la valeur est utilise. Les units (px, pt) ne sont pas analyses ; les pixels et les points sont quivalents. Les valeurs reconnues sont normal et bold. Les valeurs reconnues sont normal et italic. Seule la partie numrique de la valeur est utilise. Les units (px, pt) ne sont pas analyses ; les pixels et les points sont quivalents. Liste des polices utiliser, spares par des virgules, classes par ordre de choix dcroissant. Tous les noms de familles de polices peuvent tre utiliss. Si vous spcifiez un nom de police gnrique, il sera converti dans la police de priphrique approprie. Les conversions de police suivantes sont disponibles : mono est converti en _typewriter, sans-serif est converti en_sans et serif est converti en _serif. Seules les valeurs hexadcimales de couleur sont supportes. Les couleurs nommes (comme blue) ne sont pas supportes. Les valeurs supportes sont inline, block et none.

text-decoration margin-left

textDecoration marginLeft

margin-right

marginRight

font-weight font-style text-indent

fontWeight fontStyle textIndent

font-family

fontFamily

color

color

display

display

144

Chapitre 8 : Utilisation du texte

Cration dun objet feuille de style Les feuilles de style CSS sont reprsentes dans ActionScript par la classe Cette classe est uniquement disponible pour les fichiers SWF conus pour Flash Player 7 et les versions ultrieures. Pour crer un objet feuille de style, appelez la fonction de constructeur de la classe TextField.StyleSheet.
TextField.StyleSheet. var nouveauStyle = new TextField.StyleSheet();

Pour ajouter des styles un objet feuille de style, chargez un fichier CSS externe dans lobjet ou dfinissez les styles dans ActionScript. Consultez Chargement de fichiers CSS externes, page 145, et Cration de nouveaux styles avec ActionScript, page 146. Chargement de fichiers CSS externes Vous pouvez dfinir des styles dans un fichier CSS externe puis charger ce fichier dans un objet feuille de style. Les styles dfinis dans le fichier CSS sont ajouts lobjet feuille de style. Pour charger un fichier CSS externe, utilisez la mthode load() de la classe TextField.StyleSheet. Pour dterminer le moment o le chargement du fichier CSS est termin, utilisez le gestionnaire dvnement onLoad de lobjet feuille de style. Dans lexemple suivant, crez et chargez un fichier CSS externe et utilisez la mthode TextField.StyleSheet.getStyleNames() pour rcuprer les noms des styles chargs.
Pour charger une feuille de style externe :

1 Crez un nouveau fichier dans lditeur de texte ou lditeur XML de votre choix. 2 Ajoutez les dfinitions de style suivantes au fichier :
// Nom de fichier : styles.css bodyText { font-family: Arial,Helvetica,sans-serif; font-size 12px; } headline { font-family: Arial,Helvetica,sans-serif; font-size 24px; }

3 Enregistrez le fichier CSS sous styles.css. 4 Dans Flash, crez un document FLA. 5 Dans le scnario (Fentre > Scnario), slectionnez le calque 1. 6 Ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 7 Ajoutez le code suivant au panneau Actions
var css_styles = new TextField.StyleSheet(); css_styles.load("styles.css"); css_styles.onLoad = function(ok) { if(ok) { // afficher les noms de style trace(this.getStyleNames()); } else { trace(Erreur lors du chargement du fichier CSS.); } }

8 Enregistrez le fichier dans le mme rpertoire que celui contenant styles.css.

Formatage de texte avec les feuilles de style en cascade

145

9 Testez lanimation (Contrle > Tester lanimation).

Les noms des deux styles devraient safficher dans le panneau de sortie :
body title

Si Erreur lors du chargement du fichier CSS saffiche dans le panneau de sortie, vrifiez que le fichier FLA et le fichier CSS se trouvent bien dans le mme rpertoire et que vous avez correctement saisi le nom du fichier CSS. Comme pour les autres mthodes ActionScript qui chargent des donnes via le rseau, le fichier CSS doit rsider dans le mme domaine que le fichier SWF qui effectue le chargement du fichier. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes interdomaines, page 198. Cration de nouveaux styles avec ActionScript Vous pouvez crer de nouveaux styles de texte avec ActionScript en utilisant la mthode de la classe TextField.StyleSheet. Cette mthode prend deux paramtres : le nom du style et un objet qui dfinit les proprits de ce style.
setStyle()

Par exemple, le code suivant cre un objet feuille de style nomm styles qui dfinit deux styles identiques ceux que vous avez imports (consultez Chargement de fichiers CSS externes, page 145).
var styles = new TextField.StyleSheet(); styles.setStyle("bodyText", {fontFamily: Arial,Helvetica,sans-serif, fontSize: 12px} ); styles.setStyle("titre", {fontFamily: Arial,Helvetica,sans-serif, fontSize: 24px} );

Application de styles un objet TextField


styleSheet

Pour appliquer un objet feuille de style un champ de texte, affectez cet objet la proprit de lobjet champ de texte.

textObj_txt.styleSheet = styleSheetObj; Remarque : Evitez de confondre la proprit TextField.styleSheet avec la classe TextField.StyleSheet. Les majuscules les distinguent.

Lorsque vous affectez un objet feuille style un objet TextField, le comportement normal du champ de texte est modifi de la manire suivante :

Les proprits text et htmlText du champ de texte et toute variable associe au champ de
texte, contiennent toujours la mme valeur et se comportent toujours de la mme faon. Le champ de texte est en lecture seule et ne peut plus tre modifi par lutilisateur. Les mthodes setTextFormat() et replaceSel() de la classe TextField ne fonctionnent plus avec le champ de texte. La seule faon de modifier le champ consiste changer les proprits text ou htmlText du champ de texte ou modifier les variables associes au champ de texte. Tout texte affect la proprit text, la proprit htmlText ou aux variables associes du champ de texte est stock textuellement. Tout ce qui est crit dans lune de ces proprits peut tre rcupr dans la forme originale du texte.

146

Chapitre 8 : Utilisation du texte

Association de styles Les styles CSS dans Flash Player sont additionnels, cest--dire que lorsque les styles sont imbriqus, chaque niveau dimbrication peut fournir des informations de style supplmentaires, qui sont ajoutes les unes aux autres pour donner le formatage final. Par exemple, voici des donnes XML affectes un champ de texte :
<sectionHeading>Ceci est une section</sectionHeading> <mainBody>Ceci est le corps principal du texte, avec un <emphasized>mot</emphasized> emphatique.</mainBody>

Pour le mot emphatique du texte ci-dessus, le style emphasized est imbriqu dans le style mainBody. Le style mainBody fournit les rgles de couleur, de taille de police et de dcoration. Le style emphasized ajoute une rgle dpaisseur de police ces rgles. Le mot emphatique sera format en associant les rgles spcifies par mainBody et emphasized. Utilisation des classes de style Vous pouvez crer des classes de style que vous pouvez appliquer une balise <p> ou <span> en utilisant lattribut de classe de lune des balises. Lorsquune balise <p> est applique, le style affecte tout le paragraphe. Vous pouvez galement appliquer un style une plage de texte qui utilise une classe de style laide de la balise <span>. Par exemple, la feuille de style suivante dfinit deux classes de style : mainBody et emphasis.
.mainBody { font-family: Arial,Helvetica,sans-serif; font-size: 24px; } .emphasis { color: #666666; font-style: italic; }

A lintrieur du texte HTML que vous affectez un champ de texte, vous pouvez appliquer ces styles aux balises <p> et <span> comme expliqu ci-dessous :
<p class="mainBody">Cest <span class="emphasis">trs motivant !</span></p>

Dfinition du style de balises HTML intgres Flash Player supporte un sous-ensemble de balises HTML. Pour plus dinformations, consultez Utilisation de texte au format HTML, page 151. Vous pouvez affecter un style CSS chaque occurrence dune balise HTML intgre qui apparat dans un champ de texte. Par exemple, le code suivant dfinit un style pour la balise HTML intgre <p>. Toutes les occurrences de cette balise verront leur style dfini de la manire spcifie par la rgle de style :
p { font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; }

Formatage de texte avec les feuilles de style en cascade

147

Le tableau suivant indique les balises HTML intgres dont le style peut tre dfini, et la faon dont chaque style est appliqu :
Nom de style Comment le style est appliqu
p body

Affecte toutes les balises <p>. Affecte toutes les balises <body>. Sil est spcifi, le style p est prioritaire par rapport au style body. Affecte toutes les balises puce <li>. Affecte toutes les balises dancrage <a>. Affecte toutes les balises dancrage <a>. Ce style est appliqu aprs tout style a. Appliqu une balise dancrage <a> lorsque la souris se dplace sur le lien. Ce style est appliqu aprs tout style a et a:link. Une fois que la souris sloigne du lien, le style a:hover est supprim du lien. Appliqu une balise dancrage <a> lorsque lutilisateur clique avec la souris sur le lien. Ce style est appliqu aprs tout style a et a:link. Une fois que le bouton de la souris est relch, le style a:active est supprim du lien.

li a a:link a:hover

a:active

Exemple dutilisation de styles avec HTML Cette section prsente un exemple de lutilisation des styles avec des balises HTML. Vous crez une feuille de style qui dfinit le style de certaines balises intgres ainsi que certaines classes de style. Vous appliquez ensuite cette feuille de style un objet TextField qui contient du texte au format HTML.
Pour formater un HTML laide dune feuille de style, effectuez les oprations suivantes :

1 Crez un fichier dans lditeur de texte de votre choix. 2 Ajoutez la dfinition de feuille de style suivante dans le fichier :
p { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 12px; display: inline; } a:link { color: #FF0000; } a:hover{ text-decoration: underline; } .headline { color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 18px; font-weight: bold; display: block; }

148

Chapitre 8 : Utilisation du texte

.byline { color: #666600; font-style: italic; font-weight: bold; display: inline; }

3 4 5 6 7

8 9

Cette feuille de style dfinit des styles pour deux balises HTML intgres (<p> et <a>) qui seront appliqus toutes les occurrences de ces balises. Elle dfinit galement deux classes de style (.headline et .byline) qui seront appliques des paragraphes et des plages de texte spcifiques. Enregistrez le fichier sous html_styles.css. Dans Flash, crez un fichier FLA. A laide de loutil Texte, crez un champ de texte denviron 400 pixels de large et 300 pixels de haut. Ouvrez linspecteur des proprits (Fentre > Proprits) et slectionnez le champ de texte. Dans linspecteur des proprits, slectionnez Texte dynamique dans le menu Type de texte, slectionnez Multiligne dans le menu Type de ligne, slectionnez loption Rendre le texte au format HTML et tapez news_txt dans la zone de texte Nom de loccurrence. Slectionnez la premire image dans le calque 1 du scnario (Fentre > Scnario). Ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions) et ajoutez-lui le code suivant :
// Crez un objet feuille de style var feuille_style = new TextField.StyleSheet(); // Emplacement du fichier CSS qui dfinit les styles var css_url = "html_styles.css"; // Crez du texte HTML afficher var storyText:String = "<p class=headline>Flash Player supporte dsormais les feuilles de style en cascade !</p><p><span class=byline>San Francisco, Californie</span>--Macromedia Inc. annonce aujourdhui une nouvelle version de Flash Player qui supporte les styles de texte de feuilles de style en cascade (CSS). Pour plus dinformations, visitez le <a href=http://www.macromedia.com>site web Macromedia Flash.</a></p>"; // Chargez le fichier CSS et dfinissez le gestionnaire onLoad : feuille_style.load(css_url); feuille_style.onLoad = function(ok) { if (ok) { // Si la feuille de style a t charge sans erreur, // affectez-la lobjet texte, // et affectez le texte HTML au champ de texte. news_txt.styleSheet = style_sheet; news_txt.text = storyText; } }; Remarque : Pour plus de simplicit, le texte HTML dont le style doit tre dfini est cod en dur dans le script. Dans une application relle, vous chargeriez le texte partir dun fichier externe. Pour plus dinformations sur le chargement de donnes externes, consultez le Chapitre 10, Utilisation de donnes externes, page 185.

10 Enregistrez le fichier sous news_html.fla dans le mme rpertoire que celui contenant le fichier

CSS que vous avez cr prcdemment. 11 Excutez lanimation (Contrle > Tester lanimation) pour voir les styles appliqus au texte HTML automatiquement.

Formatage de texte avec les feuilles de style en cascade

149

Utilisation de styles pour dfinir de nouvelles balises Si vous dfinissez un nouveau style dans une feuille de style, ce style peut tre utilis comme balise, comme vous utiliseriez une balise HTML intgre. Par exemple, si une feuille de style dfinit un style CSS nomm sectionHeading, vous pouvez utiliser <sectionHeading> comme lment dans tout champ de texte associ la feuille de style. Cette fonction vous permet daffecter directement du texte alatoire au format XML dans un champ de texte, afin que le texte soit automatiquement format en utilisant les rgles de la feuille de style. Par exemple, la feuille de style suivante cre les nouveaux styles sectionHeading, mainBody et
emphasized. sectionHeading { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; display: block } mainBody { color: #000099; text-decoration: underline; font-size: 12px; display: block } emphasized { font-weight: bold; display: inline }

Vous pouvez ensuite remplir un champ de texte associ cette feuille de style avec le texte au format XML suivant :
<sectionHeading>Ceci est une section</sectionHeading> <mainBody>Ceci est le corps principal du texte, avec un <emphasized>mot</emphasized> emphatique. </mainBody>

Exemple dutilisation de styles avec XML Dans cette section, vous crez le mme fichier FLA que prcdemment (consultez Exemple dutilisation de styles avec HTML, page 148), mais avec du texte au format XML. Dans cet exemple, cependant, vous crez la feuille de style en utilisant ActionScript au lieu dimporter des styles partir dun fichier CSS.
Pour formater du XML avec une feuille de style :

1 Dans Flash, crez un fichier FLA. 2 A laide de loutil Texte, crez un champ de texte denviron 400 pixels de large et 300 pixels de

haut.
3 Ouvrez linspecteur des proprits (Fentre > Proprits) et slectionnez le champ de texte. 4 Dans linspecteur des proprits, slectionnez Texte dynamique dans le menu Type de texte,

slectionnez Multiligne dans le menu Type de ligne, slectionnez loption Rendre le texte au format HTML et tapez news_txt dans la zone de texte Nom de loccurrence. 5 Dans le calque 1 du scnario (Fentre > Scnario), slectionnez la premire image. 6 Pour crer lobjet feuille de style, ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions) et ajoutez le code suivant au panneau Actions :
var xml_styles = new TextField.StyleSheet(); xml_styles.setStyle("mainBody", { color:#000000, fontFamily:Arial,Helvetica,sans-serif,

150

Chapitre 8 : Utilisation du texte

fontSize:12, display:block }); xml_styles.setStyle("title", { color:#000000, fontFamily:Arial,Helvetica,sans-serif, fontSize:18, display:block, fontWeight:bold }); xml_styles.setStyle("byline", { color:#666666, fontWeight:bold, fontStyle:italic, display:inline }); xml_styles.setStyle("a:link", { color:#FF0000 }); xml_styles.setStyle("a:hover", { textDecoration:underline });

Ce code cre un nouvel objet feuille de style nomm xml_styles qui dfinit les styles laide de la mthode setStyle(). Les styles correspondent exactement ceux que vous avez crs dans un fichier CSS externe, prcdemment dans ce mme chapitre. 7 Pour crer du texte XML affecter au champ de texte, ajoutez le code suivant au panneau Actions :
var storyText = "<title>Flash Player supporte dsormais CSS</ title><mainBody><byline>San Francisco, Californie</byline>--Macromedia Inc. annonce aujourdhui une nouvelle version de Flash Player qui prend en charge les styles de texte de feuilles de style en cascade (CSS). Pour plus dinformations, visitez le <a href=\"http://www.macromedia.com\">site web de Macromedia Flash</a></mainBody>";

8 Enfin, ajoutez le code suivant pour appliquer lobjet feuille de style la proprit styleSheet

du champ de texte et affectez le texte XML au champ de texte.


news_txt.styleSheet = xml_styles; news_txt.text = storyText;

9 Enregistrez le fichier sous news_xml.fla. 10 Excutez lanimation (Contrle > Tester lanimation) pour voir les styles automatiquement

appliqus au texte dans le champ.

Utilisation de texte au format HTML


Flash Player supporte un sous-ensemble de balises HTML comme <p> et <li> que vous pouvez utiliser pour attribuer un style un texte dans un champ de texte dynamique ou de saisie. Dans Flash Player 7 et les versions ultrieures, les champs de texte prennent galement en charge la balise <img>, qui vous permet dintgrer les fichiers JPEG, SWF et les clips vido, dans un champ de texte. Dans Flash Player, le texte enveloppe automatiquement les images intgres dans les champs de texte, de la mme manire quun navigateur web enveloppe le texte autour des images intgres dans un document HTML. Pour plus dinformations, consultez Intgration des images, fichiers SWF et des clips dans les champs de texte, page 156.

Utilisation de texte au format HTML

151

Flash Player prend galement en charge la balise <textformat>, qui vous permet dappliquer les styles de formatage de paragraphe de la classe TextFormat aux champs de texte HTML. Pour plus dinformations, consultez Utilisation de la classe TextFormat, page 141. Prsentation de lutilisation du texte au format HTML Pour utiliser le format HTML dans un champ de texte, vous devez activer le formatage HTML du champ de texte en slectionnant loption Rendre le texte au format HTML dans linspecteur des proprits ou en dfinissant la proprit html du champ de texte sur true. Pour insrer du texte HTML dans un champ de texte, utilisez la proprit TextField.htmlText. Par exemple, le code suivant active le formatage HTML pour un champ de texte nomm titre_txt, puis lui affecte du texte HTML.
titre_txt.html = true; titre_txt.htmlText = "<font face=Times New Roman size=24>Voici comment affecter du texte HTML un champ de texte.</font>";

Les attributs des balises HTML doivent tre encadrs de guillemets simples ou doubles. Les valeurs des attributs dpourvues de guillemets peuvent engendrer des rsultats inattendus, comme le rendu incorrect du texte. Par exemple, le fragment de code HTML suivant ne sera pas rendu correctement par Flash Player, car la valeur affecte lattribut align (left) nest pas encadre de guillemets :
textField.htmlText = "<p align=left>Texte align sur la gauche</p>";

Si vous encadrez les valeurs dattribut laide de guillemets doubles, vous devez utiliser la fonction dchappement pour les guillemets (\"). Par exemple, lune des solutions suivantes est possible :
textField.htmlText = "<p align=left>Guillemets simples utiliss</p>"; textField.htmlText = "<p align=\"left\">Guillemets doubles chapps</p>";

Il nest pas ncessaire dutiliser la fonction dchappement pour les guillemets doubles si vous chargez du texte partir dun fichier externe. Cette action est uniquement ncessaire pour laffectation des chanes de texte dans ActionScript. Balises HTML prises en charge Cette section rpertorie les balises HTML intgres prises en charge par Flash Player. Vous pouvez galement crer de nouveaux styles et balises en utilisant les feuilles de style en cascade (consultez Formatage de texte avec les feuilles de style en cascade, page 143). balise dancrage (<a>) La balise <a> cre un hyperlien et prend en charge les attributs suivants :

href Spcifie lURL de la page charger dans le navigateur. LURL peut tre absolue ou relative lemplacement du fichier SWF qui charge la page. target Spcifie le nom de la fentre cible dans laquelle charger la page.

Par exemple, le fragment de code HTML suivant cre le lien Accueil , qui ouvre www.macromedia.com dans une nouvelle fentre du navigateur.
<a href="../home.htm" target="_blank">Accueil</a>

Vous pouvez galement dfinir des styles a:link, a:hover et a:active pour les balises dancrage en utilisant les feuilles de style. Pour plus dinformations, consultez Dfinition du style de balises HTML intgres, page 147.

152

Chapitre 8 : Utilisation du texte

Balise Bold (<b>) La balise <b> rend le texte en caractres gras. Les caractres gras doivent tre disponibles dans la police utilise pour afficher le texte.
<b>Ceci est du texte en gras.</b>

Balise Break (<br>) La balise <br> cre un saut de ligne dans le champ de texte, comme indiqu dans lexemple suivant :
Une ligne de texte<br>Une autre ligne de texte<br>

Balise Font (<font>) La balise <font> spcifie une police ou une liste de polices pour laffichage du texte. La balise font prend en charge les attributs suivants :

color

Seules les valeurs de couleur hexadcimales (#FFFFFF) sont prises en charge. Par exemple, le code HTML suivant cre du texte rouge. Spcifie le nom de la police utiliser. Vous pouvez galement spcifier une liste de noms de polices spars par des virgules, auquel cas Flash Player choisit la premire police disponible. Si la police spcifie nest pas installe sur le systme de lecture ou si elle nest pas intgre dans le fichier SWF, Flash Player choisit une police de remplacement. Exemple :

<font color="#FF0000">Texte rouge</font> face

<font face="Times, Times New Roman">Il sagit soit de la police Times, soit de la police Times New Roman..</font>

Pour plus dinformations sur lintgration des polices dans les applications Flash, consultez TextField.embedFonts, page 680 et Dfinition des options de texte dynamique et de saisie , dans le guide Utilisation de Flash de laide. size Spcifie la taille de la police, en pixels. Vous pouvez galement utiliser des tailles de points relatives (+2 ou -4).
<font size="24" color="#0000FF">Texte vert 24 points </font>

balise image (<img>) La balise <img> vous permet dintgrer des fichiers JPEG, SWF et des clips externes lintrieur des champs de texte. Le texte se droule automatiquement autour des images intgres dans les champs de texte. Cette balise est prise en charge uniquement dans les champs de texte dynamique et de saisie multilignes avec retour la ligne automatique.
Pour crer un champ de texte multiligne avec retour la ligne automatique, effectuez lune des oprations suivantes :

Dans lenvironnement auteur Flash, slectionnez un champ de texte sur la scne, puis, dans
linspecteur des proprits, slectionnez Multiligne dans le menu contextuel Type de texte. Pour un champ de texte cr lexcution avec MovieClip.createTextField(), dfinissez les proprits TextField.multiline et TextField.wordWrap de la nouvelle occurrence du champ de texte sur true.

Utilisation de texte au format HTML

153

La balise <img> a un attribut requis, src, qui spcifie le chemin vers un fichier JPEG, un fichier SWF ou lidentifiant de liaison dun symbole de clip. Tous les autres attributs sont facultatifs. Les balises <img> prennent en charge les attributs suivants :

src

Spcifie lURL vers un fichier JPEG ou SWF, ou lidentifiant de liaison pour un symbole de clip dans la bibliothque. Cet attribut est requis ; tous les autres attributs sont facultatifs. Les fichiers externes (JPEG et SWF) ne saffichent pas tant quils ne sont pas entirement tlchargs.

Remarque : Flash ne supporte pas les fichiers JPEG tridimensionnels.

id Spcifie le nom dune occurrence de clip (cre par Flash Player) contenant le fichier JPEG, SWF ou le clip intgr. Cette fonction savre utile pour contrler le contenu intgr avec ActionScript. width Largeur de limage, du fichier SWF ou du clip, en pixels. height Hauteur de limage, du fichier SWF ou du clip, en pixels. align Spcifie lalignement horizontal de limage intgre dans le champ de texte. Les valeur valides sont left et right. La valeur par dfaut est left. hspace Spcifie lespace horizontal qui entoure limage l o aucun texte napparat. La valeur par dfaut est 8. vspace Spcifie lespace vertical qui entoure limage l o aucun texte napparat. La valeur par dfaut est 8.

Pour plus dinformations et dexemples sur lutilisation de la balise <img>, consultez Intgration des images, fichiers SWF et des clips dans les champs de texte, page 156. Balise Italic (<i>) La balise <i> affiche le texte balis en italique. Des caractres italiques doivent tre disponibles dans la police utilise.
Cest trs <i>intressant</i>.

Le code ci-dessus serait rendu de la manire suivante : Cest trs intressant. Balise List item (<li>) La balise <li> place une puce devant le texte quelle encadre.
Liste de courses : <li>Pommes</li> <li>Oranges</li> <li>Citrons</li>

Le code ci-dessus serait rendu de la manire suivante : Liste de courses : Pommes Oranges Citrons

154

Chapitre 8 : Utilisation du texte

Balise Paragraph (<p>) La balise <p> cre un paragraphe. Elle prend en charge les attributs suivants :

align Spcifie lalignement du texte dans le paragraphe. Les valeurs valides sont left, right et center. class Spcifie une classe de style CSS dfinie par un objet TextField.StyleSheet. Pour plus dinformations, consultez Utilisation des classes de style, page 147. Lexemple suivant utilise lattribut align pour aligner le texte sur le ct droit dun champ de texte. textField.htmlText = "<p align=right>Ce texte est align sur la droite dans le champ de texte</p>";

Lexemple suivant utilise lattribut class pour affecter une classe de style de texte une balise <p>.
var maFeuilleDeStyle = new TextField.StyleSheet(); maFeuilleDeStyle.secreateTextField("test", 10, 0,0, 300,100); createTextField("test", 10, 0,0, 300,100); test.styleSheet = maFeuilleDeStyle; test.htmlText = "<p class=body>Ceci est du texte de style corps.</p>.";

Balise Span (<span>) La balise <span> peut uniquement tre utilise avec les styles de texte CSS. Pour plus dinformations, consultez Formatage de texte avec les feuilles de style en cascade, page 143. Elle prend en charge les attributs suivants :

class Spcifie une classe de style CSS dfinie par un objet TextField.StyleSheet. Pour plus dinformations sur la cration de classes de style, consultez Utilisation des classes de style, page 147.

Balise Text format (<textformat>) La balise <textformat> permet dutiliser un sous-ensemble de proprits de formatage des paragraphes de la classe TextFormat dans les champs de texte HTML, y compris linterlignage, le retrait, les marges et les taquets de tabulation. Vous pouvez associer des balises <textformat> aux balises HTML intgres. La balise <textformat> possde les attributs suivants :

blockindent Spcifie lindentation dun bloc, en points. Correspond TextFormat.blockIndent. Pour plus dinformations, consultez TextFormat.blockIndent,

page 711.
indent Spcifie lindentation, de la marge gauche au premier caractre du paragraphe. Correspond TextFormat.indent. Pour plus dinformations, consultez TextFormat.indent, page 714. leading Spcifie lespace sparant les lignes (espace vertical). Correspond TextFormat.leading. Pour plus dinformations, consultez TextFormat.leading, page 715. leftmargin Spcifie la marge gauche du paragraphe, en points. Correspond TextFormat.leftMargin. Pour plus dinformations, consultez TextFormat.leftMargin, page 715.

Utilisation de texte au format HTML

155

rightmargin Spcifie la marge droite du paragraphe, en points. Correspond TextFormat.rightMargin. Pour plus dinformations, consultez TextFormat.rightMargin,

page 715.
tabstops Spcifie des taquets de tabulation personnaliss, sous forme dun tableau dentiers non ngatifs. Correspond TextFormat.tabStops. Pour plus dinformations, consultez TextFormat.tabStops, page 716.

Lexemple de code suivant utilise lattribut tabstops de la balise <textformat> pour crer un tableau de donnes avec des en-ttes de lignes en gras, comme indiqu ci-dessous :
Nom Thomas Eluard Age 32 46 Service IMD Ingnierie

Pour crer un tableau de donnes format en utilisant des taquets de tabulation :

1 Utilisez loutil Texte pour crer un champ de texte dynamique denviron 300 pixels de largeur

et 100 pixels de hauteur.


2 Dans linspecteur des proprits, saisissez tableau_txt dans le champ de texte Nom de

loccurrence, slectionnez Multiligne dans le menu Type de ligne et choisissez loption Rendre le texte au format HTML. 3 Dans le scnario, slectionnez la premire image sur le Calque 1. 4 Ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions) et ajoutez-lui le code suivant :
var rowHeaders = "<b>Nom\t</b><b>Age\t</b><b>Service"; var row_1 = "Thomas\t31\tIMD"; var row_2 = "Eluard\t42\tQA"; tableau_txt.htmlText = "<textformat tabstops=[100, 200]>"; tableau_txt.htmlText += rowHeaders; tableau_txt.htmlText += row_1; tableau_txt.htmlText += row_2 ; tableau_txt.htmlText += "</textformat>";

Remarquez lutilisation de la squence dchappement des caractres de tabulation (\t) pour ajouter des tabulations entre chaque colonne dans le tableau. 5 Choisissez Contrle > Tester lanimation pour tester lanimation. Balise Underline (<u>) La balise <u> souligne le texte balis.
Ce texte est <u>soulign</u>.

Le code ci-dessus serait rendu de la manire suivante : Ce texte est soulign. Intgration des images, fichiers SWF et des clips dans les champs de texte Dans Flash Player 7 et les versions ultrieures, vous pouvez utiliser la balise <img> pour intgrer les fichiers JPEG, les fichiers SWF, ainsi que les clips, dans les champs de texte dynamique et de saisie. (pour obtenir la liste complte des attributs de la balise <img>, consultez balise image (<img>), page 153).

156

Chapitre 8 : Utilisation du texte

Par dfaut, Flash affiche le mdia intgr dans un champ de texte, sa taille normale. Pour spcifier les dimensions du mdia intgr, utilisez les attributs height et width de la balise <img>. Pour plus dinformations, consultez Spcification des valeurs de hauteur et de largeur, page 157. En gnral, une image intgre dans un champ de texte apparat sur la ligne qui suit la balise
<img>. Cependant, lorsque la balise <img> est le premier caractre dans le champ de texte, limage

apparat sur la premire ligne du champ de texte. Intgration des fichiers SWF et JPEG Pour intgrer un fichier JPEG ou SWF dans un champ de texte, spcifiez le chemin absolu ou relatif qui mne au fichier JPEG ou SWF dans lattribut src de la balise <img>. Par exemple, le code suivant insre un fichier JPEG situ dans le mme rpertoire que le fichier SWF.
textField_txt.htmlText = "<p>Voici une photo de mes dernires vacances :<img src=plage.jpg>";

Intgration de symboles de clip Pour intgrer un symbole de clip dans un champ de texte, spcifiez lidentifiant de liaison du symbole pour lattribut src de la balise <img> (pour plus dinformations sur la dfinition dun identifiant de liaison, consultez Association dun symbole de clip la scne, page 131). Par exemple, le code suivant insre un symbole de clip dont lidenfiant de liaison est symbol_ID.
textField_txt.htmlText = "<p>Voici un symbole de clip :<img src=symbol_ID>";

Pour quun clip intgr soit correctement et entirement affich, le point dalignement de son symbole doit tre (0,0). Spcification des valeurs de hauteur et de largeur Si vous spcifiez les attributs width et height dune balise <img>, un espace est rserv dans le champ de texte pour le fichier JPEG, SWF ou le clip. Une fois le fichier JPEG ou SWF entirement tlcharg, il est affich dans lespace rserv. Flash modifie la taille du mdia en fonction des valeurs height et width. Si vous ne spcifiez pas de valeurs height et width, aucun espace nest rserv au mdia intgr. Une fois le fichier JPEG ou SWF tlcharg, Flash linsre dans le champ de texte sa taille normale et spare de nouveau le texte autour de lui. Contrle du mdia intgr avec ActionScript Flash Player cre un nouveau clip pour chaque balise <img> et lintgre dans lobjet TextField. Lattribut id de la balise <img> permet daffecter un nom doccurrence au clip cr et de contrler ainsi le clip avec ActionScript. Le clip cr par Flash Player est ajout en tant que clip enfant du champ de texte contenant limage. Par exemple, le code suivant intgre un fichier SWF nomm animation.swf dans le champ de texte nomm textField_txt au niveau 0 et affecte le nom doccurrence animation_mc au clip contenant le fichier SWF.
_level0.textField_txt.htmlText = "Voici une animation intressante : <img src=animation.swf id=animation_mc>

Utilisation de texte au format HTML

157

Dans ce cas, le chemin entirement qualifi vers le nouveau clip cr est _level0.textField_txt.animation_mc. Vous pouvez, par exemple, associer le code suivant un bouton (dans le mme scnario que textField_txt) afin darrter la tte de lecture du fichier SWF intgr.
on(press) { textField_txt.animation_mc.stop(); }

Cration dhyperliens partir dun mdia intgr Pour crer un hyperlien partir dun fichier JPEG, SWF ou dun clip intgr, incluez la balise <img> dans une balise <a> :
textField.htmlText = "Cliquez sur limage pour retourner la page daccueil<a href=accueil.htm><img src=accueil.jpg></a>";

Lorsque le pointeur de la souris survole une image, un fichier SWF ou un clip que vous avez plac entre des balises <a>, il prend la forme dune main , linstar des hyperliens standard. Linteractivit, telle que les clics de souris et la pression sur les touches du clavier, nest pas enregistre dans les fichiers SWF et les clips placs entre les balises <a>.

Cration de texte dfilant


Il existe plusieurs manires de crer du texte dfilant dans Flash. Pour faire dfiler des champs de texte dynamique et de saisie, vous pouvez slectionner loption Dfilant dans le menu Texte ou le menu contextuel, ou double-cliquer sur la poigne du bloc de texte tout en maintenant la touche Maj enfonce. Vous pouvez utiliser les proprits scroll et maxscroll de lobjet TextField pour contrler le dfilement vertical et les proprits hscroll et maxhscroll pour contrler le dfilement horizontal dun bloc de texte. Les proprits scroll et hscroll spcifient respectivement les positions de dfilement vertical et horizontal ; vous pouvez lire et rdiger ces proprits. Les proprits maxscroll et maxhscroll spcifient respectivement les positions verticales et horizontales maximales ; vous pouvez uniquement lire ces proprits. Le composant TextArea de Flash MX 2004 offre un moyen ais de crer un champ de texte dfilant avec un minimum de programmation. Pour plus dinformations, consultez lentre relative au composant TextArea, dans le guide Utilisation des composants de laide.
Pour crer un bloc de texte dynamique dfilant, effectuez lune des oprations suivantes :

Double-cliquez sur la poigne du bloc de texte dynamique tout en maintenant la touche maj
enfonce. Slectionnez le bloc de texte dynamique laide de loutil Flche et choisissez Texte > Dfilant. Slectionnez le bloc de texte dynamique avec loutil Flche. Cliquez avec le bouton droit de la souris (Windows) ou cliquez en appuyant sur la touche Control (Macintosh) sur le bloc de texte dynamique, puis slectionnez Texte > Dfilant.

Pour utiliser la proprit scroll afin de crer du texte dfilant :

1 Effectuez lune des oprations suivantes :

Slectionnez loutil Texte et tracez un champ de texte sur la scne. Affectez le nom doccurrence textField au champ de texte dans linspecteur des proprits.

158

Chapitre 8 : Utilisation du texte

Utilisez ActionScript pour crer un champ de texte dynamiquement laide de la mthode MovieClip.createTextField(). Affectez le nom doccurrence textField au champ de texte en tant que paramtre de la mthode. 2 Crez un bouton Vers le haut et un bouton Vers le bas ou choisissez Fentre > Autres panneaux > Bibliothques communes > Boutons, puis faites glisser vos boutons sur la scne. Vous utiliserez ces boutons pour faire dfiler le texte vers le haut et vers le bas. 3 Slectionnez le bouton Vers le bas sur la scne. 4 Dans le panneau Actions (Fentre > Panneaux de dveloppement > Actions), entrez le code suivant pour faire dfiler le texte vers le bas dans le champ de texte :

on (press) { textField.scroll += 1; }

5 Slectionnez le bouton Vers le haut sur la scne. 6 Dans le panneau Actions, entrez le code suivant pour faire dfiler le texte vers le haut :
on (press) { textField.scroll += 1; } Close collapsed procedure

Cration de texte dfilant

159

160

Chapitre 8 : Utilisation du texte

CHAPITRE 9 Cration de classes avec ActionScript 2.0

ActionScript 2.0 est une restructuration du langage ActionScript. Il offre de nouvelles fonctions de programmation, dj disponibles dans dautres langages, tels que Java. ActionScript 2.0 encourage les structures de programme rutilisables, volutives, robustes et pouvant tre gres. Il permet galement de rduire le temps imparti au dveloppement, en offrant aux utilisateurs une aide la programmation et des informations de dbogage approfondies. ActionScript 2.0 respecte les normes existantes. Il est bas sur le projet ECMAScript 4 (www.mozilla.org/js/language/es4/). ActionScript 2.0 est disponible dans Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004. Les fonctionnalits dActionScript 2.0 sont dcrites ci-dessous.
Modle familier de programmation oriente objet (OOP) La principale fonction dActionScript 2.0 est un modle familier pour la cration de programmes orients objet. ActionScript 2.0 introduit plusieurs nouveaux concepts et mots-cls orients objet, tels que class, interface et packages qui vous sembleront familiers si vous avez dj programm en Java.

Le modle OOP dActionScript 2.0 est une formalisation syntaxique de la mthode de chanage de prototype utilise dans les prcdentes versions de Macromedia Flash pour crer des objets et tablir une relation dhritage. ActionScript 2.0 vous permet galement de spcifier explicitement des types de donnes pour les variables, paramtres de fonction et types de retour de fonction. Par exemple, le code suivant dclare une variable appele nomDutilisateur de type chane (un type de donnes ActionScript intgr ou une classe).
Typage strict des donnes var nomDutilisateur:String = "";

Les deux prcdentes fonctions Avertissements et messages derreur du compilateur permettent loutil de programmation et au compilateur de gnrer des avertissements et messages derreur qui vous aident localiser les bogues de vos applications dans Flash plus rapidement quauparavant.
Attention : Si vous souhaitez utiliser la syntaxe dActionScript 2.0, vrifiez que les paramtres de publication du fichier FLA indiquent ActionScript 2.0. Il sagit de la configuration par dfaut pour les fichiers crs dans Flash MX 2004. Toutefois, si vous ouvrez un ancien fichier FLA qui utilise ActionScript 1 et que vous commencez le rcrire dans ActionScript 2.0, vous devez rgler les paramtres de publication du fichier FLA sur ActionScript 2.0. Sinon, votre fichier FLA ne sera pas compil correctement et aucune erreur ne sera gnre.

161

Principes de la programmation oriente objet


Cette section est une rapide introduction aux principes du dveloppement de programmes orients objet. Ces principes sont prsents de faon plus approfondie dans le prsent chapitre ; leur implmentation dans Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004 est notamment explique en dtail. Objets Pensez un objet du monde rel, un chat, par exemple. Supposons quun chat ait des proprits (ou tats) telles que nom, ge et couleur, et des comportements tels que dormir, manger et ronronner. Dans le monde de la programmation oriente objet, les objets ont galement des proprits et des comportements. En utilisant les techniques de programmation oriente objet, vous pouvez modeler un objet du monde rel (comme un chat) ou quelque chose de plus abstrait (un processus chimique, par exemple). Classes et membres de classe Continuons, si vous le voulez bien, avec lanalogie du monde rel. Supposons quil existe des chats de couleur, dge et de nom diffrents, qui mangent et ronronnent de faon diffrente. Mais tous les chats appartiennent une certaine classe dobjet, un objet de type chat . Chaque chat (monde rel), considr individuellement, est une occurrence du type de la classe chat. De la mme faon, dans la programmation oriente objet, une classe dfinit un modle pour un type dobjet. Les caractristiques et comportements qui appartiennent une classe sont appels membres de cette classe. Les caractristiques (dans lexemple du chat, nom, ge et couleur) sont appeles proprits de la classe. Elles sont reprsentes sous forme de variables. Les comportements (manger, dormir) sont appels mthodes de la classe ; ils sont reprsents sous forme de fonctions. Par exemple, vous pouvez crer une classe Personne, puis crer une personne individuelle correspondant une occurrence de cette classe, appele objet Personne. Lobjet Personne contient lensemble des proprits et mthodes de la classe Personne. Dans ActionScript, vous dfinissez une classe laide de linstruction class (consultez Cration et utilisation de classes, page 167). ActionScript inclut plusieurs classes intgres, telles que les classes MovieClip, TextField et String. Pour plus dinformations, consultez le Chapitre 6, Utilisation des classes intgres, page 117. Hritage Lun des principaux avantages de la programmation oriente objet est que vous pouvez crer des sous-classes de classe. La sous-classe hrite alors de lensemble des proprits et mthodes de la superclasse. La sous-classe dfinit en gnral des mthodes et proprits supplmentaires ou permet dtendre la superclasse. Les sous-classes peuvent galement supplanter (apporter leurs propres dfinitions) des mthodes hrites dune superclasse. Par exemple, vous crez une classe Mammifre qui dfinit certaines proprits et certains comportements communs tous les mammifres. Vous pouvez alors crer une classe Chat qui permet dtendre la classe Mammifre. De cette manire, lhritage peut promouvoir la rutilisation du code : au lieu de crer nouveau le code commun aux deux classes, il vous suffit dtendre la classe existante. Une autre sous-classe peut, son tour, tendre la classe Chat, et ainsi de suite. Dans une application complexe, la dfinition de la structure hirarchique des classes reprsente une grande partie du processus de cration.

162

Chapitre 9 : Cration de classes avec ActionScript 2.0

Dans ActionScript, utilisez le mot-cl extends pour crer une relation dhritage entre une classe et sa superclasse. Pour plus dinformations, consultez Cration de sous-classes, page 169. Interfaces Les interfaces, dans le cadre de la programmation oriente objet, peuvent tre dcrites comme des classes dont les mthodes ne sont pas implmentes (dfinies). Une autre classe peut implmenter les mthodes dclares par linterface. Une interface peut galement tre vue comme un contrat de programmation pouvant tre utilis pour appliquer des relations entre des classes sans lien. Par exemple, supposons que vous travaillez avec une quipe de programmeurs et que chacun de vous travaille sur une partie (classe) diffrente de la mme application. Lors de la ralisation de lapplication, vous vous mettez daccord sur un ensemble de mthodes que les diffrentes classes utiliseront pour communiquer. Ainsi, vous crez une interface qui dclare ces mthodes, leurs paramtres et leurs types de retour. Toute classe qui implmente cette interface doit fournir des dfinitions pour ces mthodes ; dans le cas contraire, une erreur du compilateur se produira. Vous pouvez galement utiliser les interfaces pour crer une forme limite d hritage multiple , ce qui nest pas autoris dans ActionScript 2.0. Dans le cas dun hritage multiple, une classe stend sur plusieurs classes. Par exemple, en C++, la classe Chat peut tendre la classe Mammifre, ainsi que la classe Espigle, qui a les mthodes CourirAprsQueue et FaireUnSomme. ActionScript 2.0, comme Java, nautorise pas quune classe tende plusieurs classes directement. Toutefois, vous pouvez crer une interface Espigle qui dclare les mthodes CourirAprsQueue et FaireUnSomme. Une classe Chat ou toute autre classe peut alors implmenter cette interface et fournir des dfinitions pour ces mthodes. Pour plus dinformations, consultez Cration dune interface, page 174.

Utilisation des classes : un exemple simple


Pour ceux qui dbutent dans la programmation oriente objet, cette section est une prsentation des tches lies la cration et lutilisation des classes dans Flash. Le flux de travail implique les tapes suivantes (au minimum) :
1 Dfinition dune classe dans un fichier de classe ActionScript externe. 2 Enregistrement du fichier de classe dans un rpertoire de chemin de classe dsign (un

emplacement o Flash va chercher les classes).


3 Cration dune occurrence de la classe dans un autre script, soit dans un document Flash (FLA),

soit dans un fichier de script externe, ou cration dune sous-classe base sur la classe dorigine. Cette section prsente galement une nouvelle fonction dActionScript 2.0, appele typage strict des donnes. Elle vous permet de spcifier le type de donnes dune variable, dun paramtre de fonction ou dun type de renvoi de fonction. Bien que cette section naborde que les classes, le droulement gnral du travail est le mme pour lutilisation des interfaces. Pour plus dinformations, consultez Cration et utilisation dinterfaces, page 173.

Utilisation des classes : un exemple simple

163

Cration dun fichier de classe Pour crer une classe, vous devez tout dabord crer un fichier ActionScript (AS) externe. Classes (et interfaces) peuvent uniquement tre dfinies dans des fichiers de script externes. Par exemple, vous ne pouvez pas dfinir une classe dans un script associ une image ou un bouton dans un document Flash (FLA). Pour crer un fichier AS externe, utilisez lditeur ActionScript inclus dans Flash, ou lditeur de code ou de texte de votre choix.
Remarque : Le code ActionScript dans les fichiers externes est compil dans un fichier SWF lors de la publication, de lexportation, du test ou du dbogage dun fichier FLA. Cela signifie que si vous apportez des modifications un fichier externe, vous devez enregistrer le fichier et recompiler tous les fichiers FLA qui lutilisent.

Dans les tapes suivantes, vous allez crer une classe appele Personne, contenant deux proprits (ge et nom) et une seule mthode (showInfo()) qui affiche les valeurs de ces proprits dans le panneau de sortie.
Pour crer le fichier de classe :

1 Crez un nouveau rpertoire sur votre disque dur et nommez-le FichiersPersonne. Ce rpertoire

comprendra tous les fichiers de ce projet.


2 Effectuez lune des oprations suivantes :

Crez un fichier dans lditeur de texte ou de code de votre choix. (Flash MX Professionnel uniquement) Pour ouvrir la bote de dialogue Nouveau document, choisissez Fichier > Nouveau, choisissez Fichier ActionScript dans la liste des types de fichier, puis cliquez sur OK. La fentre de script souvre sur un fichier vide. 3 Enregistrez le fichier sous Personne.as dans le rpertoire FichiersPersonne. 4 Dans la fentre de script, entrez le code suivant :

class Personne { }

Cela sappelle la dclaration de classe. Dans sa forme la plus simple, une dclaration de classe comprend le mot-cl class, suivi du nom de la classe (Personne, dans ce cas), puis des accolades douverture et de fermeture ({}). Tout ce qui est compris dans les accolades est appel corps de la classe et cest cet endroit que les proprits et mthodes de la classe sont dfinies.
Remarque : Le nom de la classe (Personne) correspond au nom du fichier AS qui la contient (Personne.as). Cela est trs important. Si ces deux noms ne correspondent pas, la compilation de classe choue.

5 Pour crer les proprits de la classe Personne, utilisez le mot-cl var pour dfinir deux variables

appeles ge et nom, comme indiqu ci-dessous.

164

Chapitre 9 : Cration de classes avec ActionScript 2.0

class Personne { var ge:Number; var nom:String; } Conseil : Par convention, les proprits de la classe sont dfinies au-dessus du corps de la classe, ce qui facilite la comprhension du code. Mais ce nest pas obligatoire.

Notez bien la prsence des deux-points dans la syntaxe (var ge:Number et var nom:String) utilise pour la dclaration des variables. Ceci est un exemple de typage strict des donnes. Lorsque vous tapez une variable de cette faon, (var nomDeVariable:TypeDeVariable), le compilateur ActionScript 2.0 sassure que la valeur affecte cette variable correspond au type spcifi. Bien que cette syntaxe ne soit pas obligatoire, il est recommand de la respecter. Elle peut dailleurs vous permettre de dboguer plus facilement vos scripts. Pour plus dinformations, consultez Typage strict des donnes, page 40. 6 Ensuite, crez la mthode showInfo(), qui renvoie une chane pr-formate contenant les valeurs des proprits ge et nom. Ajoutez la dfinition de fonction showInfo() au corps de la classe, comme indiqu ci-dessous.
class Personne { var ge:Number; var nom:String; // Mthodes pour renvoyer les valeurs des proprits function showInfo():String { return("Bonjour, je mappelle" + nom + " et jai " + ge + " ans."); } }

Notez lutilisation du typage des donnes (facultatif, mais recommand) dans la dfinition de la fonction.
function showInfo():String {...}

Dans ce cas, cest la valeur renvoye (chane) de la fonction showInfo() qui est type. 7 La dernire partie de code que vous ajoutez dans cette section concerne une fonction spciale appele fonction constructeur. En programmation oriente objet, la fonction constructeur initialise toutes les nouvelles occurrences dune classe. La fonction constructeur a toujours le mme nom que la classe. Pour crer la fonction constructeur de la classe, ajoutez le code suivant :
class Personne { var ge:Number; var nom:String; // Mthodes pour renvoyer les valeurs des proprits function showInfo():String { return("Bonjour, je mappelle " + nom + " et jai " + ge + " ans."); } // Fonction constructeur function Personne (monNom:String, monAge:Number) { nom = monNom; ge = monAge; } }

Utilisation des classes : un exemple simple

165

La fonction constructeur Personne() prend en compte deux paramtres, monNom et monAge, et affecte ces paramtres aux proprits nom et ge. Les deux paramtres de la fonction sont strictement typs, respectivement comme chane et nombre. Pour plus dinformations sur les fonctions constructeur, consultez Fonctions constructeur, page 170.
Remarque : Si vous ne crez pas de fonction constructeur, une fonction constructeur vide est automatiquement cre pendant la compilation.

8 Enregistrez le fichier sous Personne.as dans le rpertoire FichiersPersonne que vous avez cr

ltape 1. Si vous utilisez Flash MX 2004 (et non Flash Professionnel), passez la section suivante. 9 (Flash Professionnel uniquement) Vrifiez la syntaxe du fichier de classe en choisissant Outils > Vrifier la syntaxe, ou en appuyant sur Ctrl+T (Windows) ou Commande+T (Macintosh). Si des erreurs sont signales dans le panneau de sortie, comparez le code de votre script au code final de ltape 7, ci-dessus. Si vous ne pouvez pas corriger les erreurs de code, copiez le code termine ltape 7, partir de panneau daide. Cration dune occurrence de la classe Personne Ltape suivante permet de crer une occurrence de la classe Personne dans un autre script, tel quun script dimage dans un document Flash (FLA) ou dans un autre script AS, et de laffecter une variable. Pour crer une occurrence de classe personnalise, utilisez loprateur new, comme pour crer une occurrence de classe ActionScript intgre (telle que les classes XML ou TextField). Par exemple, le code suivant cre une occurrence de la classe Personne et laffecte la variable nouvellePersonne.
var nouvellePersonne:Person = new Personne("Nadine", 32);

Cette classe invoque la fonction constructeur de la classe Personne, en transmettant comme paramtres les valeurs "Nadine" et 32. La variable nouvellePersonne est type en tant quobjet Personne. Cette manire de typer les objets permet au compilateur de sassurer que vous nessayez pas daccder aux proprits ou aux mthodes qui ne sont pas dfinies dans cette classe (sauf si vous dclarez que la classe est dynamique en utilisant le mot cl dynamic). Pour plus dinformations, consultez Cration de classes dynamiques, page 180.
Pour crer une occurrence de la classe Personne dans un document Flash :

1 Dans Flash, choisissez Fichier > Nouveau, choisissez Document Flash dans la liste des types de

documents, et cliquez sur OK.


2 Enregistrez le fichier sous crerPersonne.fla dans le rpertoire FichiersPersonne que vous avez

cr prcdemment.
3 Dans le scnario, choisissez Calque 1, puis ouvrez le panneau Actions (Fentre > Panneaux de

dveloppement > Actions).


4 Dans le panneau Actions, entrez le code suivant :
var Personne_1:Person = new Personne("Nadine", 32); var personne_2:Person = new Personne("Julie", 28); trace(personne_1.showInfo()); trace(personne_2.showInfo());

Le code ci-dessus permet de crer deux occurrences de la classe Personne, personne_1 et personne_2, et dappeler la mthode showInfo() sur chaque occurrence.

166

Chapitre 9 : Cration de classes avec ActionScript 2.0

5 Enregistrez votre travail, puis choisissez Contrle > Tester lanimation. Les informations

suivantes doivent safficher dans le panneau de sortie :


Bonjour, je mappelle Nadine et jai 32 ans. Bonjour, je mappelle Julie et jai 28 ans.

Lorsque vous crez une occurrence de classe en appelant sa fonction constructeur, Flash recherche un fichier AS portant le mme nom que le constructeur dans un ensemble prdtermin demplacements de rpertoires. Cet ensemble demplacements de rpertoires est appel chemin de classe (consultez Comprhension du chemin de classe, page 175). A prsent, vous devriez avoir une vision globale de la cration et de lutilisation des classes dans les documents Flash. La suite de ce chapitre aborde plus en dtail les classes et les interfaces.

Cration et utilisation de classes


Comme nous avons lavons vu prcdemment, une classe se compose de deux parties : la dclaration et le corps. La dclaration de la classe comporte au minimum linstruction class, suivie de lidentifiant du nom de la classe, puis des accolades douverture et de fermeture. Tout ce qui est compris dans les accolades constitue le corps de la classe.
class nomDeLaClasse { // corps de la classe }

Vous pouvez dfinir des classes uniquement dans des fichiers ActionScript (AS). Par exemple, vous ne pouvez pas dfinir de classe sur un script dimage dans un fichier FLA. De mme, le nom de la classe spcifie doit correspondre au nom du fichier AS qui contient la classe. En ce sens, si vous crez une classe Shape, le fichier AS qui contient la dfinition de la classe doit sappeler Shape.as.
// Dans le fichier Shape.as class Shape { // Corps de la classe Shape }

Tous les fichiers de classe AS que vous crez doivent tre enregistrs dans lun des rpertoires dsigns du chemin de classe (rpertoires dans lesquels Flash recherche les dfinitions de classe lors de la compilation des scripts). Pour plus dinformations, consultez Comprhension du chemin de classe, page 175. Les noms de classes doivent tre des identifiants ; ainsi, le premier caractre doit tre une lettre, un soulignement (_), ou le signe dollar ($), et chaque caractre suivant doit tre une lettre, un nombre, ou le signe dollar. En outre, le nom de classe doit tre entirement qualifi dans le fichier dans lequel il est dclar : il doit indiquer le nom du rpertoire dans lequel il est enregistr. Par exemple, pour crer une classe nomme ClasseRequise enregistre dans le rpertoire myClasses/ education/curriculum, vous devez dclarer cette classe dans le fichier ClasseRequise.as de la manire suivante :
classe myClasses.education.curriculum.ClasseRequise { }

De ce fait, il est recommander de planifier votre structure de rpertoires avant de commencer la cration de classes. En effet, si vous dcidez de dplacer les fichiers de classe aprs leur cration, vous devrez modifier les instructions de dclaration de classe pour indiquer leur nouvel emplacement.

Cration et utilisation de classes

167

Cration de proprits et de mthodes Les membres dune classe se composent des proprits (dclarations de variables) et des mthodes (dclarations de fonctions). Vous devez dclarer toutes les proprits et mthodes dans le corps de la classe (entre les accolades) ; sinon une erreur se produira lors de la compilation. Toute variable dclare dans une classe, mais en dehors dune fonction, est une proprit de la classe. Par exemple, la classe Personne, dont il tait question prcdemment, a deux proprits, ge et nom, respectivement de type chane et nombre.
class Personne { var ge:Number; var nom:String; }

De la mme faon, toute fonction dclare dans une classe est considre comme tant une mthode de cette classe. Dans lexemple de la classe Personne, vous aviez cr une mthode unique appele showInfo().
class Personne { var ge:Number; var nom:String; function showInfo() { // dfinition de la mthode showInfo() } }

Initialisation de proprits en ligne Vous pouvez initialiser des proprits en ligne, cest--dire lorsque vous les dclarez, avec des valeurs par dfaut, comme lillustre lexemple suivant :
class Personne { var ge:Number = 50; var nom:String = "Jean Dubuste"; }

Lorsque vous initialisez des proprits en ligne, lexpression du ct droit de laffectation doit tre une constante de compilation. Cest dire que lexpression ne peut pas faire rfrence un lment paramtr ou dfini au moment de lexcution. Les constantes de compilation comprennent les chanes littrales, les nombres, les valeurs boolennes, null et undefined, ainsi que les fonctions constructeur pour les classes intgres suivantes : Array, Boolean, Number, Object et String. Par exemple, la dfinition de classe suivante initialise plusieurs proprits en ligne :
class var var var var var CompileTimeTest { truc:String = "mon truc"; // OK barre:Number = 5; // OK bool:Boolean = true; // OK nom:String = new String("Julie"); // OK qui:String = truc; // OK, car truc est une constante

var whee:String = maFonc(); // erreur ! il ne sagit pas dune expression constante de compilation var lala:Number = whee; // erreur ! il ne sagit pas dune expression constante de compilation var star:Number = bar + 25; // OK, bar et 25 sont des constantes function maFonc() { return "Bonjour monde";

168

Chapitre 9 : Cration de classes avec ActionScript 2.0

} }

Cette rgle sapplique uniquement aux variables doccurrence (variables copies dans chaque occurrence dune classe). Elle ne sapplique pas aux variables de classe (variables qui appartiennent vritablement la classe). Pour plus dinformations sur ces variables, consultez Membres doccurrence et de classe, page 171. Cration de sous-classes Dans la programmation oriente objet, une sous-classe peut hriter des proprits et mthodes dune autre classe, appele superclasse. Pour crer ce type de relation entre deux classes, utilisez la clause extends de linstruction class. Pour spcifier une superclasse, utilisez la syntaxe suivante :
class SubClass extends SuperClasse {}

La classe que vous avez spcifie dans SubClass hrite de toutes les proprits et mthodes dfinies par la superclasse. Par exemple, vous crez une classe Mammifre qui dfinit des proprits et mthodes communes tous les mammifres. Pour crer une variante de cette classe Mammifre, telle que la classe Marsupial, tendez la classe Mammifre, cest--dire que vous allez crer une sous-classe de la classe Mammifre.
class Marsupial extends Mammifre {}

La sous-classe hrite de toutes les proprits et mthodes de la superclasse, y compris des proprits ou des mthodes que vous avez dclares comme tant prives en utilisant le mot-cl private. (Pour plus dinformations sur les variables prives, consultez Contrle de laccs des membres, page 170.) Vous pouvez tendre vos propres classes personnalises, ainsi que toute classe ActionScript intgre, telle que XML, Sound ou MovieClip. Lorsque vous tendez une classe ActionScript intgre, votre classe personnalise hrite de toutes les mthodes et proprits de la classe intgre. Par exemple, le code suivant dfinit la classe JukeBox, qui tend la classe Son intgre. Il dfinit un tableau appel listeChansons et une mthode appele litChanson() qui permet de lire une chanson et dinvoquer la mthode chargeSon(), dont il hrite de la classe Son.
class JukeBox extends Son { var listeChansons:Array = new Array("beethoven.mp3", "bach.mp3", "mozart.mp3"); function litChanson(songID:Number) { this.chargeSon(listeChansons[songID]); } }

Si vous ne placez pas un appel super() dans la fonction constructeur dune sous-classe, le compilateur gnre automatiquement un appel au constructeur de sa superclasse immdiate, sans paramtre, en tant que premire instruction de la fonction. Si la superclasse na pas de constructeur, le compilateur cre une fonction constructeur vide, puis gnre un appel cette fonction partir de la sous-classe. Cependant, si une super-classe prend des paramtres dans sa dfinition, vous devez crer un constructeur dans la sous-classe et appeler la super-classe avec les paramtres requis. Lhritage multiple ou lhritage partir de plus dune classe nest pas autoris. Toutefois, les classes peuvent effectivement hriter de plusieurs classes, si vous utilisez des instructions extends individuelles :
// non autoris

Cration et utilisation de classes

169

class C extends A, B {} // autoris class B extends A {} class C extends A, B {}

Vous pouvez galement utiliser le mot-cl extends pour crer les sous-classes dune interface :
interface iA extends interface iB {}

Fonctions constructeur Un constructeur de classe est une fonction spciale appele automatiquement lorsque vous crez une occurrence de classe en utilisant loprateur new. La fonction constructeur porte le mme nom que la classe qui la contient. Par exemple, la classe Personne cre plus haut contenait la fonction constructeur suivante :
// Fonction constructeur de la classe Personne function Personne (monNom:String, monAge:Number) { nom = monNom; ge = monAge; }

Si aucune fonction constructeur nest explicitement dclare, cest--dire, si vous ne crez pas de fonction dont le nom correspond celui de la classe, le compilateur cre automatiquement une fonction constructeur vide. Une classe ne peut contenir quune fonction constructeur ; les fonctions constructeur surcharges ne sont pas autorises dans ActionScript 2.0. Contrle de laccs des membres Par dfaut, toute proprit ou mthode de classe est accessible toute autre classe : tous les membres dune classe sont considrs, par dfaut, comme publics. Toutefois, dans certains cas, vous pouvez souhaiter que dautres classes naient pas accs aux donnes ou aux mthodes dune classe. Vous devez alors faire en sorte que ces membres deviennent privs, cest--dire disponibles uniquement pour la classe qui les dclare ou qui les dfinit. Pour spcifier des membres publics ou privs, utilisez lattribut de membre public ou private. Par exemple, le code suivant dclare une variable prive (une proprit) et une mthode prive (une fonction). Par exemple, la classe suivante (LoginClass) dfinit une proprit prive nomme nomDutilisateur et une mthode prive nomme getNomDutilisateur().
classe LoginClass { private var nomDutilisateur:String; private function getNomDutilisateur() { return nomDutilisateur; } //constructeur : function LoginClass(user:String) { this.userName = user; } }

170

Chapitre 9 : Cration de classes avec ActionScript 2.0

Les membres privs (proprits et mthodes) sont uniquement accessibles la classe qui dfinit ces membres et aux sous-classes de cette classe dorigine. Les occurrences de la classe dorigine ou celles des sous-classes de cette classe ne peuvent pas accder aux proprits et mthodes dclares en priv ; cest--dire que les membres privs ne sont accessibles quau sein des dfinitions de classe, et non au niveau des occurrences. Par exemple, vous pouvez crer une sous-classe de la classe LoginClass nomme NewLoginClass. Cette sous-classe peut accder la proprit (nomDutilisateur) et la mthode (getnomDutilisateur()) prives dfinies par LoginClass.
class NewLoginClass extends LoginClass { // peut accder nomDutilisateur et getnomDutilisateur() }

Cependant, une occurrence de LoginClass ou de NewLoginClass ne peut pas accder aux membres privs. Par exemple, le code suivant, ajout un script dimage dans un fichier FLA, engendrerait une erreur du compilateur indiquant que getnomDutilisateur() est priv et quil est impossible dy accder.
var loginObject:LoginClass = new LoginClass("Maxwell"); var utilisateur = loginObject.getUserName();

Notez galement que le contrle de laccs des membres est une fonction de compilation uniquement ; lexcution, Flash Player ne fait aucune distinction entre les membres publics et privs.

Membres doccurrence et de classe


Dans la programmation oriente objet, les membres (proprits ou mthodes) dune classe peuvent tre soit des membres doccurrence, soit des membres de classe. Les membres doccurrence sont crs pour chaque occurrence de la classe et sont copis dans chacune dentre elles. En revanche, les membres de classe sont crs une seule fois par classe (ils sont galement appels membres statiques). Pour invoquer une mthode doccurrence ou accder une proprit doccurrence, faites rfrence une occurrence de la classe. Par exemple, le code suivant permet dinvoquer la mthode showInfo() sur une occurrence de la classe MovieClip appele clip_mc:
clip_mc.showInfo();

Toutefois, les membres de classe (statiques) sont affects la classe elle-mme et non nimporte quelle occurrence de la classe. Pour invoquer une mthode de classe ou accder une proprit de classe, faites rfrence au nom de la classe plutt qu une occurrence spcifique de la classe :
nomDeLaClasse.membreDeLaClasse;

Par exemple, la classe Math ActionScript comprend uniquement des mthodes et des proprits statiques. Pour appeler ses mthodes, au lieu de crer une occurrence de la classe Math, appelez tout simplement les mthodes de la classe Math. Le code suivant appelle la mthode sqrt() de la classe Math :
var racine_carre:Number = Math.sqrt(4);

Les membres doccurrence peuvent lire des membres statiques, mais ne peuvent pas les crire. Les membres doccurrence ne sont pas numrables dans les boucles for ou for..in.

Membres doccurrence et de classe

171

Cration des membres de classe Pour spcifier quune proprit de classe est statique, utilisez le modificateur static, comme indiqu ci-dessous.
static var nomDeLaVariable;

Vous pouvez galement dclarer des mthodes de classe statiques.


static function nomDeLaFonction() { // corps de la fonction }

Les mthodes de classe (statiques) peuvent accder uniquement aux proprits de classe (statiques). Elles nont pas accs aux proprits doccurrence. Par exemple, le code suivant gnre une erreur de compilation, car la mthode de classe getName() fait rfrence au nom de variable de loccurrence.
class StaticTest { var nom="Ted"; static function getName() { var nom_local = name; // Erreur ! Il est impossible daccder aux variables doccurrence dans des fonctions statiques. } }

Pour rsoudre ce problme, vous pouvez soit faire de la mthode une mthode doccurrence, soit faire de la variable une variable de classe. Utilisation de membres de classe : un exemple simple Vous pouvez notamment utiliser des membres de classe (statiques) pour conserver les informations dtat sur une classe et ses occurrences. Supposons par exemple que vous souhaitez consigner le nombre doccurrences cres partir dune classe donne. Vous pouvez facilement y parvenir en utilisant une proprit de classe qui est incrmente chaque cration dune nouvelle occurrence. Dans lexemple suivant, vous crez une classe nomme Gadget qui dfinit un compteur doccurrence statique unique nomm compteurGadget. A chaque cration dune nouvelle occurrence de la classe, la valeur de compteurGadget est incrmente de 1 et la valeur courante de compteurGadget est affiche dans la panneau de sortie.
Pour crer un compteur doccurrence en utilisant une variable de classe :

1 Crez un nouveau fichier ActionScript (AS). 2 Ajoutez le code suivant au fichier :


class Gadget { static var compteurGadget:Number = 0; // initialisez la variable de classe function Gadget() { trace("Cration de gadget #" + compteurGadget); compteurGadget++; } }

La variable compteurGadget est dclare comme statique, et est initialise 0 une seule fois. Chaque fois que la fonction constructeur de la classe Gadget est appele, elle ajoute 1 compteurGadget puis affiche le numro de loccurrence en cours de cration.

172

Chapitre 9 : Cration de classes avec ActionScript 2.0

3 Enregistrez votre fichier sous Gadget.as. 4 Crez un nouveau document Flash (FLA) et enregistrez-le sous createGadget.fla dans le mme

rpertoire que Gadget.as. Dans ce fichier, vous crerez de nouvelles occurrences de la classe Gadget. 5 Dans createGadget.fla, slectionnez le calque 1 dans le scnario et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 6 Ajoutez le code suivant au panneau Actions.
//Avant de crer une occurrence de la classe, //compteurGadget est zro (0) trace("Compteur Gadget au dmarrage : " + Gadget.compteurGadget); var gadget_1 = new Gadget(); var gadget_2 = new Gadget(); var gadget_3 = new Gadget();

7 Enregistrez le fichier, puis testez-le (Contrle > Tester lanimation).

Les informations suivantes doivent safficher dans le panneau de sortie :


Compteur Creating Creating Creating Gadget gadget gadget gadget au dmarrage : 0 # 0 # 1 # 2

Membres et sous-classes de classes Les membres de classe se propagent dans les sous-classes de la superclasse qui dfinit ces membres. Dans lexemple prcdent (consultez Utilisation de membres de classe : un exemple simple, page 172), vous avez utilis une proprit de classe pour consigner le nombre doccurrences de la classe que vous avez cre. Vous pouvez crer une sous-classe de la classe Gadget comme indiqu ci-dessous.
class SousGadget extends Gadget { function SousGadget() { trace("Cration de sousgadget # "+Gadget.compteurGadget); } }

Cration et utilisation dinterfaces


En programmation oriente objet, une interface est similaire une classe dont les mthodes ont t dclares, mais neffectuent aucune action. Une interface consiste en fait en des mthodes vides . Vous pouvez notamment utiliser les interfaces pour appliquer un protocole entre des classes nayant aucun rapport entre elles, comme expliqu ultrieurement. Supposons par exemple que vous faites partie dune quipe de programmeurs, dont chaque membre travaille sur une partie diffrente (cest--dire une classe diffrente) dune application volumineuse. La plupart de ces classes nont aucun rapport entre elles, mais il est tout de mme ncessaire quelles puissent communiquer les unes avec les autres. Vous devez dfinir une interface, ou protocole de communication, laquelle toutes les classes doivent adhrer.

Cration et utilisation dinterfaces

173

Pour y parvenir, vous pouvez crer une classe Communication qui dfinit toutes ces mthodes, puis faire en sorte que chaque classe tende cette superclasse, ou en hrite. Mais tant donn que lapplication se compose de classes nayant aucun rapport, il est inutile de toutes les placer dans une hirarchie de classe commune. Il est prfrable de crer une interface qui dclare les mthodes que ces classes utiliseront pour communiquer, puis que chaque classe implmente ces mthodes (fournisse ses propres dfinitions). Vous pouvez gnralement programmer de faon efficace sans utiliser les interfaces. Lorsquelles sont utilises de faon approprie, cependant, les interfaces peuvent rendre la conception de vos applications plus lgante, volutive et stable. Cration dune interface Le processus de cration dune interface est identique au processus de cration dune classe. Comme pour les classes, vous pouvez uniquement dfinir des interfaces dans des fichiers ActionScript (AS) externes. Dclarez une interface en utilisant le mot-cl interface suivi du nom de linterface et daccolades gauche et droite qui dfinissent le corps de linterface.
interface nomInterface { // dclarations de mthodes dinterface }

Une interface ne peut contenir que des dclarations de mthodes (fonction), y compris des paramtres, des types de paramtres et des types de renvoi de fonction. Par exemple, le code suivant dclare une interface nomme MonInterface qui contient deux mthodes, method_1() et method_2(). La premire mthode ne prend aucun paramtre et na pas de type de renvoi (spcifie comme Void). La deuxime dclaration de mthode ne prend quun seul paramtre de type String et spcifie un type de renvoi Boolean.
interface MonInterface { function method_1():Void; function method_2(param:String):Boolean; }

Les interfaces ne peuvent contenir aucune dclaration ou affectation de variable. Les fonctions dclares dans une interface de peuvent pas contenir daccolades. Par exemple, linterface suivante ne sera pas compile.
interface MauvaiseInterface{ // Erreur de compilation. Les dclarations de variables ne sont pas autorises dans les interfaces. var illegalVar; // Erreur de compilation. Les corps de fonctions ne sont pas autoriss dans les interfaces. function illegalMethod(){ } }

Les rgles daffectation de nom et de stockage des interfaces dans les paquets sont les mmes que celles des classes ; consultez Cration et utilisation de classes, page 167 et Utilisation de paquets, page 177.

174

Chapitre 9 : Cration de classes avec ActionScript 2.0

Interfaces comme types de donnes Tout comme une classe, une interface dfinit un nouveau type de donnes. Toute classe qui implmente une interface peut tre considre comme relevant du type dfini par linterface. Ceci est utile pour dterminer si un objet donn implmente une interface donne. Considrons par exemple linterface suivante.
interface Dplaable { function monter(); function descendre(); }

Considrons la classe Box qui implmente linterface Dplaable.


class Box implmente Dplaable { var x_pos, y_pos; function monter() { // dfinition de mthode } function descendre() { // dfinition de mthode } }

Ensuite, dans un autre script o vous crez une occurrence de la classe Box, vous dclarez quune variable est de type Dplaable.
var newBox:Movable = new Box();

A lexcution, dans Flash Player 7 et ses versions ultrieures, vous pouvez attribuer une expression un type dinterface. Si lexpression est un objet qui implmente linterface, ou si elle possde une superclasse qui implmente linterface, lobjet est renvoy. Dans le cas contraire, null est renvoy. Cela est particulirement utile si vous voulez vous assurer quun objet particulier implmente une interface particulire. Par exemple, le code suivant vrifie dabord si le nom de lobjet unObjet implmente linterface Dplaable avant dappeler la mthode moveUp() sur lobjet.
if(Movable(someObject) != null) { unObjet.moveUp(); }

Comprhension du chemin de classe


Pour utiliser une classe ou interface que vous avez dfinie, Flash doit tre capable de localiser les fichiers AS externes qui contiennent la dfinition de classe ou dinterface. La liste des rpertoires dans lesquels Flash recherche les dfinitions de classe et dinterface est appele chemin de classe. Lorsque vous crez un fichier de classe ActionScript, vous devez enregistrer le fichier dans lun des rpertoires spcifis dans le chemin de classe, ou dans lun de ses sous-rpertoires. (Vous pouvez modifier le chemin de classe pour inclure le chemin souhait ; consultez Modification du chemin de classe, page 176.) Sinon, Flash ne sera pas en mesure de rsoudre ou de localiser la classe ou linterface spcifie dans le script. Les sous-rpertoires que vous crez dans un rpertoire de chemin de classe sont appels paquets. Ils vous permettent dorganiser vos classes. Pour plus dinformations, consultez Utilisation de paquets, page 177.

Comprhension du chemin de classe

175

Chemins de classe globaux et au niveau du document Flash dispose de deux paramtres de chemin de classe : un chemin de classe global et un chemin de classe au niveau du document. Le chemin de classe global sapplique aux fichiers AS et FLA externes. Il est dfini dans la bote de dialogue Prfrences (Edition > Prfrences). Le chemin de classe au niveau du document sapplique uniquement aux fichiers FLA. Il est dfini dans la bote de dialogue Paramtres de publication (Fichier > Paramtres de publication) pour un fichier FLA donn. Par dfaut, le chemin de classe global contient deux chemins de rpertoires : un chemin relatif qui pointe vers le rpertoire contenant le document courant et un autre vers le rpertoire Classes situ dans le rpertoire de configuration utilisateur install avec Flash. Lemplacement de ce rpertoire est le suivant :

Windows 2000 ou Windows XP : C:\Documents and Settings\<utilisateur>\Local


Settings\Application Data\Macromedia\Flash MX2004\<langue>\Configuration\ Windows 98 : C:\Windows\Application Data\Macromedia\Flash MX 2004\ <langue>\Configuration\ Mac OS X : Disque dur/Users/Library/Application Support/Macromedia/Flash MX 2004/ <langue>/Configuration/

Le chemin de classe au niveau du document est vide par dfaut. Rsolution des rfrences de classe par le compilateur Lorsque Flash tente de rsoudre les rfrences de classe dans un script FLA, il recherche tout dabord le chemin de classe au niveau du document spcifi pour ce FLA. Si la classe nest pas trouve dans ce chemin de classe, ou si le chemin de classe est vide, Flash effectue une recherche dans le chemin de classe global. Si la classe nest pas trouve dans le chemin de classe global, une erreur de compilation se produit. Lorsque Flash tente de rsoudre les rfrences de classe dans un script AS, il effectue uniquement une recherche dans les rpertoires du chemin de classe global, tant donn que les fichiers AS ne possdent pas de chemin de classe de document qui leur soit associ. Modification du chemin de classe Vous pouvez modifier le chemin de classe global laide de la bote de dialogue Prfrences. Pour modifier le paramtre de chemin de classe au niveau du document, utilisez la bote de dialogue Paramtres de publication pour le fichier FLA. Vous pouvez ajouter des chemins de rpertoires absolus (par exemple C:/mes_classes) et des chemins de rpertoires relatifs (par exemple, ..\mes_classes ou . ). Par dfaut, le chemin de classe global contient un chemin absolu (le rpertoire Classes dans le rpertoire de configuration utilisateur) et un chemin de classe relatif, symbolis par un point unique (.), qui pointe vers le rpertoire du document en cours. Notez que les chemins de classe relatifs peuvent pointer vers des rpertoires diffrents, en fonction de lemplacement du document compil ou publi. Pour plus dinformations, consultez Chemins de classe globaux et au niveau du document, page 176.
Pour modifier le chemin de classe global :

1 Choisissez Edition > Prfrences pour ouvrir la bote de dialogue Prfrences. 2 Cliquez sur longlet ActionScript, puis cliquez sur le bouton Paramtres dActionScript 2.0.

176

Chapitre 9 : Cration de classes avec ActionScript 2.0

3 Effectuez lune des oprations suivantes :

Pour ajouter un rpertoire au chemin de classe, cliquez sur le bouton Rechercher le chemin, ouvrez le rpertoire que vous souhaitez ajouter et cliquez sur OK. Vous pouvez galement cliquer sur le bouton Ajouter un nouveau chemin (+) pour ajouter une nouvelle ligne dans la liste Chemin de classe. Double-cliquez sur la nouvelle ligne, tapez un chemin relatif ou absolu et cliquez sur OK. Pour modifier un rpertoire de chemin de classe existant, slectionnez le chemin dans la liste Chemin de classe, cliquez sur le bouton Rechercher le chemin, ouvrez le rpertoire que vous souhaitez ajouter et cliquez sur OK. Vous pouvez galement double-cliquer sur le chemin dans la liste Chemin de classe, taper le chemin dsir et cliquer sur OK. Pour supprimer un rpertoire du chemin de classe, slectionnez le chemin dans la liste Chemin de classe, et cliquez sur le bouton Supprimer du trajet.

Pour modifier le chemin de classe au niveau du document :

1 Choisissez Fichier > Paramtres de publication pour ouvrir la bote de dialogue Paramtres de

publication.
2 Cliquez sur longlet Flash. 3 Cliquez sur le bouton Paramtres en regard du menu droulant Version dActionScript. 4 Effectuez lune des oprations suivantes :

Pour ajouter un rpertoire au chemin de classe, cliquez sur le bouton Rechercher le chemin, ouvrez le rpertoire que vous souhaitez ajouter et cliquez sur OK. Vous pouvez galement cliquer sur le bouton Ajouter un nouveau chemin (+) pour ajouter une nouvelle ligne dans la liste Chemin de classe. Double-cliquez sur la nouvelle ligne, tapez un chemin relatif ou absolu et cliquez sur OK. Pour modifier un rpertoire de chemin de classe existant, slectionnez le chemin dans la liste Chemin de classe, cliquez sur le bouton Rechercher le chemin, ouvrez le rpertoire que vous souhaitez ajouter et cliquez sur OK. Vous pouvez galement double-cliquer sur le chemin dans la liste Chemin de classe, taper le chemin dsir et cliquer sur OK. Pour supprimer un rpertoire du chemin de classe, slectionnez le chemin dans la liste Chemin de classe, et cliquez sur le bouton Supprimer du trajet.

Utilisation de paquets
Vous pouvez organiser vos fichiers de classe ActionScript en paquets. Un paquet est un rpertoire qui contient un ou plusieurs fichiers de classe et qui rside dans un rpertoire de chemin de classe dsign. Pour plus dinformations, consultez Comprhension du chemin de classe, page 175. Un paquet peut galement contenir dautres paquets, appels sous-paquets, chacun possdant ses propres fichiers de classe. Les noms de paquets doivent tre des identifiants ; ainsi, le premier caractre doit tre une lettre, un soulignement (_), ou le signe dollar ($), et chaque caractre suivant doit tre une lettre, un nombre, ou le signe dollar.

Utilisation de paquets

177

Les paquets sont gnralement utiliss pour organiser des classes connexes. Vous pouvez par exemple avoir trois classes connexes, Carr, Cercle et Triangle, dfinies dans Carr.as, Cercle.as et Triangle.as. Supposons que vous ayez enregistr les fichiers AS dans un rpertoire spcifi dans le chemin de classe.
// Dans Carr.as: class Carr {} // Dans Cercle.as: class Cercle {} // Dans Triangle.as: class Triangle {}

Etant donn que ces trois classes sont connexes, vous pouvez choisir de les placer dans un paquet (rpertoire) nomm Formes. Dans ce cas, le nom pleinement qualifi de la classe contient le chemin du paquet, ainsi que le nom de classe simple. Les chemins de paquet sont symboliss par une syntaxe de point, chaque point reprsentant un sous-rpertoire. Par exemple, si vous placez tous les fichiers AS qui dfinissent une forme dans le rpertoire Formes, vous devrez alors changer le nom de chaque fichier de classe pour rpercuter le nouvel emplacement, comme suit :
// Dans Formes/Carr.as: class Formes.Carr {} // Dans Formes/Cercle.as: class Formes.Cercle {} // Dans Formes/Triangle.as: class Formes.Triangle {}

Pour faire rfrence une classe qui rside dans un rpertoire de paquet, vous pouvez soit spcifier le nom pleinement qualifi de sa classe, soit importer le paquet en utilisant linstruction import (voir ci-dessous).

Importation de classes
Pour faire rfrence une classe dans un autre script, vous devez faire prcder le nom de la classe par le chemin de paquet de la classe. La combinaison du nom de la classe et de son chemin de paquet correspond au nom de classe pleinement qualifi de la classe. Si une classe rside dans un rpertoire de chemin de classe de premier niveau (et non dans un sous-rpertoire du rpertoire de chemin de classe), son nom pleinement qualifi est tout simplement son nom de classe. Pour spcifier des chemins de paquets, utilisez une notation point pour sparer les noms de rpertoires de paquets. Les chemins de paquets sont hirarchiques, et chaque point reprsente un rpertoire imbriqu. Supposons par exemple que vous crez une classe nomme Donnes qui rside dans un paquet com/rseau/ dans votre chemin de classe. Pour crer une occurrence de cette classe, vous pouvez spcifier le nom pleinement qualifi de la classe, de la manire suivante :
var occurrenceDonnes = new com.rseau.Data();

Vous pouvez utiliser le nom pleinement qualifi de la classe ou taper vos variables :
var occurrenceDonnes:com.rseau.Data = new Data();

178

Chapitre 9 : Cration de classes avec ActionScript 2.0

Vous pouvez utiliser linstruction import pour importer des paquets dans un script, ce qui vous permet dutiliser le nom abrg dune classe la place de son nom pleinement qualifi. Vous pouvez galement utiliser le caractre gnrique (*) pour importer toutes les classes dans un paquet. Supposons par exemple que vous criez une classe nomme ClasseUtilisateur qui est incluse dans le rpertoire de paquet macr.util.users :
//Dans le fichier macr/util/users/ClasseUtilisateur.as class macr.util.users.ClasseUtilisateur { ... }

Supposons que dans un autre script, vous avez import cette classe laide de linstruction import de la manire suivante :
import macr.util.users.ClasseUtilisateur;

Plus tard dans le mme script vous pouvez faire rfrence cette classe par son nom abrg :
var monUtilisateur:ClasseUtilisateur = new ClasseUtilisateur();

Vous pouvez galement utiliser le caractre gnrique (*) pour importer toutes les classes dans un paquet. Supposons par exemple que vous avez un paquet macr.util qui contient deux fichiers de classe ActionScript, machin.as et chose.as. Dans un autre script, vous pouvez importer les deux classes dans ce paquet en utilisant le caractre gnrique, comme montr ci-dessous.
import macr.util.*;

Dans le mme script, vous pouvez ensuite faire directement rfrence la classe machin ou chose.
var monMachin:machin = new machin(); var monChose:chose = new chose();

Linstruction import sapplique uniquement au script courant (image ou objet) dans lequel elle est appele. Si une classe importe nest pas utilise dans un script, cette classe nest pas incluse dans le pseudo-code binaire du fichier SWF rsultant, et cette classe nest pas disponible dans les fichiers SWF susceptibles dtre appels par le fichier FLA contenant linstruction import. Pour plus dinformations, consultez import, page 401.

Mthodes get/set implicites


La programmation oriente objet empche laccs direct aux proprits lintrieur dune classe. Les classes dfinissent gnralement des mthodes get qui fournissent un accs en lecture et des mthodes set qui fournissent un accs en criture une proprit donne. Imaginons par exemple une classe contenant une proprit nomme nomDutilisateur :
var nomDutilisateur:String;

Au lieu de permettre aux occurrences de la classe daccder directement cette proprit (obj.nomDutilisateur = "Julie", par exemple), la classe peut utiliser deux mthodes, getNomDutilisateur et setNomDutilisateur, qui seront implmentes de la faon suivante :
function getNomDutilisateur:String() { return nomDutilisateur; } function setNomDutilisateur(name:String): { nomDutilisateur = name; }

Mthodes get/set implicites

179

Comme vous pouvez le constater, getNomDutilisateur renvoie la valeur courante de nomDutilisateur et setNomDutilisateur dfinit le paramtre de chane transmis la mthode en tant que valeur de nomDutilisateur. Une occurrence de la classe utiliserait alors la syntaxe suivante pour obtenir ou dfinir la proprit nomDutilisateur.
// appel de la mthode get var nom = obj.getNomDutilisateur(); // appel de la mthode set obj.setNomDutilisateur("Julie");

Cependant, si vous souhaitez utiliser une syntaxe plus concise, utilisez les mthodes get/set implicites. Les mthodes get/set implicites vous permettent daccder directement aux proprits de classe, tout en conservant de bonnes pratiques de programmation oriente objet. Pour dfinir ces mthodes, utilisez les attributs de mthodes get et set. Crez des mthodes qui obtiennent ou dfinissent la valeur dune proprit et ajoutez le mot-cl get ou set avant le nom de mthode.
function get user():String { return nomDutilisateur; } function set user(name:String):Void { nomDutilisateur = name; }

Une mthode get ne doit prendre aucun paramtre. Une mthode set doit prendre exactement un paramtre requis. Une mthode set peut avoir le mme nom quune mthode get dans le mme domaine. Les mthodes get/set nont pas le mme nom que les autres proprits. Par exemple, dans le code ci-dessus qui dfinit des mthodes get/set nommes utilisateur, vous ne pourriez pas avoir de proprit nomme utilisateur dans la mme classe. Contrairement aux mthodes ordinaires, les mthodes get/set sont appeles sans parenthses ou instructions. Par exemple, la syntaxe suivante peut dsormais tre utilise pour accder la valeur de nomDutilisateur ou la modifier laide des mthodes get/set dfinies plus haut.
var name = obj.user; obj.user = "Jean"; Remarque : Les mthodes get/set implicites sont des abrviations syntaxiques de la mthode Object.addProperty() dans ActionScript 1.

Cration de classes dynamiques


Par dfaut, les proprits et mthodes dune classe sont fixes. Cest--dire que loccurrence dune classe ne peut crer ou accder des proprits ou mthodes qui ntaient pas dclares ou dfinies lorigine par la classe. Considrons par exemple une classe Personne qui dfinit deux proprits, nom et ge :
class Personne { var nom:String; var ge:Number; }

Si, dans un autre script, vous crez une occurrence de la classe Personne et essayez daccder une proprit de la classe qui nexiste pas, le compilateur gnre une erreur. Par exemple, le code suivant cre une nouvelle occurrence de la classe Personne (une_personne) et essaie daffecter une valeur une proprit nomme couleurCheveux, qui nexiste pas.

180

Chapitre 9 : Cration de classes avec ActionScript 2.0

var une_personne:Personne = new Personne(); une_personne.couleurCheveux = "bleu"; // erreur de compilation

Ce code cre une erreur de compilation car la classe Personne ne dclare pas de proprit nomme couleurCheveux. Dans la plupart des cas, cest exactement ce que vous souhaitez quil se passe. Dans certains cas, cependant, il peut tre utile dajouter et daccder des proprits ou mthodes dune classe lexcution qui ne sont pas dfinies dans la dfinition de classe originale. Cest ce que vous permet de faire le modificateur de classe dynamic. Par exemple, le code suivant ajoute le modificateur dynamic la classe Personne prsente prcdemment :
dynamic class Personne { var nom:String; var ge:Number; }

Les occurrences de la classe Personne peuvent dsormais ajouter et accder aux proprits et mthodes qui ne sont pas dfinies dans la classe originale.
var une_personne:Personne = new Personne(); une_personne.couleurCheveux = "bleu"; // aucune erreur de compilation car cette classe est dynamique

Les sous-classes des classes dynamiques sont galement des classes dynamiques.

Compilation et exportation des classes


Par dfaut, les classes utilises par un fichier SWF sont mises en paquets et exportes vers la premire image du fichier SWF. Vous pouvez galement spcifier limage o vos classes sont mises en paquets et exportes. Cette option est trs pratique, par exemple lorsquun fichier SWF utilise de nombreuses classes longues tlcharger. Si les classes sont exportes vers la premire image, lutilisateur doit attendre que tout le code de classe soit tlcharg avant de voir apparatre cette image. En spcifiant une image ultrieure dans le scnario, vous pouvez afficher une courte animation de chargement dans les premires images du scnario, pendant le tlchargement du code de classe dans limage ultrieure.
Pour spcifier limage exporter pour les classes dun document Flash :

1 Lorsquun fichier FLA est ouvert, choisissez Fichier > Paramtres de publication. 2 Dans la bote de dialogue Paramtres de publication, cliquez sur longlet Flash. 3 Cliquez sur le bouton Paramtres qui se trouve en regard du menu contextuel de la version

ActionScript pour ouvrir la bote de dialogue Paramtres ActionScript. 4 Dans le champ de texte Exporter limage pour les classes, saisissez le numro de limage o vous voulez exporter votre code de classe. Si limage spcifie nexiste pas dans le scnario, un message derreur apparat lors de la publication du fichier SWF. 5 Cliquez sur OK pour fermer la bote de dialogue Paramtres ActionScript, puis cliquez de nouveau sur OK pour fermer la bote de dialogue Paramtres de publication.

Compilation et exportation des classes

181

182

Chapitre 9 : Cration de classes avec ActionScript 2.0

PARTIE IV Utilisation des donnes et des mdias externes

PARTIE IV

Cette section prsente lintgration de donnes et de mdias externes dans vos applications Macromedia Flash. Chapitre 10: Utilisation de donnes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Chapitre 11: Utilisation de mdias externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

CHAPITRE 10 Utilisation de donnes externes

Dans Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004, vous pouvez utiliser ActionScript pour charger des donnes provenant de sources externes dans un fichier SWF. Vous pouvez galement envoyer des donnes de fichier SWF afin quelles soient traites par un serveur dapplication (comme Macromedia ColdFusion MX ou Macromedia JRun) ou par un autre type de script ct serveur comme PHP ou Perl. Flash Player peut envoyer et charger des donnes sur HTTP, HTTPS ou partir dun fichier texte local. Vous pouvez galement crer des connexions socket TCP/IP persistantes pour des applications qui requirent un court dlai (ex. : applications de dialogue en ligne ou services de devis). Il est possible de formater les donnes que vous chargez ou que vous envoyez partir dun fichier SWF sous forme dun fichier XML (Extensible Markup Language) ou de paires nom-valeur. Flash Player peut galement changer des donnes avec son environnement hte (un navigateur web, par exemple) ou avec une autre occurrence de Flash Player sur le mme ordinateur. Par dfaut, un fichier SWF peut seulement accder des donnes se trouvant sur le mme domaine que le domaine dorigine du clip Flash (par exemple, www.macromedia.com). Pour plus dinformations, consultez Fonctions de scurit de Flash Player, page 196.

Echange de variables avec une source distante


Un fichier SWF est une fentre permettant de saisir et dafficher des informations, un peu comme une page HTML. Cependant, les fichiers SWF peuvent rester chargs dans le navigateur et tre mis jour en permanence laide de nouvelles informations sans quil soit ncessaire dactualiser toute la page. Grce aux fonctions et mthodes dActionScript, vous pouvez envoyer et recevoir des informations partir de scripts ct serveur, de fichiers texte et de fichiers XML. En outre, les scripts ct serveur peuvent demander des informations prcises une base de donnes et les transmettre un fichier SWF. Les scripts ct serveur peuvent tre rdigs en plusieurs langages, les plus communs tant CFML, Perl, ASP (Microsoft Active Server Pages) et PHP. Le stockage et lextraction des informations par le biais dune base de donnes vous permet de crer un contenu dynamique et personnalis pour votre fichier SWF. Par exemple, vous pourriez crer un tableau de messages, des profils personnels pour les utilisateurs ou un panier suivant ce quun utilisateur a achet afin de dterminer ses prfrences. Plusieurs fonctions et mthodes dActionScript vous permettent dchanger des informations avec un fichier SWF. Chaque fonction ou chaque mthode utilise un protocole pour transfrer les informations, dont le format doit tre spcifique.

185

Les fonctions et les mthodes MovieClip utilisant le protocole HTTP ou HTTPS pour
envoyer des informations au format de code URL sont getURL(), loadVariables(), loadVariablesNum(), loadMovie() et loadMovieNum(). Les mthodes LoadVars utilisant le protocole HTTP ou HTTPS pour changer des informations au format de code URL sont load(), send() et sendAndLoad(). Les mthodes utilisant le protocole HTTP ou HTTPS pour changer des informations sous forme de fichiers XML sont XML.send(), XML.load() et XML.sendAndLoad(). Les mthodes qui crent et utilisent une connexion socket TCP/IP pour changer des informations sous forme de fichiers XML sont XMLSocket.connect() et XMLSocket.send().

Vrification des donnes charges


XMLSocket.send())

Chaque fonction ou mthode qui charge des donnes vers un fichier SWF (sauf est asynchrone : les rsultats de laction sont renvoys un moment indtermin.

Avant de pouvoir utiliser les donnes charges dans un fichier SWF, vous devez dabord vrifier si elles ont bien t charges. Par exemple, vous ne pouvez pas charger des variables et en manipuler les valeurs dans le mme script. Dans le script suivant, vous ne pouvez pas utiliser la variable dernireImageConsulte tant que vous ntes pas certain que la variable a t charge depuis le fichier mesDonnes.txt :
loadVariables("mesDonnes.txt", 0); gotoAndPlay(dernireImageConsulte);

Chaque fonction ou mthode possde une technique spcifique que vous pouvez utiliser pour vrifier les donnes qui ont t charges. Si vous utilisez loadVariables() ou loadMovie(), vous pouvez charger des informations dans une cible de clip et utiliser lvnement data du gestionnaire onClipEvent() pour excuter un script. Si vous utilisez loadVariables() pour charger les donnes, le gestionnaire onClipEvent(data) est excut une fois la dernire variable charge. Si vous utilisez loadMovie() pour charger les donnes, le gestionnaire onClipEvent(data) est excut chaque fois quune partie du fichier SWF est transmise Flash Player. Par exemple, laction de bouton suivante charge les variables depuis le fichier mesDonnes.txt dans le clip cibleChargeMC :
on (release) { loadVariables("mesDonnes.txt", _root.cibleChargeMC); }

Un gestionnaire onClipEvent() affect loccurrence cibleChargeMC utilise la variable dernireImageConsulte, charge depuis le fichier mesDonnes.txt. Laction suivante nest excute quune fois que toutes les variables, y compris dernireImageConsulte, sont charges :
onClipEvent(data) { goToAndPlay(dernireImageConsulte); }

186

Chapitre 10 : Utilisation de donnes externes

Si vous utilisez les mthodes XML.load(), XML.sendAndLoad() et XMLSocket.connect(), vous devez dfinir un gestionnaire qui traitera les donnes ds leur arrive. Ce gestionnaire est une proprit dun objet XML ou XMLSocket auquel vous affectez une fonction que vous avez dfinie. Les gestionnaires sont automatiquement appels lorsque les informations sont reues. Pour lobjet XML, utilisez XML.onLoad() ou XML.onData(). Pour lobjet XMLSocket, utilisez XMLSocket.onConnect(). Pour plus dinformations, consultez Utilisation de la classe XML, page 189, et Utilisation de la classe XMLSocket, page 192. Utilisation du protocole HTTP pour les connexions aux scripts ct serveur Les fonctions loadVariables(), loadVariablesNum(), getURL(), loadMovie() et loadMovieNum(), ainsi que les mthodes MovieClip.loadVariables(), MovieClip.loadMovie() et MovieClip.getURL() peuvent toutes communiquer avec des scripts ct serveur sur des protocoles HTTP ou HTTPS. Ces fonctions envoient toutes les variables du scnario auquel la fonction est associe. Lorsquelles sont utilises comme mthodes de lobjet MovieClip, les fonctions loadVariables(), getURL() et loadMovie() envoient toutes les variables du clip indiqu ; chaque fonction (ou mthode) traite sa rponse de la manire suivante :

renvoie les informations dans une fentre de navigateur et non dans Flash Player. loadVariables() charge les variables dans un scnario ou niveau spcifi de Flash Player. loadMovie() charge un fichier SWF dans un clip ou niveau spcifi dans Flash Player.
getURL()

Lorsque vous utilisez loadVariables(), getURL() ou loadMovie(), vous pouvez spcifier plusieurs paramtres :

URL

Emplacement est le niveau ou la cible getURL ne prend pas ce paramtre.)

est le fichier dans lequel se trouvent les variables distantes. dans le fichier SWF qui reoit les variables. (La fonction

Pour plus dinformations sur les niveaux et les cibles, consultez A propos des scnarios et des niveaux dans le guide Utilisation de Flash de laide. Variables dfinit la mthode HTTP, GET ou POST, avec laquelle les variables seront envoyes. Lorsquelles sont omises, Flash Player utilise par dfaut la mthode GET, mais aucune variable nest envoye.

Par exemple, pour suivre les meilleurs scores dun jeu, vous pouvez stocker les scores sur un serveur et utiliser une fonction loadVariables() pour les charger dans le fichier SWF chaque fois que quelquun joue ce jeu. Lappel de fonction pourrait avoir laspect suivant :
loadVariables("http://www.monSite.com/scripts/meilleur_score.php", _root.clipDeScore, GET);

Cet exemple charge les variables du script PHP meilleur_score.php dans loccurrence de clip clipDeScore en utilisant la mthode HTTP GET.

Echange de variables avec une source distante

187

Les variables charges laide de la fonction loadVariables doivent tre au format MIME standard application/x-www-form-urlencoded (un format standard utilis par les scripts CGI). Le fichier que vous spcifiez dans le paramtre URL de laction loadVariables() doit crire les paires de variables et valeurs dans ce format pour que Flash puisse les lire. Ce fichier peut spcifier nimporte quel nombre de variables, les paires variable et valeur devant tre spares par une esperluette (&) et les mots lintrieur dune valeur devant tre spars par le signe plus (+). Par exemple, cette squence dfinit plusieurs variables :
meilleurScore1=54000&nomDuJoueur1=rockin+good&meilleurScore2=53455&nomDuJoueur 2= bonehelmet&meilleurScore3=42885&nomDuJoueur3=soda+pop

Pour plus dinformations, consultez loadVariables(), page 423, getURL(), page 394, loadMovie(), page 420 et lentre Classe LoadVars dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Utilisation de la classe LoadVars Vous pouvez utiliser la classe LoadVars au lieu de la classe loadVariables() pour transfrer des variables entre un fichier SWF et un serveur. La classe LoadVars permet denvoyer toutes les variables dun objet une adresse URL dtermine et de charger toutes les variables dune adresse URL dtermine dans un objet. La rponse du serveur dclenche la mthode LoadVars.onLoad() et dfinit les variables de la cible. Vous pouvez utiliser lobjet LoadVars pour obtenir des informations sur les erreurs et des indicateurs davancement, ainsi que pour diffuser les donnes pendant leur tlchargement. La classe LoadVars est similaire la classe XML et utilise les mthodes load(), send() et pour tablir la communication avec le serveur. La principale diffrence entre les classes LoadVars et XML rside dans le fait que les donnes LoadVars sont une proprit de lobjet LoadVars, et non une arborescence DOM (Document Object Model) XML stocke dans lobjet XML.
sendAndLoad()

Vous devez crer un objet LoadVars pour appeler ses mthodes. Cet objet est un conteneur qui stocke les donnes charges. La procdure suivante montre comment utiliser un objet LoadVars pour charger des variables partir dun fichier texte et les afficher dans un champ de texte.
Pour charger des donnes avec lobjet LoadVars :

1 Dans un diteur de texte comme Notepad ou SimpleText, crez un fichier texte et ajoutez-lui

le texte suivant :
jour=11&mois=juillet&anne=2003

2 Enregistrez le fichier sous date.txt. 3 Dans Flash, crez un document. 4 Crez un champ de texte dynamique sur la scne et donnez-lui le nom doccurrence date_txt. 5 Slectionnez limage 1 dans le scnario et ouvrez le panneau Actions (Fentre > Panneaux de

dveloppement > Actions) si ce dernier nest pas dj visible.


6 Entrez le code suivant dans le panneau Actions :
var dateVars = new LoadVars(); dateVars.onLoad = function(ok) { if (ok) { date_txt.text = dateVars.day+"/"+dateVars.month+"/"+dateVars.year;

188

Chapitre 10 : Utilisation de donnes externes

} }; dateVars.load("date.txt");

Ce code charge les variables dans le fichier data.txt (jour, mois, anne), puis il les formate et les affiche dans le champ de texte date_txt. 7 Enregistrez le document sous le nom dateReader.fla dans le rpertoire contenant le fichier date.txt (le fichier texte que vous avez enregistr ltape 3). 8 Choisissez Contrle > Tester lanimation pour tester le document. Pour plus dinformations, consultez lentre Classe LoadVars du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. A propos du langage XML Le langage XML (Extensible Markup Language) est en passe de devenir le standard dchange de donnes structures dans les applications Internet. Vous pouvez intgrer les donnes de Flash avec des serveurs qui utilisent la technologie XML pour construire des applications sophistiques telles que des services de dialogue en ligne ou de courtage. En XML, tout comme en HTML, vous utilisez des balises pour marquer, ou dfinir, une chane de texte. Dans le langage HTML, vous utilisez des balises prdfinies pour indiquer la faon dont le texte doit apparatre dans un navigateur web (par exemple, la balise <b> indique que le texte doit tre en gras). Dans le langage XML, vous dfinissez des balises qui identifient le type dune partie de donnes (par exemple, <motDePasse>monSecret</motDePasse>). Le langage XML spare la structure des informations de leur mode daffichage, ce qui permet de rutiliser un mme document XML dans des environnements diffrents. Chaque balise XML est appele nud ou lment. Chaque nud possde un type (1, qui indique un lment XML ou 3, qui indique un nud texte) et les lments peuvent galement possder des attributs. Un nud imbriqu dans un autre est appel nud enfant. Cette structure hirarchique de nuds est appele DOM (Document Object Model) XML, un peu comme le DOM JavaScript, qui correspond la structure des lments dans un navigateur web. Dans lexemple suivant, <PORTEFEUILLE> est le nud parent ; il ne possde pas dattributs et contient le nud enfant <EFFET> qui possde les attributs SYMBOLE, QT, PRIX et VALEUR :
<PORTEFEUILLE> <EFFET SYMBOLE ="RICHE" QT="75" PRIX="245.50" VALEUR="18412.50" /> </PORTEFEUILLE>

Utilisation de la classe XML Les mthodes de la classe XML ActionScript (par exemple, appendChild(), removeNode() et permettent de structurer les donnes XML dans Flash qui doivent tre envoyes un serveur et de manipuler et interprter les donnes XML tlcharges.
insertBefore())

Les mthodes de la classe XML suivantes permettent dchanger des donnes XML avec un serveur laide de la mthode HTTP POST :

La mthode load() tlcharge le code XML depuis une URL et le place dans un objet XML
ActionScript.

Echange de variables avec une source distante

189

La mthode send() transmet un objet XML une URL. Toutes les informations renvoyes
sont affiches dans une fentre de navigateur.

La mthode sendAndLoad() envoie un objet XML une URL. Toutes les informations
renvoyes sont places dans un objet XML ActionScript. Par exemple, vous pourriez crer un systme de courtage qui stockerait toutes ses informations (noms dutilisateur, mots de passe, identifiants de session, contenu des portefeuilles et informations de transaction) dans une base de donnes. Le script ct serveur qui transmet les informations entre Flash et la base de donnes lit et crit les donnes au format XML. Vous pouvez utiliser ActionScript pour convertir les informations rcupres dans le fichier SWF (par exemple, un nom dutilisateur et un mot de passe) en un objet XML et envoyer ensuite les donnes au script ct serveur sous forme de document XML. Vous pouvez galement utiliser ActionScript pour charger le document XML que le serveur renvoie dans un objet XML utiliser dans le fichier SWF.

Flux et conversion des donnes entre une animation Flash, un script ct serveur et une base de donnes La validation du mot de passe pour le systme de courtage ncessite deux scripts : une fonction dfinie sur limage 1 et un script qui cre et envoie les objets XML associs au bouton Envoyer du formulaire. Lorsquun utilisateur entre des informations dans les champs de texte du fichier SWF avec les variables nomDutilisateur et motDePasse, les variables doivent tre converties au format XML avant dtre transmises au serveur. La premire section du script charge les variables dans un objet XML nouvellement cr et appel XMLDouvertureDeSession. Lorsquun utilisateur clique sur le bouton Envoyer, lobjet XMLDouvertureDeSession est converti en une chane XML et envoy au serveur. Le script suivant est associ au bouton Envoyer. Pour comprendre le script, vous pourrez vous aider des commentaires (indiqus par les caractres //) :
on (release) { // A. Construire un document XML avec un lment douverture de session XMLDouvertureDeSession = new XML(); lmentDouvertureDeSession = XMLDouvertureDeSession.createElement("LOGIN"); lmentDouvertureDeSession.attributes.nomDutilisateur = nomDutilisateur; lmentDouvertureDeSession.attributes.motDePasse = motDePasse; XMLDouvertureDeSession.appendChild(lmentDouvertureDeSession); // B. Construire un objet XML contenant la rponse du serveur XMLrponseDouv = new XML(); XMLrponseDouv.onLoad = pourRponseDouv;

190

Chapitre 10 : Utilisation de donnes externes

// C. Envoyer llment LOGIN au serveur, // placer la rponse dans XMLrponseDouv XMLDouvertureDeSession.sendAndLoad("https://www.imexstocks.com/main.cgi", XMLrponseDouv); }

La premire section du script gnre le code XML suivant lorsque lutilisateur clique sur le bouton Envoyer:
<LOGIN NOMDUTILISATEUR="JeanSmith" MOTDEPASSE="monSecret" />

Le serveur reoit le code XML, gnre une rponse XML et la renvoie au fichier SWF. Si le mot de passe est accept, le serveur envoie la rponse suivante :
<REPONSELOGIN ETAT="OK" SESSION="rnr6f7vkj2oe14m7jkkycilb" />

Ce code XML comprend un attribut SESSION qui contient une ID de session alatoire unique et qui sera utilise dans toutes les communications entre le client et le serveur pour le reste de la session. Si le mot de passe est rejet, le serveur rpond par le message suivant :
<REPONSELOGIN ETAT="ECHEC" />

Le nud XML REPONSELOGIN doit tre charg dans un objet XML vide du fichier SWF. Linstruction suivante cre lobjet XML XMLrponseDouv pour recevoir le nud XML :
// B. Construire un objet XML contenant la rponse du serveur XMLrponseDouv = new XML(); XMLrponseDouv.onLoad = pourRponseDouv;

La seconde instruction affecte la fonction pourRponseDouv() au gestionnaire XMLrponseDouv.onLoad. Llment XML REPONSELOGIN arrive de manire asynchrone, un peu comme les donnes dune fonction loadVariables() et est charg dans lobjet XMLrponseDouv. Lorsque les donnes arrivent, le gestionnaire onLoad de lobjet XMLrponseDouv est appel. Vous devez dfinir la fonction pourRponseDouv() et laffecter au gestionnaire XMLrponseDouv.onLoad pour quil puisse traiter llment REPONSELOGIN. Vous devez galement affecter la fonction pourRponseDouv() limage contenant le bouton Envoyer.

Echange de variables avec une source distante

191

La fonction pourRponseDouv() est dfinie dans la premire image du fichier SWF. Pour comprendre le script, vous pourrez vous aider des commentaires.
function pourRponseDouv() { // Rcuprer le premier lment XML var e = this.premierEnfant; // Si le premier lment XML est un lment REPONSELOGIN avec // OK pour tat, ouvrir lcran de portefeuille. Sinon, // ouvrir lcran dchec et laisser lutilisateur ressayer. if (e.nomDeNoeud == "REPONSELOGIN" && e.attributes.tat == "OK") { // Enregistrer lidentifiant de session pour les futures communications avec le serveur idSession = e.attributes.session; // Ouvrir lcran de portefeuille gotoAndStop("cranPortefeuille"); } else { // Louverture de session a chou ! Ouvrir lcran dchec. gotoAndStop("checOuvSession"); } }

La premire ligne de cette fonction, var e = this.premierEnfant, utilise le mot-cl this pour faire rfrence lobjet XML XMLrponseDouv qui vient dtre charg avec XML depuis le serveur. Vous pouvez utiliser this car pourRponseDouv() a t invoque sous la forme XMLrponseDouv.onLoad, et donc, mme si pourRponseDouv() se rvle tre une fonction normale, elle se comporte en fait comme une mthode de XMLrponseDouv. Pour envoyer le nom dutilisateur et le mot de passe au format XML au serveur et pour charger une rponse XML dans le fichier SWF, vous pouvez utiliser la mthode sendAndLoad(), comme dans lexemple suivant :
// C. Envoyer llment LOGIN au serveur, // placer la rponse dans XMLrponseDouv XMLDouvertureDeSession.sendAndLoad("https://www.imexstocks.com/main.cgi", XMLrponseDouv); Remarque : Cette dmonstration nest quun exemple et Macromedia ne garantit pas le niveau de scurit fourni. Si vous implmentez un systme scuris protg par mot de passe, assurez-vous de bien comprendre la scurit rseau.

Pour plus dinformations, consultez Intgration de XML et de Flash dans une application web sur le site www.macromedia.com/support/flash/interactivity/xml/ et lentre Classe XML dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Utilisation de la classe XMLSocket ActionScript fournit une classe XMLSocket intgre qui vous permet dtablir une connexion continue avec un serveur. Une connexion socket permet au serveur de publier linformation au client ds quelle est disponible. Sans connexion continue, le serveur devra attendre une requte HTTP. Cette connexion ouverte supprime les priodes dattente et est souvent utilise dans des applications en temps rel telles que les dialogues en ligne. Les donnes sont envoyes sur la connexion socket sous forme dune chane et doivent tre au format XML. Vous pouvez utiliser la classe XML pour structurer les donnes. Pour crer une connexion socket, vous devez crer une application ct serveur qui attendra la requte de connexion socket et enverra une rponse au fichier SWF. Ce type dapplications ct serveur peut tre crit dans un langage tel que Java.

192

Chapitre 10 : Utilisation de donnes externes

Vous pouvez utiliser les mthodes connect() et send() de la classe XMLSocket pour transfrer un objet XML vers et partir dun serveur sur une connexion socket. La mthode connect() tablit une connexion socket avec le port dun serveur web. La mthode send() transmet un objet XML au serveur spcifi dans la connexion socket. Lorsque vous invoquez la mthode connect(), Flash Player ouvre une connexion TCP/IP avec le serveur et garde cette connexion ouverte jusqu ce quun des vnements suivants se produise :

La mthode close() de la classe XMLSocket est appele. Il nexiste plus aucune rfrence lobjet XMLSocket. Flash Player se ferme. La connexion est rompue (le modem est dconnect, par exemple).

Lexemple suivant cre une connexion socket XML et envoie les donnes de lobjet XML Pour comprendre le script, vous pourrez vous aider des commentaires (indiqus par les caractres //) :
monCodeXML. // Crer un objet XMLSocket sock = new XMLSocket(); // Appeler sa mthode connect() pour tablir une connexion au port 1024 // du serveur lURL sock.connect("http://www.monServeur.fr", 1024); // Dfinir une fonction affecter lobjet socket grant // la rponse du serveur. Si la connexion russit, envoyer // lobjet monCodeXML. Sinon, afficher un message derreur dans un // champ de texte. function onSockConnect(succs){ if (succs){ sock.send(monCodeXML); } else { msg="Une erreur de connexion sest produite avec "+serverName; } } // Affecter la fonction onSockConnect() la proprit onConnect sock.onConnect = onSockConnect;

Pour plus dinformations, consultez lentre Classe XMLSocket du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Echange de messages avec Flash Player


Pour envoyer des messages depuis un fichier SWF vers son environnement hte (par exemple, un navigateur web, une animation Macromedia Director ou Flash Player autonome), vous pouvez utiliser la fonction fscommand(). Cette fonction vous permet dtendre votre fichier SWF laide des capacits de lhte. Par exemple, vous pouvez transmettre une fonction fscommand() une fonction JavaScript dans une page HTML qui ouvre une nouvelle fentre de navigateur avec des proprits spcifiques. Pour contrler un fichier SWF dans Flash Player avec des langages tels que JavaScript, VBScript et Microsoft JScript, vous pouvez utiliser les mthodes Flash Player (fonctions qui envoient des messages depuis un environnement hte vers le fichier SWF). Par exemple, vous pouvez disposer dun lien dans une page HTML qui envoie votre fichier SWF vers un cadre spcifique.

Echange de messages avec Flash Player

193

Utilisation de fscommand() Utilisez la fonction fscommand() pour envoyer un message au programme hbergeant Flash Player. La fonction fscommand() dispose de deux paramtres : commande et arguments. Pour envoyer un message la version autonome de Flash Player, vous devez utiliser des commandes et des arguments prdfinis. Par exemple, laction suivante dfinit le lecteur autonome pour quil affiche le fichier SWF en taille plein cran lorsque le bouton est relch :
on (release) { fscommand("fullscreen", "true"); }

Le tableau suivant indique les valeurs que vous pouvez spcifier pour les paramtres commande et arguments de la fonction fscommand() pour contrler un fichier SWF lu dans le lecteur autonome (y compris les projections) :
Commande
quit fullscreen

Arguments Aucun
true ou false

Objectif Ferme la projection. La spcification de true dfinit Flash Player en mode plein cran. La spcification de false renvoie le lecteur en affichage normal du menu. La spcification de false dfinit le lecteur de sorte que le fichier SWF soit toujours affich dans sa taille originale et que son chelle ne soit jamais modifie. La spcification de true oblige le fichier SWF adopter lchelle 100 % du lecteur. La spcification de true active le jeu complet des lments de menu contextuel. La spcification de false masque tous les lments de menu contextuel, lexception de Paramtres et A propos de Flash Player. Excute une application depuis la projection.

allowscale

true ou false

showmenu

true ou false

exec

Chemin de lapplication

Pour utiliser fscommand() pour envoyer un message un langage de programmation tel que JavaScript dans un navigateur web, vous pouvez transmettre deux arguments quelconques dans les paramtres commande et arguments. Ces paramtres peuvent tre des chanes ou des expressions et seront utiliss dans une fonction JavaScript qui traite la fonction fscommand(). Une fonction fscommand() invoque la fonction JavaScript nomDeLanimation_DoFSCommand dans la page HTML qui contient le fichier SWF, o nomDeLanimation est le nom de Flash Player tel quil est affect par lattribut NAME de la balise EMBED ou par lattribut ID de la balise OBJECT. Si le nom monAnimation a t affect Flash Player, la fonction JavaScript invoque est monAnimation_DoFSCommand.
Pour utiliser fscommand() afin douvrir une bote de message partir dun fichier SWF dans la page HTML laide de JavaScript :

1 Dans la page HTML qui contient le fichier SWF, ajoutez le code JavaScript suivant :
function Lanimation_DoFSCommand(commande, args) { if (commande == "fentreMessage") { alert(args); } }

194

Chapitre 10 : Utilisation de donnes externes

Si vous publiez votre fichier SWF en utilisant Flash avec le modle FSCommand disponible dans les paramtres de publication HTML, ce code sinsre automatiquement. Les attributs NAME et ID du fichier SWF constitueront le nom du fichier. Par exemple, pour le fichier monAnimation.fla, les attributs seront dfinis avec monAnimation. (Pour plus dinformations sur la publication, consultez Publication dans le guide Utilisation de Flash de laide.) Alternativement, pour les applications Microsoft Internet Explorer, vous pouvez associer un gestionnaire dvnement directement dans la balise <SCRIPT>, comme lillustre cet exemple :
<Script Language = "JavaScript" event="FSCommand (commande, args)" for= "Lanimation"> ... </Script>

2 Dans le document Flash, ajoutez la fonction fscommand() un bouton, comme dans lexemple

suivant :
on (press) { fscommand("fentreMessage", "Ceci est une fentre de message invoque depuis Flash."); }

Vous pouvez galement utiliser des expressions pour la fonction fscommand() et des paramtres, comme dans lexemple suivant :
fscommand("boteDeMessage", "Bonjour, " + nom + ", bienvenue sur notre site web!")

3 Choisissez Fichier > Aperu avant publication > HTML pour tester le document.

La fonction fscommand() peut envoyer des messages Macromedia Director qui sont interprts par Lingo comme des chanes, des vnements ou un code excutable Lingo. Si le message est une chane ou un vnement, vous devez crire le code Lingo pour le recevoir depuis la fonction fscommand() et entraner une action dans Director. Pour plus dinformations, consultez le centre de support de Director ladresse www.macromedia.com/support/director. En Visual Basic, Visual C++, et dans dautres programmes pouvant hberger les contrles ActiveX, fscommand envoie un vnement VB avec deux chanes qui peut tre trait dans lenvironnement du langage de programmation. Pour plus dinformations, utilisez les mots-cls mthode Flash pour effectuer une recherche sur le centre de support de Flash ladresse www.macromedia.com/support/flash. A propos des mthodes Flash Player Vous pouvez utiliser les mthodes Flash Player pour contrler un fichier SWF dans Flash Player avec des langages tels que JavaScript et VBScript. Comme avec les autres mthodes, vous pouvez utiliser les mthodes Flash Player pour envoyer des appels des fichiers SWF depuis un environnement de programmation autre quActionScript. Chaque mthode possde un nom et la plupart prennent des paramtres. Un paramtre spcifie une valeur sur laquelle opre la mthode. Le calcul effectu par certaines mthodes renvoie une valeur qui peut tre utilise par lenvironnement de programmation. Deux technologies diffrentes permettent la communication entre le navigateur et Flash Player : LiveConnect (Netscape Navigator 3.0 et versions ultrieures sous Windows 95/98/2000/NT ou Power Macintosh) et ActiveX (Internet Explorer 3.0 et versions ultrieures sous Windows 95/98/ 2000/NT). Bien que les techniques de programmation soient quivalentes pour tous les navigateurs et les langages, des proprits et vnements supplmentaires sont disponibles pour lutilisation des contrles ActiveX.

Echange de messages avec Flash Player

195

Pour obtenir plus dinformations, ainsi que la liste complte des mthodes de programmation de Flash Player, utilisez les mots-cls mthode Flash pour rechercher le centre de support de Flash ladresse www.macromedia.com/support/flash. A propos de lutilisation des mthodes Flash JavaScript avec Flash Player Flash Player 6 version 40 et ultrieures prennent en charge les mthodes Flash Java Script et FSCommand dans Netscape 6.2 et versions ultrieures. Les versions antrieures ne prennent pas en charge les mthodes Flash JavaScript et FSCommand dans Netscape 6.2 ou versions ultrieures. Pour Netscape 6.2 et versions ultrieures, vous navez pas besoin de dfinir lobjet swLiveConnect sur la valeur true. Cependant, la dfinition de swLiveConnect sur la valeur true na aucune incidence.

Fonctions de scurit de Flash Player


Par dfaut, Flash Player 7 et ses versions ultrieures empchent un fichier SWF servi par un domaine daccder aux donnes, objets ou variables de fichiers SWF servis par des domaines diffrents. En outre, le contenu charg laide de protocoles non scuriss (non-HTTPS) ne peut pas accder au contenu charg laide dun protocole scuris (HTTPS), mme sils sont tous les deux situs exactement dans le mme domaine. Par exemple, un fichier SWF situ ladresse http://www.macromedia.com/main.swf ne peut pas charger de donnes partir de ladresse https://www.macromedia.com/data.txt sans autorisation explicite. De mme, un fichier SWF servi par un domaine ne peut pas charger les donnes ( laide de loadVariables(), par exemple) dun autre domaine. Les adresses IP numriques identiques sont compatibles. Cependant, un nom de domaine nest pas compatible avec une adresse IP, mme si le nom de domaine renvoie la mme adresse IP. Le tableau suivant prsente des exemples de domaines compatibles :
www.macromedia.com data.macromedia.com 65.57.83.12 www.macromedia.com data.macromedia.com 65.57.83.12

Le tableau suivant prsente des exemples de domaines incompatibles :


www.macromedia.com macromedia.com www.macromedia.com 65.57.83.12 www.macromedia.com data.macromedia.com www.macromedia.com macromedia.com www.macromedia.com (mme si ce domaine correspond ladresse 65.57.83.12) 65.57.83.12 (mme si www.macromedia.com correspond cette adresse IP)

196

Chapitre 10 : Utilisation de donnes externes

Pour plus dinformations sur la faon de permettre un fichier SWF servi par un domaine daccder aux donnes, objets ou variables de fichiers SWF qui sont servis par un autre domaine, consultez A propos de lautorisation daccs aux donnes entre des fichiers SWF inter-domaines, page 197. Pour plus dinformations sur la faon de permettre un fichier SWF servi par un protocole scuris (HTTPS) daccder aux donnes, objets ou variables de fichiers SWF qui sont servis par des protocoles non scuriss, consultez A propos de lautorisation daccs du protocole HTTP HTTPS entre fichiers SWF, page 198. Pour plus dinformations sur la faon de permettre un fichier SWF servi par un domaine de charger des donnes ( laide de loadVariables() par exemple) dun autre domaine, consultez A propos de lautorisation de chargement de donnes interdomaines, page 198. Pour plus dinformations sur la manire dont ces changements de scurit ont des rpercussions sur le contenu dans Flash MX et dans les versions prcdentes, consultez A propos de la compatibilit avec les prcdents modles de scurit Flash Player, page 199. A propos de lautorisation daccs aux donnes entre des fichiers SWF interdomaines Un fichier SWF peut charger un autre fichier SWF depuis nimporte quel emplacement sur Internet. Cependant, pour que chacun des deux fichiers SWF puisse accder aux donnes (variables et objets) de lautre, ils doivent provenir du mme domaine. Par dfaut, dans Flash Player 7 et versions ultrieures, les deux domaines doivent correspondre exactement pour que les deux fichiers partagent des donnes. Un fichier SWF peut cependant accder aux fichiers SWF servis par des domaines spcifiques en appelant LocalConnection.allowDomain ou System.security.allowDomain(). Par exemple, supposons que le fichier main.swf soit servi partir de www.macromedia.com. Ce fichier SWF charge alors un autre fichier SWF (data.swf ) partir de data.macromedia.com vers une occurrence de clip (target_mc).
// Dans macromedia.swf target_mc.loadMovie("http://data.macromedia.com/data.swf");

De plus, supposons que le fichier data.swf dfinisse une mthode appele getData() sur son scnario principal. Par dfaut, le fichier main.swf ne peut pas appeler la mthode getData() dfinie dans le fichier data.swf, une fois que ce fichier a t charg. Cela est d au fait que les deux fichiers SWF ne rsident pas sur le mme domaine. En ce sens, lappel de mthode suivant dans main.swf, une fois le chargement de data.swf effectu, chouera.
// Dans macromedia.swf, aprs le chargement de data.swf : target_mc.getData(); // Cette mthode dappel va chouer

Cependant, le fichier data.swf peut accder des fichiers SWF servis partir de www.macromedia.com laide du gestionnaire LocalConnection.allowDomain ou de la mthode System.security.allowDomain(), selon le type daccs ncessaire. Le code suivant, ajout au fichier data.swf, permet un fichier SWF servi partir de www.macromedia.com daccder ses variables et mthodes :
// Dans data.swf System.security.allowDomain("www.macromedia.com"); ma_lc.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="www.macromedia.com"); }

Fonctions de scurit de Flash Player

197

Notez que la commande allowDomain permet tout fichier SWF du domaine autoris de programmer tout autre fichier SWF dans le domaine qui autorise laccs, moins que le fichier SWF accd soit hberg sur un site utilisant un protocole scuris (HTTPS). Dans ce cas, vous devez utiliser la commande allowInsecureDomain plutt que allowDomain ; consultez A propos de lautorisation daccs du protocole HTTP HTTPS entre fichiers SWF ci-dessous. Pour plus dinformations sur la mise en correspondance des noms de domaines, consultez Fonctions de scurit de Flash Player, page 196. A propos de lautorisation daccs du protocole HTTP HTTPS entre fichiers SWF Comme indiqu dans la section prcdente, vous devez utiliser un gestionnaire ou une mthode pour permettre un fichier SWF dun domaine daccder un fichier SWF dun autre domaine. Cependant, si le fichier SWF accd est hberg sur un site utilisant un protocole scuris (HTTPS), le gestionnaire ou la mthode allowDomain ne permet pas laccs partir du fichier SWF hberg sur un site utilisant un protocole non scuris. Pour autoriser un tel accs, vous devez utiliser les instructions LocalConnection.allowInsecure Domain() ou System.security.allowInsecureDomain().
allowDomain

Par exemple, si un fichier SWF ladresse http://www.unSite.com doit pouvoir accder au fichier SWF ladresse https://www.unSite.com/data.swf, ajoutez le code suivant au fichier data.swf :
// Dans data.swf System.security.allowInsecureDomain("www.unSite.com"); ma_lc.allowInsecureDomain = function(domaineDenvoi) { return(domaineDenvoi=="www.unSite.com"); }

A propos de lautorisation de chargement de donnes inter-domaines Un document Flash peut charger les donnes depuis une source externe laide de lun des appels de chargement de donnes suivants : XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables() et loadVariablesNum(). De plus, un fichier SWF peut importer des bibliothques partages lexcution ou des actifs dfinis dans un autre fichier SWF, au moment de lexcution. Par dfaut, les donnes ou le support SWF (dans le cas de bibliothques partages lexcution) doivent rsider dans le mme domaine que le fichier SWF qui charge ces donnes externes ou ce support. Pour que les fichiers SWF situs dans diffrents domaines puissent accder aux donnes et aux actifs contenus dans des bibliothques partages lexcution, utilisez un fichier de rgulation inter-domaines. Il sagit dun fichier XML qui permet au serveur dindiquer que ses donnes et ses documents sont disponibles pour les fichiers SWF servis par certains domaines ou par tous les domaines. Tout fichier SWF servi par un domaine spcifi par le fichier de rgulation du serveur peut accder aux donnes et aux actifs de ce serveur. Lorsquun document Flash tente daccder aux donnes depuis un autre domaine, Flash Player essaie automatiquement de charger un fichier de rgulation depuis ce domaine. Si le domaine du document Flash qui tente daccder aux donnes est inclus dans le fichier de rgulation les donnes sont automatiquement accessibles.

198

Chapitre 10 : Utilisation de donnes externes

Les fichiers de rgulation doivent tre nomms interdomaine.xml et se trouvent dans le rpertoire racine du serveur qui sert les donnes. Les fichiers de rgulation ne fonctionnent que sur des serveurs communiquant en HTTP, HTTPS, ou FTP. Le fichier de rgulation est spcifique au port et au protocole du serveur dans lequel il rside. Par exemple, un fichier de rgulation situ dans https://www.macromedia.com:8080/ interdomaine.xml ne sappliquera quaux appels de chargement de donnes passs vers www.macromedia.com sur HTTPS au port 8080. Cette rgle a une exception : lorsque vous utilisez un objet XMLSocket pour vous connecter un serveur socket dans un autre domaine. Dans ce cas, un serveur HTTP excut sur le port 80 du mme domaine que le serveur socket doit fournir le fichier de rgulation pour lappel de la mthode. Un fichier de rgulation XML contient une seule balise <rgulation-inter-domaine>, qui contient elle-mme aucune ou plusieurs balises <autoriser-accs-depuis>. Chaque balise <autoriser-accs-depuis> contient un attribut, domaine, qui spcifie une adresse IP exacte, un domaine exact ou un domaine gnrique (domaine quelconque). Les domaines gnriques sont indiqus par un astrisque (qui correspond tous les domaines et toutes les adresses IP) ou par un astrisque (*) suivi dun suffixe, qui correspond uniquement aux domaines se terminant par le suffixe spcifi. Les suffixes doivent commencer par un point. Cependant, les domaines gnriques suivis de suffixes peuvent correspondre des domaines qui sont composs uniquement du suffixe sans le point de sparation. Par exemple, foo.com est considr comme un lment de *.foo.com. Les caractres gnriques ne sont pas autoriss dans les spcifications de domaine IP. Si vous spcifiez une adresse IP, seuls les fichiers SWF chargs depuis cette adresse IP laide de la syntaxe IP (par exemple, http://65.57.83.12/flashmovie.swf ) sont accessibles ; les fichiers chargs laide dune syntaxe domaine-nom ne sont pas accessibles. Flash Player neffectue pas de rsolution DNS. Voici un exemple de fichier de rgulation permettant daccder des documents Flash qui proviennent de foo.com, amiDeFoo.com, *.foo.com et 105.216.0.40, depuis un document Flash situ sur foo.com :
<?xml version="1.0" ? > <!-- http://www.foo.com/interdomaine.xml --> <rgulation-inter-domaines> <autoriser-accs-depuis domaine="www.amiDeFoo.com" /> <autoriser-accs-depuis domaine="*.foo.com" /> <autoriser-accs-depuis domaine="105.216.0.40" /> </rgulation-inter-domaines>

Un fichier de rgulation ne contenant aucune balise <autoriser-accs-depuis> revient ne pas avoir de rgulation sur un serveur. A propos de la compatibilit avec les prcdents modles de scurit Flash Player Suite aux changements des fonctions de scurit dans Flash Player (consultez Fonctions de scurit de Flash Player, page 196), un contenu excut correctement sous Flash Player 6 ou antrieur peut ne pas sexcuter correctement sous Flash Player 7 ou ultrieur.

Fonctions de scurit de Flash Player

199

Par exemple, dans Flash Player 6, un fichier SWF se trouvant dans www.macromedia.com peut accder des donnes sur un serveur situ ladresse data.macromedia.com. Ainsi, Flash Player 6 a autoris un fichier SWF provenant dun domaine charger des donnes partir dun domaine similaire . Dans Flash Player 7 et ultrieur, si un fichier SWF version 6 (ou antrieure) tente de charger des donnes partir dun serveur se trouvant dans un autre domaine, et que ce serveur ne fournit aucun fichier de rgulation autorisant laccs partir du domaine de ce fichier SWF, la bote de dialogue Paramtres de Macromedia Flash Player apparat. Elle demande lutilisateur dautoriser ou de refuser laccs aux donnes interdomaines.

Si lutilisateur clique sur Autoriser, le fichier SWF peut accder aux donnes requises ; sil clique sur Refuser, le fichier SWF ne peut pas accder aux donnes requises. Pour empcher lapparition de cette bote de dialogue, crez un fichier de rgulation de scurit sur le serveur fournissant les donnes. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198.

200

Chapitre 10 : Utilisation de donnes externes

CHAPITRE 11 Utilisation de mdias externes

Si vous importez une image ou un son pendant la cration dun document dans Macromedia Flash MX 2004 ou Macromedia Flash MX Professionnel 2004, cette image ou ce son est plac dans le fichier SWF lorsque vous le publiez. En plus de limportation de mdias pendant la programmation, vous pouvez charger un mdia externe lexcution. Il existe plusieurs raisons pour lesquelles il est souhaitable de conserver les mdias en dehors dun document Flash.
Rduire la taille des fichiers

En conservant les fichiers mdia volumineux en dehors de votre document Flash et en les chargeant lexcution, vous pouvez rduire le dlai initial de tlchargement de vos applications et prsentations, particulirement dans le cas de connexions Internet lentes.

Modulariser les prsentations volumineuses Vous pouvez diviser une prsentation ou une application volumineuse en fichiers SWF spars, puis les charger au fur et mesure lexcution. Cela permet non seulement de rduire le dlai initial de tlchargement, mais galement de conserver et de mettre jour les contenus de la prsentation plus facilement. Sparer le contenu de la prsentation Cela est trs commun dans le dveloppement dapplications, particulirement les applications orientes donnes. Par exemple, une application avec un panier pourrait afficher une image JPEG de chaque produit. En chargeant les fichiers JPEG de chaque image lexcution, vous pouvez facilement mettre jour limage dun produit sans modifier le fichier FLA dorigine. Bnficier des fonctions dexcution seule

Certaines fonctions, telles que la lecture en continu des fichiers FLV et MP3, ne sont utilisables qu lexcution dans ActionScript.

Aperu du chargement de mdia externe


Vous pouvez charger quatre types de fichiers mdia dans une application Flash lors de lexcution : les fichiers SWF, MP3, JPEG et FLV. Flash Player peut charger un mdia externe depuis nimporte quelle adresse HTTP ou FTP, un disque local utilisant un chemin relatif ou laide du protocole file://. Pour charger des fichiers SWF et JPEG externes, vous pouvez utiliser la fonction loadMovie() ou loadMovieNum() , ou bien la mthode MovieClip.loadMovie(). Lorsque vous chargez un fichier SWF ou JPEG, vous spcifiez un clip ou un niveau danimation comme cible de ce mdia. Pour plus dinformations sur le chargement des fichiers SWF et JPEG, consultez Chargement de fichiers SWF et JPEG externes, page 202.

201

Pour lire un fichier MP3 (MPEG Couche 3) externe, utilisez la mthode loadSound() de la classe Sound. Cette mthode vous permet de spcifier si le fichier MP3 doit tre diffus en flux continu ou compltement tlcharg avant de dmarrer la lecture. Vous pouvez galement lire les informations ID3 intgres dans les fichiers MP3, si elles sont disponibles. Pour plus dinformations, consultez Lecture des balises ID3 dans les fichiers MP3, page 204. Flash Video (FLV) est le format vido natif utilis par Flash Player. Vous pouvez lire les fichiers FLV sur HTTP ou sur le systme de fichiers local. La lecture des fichiers FLV externes offre plusieurs avantages par rapport lintgration de vido dans un document Flash : performances et gestion de la mmoire amliores, indpendance des cadences vido et Flash. Pour plus dinformations, consultez Lecture dynamique des fichiers FLV externes, page 205. Vous pouvez galement prcharger ou suivre la progression du tlchargement dun mdia externe. Flash Player 7 introduit la classe MovieClipLoader que vous pouvez utiliser pour suivre la progression du tlchargement de fichiers SWF ou JPEG. Pour prcharger des fichiers MP3 FLV, vous pouvez utiliser la mthode getBytesLoaded() de la classe Sound et la proprit bytesLoaded de la classe NetStream. Pour plus dinformations, consultez Prchargement de mdia externe, page 206.

Chargement de fichiers SWF et JPEG externes


Pour charger un fichier SWF ou JPEG, utilisez la fonction globale loadMovie() ou loadMovieNum() ou la mthode loadMovie() de la classe MovieClip. Pour charger un fichier SWF ou JPEG dans un niveau de Flash Player, utilisez loadMovieNum(). Pour charger un fichier SWF or JPEG dans une cible de clip, utilisez la fonction ou la mthode loadMovie(). Dans les autres cas, le contenu charg remplace le contenu du niveau ou du clip cible spcifi. Lorsque vous chargez un fichier SWF ou JPEG dans un clip cible, le coin suprieur gauche du fichier SWF ou de limage JPEG est plac sur le point dalignement du clip. Ce point se trouvant souvent au centre du clip, il se peut que le contenu charg ne soit pas centr. De mme, lorsque vous chargez un fichier SWF ou une image JPEG dans un scnario racine, son coin suprieur gauche est plac sur le coin suprieur gauche de la scne. Le contenu charg hrite de la rotation et de la mise lchelle du clip, mais le contenu dorigine du clip est supprim. Vous pouvez ventuellement envoyer les variables ActionScript en appelant la fonction loadMovie() ou loadMovieNum(). Cela est particulirement utile si, par exemple, lURL spcifie dans lappel dune mthode est un script ct serveur qui renvoie une image JPEG ou un fichier SWF en fonction des donnes transmises depuis lapplication Flash. En ce qui concerne les fichiers dimage, Flash ne supporte que le type de fichier dimage JPEG standard, et non les fichiers JPEG progressifs. Lorsque vous utilisez la fonction globale loadMovie() ou loadMovieNum(), spcifiez le niveau ou le clip cible en tant que paramtre. Par exemple, le code suivant permet de charger le fichier danimation Flash contenu.swf dans loccurrence de clip appele cible_mc :
loadMovieNum("contenu.swf", cible_mc);

De mme, vous pouvez utilisez Clip.loadMovie() pour obtenir le mme rsultat :


cible_mc.loadMovie("contenu.swf");

Le code suivant charge limage JPEG fleurs.jpg dans loccurrence de clip image_clip :
image_clip.loadMovie("fleurs.jpg");

202

Chapitre 11 : Utilisation de mdias externes

Pour plus dinformations sur loadMovie(), loadMovieNum() et MovieClip.loadMovie, consultez les entres correspondantes du Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. A propos des fichiers SWF chargs et du scnario racine La proprit ActionScript _root spcifie ou renvoie une rfrence au scnario racine dun fichier SWF. Si vous chargez un fichier SWF dans le clip dun autre fichier SWF, les rfrences _root dans le fichier SWF charg se traduisent dans le scnario racine du fichier SWF hte et non pas dans celui du fichier SWF charg. Cela peut parfois engendrer un comportement inattendu lexcution, par exemple, si le fichier SWF hte et le fichier SWF charg utilisent tous les deux _root pour spcifier une variable. Dans Flash Player 7 et ses versions ultrieures, vous pouvez utiliser la proprit pour obliger les rfrences _root ralises dans un clip se traduire dans son propre scnario, plutt que dans celui de lanimation contenant le clip. Pour plus dinformations, consultez Spcification dun scnario racine pour les fichiers SWF chargs, page 127.
MovieClip._lockroot

A propos de laccs aux donnes des fichiers SWF chargs Un fichier SWF peut charger un autre fichier SWF depuis nimporte quel emplacement sur Internet. Cependant, pour quun fichier SWF accde aux donnes (variables, mthodes, etc.) dfinies dans lautre fichier SWF, les deux fichiers doivent provenir du mme domaine. Dans Flash Player 7 et ses versions ultrieures, toute criture de scripts inter-domaines est interdite sauf si le fichier SWF charg en dcide autrement en appelant System.security.allowDomain().
System.security.allowDomain()

Pour plus dinformations, consultez Fonctions de scurit de Flash Player, page 196 et dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Chargement des fichiers externes MP3


Pour charger des fichiers MP3 lexcution, utilisez la mthode loadSound() de la classe Sound. Crez tout dabord un objet Sound :
var chanson_1_sound = new Sound();

Utilisez ensuite le nouvel objet pour appeler la mthode loadSound() et charger un vnement ou un son lu en flux continu. Alors que les sons dvnement sont entirement chargs avant leur lecture, les sons lus en flux continu sont lus pendant leur tlchargement. Vous pouvez dfinir le paramtre isStreaming de la mthode loadSound() de manire dfinir un son comme tant un son dvnement ou un son lu en flux continu. Aprs avoir charg un son dvnement, vous devez appeler la mthode start() de la classe Sound pour lancer sa lecture. La lecture des sons lus en flux continu dbute ds quune quantit suffisante de donnes a t charge dans le fichier SWF et il nest pas ncessaire dutiliser la mthode start(). Par exemple, le code suivant cre un objet Sound nomm classique et charge ensuite un fichier MP3 nomm beethoven.mp3 :
var classique.Sound = new Sound(); classique.loadSound("http://server.com/mp3s/beethoven.mp3", true);

Chargement des fichiers externes MP3

203

Dans la plupart des cas, dfinissez le paramtre isStreaming sur la valeur true, particulirement si vous chargez des fichiers sons volumineux qui doivent dmarrer ds que possible, par exemple, lorsque vous crez une application juke-box MP3. Cependant, si vous tlchargez des clips son moins volumineux et devez les excuter un moment prcis (par exemple, lorsquun utilisateur clique sur un bouton), dfinissez le paramtre isStreaming sur la valeur false.
Son.onLoad. Ce gestionnaire dvnement reoit automatiquement une ou false) qui indique si le fichier a bien t tlcharg correctement.

Pour dterminer la fin du tlchargement dun son, utilisez le gestionnaire dvnement valeur boolenne (true Par exemple, supposez que vous crez un jeu en ligne qui utilise diffrents sons en fonction du niveau atteint par lutilisateur dans ce jeu. Le code suivant charge un fichier MP3 (blastoff.mp3) dans un objet Sound appel sonJeu, puis lit le son la fin du tlchargement :

var sonJeu = new Sound(); sonJeu.onLoad = function (chargementOK) { if(chargementOK) { sonJeu.start(); } } sonJeu.loadSound("http://server.com/sounds/blastoff.mp3", false);

Pour les fichiers son, Flash Player ne supporte que le type de fichier MP3. Pour plus dinformations, consultez Sound.loadSound, Sound.start() et Sound.onLoad dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Lecture des balises ID3 dans les fichiers MP3


Les balises ID3 sont des champs de donnes ajouts un fichier MP3 contenant des informations sur ce fichier, comme le nom de la chanson, le nom de lalbum et de lartiste. Pour lire les balises ID3 dun fichier MP3, utilisez la proprit Sound.ID3, dont les proprits correspondent aux noms des balises ID3 incluses dans le fichier MP3 en cours de tlchargement. Pour dterminer la disponibilit des balises ID3 pour tlcharger un fichier MP3, utilisez le gestionnaire dvnement Sound.onID3. Flash Player7 prend en charge les balises des versions 1.0, 1.1, 2.3 et 2.4 ; les balises de la version 2.2 ne sont pas prises en charge. Par exemple, le code suivant charge un fichier MP3 nomm chansonPreferee.mp3 dans lobjet Sound nomm chanson. Lorsque les balises ID3 sont disponibles pour le fichier, un champ de texte nomm affichage_txt affiche le nom de lartiste et de la chanson.
var chanson = new Sound(); chanson.onID3 = function () { affichage_txt.text = "Artiste : " + song.id3.TCOM + newline; affichage_txt.text += "Chanson : " + song.id3.TIT2); } son.loadSound("mp3s/chansonPreferee.mp3, true");

Les balises ID3 2.0 se trouvant au dbut dun fichier MP3 (avant les donnes audio), elles sont disponibles ds que le fichier dmarre le tlchargement. Cependant, les balises ID3 1.0 se trouvent la fin du fichier (aprs les donnes audio) ; elles ne sont pas disponibles tant que le tlchargement du fichier MP3 nest pas termin. Le gestionnaire dvnement onID3 est appel chaque fois que de nouvelles donnes ID3 sont disponibles. Cela signifie que si un fichier MP3 contient des balises ID3 2.0 et ID3 1.0, le gestionnaire dvnement onID3 sera appel deux fois, car les balises se trouvent dans des parties diffrentes du fichier.

204

Chapitre 11 : Utilisation de mdias externes

Pour obtenir une liste des balises ID3 prises en charge, consultez Sound.ID3, page 624.

Lecture dynamique des fichiers FLV externes


Plutt que dimporter des donnes vido dans lenvironnement auteur de Flash, vous pouvez utiliser ActionScript pour lire dynamiquement les fichiers FLV externes dans Flash Player. Vous pouvez lire les fichiers FLV partir dune adresse HTTP ou du systme de fichiers local. Pour lire les fichiers FLV, utilisez les classes NetConnection et NetStream, ainsi que la mthode attachVideo() de la classe Video. ( Pour obtenir des informations compltes, consultez les entres Classe NetConnection, Classe NetStream et Video.attachVideo() dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.) Vous pouvez crer des fichiers FLV en important la vido dans loutil de programmation Flash et en lexportant sous la forme dun fichier FLV. (Consultez Vido Macromedia Flash dans le guide Utilisation de Flash de laide. Si vous possdez Flash Professionnel, vous pouvez utiliser le module dexportation de FLV pour exporter les fichiers FLV partir dapplications ddition vido prises en charge. (Consultez Exportation des fichiers FLV partir des applications ddition vido (Flash Professionnel uniquement) dans le guide Utilisation de Flash de laide. Lutilisation des fichiers FLV externes offre certaines fonctionnalits qui ne sont pas disponibles avec lutilisation de la vido importe :

Vous pouvez utiliser des clips vido plus longs dans vos documents Flash sans ralentir la lecture
de lanimation. Les fichiers FLV externes sont lus laide de la mmoire cache. Cela signifie que les fichiers volumineux sont stocks en petites parties et sont accessibles dynamiquement, et quils ne ncessitent pas autant de mmoire que les fichiers vido intgrs. Un fichier FLV externe peut avoir une cadence diffrente de celle du document Flash dans lequel il est lu. Par exemple, vous pouvez dfinir la cadence du document Flash 30 ips et celle de limage vido 21 ips. Cela vous octroie un meilleur contrle et garantit la fluidit du flux vido. Avec les fichiers FLV externes, la lecture du document Flash na pas besoin dtre interrompue pendant le chargement du fichier vido. Les fichiers vido imports peuvent parfois interrompre la lecture du document pour excuter certaines fonctions, par exemple, accder un lecteur de CD-ROM. Les fichiers FLV peuvent excuter les fonctions indpendamment du document Flash et ainsi ne pas interrompre la lecture. Le sous-titrage du contenu vido est plus facile avec les fichiers FLV externes, parce que vous utilisez les gestionnaires dvnements pour accder aux mtadonnes de la vido.

La procdure suivante illustre comment lire un fichier nomm videoFile.flv stock au mme emplacement que votre fichier SWF.
Pour lire un fichier FLV externe dans un document Flash :

1 Si le document est ouvert dans loutil de programmation Flash, dans le panneau Bibliothque

(Fentre > Bibliothque), slectionnez Nouvelle vido dans le menu doptions de la bibliothque pour crer un objet vido. 2 Faites glisser un objet vido depuis le panneau Bibliothque sur la scne. Une occurrence de lobjet vido est cre. 3 Lorsque lobjet vido est slectionn sur la scne, dans linspecteur des proprits (Fentre > Proprits), entrez ma_video dans le champ de texte Nom de loccurrence. 4 Ouvrez le panneau Composants (Fentre > Panneaux de dveloppement > Composants) et faites glisser un composant TextArea sur la scne.

Lecture dynamique des fichiers FLV externes

205

5 Lorsque lobjet TextArea est slectionn sur la scne, entrez status dans le champ de texte Nom

de loccurrence, dans linspecteur des proprits.


6 Slectionnez limage 1 dans le scnario et ouvrez le panneau Actions (Fentre > Panneaux de

dveloppement > Actions).


7 Ajoutez le code suivant au panneau Actions
// Crer un objet NetConnection : var netConn:NetConnection = new NetConnection(); // Crer une connexion locale en flux continu : netConn.connect(null); // Crer un objet NetStream et dfinir une fonction onStatus() : var netStream:NetStream = new NetStream(netConn); netStream.onStatus = function(infoObject) { status.text += "Status (NetStream)" + newline; status.text += "Level: "+infoObject.level + newline; status.text += "Code: "+infoObject.code + newline; }; // Associer la vido NetStream lobjet Video : ma_video.attachVideo(netStream); // Dfinir la dure du tampon : netStream.setBufferTime(5); // Lire le fichier FLV : netStream.play("videoFile.flv");

Prchargement de mdia externe


ActionScript offre plusieurs faons de prcharger ou de suivre la progression du tlchargement du mdia externe. Pour prcharger les fichiers SWF et JPEG, utilisez la classe MovieClipLoader, qui offre un mcanisme dcouteur dvnements permettant de vrifier la progression du tlchargement. Cette classe est nouvelle dans Flash Player 7. Pour plus dinformations, consultez Prchargement des fichiers SWF et JPEG, page 206. Pour suivre la progression du tlchargement des fichiers MP3, utilisez les mthodes Sound.getBytesLoaded() et Sound.getBytesTotal() ; pour suivre la progression du tlchargement des fichiers FLV, utilisez les proprits NetStream.bytesLoaded et NetStream.bytesTotal. Pour plus dinformations, consultez Prchargement des fichiers MP3 et FLV, page 208. Prchargement des fichiers SWF et JPEG Pour prcharger les fichiers SWF et JPEG dans les occurrences de clip, vous pouvez utiliser la Classe MovieClipLoader. Cette classe offre un mcanisme dcouteur dvnements qui indique ltat des tlchargements de fichiers dans les clips. Lutilisation dun objet MovieClipLoader pour prcharger des fichiers SWF et JPEG implique les tapes suivantes :
Crer un objet MovieClipLoader Vous pouvez utiliser un seul objet MovieClipLoader pour suivre la progression du tlchargement de plusieurs fichiers ou crer un objet distinct pour suivre la progression des fichiers individuels. var loader:MovieClipLoader = new MovieClipLoader(); Crer un objet dcoute et crer des gestionnaires dvnements

Lobjet dcoute peut tre nimporte quel objet ActionScript, par exemple un objet Object gnrique, un clip ou un composant personnalis.

206

Chapitre 11 : Utilisation de mdias externes

Par exemple, le code suivant cre un objet dcoute gnrique nomm loadListener et dfinit pour lui-mme les fonctions onLoadStart, onLoadProgress et onLoadComplete.
// Crer un objet dcoute : var loadListener:Object = new Object(); loadListener.onLoadStart = function (loadTarget) { trace("Le chargement dans " + loadTarget + " a commenc."); } loadListener.onLoadProgress = function(loadTarget, octetsChargs, octetsTotal) { var percentLoaded = bytesLoaded/bytesTotal * 100; trace("%" + percentLoaded + " vers cible " + loadTarget); } loadListener.onLoadComplete = function(loadTarget) { trace("Chargement termin dans : " + loadTarget); } Enregistrer lobjet dcoute avec lobjet MovieClipLoader Vous devez enregistrer lobjet dcoute avec lobjet MovieClipLoader pour quil reoive les vnements chargs. loader.addListener(loadListener); Commencer charger le fichier (JPEG ou SWF) dans un clip cible Pour commencer le tlchargement du fichier JPEG ou SWF, utilisez la mthode MovieClipLoader.loadClip(). loader.loadClip("scene_2.swf"); Remarque : Vous ne pouvez utiliser que les mthodes MovieClipLoader pour suivre la progression du tlchargement des fichiers chargs avec la mthode MovieClipLoader.loadClip(). Vous ne pouvez pas utiliser la fonction loadMovie() ou la mthode MovieClip.loadMovie().

Lexemple suivant utilise la mthode setProgress() du composant ProgressBar pour afficher la progression du tlchargement dun fichier SWF. (Consultez composant ProgressBar dans le guide Utilisation des composants de laide.)
Pour afficher la progression du tlchargement en utilisant le composant ProgressBar :

1 Dans un nouveau document Flash, crez un clip sur la scne et donnez-lui le nom cible_mc. 2 Ouvrez le panneau Composants (Fentre > Panneaux de dveloppement > Composants). 3 Faites glisser un composant ProgressBar du panneau Composants jusqu la scne. 4 Dans linspecteur des proprits, donnez le nom pBar au composant ProgressBar et, dans le

volet Paramtres, slectionnez Manuel dans le menu contextuel Mode. 5 Slectionnez limage 1 dans le scnario et ouvrez le panneau Actions (Fentre > Panneaux de dveloppement > Actions). 6 Ajoutez le code suivant au panneau Actions
// crez un objet MovieClipLoader et un objet couteur monChargeur = new MovieClipLoader(); monEcouteur = new Object(); // ajoutez les rappels de MovieClipLoader votre objet couteur monEcouteur.onLoadStart = function(clip) { // cet vnement est dclench une fois, lors du lancement du chargement pBar.label = "Chargement en cours : " + clip; }; monEcouteur.onLoadProgress = function(clip, octetsChargs, octetsTotal) { var pourcentageCharg = int (100 x (octetsChargs/octetsTotal)); pBar.setProgress(bytesLoaded, bytesTotal); };monChargeur.addListener(monEcouteur); monChargeur.loadClip("Fichiertrsvolumineux.swf", cible_mc);

Prchargement de mdia externe

207

7 Testez le document en slectionnant Contrle > Tester lanimation.

Pour plus dinformations, consultez lentre Classe MovieClipLoader dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. Prchargement des fichiers MP3 et FLV Pour prcharger des fichiers MP3 et FLV, vous pouvez utiliser la fonction setInterval() pour crer un mcanisme dinterrogation qui vrifie les octets chargs par un objet Sound ou NetStream des intervalles prdtermins. Pour suivre la progression du tlchargement des fichiers MP3, utilisez les mthodes Sound.getBytesLoaded() et Sound.getBytesTotal() ; pour suivre la progression du tlchargement des fichiers FLV, utilisez les proprits NetStream.bytesLoaded et NetStream.bytesTotal. Le code suivant utilise setInterval() pour vrifier les octets chargs par un objet Sound ou NetStream des intervalles prdtermins.
// Crez un nouvel objet Sound pour lire le son. var pisteSon = new Sound(); // Crez la fonction dinterrogation qui suit la progression du tlchargement. // Il sagit de la fonction qui est interroge . Elle vrifie // la progression du tlchargement de lobjet Sound transmis comme une rfrence. checkProgress = function (objSon) { var octetsChargs = objSon.getBytesLoaded(); var octetsTotal = objSon.getBytesTotal(); var pourcentageCharg = Math.floor(octetsChargs/octetsTotal x 100); trace("%" + pourcentageCharg + " charg(s)."); } // Lorsque le fichier a termin le chargement, supprimez lintervalle dinterrogation. pisteSon.onLoad = function () { clearInterval(interrogation); } // Charger le fichier MP3 en flux continu et commencer appeler checkProgress() pisteSon.loadSound("beethoven.mp3", true); var interrogation = setInterval(checkProgress, 1000, pisteSon);

Vous pouvez utiliser ce mme type de technique dinterrogation pour prcharger des fichiers FLV externes. Pour obtenir le nombre total doctets et le nombre doctets chargs pour un fichier FLV, utilisez les proprits NetStream.bytesLoaded et NetStream.bytesTotal. Une autre faon de prcharger les fichiers FLV consiste utiliser la mthode NetStream.setBufferTime(). Cette mthode prend un seul paramtre indiquant le nombre de secondes du flux FLV tlcharger avant le dmarrage de la lecture. Pour plus dinformations, consultez MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), NetStream.bytesLoaded, NetStream.bytesTotal, NetStream.setBufferTime(), setInterval(), Sound.getBytesLoaded() et Sound.getBytesTotal()dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

208

Chapitre 11 : Utilisation de mdias externes

PARTIE V Rfrence

PARTIE V

Cette section contient le dictionnaire ActionScript, qui fournit des informations sur la syntaxe et lutilisation des lments du langage ActionScript. Elle contient galement des annexes proposant des informations de rfrence que vous pouvez consulter lors de la rdaction de vos scripts. Chapitre 12: Dictionnaire ActionScript Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Annexe A: Messages derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773 Annexe B: Priorit et associativit des oprateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 Annexe C: Touches du clavier et valeurs de code correspondantes . . . . . . . . . . . . . . . . . . . . . 781 Annexe D: Ecriture de scripts destins des versions antrieures de Flash Player . . . . . . . . . . 787 Annexe E: Programmation oriente objet avec ActionScript 1 . . . . . . . . . . . . . . . . . . . . . . . . 791

CHAPITRE 12 Dictionnaire ActionScript Prsentation

Ce dictionnaire dcrit la syntaxe et lutilisation des lments ActionScript dans Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004. Pour utiliser les exemples de ce dictionnaire dans un script, copiez le code et collez-le dans la fentre de script ou dans un fichier de script externe. Ce dictionnaire rpertorie lensemble des lments ActionScript : oprateurs, mots-cls, instructions, actions, proprits, fonctions, classes et mthodes. Pour une vue densemble de toutes les entres du dictionnaire, consultez Contenu du dictionnaire, page 213 ; les tableaux de cette section sont un bon point de dpart pour rechercher des oprateurs symboles ou des mthodes dont vous ne connaissez pas la classe. Pour plus dinformations sur les composants, veuillez consulter le guide Utilisation des composants. Ce dictionnaire contient deux types dentres diffrents :

Des entres individuelles pour les oprateurs, les mots-cls, les fonctions, les variables, les
proprits, les mthodes et les instructions.

Des entres de classe, qui fournissent des informations gnrales sur les classes intgres.
Utilisez les informations contenues dans les entres en exemple pour interprter la structure et les conventions utilises dans ces types dentres.

Exemple dentre pour la plupart des lments ActionScript


Lexemple dentre suivant illustre les conventions utilises pour tous les lments ActionScript qui ne sont pas des classes. Titre de lentre Toutes les entres sont classes par ordre alphabtique. Lordre alphabtique ne tient pas compte des majuscules, des traits de soulignement de prfixe, et ainsi de suite.
Disponibilit

Sauf mention contraire, la section Disponibilit indique les versions de Flash Player qui supportent llment. Ceci est diffrent de la version de Flash utilise pour dvelopper le contenu. Par exemple, si vous utilisez Macromedia Flash MX 2004 ou Macromedia Flash MX Professionnel 2004 pour crer des contenus pour Flash Player 6, vous ne pourrez utiliser que les lments dActionScript disponibles dans Flash Player 6. Dans quelques cas rares, cette section indique galement la version de loutil de programmation supportant llment. Pour obtenir un exemple, consultez System.setClipboard().

211

Enfin, si un lment nest support que dans ActionScript 2.0, cette section le mentionne galement.
Usage

Cette section prsente la syntaxe correcte dutilisation des lments ActionScript dans votre code. La portion obligatoire de la syntaxe est indique en police de code ; le code que vous devez fournir est en italique. Les crochets ([]) indiquent des paramtres facultatifs.
Paramtres

Cette section dcrit les paramtres rpertoris dans la syntaxe.


Renvoie

Cette section identifie les valeurs renvoyes par llment (le cas chant).
Description

Cette section identifie le type dlment (par exemple, oprateur, mthode, fonction ou autre) et dcrit son utilisation.
Exemple

Cette section fournit un exemple de code illustrant lutilisation de llment.


Consultez galement

Cette section rpertorie les entres connexes du dictionnaire ActionScript.

Exemple dentre pour les classes


Lexemple dentre suivant illustre les conventions utilises pour les classes ActionScript intgres. Les classes sont rpertories par ordre alphabtique avec tous les autres lments du dictionnaire. Titre de lentre Le titre de lentre fournit le nom de la classe. Le nom de la classe est suivi dune description gnrale. Tableaux rcapitulatifs des mthodes et proprits Chaque entre de classe contient un tableau rpertoriant toutes les mthodes associes. Si la classe possde des proprits (souvent des constantes), des gestionnaires dvnement ou des couteurs dvnement, ces lments sont rpertoris dans un tableau complmentaire. Tous les lments rpertoris dans ces tableaux disposent galement de leur propre entre dans le dictionnaire, la suite de lentre de la classe correspondante. Constructeur Si une classe requiert lutilisation dun constructeur pour accder ses mthodes et proprits, ledit constructeur est dcrit dans chaque entre de classe. La description du constructeur contient les mmes lments standard (syntaxe, description, etc.) que les autres entres de dictionnaire.

212

Chapitre 12 : Dictionnaire ActionScript Prsentation

Listes des mthodes et proprits Les mthodes et proprits de la classe sont rpertories dans lordre alphabtique aprs lentre de la classe.

Contenu du dictionnaire
Toutes les entres du dictionnaire sont classes par ordre alphabtique. Cependant, certains oprateurs sont des symboles et sont classs dans lordre ASCII. En outre, les mthodes associes une classe sont rpertories avec le nom de la classe. Ainsi, la mthode abs() de la classe Math est rpertorie comme Math.abs(). Les deux tableaux suivants vous aideront trouver ces lments. Le premier tableau rpertorie les oprateurs symboles dans leur ordre dapparition dans le dictionnaire. Le second tableau rpertorie tous les autres lments ActionScript.
Oprateurs symboles
++ ! != !== % %= & && &= () * *= , . : ?: / // /* /= [] ^

Consultez lentre
(dcrmentation) ++ (incrmentation) ! (NOT logique) != (ingalit) !== (ingalit stricte) % (modulo) %= (affectation de modulo) & (Oprateur AND au niveau du bit) && (AND logique) &= (affectation AND au niveau du bit) () (parenthses) (moins) * (multiplication) *= (affectation de multiplication) , (virgule) .(point) : (type) ?: (conditionnel) / (division) // (dlimiteur de commentaires) /* (dlimiteur de commentaires) /= (affectation de division) [] (accs tableau) ^ (XOR au niveau du bit)

Contenu du dictionnaire

213

Oprateurs symboles
^= {} | || |= ~ + += < << <<= <= <> = -= == === > >= >> >>= >>> >>>=

Consultez lentre
^= (affectation XOR au niveau du bit) {} (initialisateur dobjet) | (OR au niveau du bit) || (OR logique) |= (affectation OR au niveau du bit) ~ (NOT au niveau du bit) + (addition) += (affectation daddition) <(infrieur ) << (dcalage gauche au niveau du bit) <<= (dcalage gauche au niveau du bit et affectation) <= (infrieur ou gal ) <> (Ingalit) = (affectation) -= (affectation de soustraction) == (galit) === (galit stricte) >(suprieur ) >= (suprieur ou gal ) >> (dcalage droit au niveau du bit) >>= (dcalage droit au niveau du bit et affectation) >>> (dcalage droit non sign au niveau du bit) >>>= (dcalage droit non sign au niveau du bit et affectation)

Le tableau suivant rpertorie tous les lments ActionScript qui ne sont pas des oprateurs symboles.
Elment ActionScript Consultez lentre
#endinitclip #include #initclip __proto__ _accProps _alpha _currentframe _droptarget #endinitclip #include #initclip Object.__proto__ _accProps MovieClip._alpha, Button._alpha, TextField._alpha MovieClip._currentframe MovieClip._droptarget

214

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


_focusrect _framesloaded _global _height _highquality _focusrect, Button._focusrect, MovieClip._focusrect MovieClip._framesloaded _global object Button._height, MovieClip._height, TextField._height _highquality, Button._highquality, MovieClip._highquality, TextField._highquality MovieClip._lockroot Button._name, MovieClip._name, TextField._name _parent, Button._parent, MovieClip._parent, TextField._parent _quality, Button._quality, TextField._quality _root Button._rotation, MovieClip._rotation, TextField._rotation _soundbuftime, Button._soundbuftime, MovieClip._soundbuftime, TextField._soundbuftime Button._target, MovieClip._target, TextField._target MovieClip._totalframes Button._url, MovieClip._url, TextField._url Button._visible, MovieClip._visible, TextField._visible Button._width, MovieClip._width, TextField._width Button._x, MovieClip._x, TextField._x Button._xmouse, MovieClip._xmouse, TextField._xmouse Button._xscale, MovieClip._xscale, TextField._xscale Button._y, MovieClip._y, TextField._y Button._ymouse, MovieClip._ymouse, TextField._ymouse Button._yscale, MovieClip._yscale, TextField._yscale Math.abs()

_lockroot _name _parent _quality _root _rotation _soundbuftime

_target _totalframes _url _visible _width _x _xmouse _xscale _y _ymouse _yscale abs Accessibility acos activityLevel add addListener

Classe Accessibility
Math.acos Camera.activityLevel, Microphone.activityLevel add Key.addListener(), Mouse.addListener(), MovieClipLoader.addListener(), Selection.addListener, Stage.addListener, TextField.addListener() PrintJob.addPage() Object.addProperty()

addPage addProperty

Contenu du dictionnaire

215

Elment ActionScript Consultez lentre


addRequestHeader alignement allowDomain allowInsecureDomain LoadVars.addRequestHeader(), XML.addRequestHeader() Stage.align, TextFormat.align LocalConnection.allowDomain, System.security.allowDomain() LocalConnection.allowInsecureDomain, System.security.allowInsecureDomain() and XML.appendChild() Function.apply()

and appendChild apply Arguments Array asfunction asin atan atan2 attachAudio attachMovie attachSound attachVideo attributs autosize avHardwareDisable background backgroundColor BACKSPACE bandwidth beginFill beginGradientFill blockIndent bold Boolean border borderColor bottomScroll break

Classe Arguments Classe Array, Array()


asfunction Math.asin() Math.atan() Math.atan2() MovieClip.attachAudio() MovieClip.attachMovie() Sound.attachSound() Video.attachVideo() XML.attributes TextField.autoSize System.capabilities.avHardwareDisable TextField.background TextField.backgroundColor Key.BACKSPACE Camera.bandwidth MovieClip.beginFill() MovieClip.beginGradientFill() TextFormat.blockIndent TextFormat.bold Boolean(), Classe Boolean TextField.border TextField.borderColor TextField.bottomScroll break

216

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


bufferLength bufferTime builtInItems bullet Button bytesLoaded bytesTotal call callee caller Camera capabilities CAPSLOCK caption case catch ceil charAt charCodeAt childNodes chr class clear clearInterval cloneNode close Color concat connect NetStream.bufferLength NetStream.bufferTime ContextMenu.builtInItems TextFormat.bullet

Classe Button
NetStream.bytesLoaded NetStream.bytesTotal call(), Function.call arguments.callee arguments.caller

Classe Camera
Objet System.capabilities Key.CAPSLOCK ContextMenuItem.caption case try..catch..finally Math.ceil() String.charAt String.charCodeAt XML.childNodes chr classe MovieClip.clear(), SharedObject.clear(), Video.clear() clearInterval() XML.cloneNode() LocalConnection.close(), NetStream.close(), XMLSocket.close

Classe Color, TextFormat.color


Array.concat, String.concat() LocalConnection.connect(), NetConnection.connect(), XMLSocket.connect TextField.condenseWhite

condenseWhite

Contenu du dictionnaire

217

Elment ActionScript Consultez lentre


constructeur

Classe Array, Classe Boolean, Classe Camera, Classe Color, Classe ContextMenu, Classe ContextMenuItem, Classe Date, Classe Error, Classe LoadVars, Classe LocalConnection, Classe Microphone, Classe NetConnection, Classe NetStream, Classe Number, Classe Object, Classe PrintJob, Classe SharedObject, Classe Sound, Classe String, Classe TextField.StyleSheet, Classe TextFormat, Classe XML, Classe XMLSocket
LoadVars.contentType, XML.contentType

contentType ContextMenu ContextMenuItem continue CONTROL copy cos createElement createEmptyMovieClip createTextField createTextNode currentFps curveTo CustomActions customItems data Date deblocking default delete DELETEKEY do while docTypeDecl domain DOWN duplicateMovieClip duration dynamic E

Classe ContextMenu Classe ContextMenuItem


continue Key.CONTROL ContextMenu.copy(), ContextMenuItem.copy() Math.cos XML.createElement MovieClip.createEmptyMovieClip() MovieClip.createTextField() XML.createTextNode Camera.currentFps, NetStream.currentFps MovieClip.curveTo()

Classe CustomActions
ContextMenu.customItems SharedObject.data

Classe Date
Video.deblocking default delete Key.DELETEKEY do while XML.docTypeDecl LocalConnection.domain() Key.DOWN duplicateMovieClip(), MovieClip.duplicateMovieClip Sound.duration dynamic Math.E

218

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


else else if embedFonts enabled END endFill ENTER eq Error ESCAPE (constante) escape (fonction) eval exactSettings exp extends false finally findText firstChild floor flush focusEnabled font for for..in fps fromCharCode fscommand function gain ge get getAscii getBeginIndex else else if TextField.embedFonts Button.enabled, ContextMenuItem.enabled, MovieClip.enabled Key.END MovieClip.endFill() Key.ENTER eq (gal spcifique la chane)

Classe Error
Key.ESCAPE escape eval() System.exactSettings Math.exp extends false try..catch..finally TextSnapshot.findText() XML.firstChild Math.floor SharedObject.flush() MovieClip.focusEnabled TextFormat.font for for..in Camera.fps String.fromCharCode() fscommand() function, Classe Function Microphone.gain ge (suprieur ou gal spcifique aux chanes) Camera.get(), CustomActions.get(), get, Microphone.get() Key.getAscii() Selection.getBeginIndex()

Contenu du dictionnaire

219

Elment ActionScript Consultez lentre


getBounds getBytesLoaded MovieClip.getBounds LoadVars.getBytesLoaded(), MovieClip.getBytesLoaded(), Sound.getBytesLoaded(), XML.getBytesLoaded() LoadVars.getBytesTotal(), MovieClip.getBytesTotal(), Sound.getBytesTotal(), XML.getBytesTotal() Selection.getCaretIndex() Key.getCode() TextSnapshot.getCount() Date.getDate Date.getDay() Button.getDepth, MovieClip.getDepth(), TextField.getDepth() Selection.getEndIndex() Selection.getFocus() TextField.getFontList Date.getFullYear Date.getHours() MovieClip.getInstanceAtDepth() SharedObject.getLocal() Date.getMilliseconds() Date.getMinutes() Date.getMonth TextField.getNewTextFormat() MovieClip.getNextHighestDepth() Sound.getPan() MovieClipLoader.getProgress() getProperty Color.getRGB() Date.getSeconds TextSnapshot.getSelected() TextSnapshot.getSelectedText() SharedObject.getSize() TextField.StyleSheet.getStyle() TextField.StyleSheet.getStyleNames() MovieClip.getSWFVersion() TextSnapshot.getText()

getBytesTotal

getCaretIndex getCode getCount getDate getDay getDepth getEndIndex getFocus getFontList getFullYear getHours getInstanceAtDepth getLocal getMilliseconds getMinutes getMonth getNewTextFormat getNextHighestDepth getPan getProgress getProperty getRGB getSeconds getSelected getSelectedText getSize getStyle getStyleNames getSWFVersion getText

220

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


getTextExtent getTextFormat getTextSnapshot getTime getTimer getTimezoneOffset getTransform getURL getUTCDate getUTCDay getUTCFullYear getUTCHours getUTCMilliseconds getUTCMinutes getUTCMonth getUTCSeconds getVersion getVolume getYear globalToLocal goto gotoAndPlay gotoAndStop gt hasAccessibility hasAudio hasAudioEncoder hasChildNodes hasEmbeddedVideo hasMP3 hasPrinting hasScreenBroadcast hasScreenPlayback hasStreamingAudio hasStreamingVideo TextFormat.getTextExtent() TextField.getTextFormat() MovieClip.getTextSnapshot() Date.getTime() getTimer Date.getTimezoneOffset() Color.getTransform(), Sound.getTransform() getURL(), MovieClip.getURL() Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() getVersion Sound.getVolume() Date.getYear() MovieClip.globalToLocal() gotoAndPlay(), gotoAndStop() gotoAndPlay(), MovieClip.gotoAndPlay() gotoAndStop(), MovieClip.gotoAndStop gt (suprieur spcifique aux chanes) System.capabilities.hasAccessibility System.capabilities.hasAudio System.capabilities.hasAudioEncoder XML.hasChildNodes() System.capabilities.hasEmbeddedVideo System.capabilities.hasMP3 System.capabilities.hasPrinting System.capabilities.hasScreenBroadcast System.capabilities.hasScreenPlayback System.capabilities.hasStreamingAudio System.capabilities.hasStreamingVideo

Contenu du dictionnaire

221

Elment ActionScript Consultez lentre


hasVideoEncoder height hide hideBuiltInItems hitArea hitTest hitTestTextNearPos HOME hscroll html htmlText ID3 if ifFrameLoaded ignoreWhite implements import indentation index indexOf Infinity -Infinity INSERT insertBefore install instanceof int interface isActive isDebugger isDown isFinite isNaN isToggled italic ifFrameLoaded XML.ignoreWhite implements import TextFormat.indent Camera.index, Microphone.index String.indexOf Infinity -Infinity Key.INSERT XML.insertBefore CustomActions.install() instanceof int interface Accessibility.isActive() System.capabilities.isDebugger Key.isDown() isFinite isNaN() Key.isToggled() TextFormat.italic System.capabilities.hasVideoEncoder Camera.height, Stage.height, Video.height Mouse.hide() ContextMenu.hideBuiltInItems() MovieClip.hitArea MovieClip.hitTest() TextSnapshot.hitTestTextNearPos() Key.HOME TextField.hscroll TextField.html TextField.htmlText Sound.ID3

222

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


join key language lastChild lastIndexOf le leading LEFT leftMargin length Array.join()

Classe Key
System.capabilities.language XML.lastChild String.lastIndexOf le (infrieur ou gal spcifique aux chanes) TextFormat.leading Key.LEFT TextFormat.leftMargin length, arguments.length, Array.length, String.length, TextField.length _level MovieClip.lineStyle() MovieClip.lineTo() CustomActions.list() Math.LN10 Math.LN2 LoadVars.load(), TextField.StyleSheet.load(), XML.load(), MovieClipLoader.loadClip() LoadVars.loaded, XML.loaded loadMovie(), MovieClip.loadMovie loadMovieNum() Sound.loadSound loadVariables(), MovieClip.loadVariables() loadvariablesNum()

level lineStyle lineTo list LN10 LN2 load loadClip loaded loadMovie loadMovieNum loadSound loadVariables loadVariablesNum LoadVars LocalConnection localFileReadDisable localToGlobal log LOG10E LOG2E lt manufacturer Math

Classe LoadVars Classe LocalConnection


System.capabilities.localFileReadDisable MovieClip.localToGlobal() Math.log() Math.LOG10E Math.LOG2E lt (infrieur spcifique aux chanes) System.capabilities.manufacturer

Classe Math

Contenu du dictionnaire

223

Elment ActionScript Consultez lentre


max MAX_VALUE maxChars maxhscroll maxscroll mbchr mblength mbord mbsubstring menu message Microphone min MIN_VALUE MMExecute motionLevel motionTimeOut Mouse mouseWheelEnabled moveTo MovieClip MovieClipLoader multiline muted name names NaN ne NEGATIVE_INFINITY NetConnection NetStream new (oprateur) newline nextFrame Math.max() Number.MAX_VALUE TextField.maxChars TextField.maxhscroll maxscroll, TextField.maxscroll mbchr mblength mbord mbsubstring Button.menu, MovieClip.menu, TextField.menu Error.message

Classe Microphone
Math.min() Number.MIN_VALUE MMExecute() Camera.motionLevel Camera.motionTimeOut

Classe Mouse
TextField.mouseWheelEnabled MovieClip.moveTo() Classe MovieClip

Classe MovieClipLoader
TextField.multiline Camera.muted, Microphone.muted Error.name, Microphone.name Camera.names, Microphone.names NaN, Number.NaN ne (pas gal spcifique aux chanes) Number.NEGATIVE_INFINITY

Classe NetConnection Classe NetStream


new newline nextFrame(), MovieClip.nextFrame()

224

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


nextScene nextSibling nodeName nodeType nodeValue not null Number Object on onActivity onChanged onClipEvent onClose onConnect onData onDragOut onDragOver onEnterFrame onID3 onKeyDown onKeyUp onKillFocus onLoad nextScene() XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue not null Number, Classe Number

Classe Object, Objet()


on() Camera.onActivity, Microphone.onActivity TextField.onChanged onClipEvent() XMLSocket.onClose XMLSocket.onConnect LoadVars.onData, MovieClip.onData, XML.onData, XMLSocketXML.onData() Button.onDragOut, MovieClip.onDragOut Button.onDragOver, MovieClip.onDragOver MovieClip.onEnterFrame Sound.onID3 Button.onKeyDown, Key.onKeyDown, MovieClip.onKeyDown Button.onKeyUp, Key.onKeyUp, MovieClip.onKeyUp Button.onKillFocus, MovieClip.onKillFocus, TextField.onKillFocus LoadVars.onLoad, MovieClip.onLoad, Sound.onLoad, TextField.StyleSheet.onLoad, XML.onLoad MovieClipLoader.onLoadComplete() MovieClipLoader.onLoadError() MovieClipLoader.onLoadInit() MovieClipLoader.onLoadProgress() MovieClipLoader.onLoadStart() Mouse.onMouseDown, MovieClip.onMouseDown Mouse.onMouseMove, MovieClip.onMouseMove Mouse.onMouseUp, MovieClip.onMouseUp Mouse.onMouseWheel

onLoadComplete onLoadError onLoadInit onLoadProgress onLoadStart onMouseDown onMouseMove onMouseUp onMouseWheel

Contenu du dictionnaire

225

Elment ActionScript Consultez lentre


onPress onRelease onReleaseOutisde onResize onRollOut onRollOver onScroller onSelect onSetFocus Button.onPress, MovieClip.onPress Button.onRelease, MovieClip.onRelease Button.onReleaseOutside, MovieClip.onReleaseOutside Stage.onResize Button.onRollOut, MovieClip.onRollOut Button.onRollOver, MovieClip.onRollOver TextField.onScroller ContextMenu.onSelect, ContextMenuItem.onSelect Button.onSetFocus, MovieClip.onSetFocus, Selection.onSetFocus, TextField.onSetFocus Sound.onSoundComplete Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus, System.onStatus MovieClip.onUnload onUpdate XMLSocket.onXML or ord System.capabilities.os XML.parentNode TextField.StyleSheet.parseCSS() parseFloat() parseInt XML.parseXML TextField.password NetStream.pause() Key.PGDN Key.PGUP Math.PI System.capabilities.pixelAspectRatio play(), MovieClip.play(), NetStream.play() System.capabilities.playerType Array.pop() Sound.position Number.POSITIVE_INFINITY

onSoundComplete onStatus

onUnload onUpdate onXML or (OR logique) ord os parentNode parseCSS parseFloat parseInt parseXML password pause PGDN PGUP PI pixelAspectRatio play playerType pop position POSITIVE_INFINITY

226

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


pow prevFrame previousSibling prevScene print printAsBitmap printAsBitmapNum PrintJob printNum private prototype public push quality random rate registerClass removeListener Math.pow() prevFrame(), MovieClip.prevFrame() XML.previousSibling prevScene() print() printAsBitmap() printAsBitmapNum

Classe PrintJob
printNum() private Function.prototype public Array.push() Camera.quality random, Math.random() Microphone.rate Object.registerClass() Key.removeListener(), Mouse.removeListener(), MovieClipLoader.removeListener(), Selection.removeListener, Stage.removeListener, TextField.removeListener removeMovieClip(), MovieClip.removeMovieClip() XML.removeNode TextField.removeTextField() TextField.replaceSel() TextField.replaceText() System.capabilities.screenResolutionX System.capabilities.screenResolutionY TextField.restrict return Array.reverse() Key.RIGHT TextFormat.rightMargin Math.round() Stage.scaleMode System.capabilities.screenColor

removeMovieClip removeNode removeTextField replaceSel replaceText resolutionX resolutionY restrict return reverse RIGHT rightMargin round scaleMode screenColor

Contenu du dictionnaire

227

Elment ActionScript Consultez lentre


screenDPI screenResolutionX screenResolutionY scroll seek selectable Selection send System.capabilities.screenDPI System.capabilities.screenResolutionX System.capabilities.screenResolutionY scroll, TextField.scroll NetStream.seek() TextField.selectable

Classe Selection
LoadVars.send(), LocalConnection.send(), PrintJob.send(), XML.send, XMLSocket.send LoadVars.sendAndLoad(), XML.sendAndLoad ContextMenuItem.separatorBefore System.capabilities.serverString set Variable set NetStream.setBufferTime() System.setClipboard() Date.setDate() Selection.setFocus() Date.setFullYear() Microphone.setGain() Date.setHours() setInterval() MovieClip.setMask() Date.setMilliseconds() Date.setMinutes() Camera.setMode() Date.setMonth() Camera.setMotionLevel() TextField.setNewTextFormat Sound.setPan setProperty() Camera.setQuality() Microphone.setRate() Color.setRGB() Date.setSeconds()

sendAndLoad separatorBefore serverString set set variable setBufferTime setClipboard setDate setFocus setFullYear setGain setHours setInterval setMask setMilliseconds setMinutes setMode setMonth setMotionLevel setNewTextFormat setPan setProperty setQuality setRate setRGB setSeconds

228

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


setSelectColor setSelected setSelection setSilenceLevel setStyle setTextFormat setTime setTransform setUseEchoSuppression setUTCDate setUTCFullYear setUTCHours setUTCMilliseconds setUTCMinutes setUTCMonth setUTCSeconds setVolume setYear SharedObject SHIFT (constante) shift (mthode) show showMenu showSettings silenceLevel silenceTimeout sin size slice smoothing sort sortOn Sound SPACE TextSnapshot.setSelectColor() TextSnapshot.setSelected() Selection.setSelection() Microphone.setSilenceLevel() TextField.StyleSheet.setStyle() TextField.setTextFormat Date.setTime() Color.setTransform(), Sound.setTransform Microphone.setUseEchoSuppression() Date.setUTCDate() Date.setUTCFullYear() Date.setUTCHours() Date.setUTCMilliseconds() Date.setUTCMinutes() Date.setUTCMonth() Date.setUTCSeconds() Sound.setVolume Date.setYear()

Classe SharedObject
Key.SHIFT Array.shift Mouse.show() Stage.showMenu System.showSettings() Microphone.silenceLevel() Microphone.silenceTimeout() Math.sin() TextFormat.size Array.slice, String.slice Video.smoothing Array.sort Array.sortOn()

Classe Sound
Key.SPACE

Contenu du dictionnaire

229

Elment ActionScript Consultez lentre


splice split sqrt SQRT1_2 SQRT2 Stage start startDrag static status stop stopAllSounds stopDrag String StyleSheet (classe) styleSheet (proprit) substr substring super swapDepths switch System Tab tabChildren tabEnabled tabIndex tabStops tan target targetPath tellTarget text textColor TextField Array.splice() String.split Math.sqrt() Math.SQRT1_2 Math.SQRT2

Classe Stage
PrintJob.start(), Sound.start() startDrag(), MovieClip.startDrag() static XML.status stop(), MovieClip.stop(), Sound.stop stopAllSounds() stopDrag(), MovieClip.stopDrag()

Classe String, String Classe TextField.StyleSheet


TextField.styleSheet String.substr substring, String.substring super MovieClip.swapDepths() switch

Classe System
Key.TAB MovieClip.tabChildren Button.tabEnabled, mon_mc.tabEnabled, TextField.tabEnabled Button.tabIndex, MovieClip.tabIndex, TextField.tabIndex TextFormat.tabStops Math.tan() TextFormat.target targetPath tellTarget TextField.text TextField.textColor

Classe TextField

230

Chapitre 12 : Dictionnaire ActionScript Prsentation

Elment ActionScript Consultez lentre


TextFormat textHeight TextSnapshot textWidth this throw time toggleHighQuality toLowerCase toString

Classe TextFormat
TextField.textHeight

objet TextSnapshot
TextField.textWidth this throw NetStream.time toggleHighQuality() String.toLowerCase Array.toString(), Boolean.toString, Date.toString(), Error.toString(), LoadVars.toString(), Number.toString(), Object.toString(), XML.toString String.toUpperCase trace() Button.trackAsMenu, MovieClip.trackAsMenu true try..catch..finally TextField.type typeof undefined TextFormat.underline unescape CustomActions.uninstall MovieClipLoader.unloadClip() unloadMovie(), MovieClip.unloadMovie() unloadMovieNum() Array.unshift() Object.unwatch() Key.UP updateAfterEvent() Accessibility.updateProperties() TextFormat.url System.useCodepage Microphone.useEchoSuppression() Button.useHandCursor, MovieClip.useHandCursor

toUpperCase trace trackAsMenu true try type typeof undefined underline unescape uninstall unloadClip unloadMovie unLoadMovieNum unshift unwatch UP updateAfterEvent updateProperties url useCodePage useEchoSuppression useHandCursor

Contenu du dictionnaire

231

Elment ActionScript Consultez lentre


UTC valueOf var variable version Video visible void watch while width with wordwrap XML xmlDecl XMLNode XMLSocket Date.UTC() Boolean.valueOf(), Number.valueOf, Object.valueOf() var TextField.variable System.capabilities.version

Classe Video
ContextMenuItem.visible void Object.watch() while Camera.width, Stage.width, Video.width with TextField.wordWrap

Classe XML
XML.xmlDecl

Classe XMLNode Classe XMLSocket

(dcrmentation)
Disponibilit

Flash Player 4.
Usage expression expression Paramtres

Aucun.
Renvoie

Nombre.
Description

Oprateur (arithmtique) : oprateur unaire de pr et post-dcrmentation qui soustrait 1 de lexpression. La forme de pr-dcrmentation de loprateur (expression) soustrait 1 de lexpression et renvoie le rsultat. La forme de post-dcrmentation de loprateur (expression) soustrait 1 de lexpression et renvoie la valeur initiale de lexpression (le rsultat avant la soustraction).

232

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

La forme de pr-dcrmentation de loprateur dcrmente x de 2 (x - 1 = 2) et renvoie le rsultat comme y :


x = 3; y = --x; // y est gal 2

La forme de post-dcrmentation de loprateur dcrmente x de 2 (x - 1 = 2) et renvoie la valeur originale de x comme rsultat y :


x = 3; y = x-//y est gal 3

++ (incrmentation)
Disponibilit

Flash Player 4.
Usage ++expression expression++ Paramtres

Aucun.
Renvoie

Nombre.
Description

Oprateur (arithmtique) : oprateur unaire de pr et post-incrmentation qui ajoute 1 lexpression. expression peut tre une variable, llment dun tableau ou la proprit dun objet. La forme de pr-incrmentation de loprateur (++expression) ajoute 1 lexpression et renvoie le rsultat. La forme de post-incrmentation de loprateur (expression++) ajoute 1 lexpression et renvoie la valeur initiale de lexpression (la valeur avant laddition). La forme de pr-incrmentation de loprateur incrmente x 2 (x + 1 = 2) et renvoie le rsultat comme y :
x = 1; y = ++x // y est gal 2

La forme de post-incrmentation de loprateur incrmente x 2 (x + 1 = 2) et renvoie la valeur originale de x comme rsultat y :


x = 1; y = x++; //y est gal 1 Exemple

Lexemple suivant utilise ++ comme oprateur de post-incrmentation pour entraner cinq boucles de while.

++ (incrmentation)

233

i = 0; while(i++ 5){< trace("ceci est lexcution " + i); }

Cet exemple utilise ++ comme oprateur de pr-incrmentation.


var a = []; var i = 0; while (i < 10) { a.push(++i); } trace(a.join());

Ce script affiche le rsultat suivant dans le panneau de sortie :


1,2,3,4,5,6,7,8,9,10

Lexemple suivant utilise ++ comme oprateur de post-incrmentation.


var a = []; var i = 0; while (i < 10) { a.push(i++); } trace(a.join());

Ce script affiche le rsultat suivant dans le panneau de sortie :


0,1,2,3,4,5,6,7,8,9

! (NOT logique)
Disponibilit

Flash Player 4.
Usage !expression Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Oprateur (logique) : inverse la valeur boolenne dune variable ou expression. Si expression est une variable avec la valeur absolue ou convertie true, la valeur de !expression est false. Si lexpression x && y est false, lexpression !(x && y) est true. Les expressions suivantes illustrent le rsultat de lutilisation de loprateur ! :
!true

renvoie false renvoie true

!false

234

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Dans lexemple suivant, la variable heureux est dfinie sur false. La condition if value la condition !heureux et, si la condition est true, laction trace() envoie une chane au panneau de sortie.
heureux = false; if (!heureux) { trace("le bonheur, cest tre heureux"); }

!= (ingalit)
Disponibilit

Flash Player 5.
Usage expression1 != expression2 Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Oprateur (ingalit) : teste loppos exact de loprateur ==. Si expression1 est gale expression2, le rsultat est false. Tout comme pour loprateur ==, la dfinition du terme galit dpend des types de donnes compars.

Les nombres, les chanes et les valeurs boolennes sont compars par valeur. Les variables, les objets, les tableaux et les fonctions sont compars par rfrence.
Exemple

Lexemple suivant illustre le rsultat de loprateur != :


5 != 8 5 != 5

renvoie true renvoie false

Cet exemple illustre lutilisation de loprateur != dans une instruction if :


a = "David"; b = "Idiot" if (a != b){ trace("David nest pas idiot"); } Consultez galement !== (ingalit stricte), == (galit), === (galit stricte)

!= (ingalit)

235

!== (ingalit stricte)


Disponibilit

Flash Player 6.
Usage expression1 !== expression2 Description

Oprateur : teste loppos exact de loprateur ===. Loprateur dingalit stricte fonctionne de la mme faon que loprateur dingalit, ceci prs que les types de donnes ne sont pas convertis. Si expression1 est gale expression2, et leur type de donnes est gal, le rsultat est false. Tout comme pour loprateur ===, la dfinition du terme galit dpend des types de donnes compars.

Les nombres, les chanes et les valeurs boolennes sont compars par valeur. Les variables, les objets, les tableaux et les fonctions sont compars par rfrence.
Exemple

Le code suivant affiche la valeur renvoye par les oprations utilisant les oprateurs dgalit, dgalit stricte et dingalit stricte.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Bonjour"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true

Consultez galement != (ingalit), == (galit), === (galit stricte)

% (modulo)
Disponibilit

Flash Player 4. Dans les fichiers Flash 4, loprateur % est dvelopp dans le fichier SWF sous la forme x - int(x/y) * y et risque de ne pas tre aussi rapide ou prcis dans les versions suivantes de Flash Player.

236

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage expression1 % expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (arithmtique) : calcule le reste de expression1 divis par expression2. Si lun des paramtres de expression nest pas un nombre, loprateur de modulo tente de les convertir en nombre. expression peut tre un nombre ou une chane convertie en valeur numrique.
Exemple

Lexemple suivant illustre lemploi de loprateur modulo (%).


trace (12 % 5); // renvoie 2 trace (4.3 % 2.1); // renvoie approximativement 0.1

%= (affectation de modulo)
Disponibilit

Flash Player 4.
Usage expression1 %= expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (affectation compose arithmtique) : affecte expression1 la valeur de expression1 % expression2. Par exemple, les deux expressions suivantes sont quivalentes :
x %= y x = x % y Exemple

Lexemple suivant affecte la valeur 4 la variable x.


x = 14; y = 5; trace(x %= y); // renvoie 4

%= (affectation de modulo)

237

Consultez galement % (modulo)

& (Oprateur AND au niveau du bit)


Disponibilit

Flash Player 5. Dans Flash 4, loprateur & tait utilis pour concatner les chanes. Dans Flash 5 et les versions suivantes, loprateur & est un AND au niveau du bit ; vous devez donc utiliser les oprateurs add et + pour concatner les chanes. Les fichiers Flash 4 utilisant loprateur & sont automatiquement mis jour pour utiliser add lorsquils sont imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure.
Usage expression1 & expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (au niveau du bit) : convertit expression1 et expression2 en entiers 32 bits non signs et effectue une opration AND boolenne sur chaque bit des paramtres entiers. Le rsultat est un nouvel entier 32 bits non sign.

&& (AND logique)


Disponibilit

Flash Player 4.
Usage expression1 && expression2 Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Oprateur (logique) : effectue une opration boolenne sur les valeurs dune ou des deux expressions. Evalue expression1 (lexpression du ct gauche de loprateur) et renvoie false si lexpression est false. Si expression1 est true, expression2 (lexpression du ct droit de loprateur) est value. Si expression2 est true, le rsultat final est true ; sinon, il est false.

238

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Cet exemple utilise loprateur && pour effectuer un test permettant de dterminer si un joueur a gagn la partie. Les variables tours et score sont mises jour lorsquun joueur prend son tour ou marque des points pendant la partie. Le script suivant affiche Vous avez gagn ! dans le panneau de sortie lorsque le score du joueur atteint 75 ou plus en 3 tours ou moins.
tours =2; score=77; gagnant = (tours <= 3) && (score >= 75); if (gagnant) { trace("Vous avez gagn !"); } else { trace("Ressayez !"); }

&= (affectation AND au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 &= expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur : affecte expression1 la valeur de expression1 & expression2. Par exemple, les deux expressions suivantes sont quivalentes.
x &= y; x = x & y; Exemple

Lexemple suivant affecte la valeur 9 x.


x = 15; y = 9; trace(x &= y); // renvoie 9 Consultez galement & (Oprateur AND au niveau du bit)

() (parenthses)
Disponibilit

Flash Player 4.

() (parenthses)

239

Usage (expression1, expression2) fonction(paramtre1,..., paramtreN) Paramtres expression1, expression2 fonction

Nombres, chanes, variables ou texte.

La fonction devant tre effectue sur le contenu des parenthses.

paramtre1...paramtreN

Une srie de paramtres excuter avant que les rsultats ne soient transmis comme paramtres la fonction extrieure aux parenthses.

Renvoie

Rien.
Description

Oprateur : effectue une opration de regroupement sur un ou plusieurs paramtres ou entoure un ou plusieurs paramtres et les transmet comme paramtres une fonction extrieure aux parenthses. Usage 1 : Contrle lordre dans lequel les oprateurs sont excuts dans lexpression. Les parenthses annulent lordre normal de priorit et obligent lvaluation des expressions entre parenthses en premier. Lorsque les parenthses sont imbriques, le contenu des parenthses internes est valu avant le contenu des parenthses externes. Usage 2 : Encadre un ou plusieurs paramtres et les transmet sous forme de paramtres la fonction extrieure aux parenthses.
Exemple

Usage 1 : Les instructions suivantes illustrent lemploi des parenthses pour contrler lordre dexcution des expressions. La valeur de chaque expression est affiche en dessous de chaque ligne, comme suit :
trace((2 + 3) * (4 + 5)); // affiche 45 trace(2 + (3 * (4 + 5))); // affiche 29 trace(2 + (3 * 4) + 5); // displays 19

Usage 2 : Lexemple suivant illustre lemploi des parenthses avec des fonctions.
getDate(); facture(article, montant); function traceParameter(param){ trace(param); } traceParameter(2*2); Consultez galement with

240

Chapitre 12 : Dictionnaire ActionScript Prsentation

(moins)
Disponibilit

Flash Player 4.
Usage

(Ngation) -expression (Soustraction) expression1 - expression2


Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (arithmtique) : utilis pour la ngation ou la soustraction. Usage 1 : Lorsque utilis pour la ngation, il inverse le signe de lexpression numrique. Usage 2 : Lorsque utilis pour la soustraction, il effectue une soustraction arithmtique sur deux expressions numriques, soustrayant expression2 de expression1. Lorsque les deux expressions sont des entiers, la diffrence est un entier. Lorsque lune des expressions, ou les deux, est un nombre virgule flottante, la diffrence est un nombre virgule flottante.
Exemple

Usage 1 : Linstruction suivante inverse le signe de lexpression 2 + 3.


-(2 + 3)

Le rsultat est -5. Usage 2 : Linstruction suivante soustrait lentier 2 de lentier 5.


5 - 2

Le rsultat est 3, qui est un entier. Usage 2 : Linstruction suivante soustrait le nombre virgule flottante 1.5 du nombre virgule flottante 3.25.
3.25 - 1.5

Le rsultat est 1.75, qui est un nombre virgule flottante.

* (multiplication)
Disponibilit

Flash Player 4.
Usage expression1 * expression2

* (multiplication)

241

Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (arithmtique) : multiplie deux expressions numriques. Si les deux expressions sont des entiers, le produit est un entier. Si lune des expressions, ou les deux, est un nombre virgule flottante, le produit est un nombre virgule flottante.
Exemple

Usage 1 : Linstruction suivante multiplie les entiers 2 et 3.


2 * 3

Le rsultat est 6, qui est un entier. Usage 2 : Cette instruction multiplie les nombres virgule flottante 2.0 et 3.1416.
2.0 * 3.1416

Le rsultat est 6.2832, qui est un nombre virgule flottante.

*= (affectation de multiplication)
Disponibilit

Flash Player 4.
Usage expression1 *= expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur (affectation compose arithmtique) : affecte expression1 la valeur de expression1 * expression2. Par exemple, les deux expressions suivantes sont quivalentes :
x *= y x = x * y Exemple

Usage 1 : Lexemple suivant affecte la valeur 50 la variable x.


x = 5; y = 10; trace(x *= y); // renvoie 50

242

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage 2 : Les deuxime et troisime lignes de lexemple suivant calculent les expressions se trouvant droite du signe gal et affectent les rsultats x et y.
i = 5; x = 4 - 6; y = i + 2; trace(x *= y); // renvoie -14 Consultez galement * (multiplication)

, (virgule)
Disponibilit

Flash Player 4.
Usage expression1, expression2 Paramtres

Aucun.
Renvoie

Rien.
Description

Oprateur : value expression1, puis expression2, et renvoie la valeur de expression2. Cet oprateur est principalement utilis avec linstruction de boucle for.
Exemple

Le code suivant utilise loprateur virgule :


var a=1, b=2, c=3;

Ceci est quivalent la rdaction du code suivant :


var a=1; var b=2; var c=3;

.(point)
Disponibilit

Flash Player 4.
Usage objet.propriet_ou_mthode nomDoccurrence.variable nomDoccurrence.occurrenceEnfant.variable

.(point)

243

Paramtres objet Une occurrence de la classe. Lobjet peut tre une occurrence de nimporte quelle classe intgre ActionScript ou une classe personnalise. Ce paramtre se situe toujours gauche de loprateur point (.). proprit_ou_mthode

Le nom dune proprit ou mthode associe un objet. Toutes les mthodes et proprits valides pour les classes intgres sont rpertories dans les rcapitulatifs des proprits et mthodes correspondants. Ce paramtre se situe toujours droite de loprateur point (.). Le nom doccurrence dun clip. Une occurrence de clip enfant, ou imbrique dans un autre clip.

nomDoccurrence

OccurrenceDenfant variable

Une variable dans le scnario du clip dont le nom doccurrence figure gauche de loprateur point (.).

Renvoie

Rien.
Description

Oprateur : utilis pour naviguer dans les hirarchies de clip afin daccder aux clips (enfants) imbriqus, variables ou proprits. Loprateur point est galement utilis pour tester ou dfinir les proprits dun objet, excuter une mthode dun objet ou crer une structure de donnes.
Exemple

Linstruction suivante identifie la valeur courante de la variable couleurCheveux du clip person_mc.


person_mc.couleurCheveux

Ceci est quivalent la syntaxe de Flash 4 suivante :


/person_mc:couleurCheveux

: (type)
Disponibilit

Flash Player 6.
Usage [modificateurs] [var] nomDeVariable:[type] function nomDeFonction,():[type] { ... } function nomDeFonction(paramtre1[:type], ... , paramtreN[:type]) { ... } Paramtres nomDeVariable type

Un identifiant pour une variable. Un identifiant pour une fonction.

Un type de donnes natif, un nom de classe qui vous avez dfini ou un nom dinterface. Un identifiant pour un paramtre de fonction.

nomDeFonction paramtre

244

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Oprateur : spcifie le type de variable, le type de renvoi de la fonction ou le type de paramtre de la fonction. Lorsquil est utilis dans une dclaration ou une affectation de variable, cet oprateur spcifie le type de variable ; quand il est utilis dans une dclaration ou une dfinition de fonction, il spcifie le type de renvoi de la fonction ; quand il est utilis avec un paramtre de fonction dans une dfinition de fonction, il spcifie le type de variable attendu pour ce paramtre. Les types ont une fonctionnalit de compilation seule. Tous les types sont vrifis au moment de la compilation ; des erreurs sont gnres en cas dincompatibilit. Pour plus dinformations, consultez Annexe A, Messages derreur, page 773. Des incompatibilits peuvent se produire durant les oprations daffectation, les appels de fonction et les drfrencements des membres de classe laide de loprateur point (.) Afin dviter les erreurs dincompatibilit de type, utilisez les types explicites (consultez Typage strict des donnes, page 40). Les types que vous pouvez utiliser incluent tous les types dobjet natif, les classes et les interfaces que vous dfinissez, ainsi que Void et Function (existant en tant que type seulement et non en tant quobjet). Les types natifs reconnus sont Array, Boolean, Button, Color, CustomActions, Date, Function, LoadVars, LocalConnection, Microphone, MovieClip, NetConnection, NetStream, Number, Object, SharedObject, Sound, String, TextField, TextFormat, Video, Void, XML, XMLNode et XMLSocket.
Exemple

Usage 1 : Lexemple suivant dclare une variable publique nomme nomDutilisateur, dont le type est String ; il lui affecte une chane vide.
public var nomDutilisateur:String = "";

Usage 2 : Cet exemple montre comment spcifier un type de paramtre de fonction. Le code suivant dfinit une fonction nomme dterminerDate(), qui prend un paramtre nomm dateDuJour de type Date.
function dterminerDate(dateDuJour:Date) { this.date = dateDuJour; }

Usage 3 : Le code suivant dfinit une fonction nomme racineCarre() prenant un paramtre nomm val du type Number et renvoie la racine carre de val, ainsi quun type Number.
function racineCarre(val:Number):Number { renvoie Math.sqrt(val); }

?: (conditionnel)
Disponibilit

Flash Player 4.
Usage expression1 ? expression2 : expression3 Paramtres expression1

Une expression value comme valeur boolenne, gnralement une expression de comparaison telle que x < 5.

?: (conditionnel)

245

expression2, expression3 Renvoie

Valeurs de nimporte quel type.

Rien.
Description

Oprateur : indique Flash dvaluer expression1 et, si la valeur de expression1 est true, renvoie la valeur de expression2 ; sinon, renvoie la valeur de expression3.
Exemple

Linstruction suivante affecte la valeur de la variable x la variable z tant donn que expression1 est true:
x = 5; y = 10; z = (x < 6) ? x: y; trace (z); // renvoie 5

/ (division)
Disponibilit

Flash Player 4.
Usage expression1 / expression2 Paramtres expression Renvoie

Un nombre ou une variable value comme un nombre.

Rien.
Description

Oprateur (arithmtique) : divise expression1 par expression2. Le rsultat de la division est un nombre virgule flottante double prcision.
Exemple

Linstruction suivante divise le nombre virgule flottante 22,0 par 7,0 et affiche ensuite le rsultat dans le panneau de sortie.
trace(22.0 / 7.0);

Le rsultat est 3,1429, qui est un nombre virgule flottante.

// (dlimiteur de commentaires)
Disponibilit

Flash 1.

246

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage // commentaire Paramtres comment Renvoie

Tout caractre.

Rien.
Description

Commentaire : indique le dbut dun commentaire de script. Tout caractre qui apparat entre le dlimiteur de commentaires // et le caractre de fin de ligne est interprt comme un commentaire et ignor par linterprte dActionScript.
Exemple

Ce script utilise des dlimiteurs de commentaires pour identifier les premire, troisime, cinquime et septime lignes comme commentaires.
// enregistrer la position balleX = balle._x; // enregistrer la position balleY = balle._y; // enregistrer la position batteX = batte._x; // enregistrer la position batteY = batte._y; Consultez galement /* (dlimiteur de commentaires) X du clip de la balle Y du clip de la balle X du clip de la batte Y du clip de la batte

/* (dlimiteur de commentaires)
Disponibilit

Flash Player 5.
Usage /* commentaire */ /* commentaire commentaire */ Paramtres comment Renvoie

Tout caractre.

Rien.

/* (dlimiteur de commentaires)

247

Description

Commentaire : indique une ou plusieurs lignes de commentaires de script. Tout caractre qui apparat entre la balise douverture de commentaires /* et la balise de fermeture de commentaires */ est interprt comme un commentaire et ignor par linterprte dActionScript. Utilisez le premier type de syntaxe pour identifier les commentaires une seule ligne. Utilisez le second type de syntaxe pour identifier les commentaires contenant plusieurs lignes successives. Loubli de la balise de fermeture */ lors de lutilisation de cette forme de dlimiteur de commentaires provoque un message derreur.
Exemple

Ce script utilise des dlimiteurs de commentaires au dbut du script.


/* enregistre les positions X et Y des clips de la balle et de la batte */ balleX balleY batteX batteY = = = = balle._x; balle._y; batte._x; batte._y;

Consultez galement // (dlimiteur de commentaires)

/= (affectation de division)
Disponibilit

Flash Player 4.
Usage expression1 /= expression2 Paramtres expression1,expression2 Renvoie

Nombre ou variable value comme nombre.

Rien.
Description

Oprateur (affectation compose arithmtique) : affecte expression1 la valeur de expression1 / expression2. Par exemple, les deux instructions suivantes sont quivalentes :
x /= y x = x / y Exemple

Le code suivant illustre lutilisation de loprateur /= avec des variables et des nombres.
x = 10; y = 2; x /= y; // x contient maintenant la valeur 5

248

Chapitre 12 : Dictionnaire ActionScript Prsentation

[] (accs tableau)
Disponibilit

Flash Player 4.
Usage mon_array = ["a0", a1,...aN]; MultiDimensionnel_array = [["a0",...aN],...["a0",...aN]] mon_array[E] = valeur MultiDimensionnel_array[E][E] = valeur object["valeur"]; Paramtres mon_array

Le nom dun tableau. Elments dun tableau. Le nom dun tableau multidimensionnel simul.

a0, a1,...aN

MultiDimensionnel_array E

Le nombre (ou index) dun lment dun tableau. Le nom dun objet. Une chane ou une expression value comme chane qui nomme une proprit de

object valeur

lobjet.
Renvoie

Rien.
Description

Oprateur : initialise un nouveau tableau ou un tableau multidimensionnel avec les lments spcifis (a0, etc.) ou accde aux lments dun tableau. Loprateur daccs tableau vous permet de dfinir et rcuprer dynamiquement les noms doccurrences, variables et objets. Il vous permet galement daccder aux proprits des objets. Usage 1 : Un tableau est un objet dont les proprits sont appeles lments, qui sont chacune identifies par un nombre appel index. Lorsque vous crez un tableau, vous encadrez ses lments par loprateur daccs tableau (ou crochets). Un tableau peut contenir des lments de divers types. Par exemple, le tableau suivant, appel personnel, contient trois lments ; le premier est un nombre et les deux suivants sont des chanes (entre guillemets).
personnel = [15, "Barbara", "Eric"];

Usage 2 : Vous pouvez imbriquer des crochets pour simuler des tableaux multidimensionnels. Le code suivant cre un tableau, appel ticTacToe, avec trois lments ; chaque lment est galement un tableau contenant trois lments.
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; // choisissez Dboguer > Lister les variables en mode de test danimation // pour afficher une liste des lments du tableau

Usage 3 : Encadrez lindex de chaque lment avec des crochets pour y accder directement ; vous pouvez ajouter un nouvel lment un tableau, changer ou rcuprer la valeur dun lment existant. Le premier lment dun tableau est toujours 0 :

[] (accs tableau)

249

mon_array[0] = 15; mon_array[1] = "Bonjour"; mon_array[2] = true;

Vous pouvez utiliser des crochets pour ajouter un quatrime lment, comme dans lexemple suivant :
mon_array[3] = "George";

Usage 4 : Vous pouvez utiliser des crochets pour accder un lment dans un tableau multidimensionnel. Le premier jeu de crochets identifie llment dans le tableau dorigine, le second jeu identifiant llment dans le tableau imbriqu. La ligne de code suivante envoie 6 au panneau de sortie.
ticTacToe = [[1,2,3],[4,5,6],[7,8,9]]; trace(ticTacToe[1][2]); // renvoie 6

Usage 5 : Vous pouvez utiliser loprateur daccs tableau au lieu de la fonction eval pour dfinir et rcuprer dynamiquement des valeurs pour des noms de clip ou nimporte quelle proprit dun objet :
nom["mc" + i] = "coin_gauche"; Exemple

Usage 1 : Les exemples de code suivants indiquent deux manires diffrentes de crer un objet Array vide (la premire ligne utilisant des crochets).
mon_array =[]; mon_array = new Array();

Usage 1 et 2 : Lexemple suivant cre un tableau appel personnel_array et utilise une action trace() pour envoyer les lments au panneau de sortie. A la quatrime ligne, un lment du tableau est chang, et la cinquime ligne envoie le tableau nouvellement modifi au panneau de sortie :
personnel_array = ["Barbara", "George", "Mary"]; trace(personnel_array); // Barbara, George, Mary personnel_array[2]="Sam"; trace(personnel_array); // Barbara, George, Sam

Usage 3 : Dans lexemple suivant, lexpression entre crochets ("morceau" + i) est value et le rsultat est utilis comme nom de la variable qui doit tre rcupre du clip monClip_mc. Dans cet exemple, la variable i doit exister dans le mme scnario que le bouton. Si la variable i est gale 5, par exemple, la valeur de la variable morceau5 dans le clip monClip_mc saffiche dans le panneau de sortie :
on(release) { x = monClip_mc["morceau"+i]; trace(x); }

Usage 3 : Dans le code suivant, lexpression entre crochets est value et le rsultat est utilis comme nom de la variable qui doit tre rcupre partir du clip nom_mc :
nom_mc["A" + i];

250

Chapitre 12 : Dictionnaire ActionScript Prsentation

Si vous tes habitu(e) la syntaxe ActionScript barre oblique de Flash 4, vous pouvez obtenir le mme rsultat en utilisant la fonction eval :
eval("nom.A" & i);

Usage 3 : Vous pouvez galement utiliser loprateur daccs tableau sur le ct gauche dune instruction daffectation pour dfinir dynamiquement des noms doccurrences, de variables et dobjets :
nom[index] = "Gary"; Consultez galement

Classe Array, Classe Object, eval()

^ (XOR au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 ^ expression2 Paramtres expression1,expression2 Renvoie

Un nombre.

Rien.
Description

Oprateur (au niveau du bit) : convertit expression1 et expression2 en entiers 32 bits non signs et renvoie un 1 dans chaque position de bit o les bits correspondants dans expression1 ou expression2, mais pas les deux, sont 1.
Exemple

Lexemple suivant utilise loprateur XOR au niveau du bit sur les dcimales 15 et 9 et affecte le rsultat la variable x.
// 15 dcimal = 1111 binaire // 9 dcimal = 1001 binaire x = 15 ^ 9 trace (x) // 1111 ^ 1001 = 0110 // renvoie 6 dcimal (= 0110 binaire)

^= (affectation XOR au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 ^= expression2

^= (affectation XOR au niveau du bit)

251

Paramtres expression1,expression2 Renvoie

Entiers et variables.

Rien.
Description

Oprateur (affectation compose au niveau du bit) : affecte expression1 la valeur de expression1 ^ expression2. Par exemple, les deux instructions suivantes sont quivalentes :
x ^= y x = x ^ y Exemple

Lexemple suivant illustre une opration ^=.


// 15 dcimal = 1111 binaire x = 15; // 9 dcimal = 1001 binaire y = 9; trace(x ^= y); // renvoie 6 dcimal ( = 0110 binaire) Consultez galement ^ (XOR au niveau du bit)

{} (initialisateur dobjet)
Disponibilit

Flash Player 5.
Usage objet = {nom1: valeur1, nom2: valeur2,...nomN: valeurN} Paramtres objet

Lobjet crer. Les noms des proprits. Les valeurs correspondantes pour chaque proprit de nom.

nom1,2,...N

valeur1,2,...N Renvoie

Rien.
Description

Oprateur : cre un objet et linitialise avec les paires de proprits nom et valeur spcifies. Lutilisation de cet oprateur est identique lutilisation de la syntaxe new Object et la distribution des paires de proprits avec loprateur daffectation. Le prototype de lobjet nouvellement cr est nomm de faon gnrique Object.

252

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

La premire ligne du code suivant cre un objet vide laide de loprateur initialisateur dobjet, la seconde ligne crant un nouvel objet avec une fonction constructeur.
objet = {}; objet = new Object();

Lexemple suivant cre un objet compte et initialise les proprits nom, adresse, ville, pays, codePostal et solde avec les valeurs associes.
compte = { nom : "Betty Skate", adresse : "123 rue Grande", ville : "Une ville", pays : "France", codePostal : "12345", solde : "1000" };

Lexemple suivant illustre limbrication dinitialisateurs dobjet et de tableau les uns dans les autres.
personne = { nom : "Gina Vechio", enfants : [ "Emilie", "Alice", "Charlotte"] };

Lexemple suivant utilise les informations de lexemple prcdent et produit le mme rsultat avec des fonctions constructeur.
personne = new Object(); personne.nom = Gina Vechio; personne.enfants = new Array(); personne.enfants[0] = Emilie; personne.enfants[1] = Alice; personne.enfants[2] = Charlotte; Consultez galement [] (accs tableau), new,

Classe Object

| (OR au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 | expression2 Paramtres expression1,expression2 Renvoie

Un nombre.

Rien.
Description

Oprateur (au niveau du bit) : convertit expression1 et expression2 en entiers 32 bits non signs et renvoie un 1 chaque position de bit o les bits correspondants de expression1 ou de expression2 sont 1.

| (OR au niveau du bit)

253

Exemple

Lexemple suivant illustre une opration OR au niveau du bit.


// 15 dcimal = 1111 binaire x = 15; // 9 dcimal = 1001 binaire y = 9; trace(x | y); // 1111 | 0011 = 1111 // renvoie 15 dcimal (= 1111 binaire)

|| (OR logique)
Disponibilit

Flash Player 4.
Usage expression1 || expression2 Paramtres expression1,expression2

Une valeur boolenne ou une expression convertie en valeur

boolenne.
Renvoie

Une valeur boolenne.


Description

Oprateur (logique) : value expression1 et expression2. Le rsultat est true si une des deux ou les deux expressions sont true. Le rsultat est false seulement si les deux expressions sont false. Vous pouvez utiliser loprateur logique OR avec nimporte quel nombre doprandes ; si un oprande est valu comme true, le rsultat est true. Avec des expressions non boolennes, loprateur logique OR oblige Flash valuer lexpression de gauche ; si elle peut tre convertie en true, le rsultat est true. Sinon, il value lexpression de droite et le rsultat est la valeur de cette expression.
Exemple

Usage 1 : Lexemple suivant utilise loprateur || dans une instruction if. La deuxime expression est true, le rsultat final tant donc true
x = 10 y = 250 start = false if(x > 25 || y > 200 || start){ trace(le test de OR logique a russi); }

Usage 2 : Cet exemple illustre la faon dont une expression non boolenne peut produire un rsultat inattendu. Si lexpression de gauche est convertie en true, ce rsultat est renvoy sans convertir lexpression de droite.
function fx1(){ trace ("fx1 appel"); renvoie true; }

254

Chapitre 12 : Dictionnaire ActionScript Prsentation

function fx2(){ trace ("fx2 appel"); renvoie true; } if (fx1() || fx2()){ trace ("instruction IF entre"); } // Le rsultat suivant est affich dans le panneau de sortie : // fx1 appel // instruction IF entre

|= (affectation OR au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 |= expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou variable.

Rien.
Description

Oprateur (affectation compose au niveau du bit) : affecte expression1 la valeur de expression1 | expression2. Par exemple, les deux instructions suivantes sont quivalentes :
x |= y; x = x | y; Exemple

Lexemple suivant utilise loprateur |= :


// 15 dcimal = 1111 binaire x = 15; // 9 dcimal = 1001 binaire y = 9; trace(x |= y); // 1111 |= 1001 // renvoie 15 dcimal (= 1111 binaire) Consultez galement | (OR au niveau du bit)

~ (NOT au niveau du bit)


Disponibilit

Flash Player 5.
Usage ~ expression

~ (NOT au niveau du bit)

255

Paramtres expression Renvoie

Un nombre.

Rien.
Description

Oprateur (au niveau du bit) : convertit lexpression en entier 32 bits non sign, puis inverse les bits. Une opration NOT au niveau du bit change le signe dun nombre et soustrait 1.
Exemple

Lexemple suivant illustre une opration NOT au niveau du bit effectue sur une variable.
a = 0; trace ("lorsque a // lorsque a = 0, a = 1; trace ("lorsque a // lorsque a = 0, // donc, ~0=-1 et = 0, ~a = "+~a); ~a = -1 = 0, ~a = "+~a); ~a = -2 ~1=-2

+ (addition)
Disponibilit

Flash Player 4 ; Flash Player 5. Dans Flash 5 et les versions suivantes, + est un oprateur numrique ou un concatnateur de chanes, selon le type de donnes du paramtre. Dans Flash 4, + est seulement un oprateur numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes. Lexemple suivant illustre la conversion dun fichier Flash 4 contenant une comparaison de qualit numrique : Fichier Flash 4 :
x + y

Fichier converti Flash 5 ou version ultrieure :


Number(x) + Number(y) Usage expression1 + expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou une chane.

Rien.
Description

Oprateur : additionne des expressions numriques ou concatne (combine) des chanes. Si une expression est une chane, toutes les autres expressions sont converties en chanes et concatnes.

256

Chapitre 12 : Dictionnaire ActionScript Prsentation

Si les deux expressions sont des entiers, la somme est un entier ; si une des deux ou les deux expressions sont des nombres virgule flottante, la somme est un nombre virgule flottante.
Exemple

Usage 1 : Lexemple suivant concatne deux chanes et affiche le rsultat dans le panneau de sortie.
nom = "Cola"; instrument = "percussions"; trace (nom + " joue des " + instrument);

Usage 2 : Les variables associes des champs de texte dynamique et de saisie ont le type de donnes String. Dans lexemple suivant, la variable dpt est un champ de texte de saisie sur la scne. Une fois quun utilisateur a entr un montant de dpt, le script essaie dajouter dpt ancienSolde. Cependant, tant donn que dpt est du type de donnes String, le script concatne (combine pour former une seule chane) les valeurs des variables plutt que de les additionner.
ancienSolde = 1345.23; soldeActuel = dpt + ancienSolde; trace (soldeActuel);

Par exemple, si lutilisateur entre 475 dans le champ de texte de dpt, laction trace() envoie la valeur 4751345.23 au panneau de sortie. Pour corriger cela, utilisez la fonction Number pour convertir la chane en un nombre, comme dans lexemple suivant :
soldeActuel = Number(dpt) + ancienSolde;

Usage 3 : Cette instruction additionne les entiers 2 et 3 et affiche ensuite le rsultat, lentier 5, dans le panneau de sortie :
trace (2 + 3);

Cette instruction additionne les nombres virgule flottante 2,5 et 3,25 et affiche le rsultat, 5,75, un nombre virgule flottante, dans le panneau de sortie :
trace (2,5 + 3,25); Consultez galement _accProps

+= (affectation daddition)
Disponibilit

Flash Player 4.
Usage expression1 += expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou une chane.

Rien.

+= (affectation daddition)

257

Description

Oprateur (affectation compose arithmtique) : affecte expression1 la valeur de expression1 + expression2. Par exemple, les deux instructions suivantes produisent le mme rsultat :
x += y; x = x + y;

Cet oprateur effectue galement la concatnation de chanes. Toutes les rgles de loprateur addition (+) sappliquent loprateur daffectation daddition (+=).
Exemple

Lexemple suivant illustre une utilisation numrique de loprateur +=.


x = 5; y = 10; x += y; trace(x); // x renvoie 15

Cet exemple utilise loprateur += avec une expression chane et envoie Je mappelle Gilbert au panneau de sortie.
x = "Je mappelle " x += "Gilbert" trace (x) // renvoie "Je mappelle Gilbert" Consultez galement + (addition)

<(infrieur )
Disponibilit

Flash Player 4 ; Flash Player 5. Dans Flash 5 et les versions suivantes, loprateur < (infrieur ) est un oprateur de comparaison capable de manipuler divers types de donnes. Dans Flash 4, < est un oprateur numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes. Lexemple suivant illustre la conversion dun fichier Flash 4 contenant une comparaison de qualit numrique. Fichier Flash 4 :
x < y

Fichier converti Flash 5 ou version ultrieure :


Number(x) < Number(y) Usage expression1 < expression2 Paramtres expression1,expression2

Un nombre ou une chane.

258

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Oprateur (comparaison) : compare deux expressions et dtermine si expression1 est infrieure expression2 le cas chant, renvoie true. Si expression1 est suprieure ou gale expression2, loprateur renvoie false. Les expressions chanes sont values par ordre alphabtique ; les majuscules apparaissant avant les minuscules.
Exemple

Les exemples suivants illustrent les renvois true et false pour des comparaisons numriques et chanes.
3 < 10; // true 10 < 3; // false "Alain" < "Jacques"; // true "Jacques" < "Alain"; // false "11" < "3"; //true "11" < 3; // comparaison numrique // false "C" < "abc"; // false "A" < "a"; // true

<< (dcalage gauche au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 << expression2 Paramtres expression1 expression2 Renvoie

Un nombre ou une expression devant tre dcal(e) vers la gauche. Un nombre ou une expression converti(e) en entier de 0 31.

Rien.

<< (dcalage gauche au niveau du bit)

259

Description

Oprateur (au niveau du bit) : convertit expression1 et expression2 en entiers 32 bits et dcale tous les bits de expression1 vers la gauche du nombre de places spcifi par lentier rsultant de la conversion de expression2. Les emplacements des bits vids par cette opration sont remplis par des 0. Le dcalage dune valeur vers la gauche de une position revient la multiplier par deux.
Exemple

Dans lexemple suivant, lentier 1 est dcal de 10 bits vers la gauche.


x = 1 << 10

Le rsultat de cette opration est x = 1024. Cela est d au fait que 1 dcimal est gal 1 binaire, 1 binaire dcal sur la gauche de 10 est 10000000000 binaire, et 10000000000 binaire est 1024 dcimal. Dans lexemple suivant, lentier 7 est dcal de 8 bits vers la gauche.
x = 7 << 8

Le rsultat de cette opration est x = 1792. Cela est d au fait que 7 dcimal est gal 111 binaire, 111 binaire dcal sur la gauche de 8 bits est 11100000000 binaire, et 11100000000 binaire est 1792 dcimal.
Consultez galement >>= (dcalage droit au niveau du bit et affectation), >> (dcalage droit au niveau du bit), <<= (dcalage gauche au niveau du bit et affectation)

<<= (dcalage gauche au niveau du bit et affectation)


Disponibilit

Flash Player 5.
Usage expression1 <<= expression2 Paramtres expression1 expression2 Renvoie

Un nombre ou une expression devant tre dcal(e) vers la gauche. Un nombre ou une expression converti(e) en entier de 0 31.

Rien.
Description

Oprateur (affectation compose au niveau du bit) : cet oprateur effectue une opration de dcalage gauche au niveau du bit et stocke le contenu comme rsultat dans expression1. Les deux expressions suivantes sont quivalentes.
A <<= B A = (A << B)

260

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement << (dcalage gauche au niveau du bit), >>= (dcalage droit au niveau du bit et affectation), >> (dcalage droit au niveau du bit)

<= (infrieur ou gal )


Disponibilit

Flash Player 4. Fichier Flash 4 :


x <= y

Fichier converti Flash 5 ou version ultrieure :


Number(x) < Number(y) Usage expression1 <= expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou une chane.

Une valeur boolenne.


Description

Oprateur (comparaison) : compare deux expressions et dtermine si expression1 est infrieure ou gale expression2 le cas chant, renvoie true. Si expression1 est suprieure expression2, loprateur renvoie false. Les expressions chanes sont values par ordre alphabtique ; les majuscules apparaissant avant les minuscules. Dans Flash 5 ou ses versions ultrieures, loprateur infrieur ou gal (<=) est un oprateur de comparaison capable de manipuler divers types de donnes. Dans Flash 4, <= est un oprateur numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes. Lexemple suivant illustre la conversion dun fichier Flash 4 contenant une comparaison de qualit numrique.
Exemple

Les exemples suivants illustrent les rsultats true et false pour des comparaisons numriques et chanes :
5 <= 10; // true 2 <= 2; // true 10 <= 3; // false "Alain" <= "Jacques"; // true

<= (infrieur ou gal )

261

"Jacques" <= "Alain"; // false "11" <= "3"; //true "11" <= 3; // comparaison numrique // false "C" <= "abc"; // false "A" <= "a"; // true

<> (Ingalit)
Disponibilit

Flash 2.
Usage expression1 <> expression2 Paramtres expression1,expression2

Un nombre, une chane, une valeur boolenne, une variable, un objet, un tableau ou une fonction.

Renvoie

Une valeur boolenne.


Description

Oprateur (ingalit) : teste loppos exact de loprateur ==. Si expression1 est gale expression2, le rsultat est false. Tout comme pour loprateur ==, la dfinition du terme galit dpend des types de donnes compars :

Les nombres, les chanes et les valeurs boolennes sont compars par valeur. Les variables, les objets, les tableaux et les fonctions sont compars par rfrence.
Cet oprateur est dconseill dans Flash 5 ; Macromedia recommande lutilisation de loprateur !=.
Consultez galement != (ingalit)

= (affectation)
Disponibilit

Flash Player 4. Fichier Flash 4 :


x = y

262

Chapitre 12 : Dictionnaire ActionScript Prsentation

Fichier converti Flash 5 ou version ultrieure :


Number(x) == Number(y) Usage expression1 = expression2 Paramtres expression1 expression2 Renvoie

Une variable, un lment dun tableau ou une proprit dun objet. Une valeur de tout type.

Rien.
Description

Oprateur : affecte le type de expression2 (le paramtre de droite) la variable, llment de tableau ou la proprit dans expression1. Dans Flash 5 ou les versions ultrieures, = est un oprateur daffectation et loprateur == est utilis pour valuer une galit. Dans Flash 4, = est un oprateur dgalit numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes.
Exemple

Lexemple suivant utilise loprateur daffectation pour affecter le type de donnes Number la variable x.
x = 5

Lexemple suivant utilise loprateur daffectation pour affecter le type de donnes String la variable x.
x = "Bonjour" Consultez galement == (galit)

-= (affectation de soustraction)
Disponibilit

Flash Player 4.
Usage expression1 -= expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou une expression value comme nombre.

Rien.

-= (affectation de soustraction)

263

Description

Oprateur (affectation compose arithmtique) : affecte expression1 la valeur de expression1 - expression2. Par exemple, les deux instructions suivantes sont quivalentes :
x -= y; x = x - y;

Les expressions chanes doivent tre converties en nombres, sinon NaN est renvoy.
Exemple

Usage 1 : Lexemple suivant utilise loprateur -= pour soustraire 10 de 5 et affecter le rsultat la variable x.
x = 5; y = 10; x -= y trace(x); //renvoie -5

Usage 2 : Lexemple suivant montre comment des chanes sont converties en nombres.
x = "5"; y = "10"; x -= y; trace(x); // renvoie -5

== (galit)
Disponibilit

Flash Player 5.
Usage expression1 == expression2 Paramtres expression1,expression2

Un nombre, une chane, une valeur boolenne, une variable, un objet, un tableau ou une fonction.

Renvoie

Une valeur boolenne.


Description

Oprateur (galit) : teste lgalit de deux expressions. Le rsultat est true si les deux expressions sont gales. La dfinition du terme galit dpend du type de donnes du paramtre :

Les nombres et les valeurs boolennes sont compars par valeur et sont considrs gaux sils
possdent les mmes valeurs.

Les expressions chanes sont gales si elles possdent le mme nombre de caractres
(identiques).

264

Chapitre 12 : Dictionnaire ActionScript Prsentation

Les variables, les objets, les tableaux et les fonctions sont compars par rfrence. Deux
variables sont gales si elles font rfrence au mme objet ou tableau ou la mme fonction. Deux tableaux distincts ne sont jamais considrs gaux, mme sils comportent le mme nombre dlments.
Exemple

Usage 1 : Lexemple suivant utilise loprateur == avec une instruction if :


a = "David" , b = "David"; if (a == b){ trace("David est David"); }

Usage 2 : Ces exemples montrent les rsultats doprations qui comparent des types diffrents.
x = "5"; y = "5"; trace (x == y); // true x = "5"; y = "66"; trace (x == y); // false x = "chris"; y = "steve"; trace (x == y); //false Consultez galement != (ingalit), === (galit stricte), !== (ingalit stricte)

=== (galit stricte)


Disponibilit

Flash Player 6.
Usage expression1 === expression2 Renvoie

Une valeur boolenne.


Description

Oprateur : teste lgalit de deux expressions loprateur dgalit stricte fonctionne de la mme faon que loprateur dgalit, ceci prs que les types de donnes ne sont pas convertis. Le rsultat est true si les deux expressions, y compris leurs types de donnes, sont gales. La dfinition du terme galit dpend du type de donnes du paramtre :

Les nombres et les valeurs boolennes sont compars par valeur et sont considrs gaux sils
possdent les mmes valeurs. Les expressions chanes sont gales si elles possdent le mme nombre de caractres (identiques).

=== (galit stricte)

265

Les variables, les objets, les tableaux et les fonctions sont compars par rfrence. Deux
variables sont gales si elles font rfrence au mme objet ou tableau ou la mme fonction. Deux tableaux distincts ne sont jamais considrs gaux, mme sils comportent le mme nombre dlments.
Exemple

Le code suivant affiche la valeur renvoye par les oprations utilisant les oprateurs dgalit, dgalit stricte et dingalit stricte.
s1 = new String("5"); s2 = new String("5"); s3 = new String("Bonjour"); n = new Number(5); b = new Boolean(true); s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 == == == == === === === === !== !== !== !== s2; // true s3; // false n; // true b; // false s2; // true s3; // false n; // false b; // false s2; // false s3; // true n; // true b; // true

Consultez galement == (galit), != (ingalit), === (galit stricte)

>(suprieur )
Disponibilit

Flash Player 4. Fichier Flash 4 :


x > y

Fichier converti Flash 5 ou version ultrieure :


Number(x) > Number(y) Usage expression1 > expression2 Paramtres expression1,expression2 Renvoie

Un nombre ou une chane.

Une valeur boolenne.

266

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Oprateur (comparaison) : compare deux expressions et dtermine si expression1 est suprieure expression2 ; dans ce cas, loprateur renvoie true. Si expression1 est infrieure ou gale expression2, loprateur renvoie false. Les expressions chanes sont values par ordre alphabtique ; les majuscules apparaissant avant les minuscules. Dans Flash 5 ou ses versions ultrieures, loprateur infrieur ou gal (<=) est un oprateur de comparaison capable de manipuler divers types de donnes. Dans Flash 4, <= est un oprateur numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes.

>= (suprieur ou gal )


Disponibilit

Flash Player 4. Fichier Flash 4 :


x > y

Fichier converti Flash 5 ou version ultrieure :


Number(x) > Number(y) Usage expression1 >= expression2 Paramtres expression1, expression2 Renvoie

Une chane, un entier ou un nombre virgule flottante.

Une valeur boolenne.


Description

Oprateur (comparaison) : compare deux expressions et dtermine si expression1 est suprieure ou gale expression2 (true) ou si expression1 est infrieure expression2 (false). Dans Flash 5 ou les versions ultrieures, suprieur ou gal (>) est un oprateur de comparaison capable de manipuler divers types de donnes. Dans Flash 4, > est un oprateur numrique. Les fichiers Flash 4 imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure subissent un processus de conversion visant prserver lintgrit des types de donnes.

>> (dcalage droit au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 >> expression2

>> (dcalage droit au niveau du bit)

267

Paramtres expression1 expression2 Renvoie

Un nombre ou une expression devant tre dcal(e) vers la droite. Un nombre ou une expression converti(e) en entier de 0 31.

Rien.
Description

Oprateur (au niveau du bit) : convertit expression1 et expression2 en entiers 32 bits et dcale tous les bits de expression1 vers la droite du nombre de places spcifi par lentier rsultant de la conversion de expression2. Les bits dcals vers la droite sont limins. Pour prserver le signe de lexpression dorigine, les bits de gauche sont remplis de 0 si le bit le plus significatif (le bit le plus gauche) de expression1 est 0 et remplis de 1 si le bit le plus significatif est 1. Le dcalage dune valeur droite dune position revient la diviser par 2 et liminer le reste.
Exemple

Lexemple suivant convertit 65535 en entier de 32 bits et le dcale de 8 bits vers la droite.
x = 65535 >> 8

Le rsultat de lopration prcdente est :


x = 255

Ceci est d au fait que 65535 dcimal est gal 1111111111111111 binaire (seize 1), 1111111111111111 binaire dcal droite de 8 bits est 11111111 binaire, et 11111111 binaire est 255 dcimal. Le bit le plus significatif est 0 car les entiers sont 32 bits, le bit de remplissage tant donc 0. Lexemple suivant convertit -1 en un entier de 32 bits et le dcale de 1 bit vers la droite.
x = 1 >>1

Le rsultat de lopration prcdente est :


x = -1

Ceci est d au fait que -1 dcimal est gal 11111111111111111111111111111111 binaire (trente-deux 1), le dcalage vers la droite de 1 bit fait que le bit le moins significatif (le bit le plus droite) est limin et que le bit le plus significatif est rempli de 1. Le rsultat est 11111111111111111111111111111111 (trente-deux 1) binaire, ce qui reprsente lentier de 32 bits -1.
Consultez galement >>= (dcalage droit au niveau du bit et affectation)

>>= (dcalage droit au niveau du bit et affectation)


Disponibilit

Flash Player 5.
Usage expression1 =>>expression2

268

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres expression1 expression2 Renvoie

Un nombre ou une expression devant tre dcal(e) vers la gauche. Un nombre ou une expression converti(e) en entier de 0 31.

Rien.
Description

Oprateur (affectation compose au niveau du bit) : cet oprateur effectue une opration de dcalage droit au niveau du bit et stocke le contenu comme rsultat dans expression1.
Exemple

Les deux expressions suivantes sont quivalentes.


A >>= B A = (A >> B)

Le code comment suivant utilise loprateur (>>=) au niveau du bit. Cet exemple illustre galement lutilisation de tous les oprateurs au niveau du bit.
function convertToBinary(number){ var result = ""; for (var i=0; i<32; i++) { // extraire le bit le moins significatif avec AND au niveau du bit var lsb = number & 1; // ajouter ce bit la chane de rsultat result = (lsb ? "1" : "0") + result; // dcaler le nombre de un bit vers la droite, pour voir le bit suivant number >>= 1;} return result; } trace(convertToBinary(479)); // renvoie la chane 00000000000000000000000111011111 // la chane ci-dessus est une reprsentation binaire // du dcimal 479 Consultez galement << (dcalage gauche au niveau du bit)

>>> (dcalage droit non sign au niveau du bit)


Disponibilit

Flash Player 5.
Usage expression1 >>> expression2 Paramtres expression1 expression2

Un nombre ou une expression devant tre dcal(e) vers la droite. Un nombre ou une expression converti(e) en entier de 0 31.

>>> (dcalage droit non sign au niveau du bit)

269

Renvoie

Rien.
Description

Oprateur (au niveau du bit) : identique loprateur de dcalage droit au niveau du bit (>>) except quil ne conserve pas le signe de lexpression dorigine car les bits de gauche sont toujours remplis avec des 0.
Exemple

Lexemple suivant convertit -1 en un entier de 32 bits et le dcale de 1 bit vers la droite.


x = 1 >>>1

Le rsultat de lopration prcdente est :


x = 2147483647

Cela est d au fait que -1 dcimal est 11111111111111111111111111111111 binaire (trentedeux 1) et, quand vous le dcalez vers la droite (non sign) de 1 bit, le bit le moins significatif (le plus droite) est limin et le bit le plus significatif (le plus gauche) est rempli avec un 0. Le rsultat est 01111111111111111111111111111111 binaire, qui reprsente lentier de 32 bits 2147483647.
Consultez galement >>= (dcalage droit au niveau du bit et affectation)

>>>= (dcalage droit non sign au niveau du bit et affectation)


Disponibilit

Flash Player 5.
Usage expression1 >>>= expression2 Paramtres expression1 expression2 Renvoie

Un nombre ou une expression devant tre dcal(e) vers la gauche. Un nombre ou une expression converti(e) en entier de 0 31.

Rien.
Description

Oprateur (affectation compose au niveau du bit) : effectue une opration de dcalage vers la droite au niveau du bit non sign et stocke le contenu comme rsultat dans expression1. Les deux expressions suivantes sont quivalentes :
A >>>= B A = (A >>> B)

270

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement >>> (dcalage droit non sign au niveau du bit), >>= (dcalage droit au niveau du bit et affectation)

Classe Accessibility
Disponibilit

Flash Player 6 version 65.


Description

La classe daccessibilit gre la communication avec les lecteurs dcran. Les mthodes de la classe Accessibility sont statiques, cest--dire quil nest pas ncessaire de crer une occurrence de la classe afin den utiliser les mthodes. Afin de rcuprer et de dfinir les proprits accessibles pour un objet spcifique, tel quun bouton, un clip, un champ de texte, utilisez la proprit _accProps. Pour dterminer si le lecteur est excut dans un environnement supportant les aides daccessibilit, utilisez System.capabilities.hasAccessibility. Mthode de la classe Accessibility
Mthode
Accessibility.isActive() Accessibility.updateProperties()

Description Indique si un programme de lecture dcran est actif. Met jour la description des objets sur lcran pour les logiciels de lecture dcran.

Accessibility.isActive()
Disponibilit

Flash Player 6 version 65.


Usage Accessibility.isActive() Paramtres

Aucun.
Renvoie

Une valeur boolenne de true sil existe des clients Microsoft Active Accessibility (MSAA) actifs et si le lecteur est excut dans un environnement supportant une communication entre Flash Player et des aides daccessibilit, sinon false.
Description

Mthode : indique si un programme de lecture dcran MSAA est actif et si le lecteur est excut dans un environnement supportant une communication entre Flash Player et des aides daccessibilit. Utilisez cette mthode lorsque vous voulez que votre animation se comporte diffremment en prsence dun lecteur dcran.

Accessibility.isActive()

271

Pour dterminer si le lecteur est excut dans un environnement supportant les aides daccessibilit, utilisez System.capabilities.hasAccessibility.
Remarque : Si vous appelez cette mthode dans les une ou deux secondes suivant la premire apparition de la fentre Flash dans laquelle votre document est lu, vous pourrez obtenir une valeur de renvoi false mme sil existe un client MSAA actif. Cela est d un mcanisme de communication asynchrone entre les clients Flash et MSAA. Pour viter le problme, attendez une deux secondes aprs avoir charg votre document pour appeler cette mthode. Consultez galement Accessibility.updateProperties(), _accProps, System.capabilities.hasAccessibility

Accessibility.updateProperties()
Disponibilit

Flash Player 6 version 65.


Usage Accessibility.updateProperties() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : Flash Player rexamine toutes les proprits daccessibilit, met jour sa description des objets pour les lecteurs dcran et, si ncessaire, envoie des vnements aux lecteurs dcran afin de signifier que des changements ont eu lieu. Pour plus dinformations sur la dfinition de proprits daccessibilit, consultez _accProps. Pour dterminer si le lecteur est excut dans un environnement supportant les aides daccessibilit, utilisez System.capabilities.hasAccessibility. Si vous modifiez les proprits daccessibilit de plusieurs objets, un seul appel de Accessibility.updateProperties() est ncessaire ; plusieurs appels peuvent rduire les performances et donner des rsultats de lecture dcran incomprhensibles.
Exemple

Le code ActionScript suivant tire profit des proprits daccessibilit dynamiques. Cet exemple est celui dun bouton non texte pouvant changer licne affich.
fonction definirIcone( numNouvelIcone, nouvelEquivalentTexte ) { this.imageIcone = this.imagesIcone[ numNouvelIcone ]; if ( nouvelEquivalentTexte != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties()

272

Chapitre 12 : Dictionnaire ActionScript Prsentation

} } Consultez galement Accessibility.isActive(), _accProps, System.capabilities.hasAccessibility

_accProps
Disponibilit

Flash Player 6 version 65.


Usage _accProps.nomDeProp nomDoccurrence._accProps.nomDeProp Paramtres nomDeProp Un nom de proprit daccessibilit (consultez la description suivante pour connatre les noms valides). nomDoccurrence Le nom doccurrence attribu une occurrence dun clip, dun bouton, dun champ de texte dynamique ou dun champ de texte de saisie. Description

Proprit : vous permet de contrler les options daccessibilit de lecture dcran des fichiers SWF, des clips, des boutons, des champs de texte dynamiques et des champs de texte de saisie au moment de lexcution. Ces proprits remplacent les paramtres correspondants disponibles dans le panneau Accessibilit au cours de la programmation. Pour que les changements de ces proprits prennent effet, vous devez appeler Accessibility.updateProperties(). Pour plus dinformations sur le panneau Accessibilit, consultez Le panneau Accessibilit de Flash dans le guide Utilisation de Flash de laide. Pour dterminer si le lecteur est excut dans un environnement supportant les aides daccessibilit, utilisez System.capabilities.hasAccessibility. Le tableau suivant rpertorie le nom et le type de donnes de chaque proprit _accProps, son paramtre correspondant dans le panneau Accessibilit, ainsi que les types dobjets auxquels la proprit peut tre applique. Le terme logique inverse signifie que le paramtre de proprit est linverse du paramtre correspondant dans le panneau Accessibilit. Par exemple, dfinir la proprit silent sur true revient dsactiver loption Rendre lanimation accessible ou Rendre lobjet accessible.
Proprit
silent

Type de donnes Boolean

Equivalent dans le panneau Accessibilit Rendre lanimation accessible/ Rendre lobjet accessible (logique inverse)

Sapplique Animations entires Clips Boutons Texte dynamique Texte de saisie

forceSimple

Boolean

Rendre les objets enfants accessibles Animations entires (logique inverse) Clips

_accProps

273

Proprit
name

Type de donnes String

Equivalent dans le panneau Accessibilit Nom

Sapplique Animations entires Clips Boutons Texte de saisie Animations entires Clips Boutons Texte dynamique Texte de saisie Clips Boutons Texte de saisie

description

String

Description

raccourci

String

Raccourci*

Pour plus dinformations sur laffectation dun raccourci clavier un objet accessible, consultez Key.addListener().

Pour dfinir des paramtres correspondant au paramtre Ordre des tabulations du panneau Accessibilit, utilisez la proprit Button.tabIndex, MovieClip.tabIndex, ou TextField.tabIndex. Il nest pas possible de dfinir un paramtre dtiquetage automatique au moment de lexcution. Lorsquelles sont faites sans le paramtre nomDoccurrence, les modifications apportes aux proprits _accProps sappliquent lanimation entire. Par exemple, le code suivant dfinit la chane "Magasin animalier" en tant que proprit daccessibilit nom pour lanimation entire, puis appelle Accessibility.updateProperties() pour appliquer cette modification.
_accprops.name = "Magasin animalier"; Accessbility.updateProperties();

Au contraire, le code suivant dfinit la chane "Prix" en tant que proprit nom dun clip avec le nom doccurrence prix_mc :
prix_mc._accProps.name = "Prix"; Accessbility.updateProperties();

Si vous dfinissez plusieurs proprits daccessibilit, apportez autant de modifications que ncessaire avant dappeler Accessibility.updateProperties(), plutt que de lappeler aprs chaque instruction de proprit :
_accprops.name = "Magasin animalier"; animal_mc._accProps.name = "Animal"; animal_mc._accProps.description = "Chat, chien, poisson, etc."; prix_mc._accProps.name = "Prix"; price_mc._accProps.description = "Cot dun article"; Accessbility.updateProperties();

Si vous ne dfinissez pas de proprit daccessibilit pour une animation ou un objet, toutes les valeurs dfinies dans le panneau Accessibilit sont appliques. Lorsque vous avez dfini une proprit daccessibilit, vous ne pouvez plus reprendre la valeur dfinie dans le panneau Accessibilit. Vous pouvez cependant dfinir la proprit sa valeur par dfaut (false pour les valeurs boolennes, chanes vides pour des valeurs de chanes) en supprimant lobjet _accProps :

274

Chapitre 12 : Dictionnaire ActionScript Prsentation

monClip_mc._accProps.silent = true; // dfinir une proprit // autre code ici delete monClip_mc._accProps.silent; // rcuprer la valeur par dfaut

Pour remplacer toutes les valeurs daccessibilit dun objet par les valeurs par dfaut, vous pouvez supprimer lobjet nomDoccurrence._accProps :
delete mon_btn._accProps;

Pour remplacer toutes les valeurs daccessibilit de tous les objets par les valeurs par dfaut, vous pouvez supprimer lobjet global accProps :
delete _accProps;

Si vous dfinissez une proprit pour un type dobjet qui ne supporte pas cette proprit, laffectation de la proprit est ignore et aucune erreur nest retourne. Par exemple, la proprit forceSimple nest pas supporte pour les boutons. Une ligne similaire la suivante est donc ignore :
mon_btn._accProps.forceSimple = false; //ignore Exemple

Vous trouverez ci-aprs un exemple de code ActionScript tirant profit des proprits daccessibilit dynamiques. Vous pourriez affecter ce code un bouton icne non texte pouvant changer licne affich.
fonction definirIcone( numNouvelIcone, nouvelEquivalentTexte ) { this.imageIcone = this.imagesIcone[ numNouvelIcone ]; if ( nouvelEquivalentTexte != undefined ) { if ( this._accProps == undefined ) this._accProps = new Object(); this._accProps.name = newTextEquivalent; Accessibility.updateProperties() } } Consultez galement Accessibility.isActive(), Accessibility.updateProperties(), System.capabilities.hasAccessibility

add
Disponibilit

Flash Player 4.
Usage chane1 add chane2 Paramtres chane1, chane2 Renvoie

Une chane.

Rien.

add

275

Description

Oprateur : concatne (combine) deux ou plusieurs chanes. Loprateur add remplace loprateur daddition (&) de Flash 4. Les fichiers Flash 4 utilisant loprateur & sont automatiquement convertis de faon utiliser loprateur add pour la concatnation de chanes lorsquils sont imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure. Toutefois, loprateur add nest pas conseill dans Flash Player5 ; Macromedia recommande lutilisation de loprateur + pour la cration de contenu pour Flash Player 5 ou une version ultrieure. Utilisez loprateur add pour concatner des chanes si vous crez des contenus pour Flash Player 4 ou une version antrieure de ce lecteur.
Consultez galement + (addition)

and
Disponibilit

Flash Player 4.
Usage condition1 and condition2 Paramtres condition1,condition2 Renvoie

Conditions ou expressions qui quivalent true ou false.

Rien.
Description

Oprateur : effectue une opration AND logique dans Flash Player 4. Si les deux expressions quivalent true, lexpression entire est alors true. Cet oprateur nest pas recommand dans Flash 5 ; Macromedia recommande lutilisation de loprateur &&.
Consultez galement && (AND logique)

Classe Arguments
Disponibilit

Flash Player 5 ; proprit ajoute Flash Player 6.


Description

La classe Arguments est un tableau qui contient les valeurs qui ont t transmises comme paramtres une fonction. Un objet Arguments est automatiquement cr chaque fois quune fonction est appele dans ActionScript. Une variable locale, arguments, est galement cre et vous permet de faire rfrence lobjet Arguments.

276

Chapitre 12 : Dictionnaire ActionScript Prsentation

Proprits de la classe Arguments


Proprit arguments.callee arguments.caller arguments.length Description

Fait rfrence la fonction appele. Fait rfrence la fonction appelante. Le nombre de paramtres transmis une fonction.

arguments.callee
Disponibilit

Flash Player 5.
Usage arguments.callee Description

Proprit : fait rfrence la fonction qui est actuellement appele.


Exemple

Vous pouvez utiliser la proprit arguments.callee pour crer une fonction anonyme rcurrente, comme dans lexemple suivant :
factorial = function (x) { if (x <= 1) { return 1; } else { return x * arguments.callee(x-1); } };

Lexemple suivant est une fonction rcurrente nomme :


function factorial (x) { if (x <= 1) { return 1; } else { return x * factorial(x-1); } }

arguments.caller
Disponibilit

Flash Player 6.
Usage arguments.caller Description

Proprit : fait rfrence la fonction dappel.

arguments.caller

277

arguments.length
Disponibilit

Flash Player 5.
Usage arguments.length Description

Proprit : le nombre de paramtres transmis une fonction.

Classe Array
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

La classe Array vous permet daccder des tableaux et de les manipuler. Un tableau est un objet dont les proprits sont identifies par un nombre reprsentant leur position dans le tableau. Ce nombre est appel index. Tous les tableaux sont bass sur zro, ce qui signifie que le premier lment du tableau est [0], le second lment est [1], et ainsi de suite. Dans lexemple suivant, mon_array contient les mois de lanne.
mon_array[0] mon_array[1] mon_array[2] mon_array[3] = = = = "Janvier" "Fvrier" "Mars" "Avril"

Pour crer un objet Array, utilisez le constructeur new Array ou loprateur daccs tableau ([]). Pour accder aux lments dun tableau, utilisez loprateur daccs tableau ([]). Mthodes de la classe Array
Mthode
Array.concat Array.join() Array.pop() Array.push()

Description Concatne les paramtres et les renvoie sous forme de nouveau tableau. Joint tous les lments dun tableau dans une chane. Supprime le dernier lment dun tableau et renvoie sa valeur. Ajoute un ou plusieurs lments la fin dun tableau et renvoie la nouvelle longueur du tableau. Inverse la direction dun tableau. Supprime le premier lment dun tableau et renvoie sa valeur. Extrait une section dun tableau et la renvoie sous forme de nouveau tableau. Trie un tableau en place. Trie un tableau en fonction dun champ du tableau. Ajoute et supprime des lments dun tableau.

Array.reverse() Array.shift Array.slice Array.sort Array.sortOn() Array.splice()

278

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthode
Array.toString() Array.unshift()

Description Renvoie une valeur de chane reprsentant les lments dans lobjet Array. Ajoute un ou plusieurs lments au dbut dun tableau et renvoie la nouvelle longueur du tableau.

Mthodes de la classe Array


Proprit
Array.length

Description Un entier non bas sur zro spcifiant le nombre dlments dans un tableau.

Constructeur de lobjet Array


Disponibilit

Flash Player 5.
Usage new Array() new Array(longueur) new Array(lment0, lment1, lment2,...lmentN) Paramtres Longueur

Un entier spcifiant le nombre dlments dans un tableau. Dans le cas dlments non contigus, le paramtre longueur spcifie le numro dindex du dernier lment du tableau plus 1.
lment0...lmentN

Une liste de deux ou plusieurs valeurs arbitraires. Les valeurs peuvent tre des nombres, des chanes, des objets ou dautres tableaux. Le premier lment dun tableau a toujours un index ou une position de 0.

Renvoie

Rien.
Description

Constructeur : permet de crer un tableau. Vous pouvez utiliser le constructeur pour crer diffrents types de tableaux : un tableau vide, un tableau avec une longueur spcifique, mais dont les lments nont pas de valeur, ou un tableau dont les lments ont des valeurs spcifiques. Usage 1 : Si vous ne spcifiez aucun paramtre, un tableau de longueur zro est cr. Usage 2 : Si vous spcifiez seulement une longueur, un tableau est cr avec le nombre longueur dlments sans valeur. Usage 3 : Si vous utilisez les paramtres lment pour spcifier des valeurs, le tableau est cr avec des valeurs spcifiques.
Exemple

Usage 1 : Lexemple suivant cre un nouvel objet Array avec une longueur initiale de 0.
mon_array = new Array(); trace(mon_array.length); // renvoie 0

Classe Array

279

Usage 2 : Lexemple suivant cre un nouvel objet Array avec une longueur initiale de 4.
mon_array = new Array(4); trace(mon_array.length); // renvoie 4

Usage 3 : Lexemple suivant cre le nouvel objet Array go_gos_array, avec une longueur initiale de 5.
go_gos_array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane"); trace(mon_array.length); // renvoie 5 trace(go_gos_array.join(", ")); // affiche les lments

Les lments initiaux du tableau go_gos sont identifis comme suit :


go_gos_array[0] go_gos_array[1] go_gos_array[2] go_gos_array[3] go_gos_array[4] = = = = = "Belinda"; "Gina"; "Kathy"; "Charlotte"; "Jane";

Le code suivant ajoute un sixime lment au tableau go-gos_array et change le deuxime lment :
go_gos_array[5] = "Donna"; go_gos_array[1] = "Nina" trace(go_gos_array.join(" + ")); Consultez galement Array.length, [] (accs tableau)

Array.concat
Disponibilit

Flash Player 5.
Usage mon_array.concat( [ valeur0,valeur1,...valeurN ]) Paramtres valeur0,...valeurN Nombres, lments ou chanes devant tre concatns dans un nouveau tableau. Si vous ne dfinissez aucune valeur, une copie de mon_array est cre. Renvoie

Rien.
Description

Mthode : concatne les lments spcifis dans les paramtres avec les lments de mon_array et cre un nouveau tableau. Si les paramtres valeur spcifient un tableau, ce sont les lments de ce tableau qui sont concatns et non le tableau mme. Le tableau mon_array reste inchang.
Exemple

Le code suivant concatne deux tableaux.


alpha_array = new Array("a","b","c"); numeric_array = new Array(1,2,3); alphaNumeric_array=alpha_array.concat(numeric_array);

280

Chapitre 12 : Dictionnaire ActionScript Prsentation

trace(alphaNumeric_array); // cre le tableau ["a","b","c",1,2,3]

Le code suivant concatne trois tableaux.


num1_array = [1,3,5]; num2_array = [2,4,6]; num3_array = [7,8,9]; nums_array=num1_array.concat(num2_array,num3_array) trace(nums_array); // cre le tableau [1,3,5,2,4,6,7,8,9]

Les tableaux imbriqus ne sont pas aplatis de la mme faon que les tableaux normaux. Les lments dun tableau imbriqu ne sont pas diviss en lments spars dans le x_array, comme dans lexemple suivant.
a_array = new Array ("a","b","c"); // 2 et 3 sont des lments dun tableau imbriqu n_array = new Array(1, [2, 3], 4); x_array = a_array.concat(n_array); trace(x_array[0]); // "a" trace(x_array[1]); // "b" trace(x_array[2]); // "c" trace(x_array[3]); // 1 trace(x_array[4]); // 2, 3 trace(x_array[5]); // 4

Array.join()
Disponibilit

Flash Player 5.
Usage mon_array.join([sparateur]) Paramtres Sparateur

Un caractre ou une chane qui spare les lments de tableau dans la chane renvoye. Si vous omettez ce paramtre, une virgule est utilise comme sparateur par dfaut.

Renvoie

Chanes.
Description

Mthode : convertit les lments dun tableau en chanes, insre le sparateur spcifi entre les lments, les concatne, et renvoie la chane rsultante. Un tableau imbriqu est toujours spar par une virgule et non par le sparateur transmis la mthode join().
Exemple

Lexemple suivant cre un tableau avec trois lments : Terre, Lune et Soleil. Il joint ensuite le tableau trois fois dabord en utilisant le sparateur par dfaut (une virgule et un espace), puis en utilisant un tiret, puis le signe plus (+) et les affiche dans le panneau de sortie :
a_array = new Array("Terre","Lune","Soleil") trace(a_array.join());

Array.join()

281

// renvoie Terre, Lune, Soleil trace(a_array.join(" - ")); // renvoie Terre - Lune - Soleil trace(a_array.join(" + ")); // renvoie Terre + Lune + Soleil

Array.length
Disponibilit

Flash Player 5.
Usage mon_array.length Description

Proprit : un entier non bas sur zro spcifiant le nombre dlments dans un tableau. Cette proprit est automatiquement mise jour lorsque de nouveaux lments sont ajouts au tableau. Lorsque vous affectez une valeur un lment de tableau (par exemple, mon_array[index] = valeur), si index est un nombre et index+1 est suprieur la proprit length, la proprit length est mise jour index+1.
Exemple

Le code suivant explique la faon dont la proprit length est mise jour.
mon_array = new Array(); trace(mon_array.length); mon_array[0] = a; trace(mon_array.length); mon_array[1] = b; trace(mon_array.length); mon_array[9] = c; trace(mon_array.length); // la longueur initiale est 0 // mon_array.length est mis jour 1 // mon_array.length est mis jour 2 // mon_array.length est mis jour 10

Array.pop()
Disponibilit

Flash Player 5.
Usage mon_array.pop() Paramtres

Aucun.
Renvoie

La valeur du dernier lment dans le tableau spcifi.


Description

Mthode : supprime le dernier lment dun tableau et renvoie la valeur de cet lment.

282

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Le code suivant cre le tableau mesAnimaux contenant quatre lments et supprime le dernier lment.
mesAnimaux = ["chat", "chien", "oiseau", "poisson"]; popped = mesAnimaux.pop(); trace(popped); // renvoie poisson

Array.push()
Disponibilit

Flash Player 5.
Usage mon_array.push(valeur,...) Paramtres Valeur Renvoie

Une ou plusieurs valeurs ajouter au tableau.

La longueur du nouveau tableau.


Description

Mthode : ajoute un ou plusieurs lments la fin du tableau et renvoie la nouvelle longueur du tableau.
Exemple

Lexemple suivant cre le tableau mesAnimaux contenant deux lments, chat et chien. La deuxime ligne ajoute deux lments au tableau. Aprs lappel de la mthode push(), la variable pushed contient quatre lments. La mthode push() renvoyant la nouvelle longueur du tableau, laction trace() de la dernire ligne envoie la nouvelle longueur de mesAnimaux (4) au panneau de sortie :
mesAnimaux = ["chat", "chien"]; pushed = mesAnimaux.push("oiseau", "poisson"); trace(pushed);

Array.reverse()
Disponibilit

Flash Player 5.
Usage mon_array.reverse() Paramtres

Aucun.
Renvoie

Rien.

Array.reverse()

283

Description

Mthode : inverse le tableau en place.


Exemple

Lexemple suivant illustre cette mthode.


var numbers_array = [1, 2, 3, 4, 5, 6]; trace(numbers_array.join()); //1,2,3,4,5,6 numbers_array.reverse(); trace(numbers_array.join()); // 6,5,4,3,2,1

Array.shift
Disponibilit

Flash Player 5.
Usage mon_array.shift() Paramtres

Aucun.
Renvoie

Le premier lment dun tableau.


Description

Mthode : supprime le premier lment dun tableau et renvoie sa valeur.


Exemple

Le code suivant cre le tableau mesAnimaux puis supprime le premier lment du tableau et laffecte la variable shifted.
var mesAnimaux_array = ["chat", "chien", "oiseau", "poisson"]; shifted = mesAnimaux_array.shift(); trace(shifted); // renvoie "chat" Consultez galement Array.pop()

Array.slice
Disponibilit

Flash Player 5.
Usage mon_array.slice( [ debut [ , fin ] ] ) Paramtres debut

Un nombre spcifiant lindex du point de dbut de la section. Si debut est un nombre ngatif, le point de dbut commence la fin du tableau, o -1 est le dernier lment.

284

Chapitre 12 : Dictionnaire ActionScript Prsentation

Un nombre spcifiant lindex du point de fin de la section. Si vous omettez ce paramtre, la section comprend tous les lments du dbut la fin du tableau. Si fin est un nombre ngatif, le point de fin est spcifi depuis la fin du tableau, o -1 est le dernier lment.
fin Renvoie

Un tableau.
Description

Mthode : extrait une section ou une sous-chane du tableau et la renvoie sous forme de nouveau tableau sans modifier le tableau original. Le tableau renvoy comprend llment debut et tous les lments jusqu llment fin (exclu). Si vous ne dfinissez aucun paramtre, une copie de mon_array est cre.

Array.sort
Disponibilit

Flash Player 5 ; fonctionnalits supplmentaires ajoutes Flash Player 7.


Usage mon_array.sort() mon_array.sort(fonctionDeComparaison) mon_array.sort(option | option |... ) mon_array.sort(fonctionDeComparaison, option | option |... ) Paramtres fonctionDeComparaison

Une fonction de comparaison facultative utilise pour dterminer lordre de tri des lments dun tableau. Etant donn les lments A et B, le rsultat de fonctionDeComparaison peut prendre lune des trois valeurs suivantes :

-1 si A doit apparatre avant B dans la squence trie 0 si A = B -1 si A doit apparatre aprs B dans la squence trie
option

Un ou plusieurs nombres ou chanes, spars par loprateur | (OR au niveau du bit) qui modifie le comportement du tri par rapport au tri par dfaut. Les valeurs suivantes sont possibles pour option : 1 ou Array.CASEINSENSITIVE 2 ou Array.DESCENDING 4 ou Array.UNIQUE 8 ou Array.RETURNINDEXEDARRAY 16 ou Array.NUMERIC

Pour plus dinformations sur ce paramtre, consultez Array.sortOn().


Renvoie

La valeur renvoye dpend de la dfinition des paramtres :

Array.sort

285

Si vous dfinissez une valeur de 4 ou Array.UNIQUE pour option et que deux lments ou
plus tris comportent des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau. Si vous dfinissez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour option, Flash renvoie un tableau illustrant les rsultats du tri et ne modifie pas le tableau. Sinon, Flash ne renvoie aucune donne et modifie le tableau daprs lordre du tri.

Description

Mthode : trie les lments dans un tableau. Flash trie en fonction des valeurs ASCII (Unicode). Si lun ou lautre des lments compars ne comprend pas le champ dfini dans le paramtre nomDeChamp, le champ est considr undefined et les lments sont placs les uns la suite des autres dans le tableau tri, sans ordre particulier. Par dfaut, Array.sort() fonctionne comme suit :

Le tri est sensible la casse (Z prcde a). Le tri est croissant (a prcde b). Le tableau est modifi daprs lordre de tri ; si plusieurs lments comportent des champs de
tri identiques, ils sont placs les uns la suite des autres dans le tableau tri, sans ordre particulier. Les champs numriques sont tris comme sil sagissait de chanes, 100 prcde donc 99 car 1 constitue une valeur de chane infrieure 9 . Aucune donne nest renvoye.

Si vous souhaitez trier diffremment, crez une fonction de tri et transmettez son nom dans le paramtre fonctionDeComparaison. Par exemple, crez une fonction de tri si vous souhaitez trier par ordre alphabtique par le dernier nom, par ordre croissant, puis par code postal, par ordre dcroissant. Si vous souhaitez dfinir un ou plusieurs champs sur lesquels procder au tri, en utilisant le tri par dfaut ou le paramtre options, utilisez Array.sortOn().
Exemple

Usage 1 : Lexemple suivant illustre lutilisation de Array.sort avec et sans valeur dfinie pour option :
var fruits_array = ["oranges", "pommes", "fraises", "ananas", "cerises"]; trace(fruits_array.join()); fruits_array.sort(); trace(fruits_array.join()); fruits_array.sort(Array.DESCENDING); trace(fruits_array.join());

Le panneau de sortie affiche les rsultats suivants :


oranges,pommes,fraises,ananas,cerises// tableau dorigine pommes,cerises,oranges,ananas,fraises// tri par dfaut fraises,ananas,oranges,cerises,pommes// tri dcroissant

Usage 2 : Lexemple suivant utilise Array.sort() avec une fonction de comparaison.


var motsDePasse = ["maman:sduisante","anna:bague","jacques:magazine","anne:maison","rgina:s tupide"]; function order (a,b){

286

Chapitre 12 : Dictionnaire ActionScript Prsentation

//Les entres trier se prsentent sous la forme nom:mot de passe //Trier en nutilisant que la partie du nom de lentre comme cl. var nom1 =a.split(":")[0 ]; var nom2 =b.split(":")[0 ]; if (nom1 <nom2) { return -1; } else if (nom1 >nom2) { return 1; } else return 0; } } trace ("Non tri :"); trace (motsDePasse.join()); motsDePasse.sort(order); trace ("Tri :"); trace (motsDePasse.join());

Le panneau de sortie affiche les rsultats suivants :


Non tri : maman:sduisante,anna:bague,jacques:magazine,anne:maison,rgine:stupide Tri : anna:bague,anne:maison,jacques:magazine,maman:sduisante,rgine:stupide Consultez galement | (OR au niveau du bit), Array.sortOn()

Array.sortOn()
Disponibilit

Flash Player 6 ; fonctionnalits supplmentaires ajoutes Flash Player 7.


Usage mon_array.sortOn("nomDeChamp") mon_array.sortOn("nomDeChamp", option | option |... ) mon_array.sortOn( [ "nomDeChamp", "nomDeChamp" , ... ] ) mon_array.sortOn( [ "nomDeChamp", "nomDeChamp" , ... ] , option | option |... ) Remarque : Lorsquil y a des crochets ([]), vous devez obligatoirement les inclure dans le code, cest--dire que les crochets ne reprsentent pas des paramtres facultatifs. Paramtres nomDeChamp

Une chane qui identifie un champ (dans un lment du tableau) utiliser comme

valeur de tri.
option

Un ou plusieurs nombres ou chanes, spars par loprateur | (OR au niveau du bit) qui modifie le comportement du tri par rapport au tri par dfaut. Les valeurs suivantes sont possibles pour option :

1 ou Array.CASEINSENSITIVE 2 ou Array.DESCENDING

Array.sortOn()

287

4 ou Array.UNIQUE 8 ou Array.RETURNINDEXEDARRAY 16 ou Array.NUMERIC


Chacune de ces options est dcrite plus en dtail dans la section Description ci-dessous.
Renvoie

La valeur renvoye dpend de la dfinition des paramtres :

Si vous dfinissez une valeur de 4 ou Array.UNIQUE pour option et que deux lments ou
plus tris comportent des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau. Si vous dfinissez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour option, Flash renvoie un tableau illustrant les rsultats du tri et ne modifie pas le tableau. Sinon, Flash ne renvoie aucune donne et modifie le tableau daprs lordre du tri.

Description

Mthode : trie les lments dun tableau en fonction dun ou plusieurs champs du tableau. Si vous dfinissez plusieurs paramtres nomDeChamp, le premier champ reprsente le champ de tri principal, le deuxime reprsente le champ de tri suivant, etc. Flash trie en fonction des valeurs ASCII (Unicode). Si lun ou lautre des lments compars ne comprend pas le champ dfini dans le paramtre nomDeChamp, le champ est considr undefined et les lments sont placs les uns la suite des autres dans le tableau tri, sans ordre particulier. Par dfaut, Array.sortOn() fonctionne comme suit :

Le tri est sensible la casse (Z prcde a). Le tri est croissant (a prcde b). Le tableau est modifi daprs lordre de tri ; si plusieurs lments comportent des champs de
tri identiques, ils sont placs les uns la suite des autres dans le tableau tri, sans ordre particulier. Les champs numriques sont tris comme sil sagissait de chanes, 100 prcde donc 99 car 1 constitue une valeur de chane infrieure 9 . Aucune donne nest renvoye.

Vous pouvez utiliser les indicateurs option pour remplacer ces valeurs par dfaut. Les exemples suivants utilisent diffrentes formes de lindicateur option titre dillustration. Si vous souhaitez trier un tableau simple (un tableau avec un seul champ par exemple) ou si vous souhaitez dfinir un ordre de tri non support par le paramtre options, utilisez Array.sort.
au niveau du bit)

Pour dfinir plusieurs indicateurs au format numrique, sparez-les laide de loprateur | (OR ou regroupez les indicateurs. Le code suivant illustre les diverses mthodes permettant de dfinir un tri dcroissant numrique :
mon_array.sortOn(unNomDeChamp, 2 | 16); mon_array.sortOn(unNomDeChamp, 18); mon_array.sortOn(unNomDeChamp, Array.DESCENDING | Array.NUMERIC);

Des conseils de code (consultez Utilisation de conseils de code, page 66) sont activs si vous utilisez la forme de chane de lindicateur (DESCENDING par exemple) plutt que la forme numrique (2). Considrons par exemple le tableau suivant :

288

Chapitre 12 : Dictionnaire ActionScript Prsentation

var mon_array:Array = new Array(); mon_array.push({motDePasse: "Bob", age:29}); mon_array.push({motDePasse: "abcd", age:3}); mon_array.push({motDePasse: "barb", age:35}); mon_array.push({motDePasse: "catchy", age:4});

Lapplication dun tri par dfaut sur le champ du mot de passe gnre les rsultats suivants :
mon_array.sortOn("motDePasse") // Bob // abcd // barb // catchy

Lapplication dun tri non-sensible la casse sur le champ du mot de passe gnre les rsultats suivants :
mon_array.sortOn("motDePasse", Array.CASEINSENSITIVE) // abcd // barb // Bob // catchy

Lapplication dun tri dcroissant non-sensible la casse sur le champ du mot de passe gnre les rsultats suivants :
mon_array.sortOn("motDePasse", 1|2) // catchy // Bob // barb // abcd

Lapplication dun tri par dfaut sur le champ dge gnre les rsultats suivants :
mon_array.sortOn("age") // 29 // 3 // 35 // 4

Lapplication dun tri numrique sur le champ dge gnre les rsultats suivants :
mon_array.sortOn("age", 16) // 3 // 4 // 29 // 35

Lapplication dun tri numrique dcroissant sur le champ dge gnre les rsultats suivants :
mon_array.sortOn("age", 18) // 35 // 29 // 4 // 3

Lapplication dun tri modifie les lments du tableau comme suit :


// // // // // Avant le tri mon_array[0].age mon_array[1].age mon_array[2].age mon_array[3].age = = = = 29; 3; 35; 4;

// Aprs un tri ne dfinissant pas la valeur 8 pour option

Array.sortOn()

289

mon_array.sortOn("age", Array.NUMERIC); // mon_array[0].age = 3; // mon_array[1].age = 4; // mon_array[2].age = 29; // mon_array[3].age = 35;

Lapplication dun tri qui renvoie un tableau dindex ne modifie pas les lments du tableau :
// // // // // Avant le tri mon_array[0].age mon_array[1].age mon_array[2].age mon_array[3].age = = = = 29; 3; 35; 4;

// Aprs un tri qui renvoie un tableau contenant des valeurs dindex // Notez que le tableau dorigine reste inchang. // Vous pouvez ensuite utiliser le tableau renvoy pour afficher les informations tries // sans modifier le tableau dorigine. var indexArray:Array = mon_array.sortOn("age", Array.RETURNINDEXEDARRAY); // mon_array[0].age = 29; // mon_array[1].age = 3; // mon_array[2].age = 35; // mon_array[3].age = 4; Exemple

Cet exemple cre un nouveau tableau et le trie en fonction des champs nom et ville : Le premier tri utilise nom comme premire valeur de tri et ville comme la seconde. Le second tri utilise ville comme premire valeur de tri et nom comme la seconde.
var enr_array = new Array(); enr_array.push( { nom: "john", ville: "omaha", codePostal: 68144 } ); enr_array.push( { nom: "john", ville: "kansas city", codePostal: 72345 } ); enr_array.push( { nom: "bob", ville: "omaha", codePostal: 94010 } ); for(i=0; i<enr_array.length; i++) { trace(enr_array[i].nom + ", " + enr_array[i].ville); } // a le rsultat suivant // john, omaha // john, kansas city // bob, omaha rec_array.sortOn( [ "nom", "ville" ]); for(i=0; i<enr_array.length; i++) { trace(enr_array[i].nom + ", " + enr_array[i].ville); } // a le rsultat suivant // bob, omaha // john, kansas city // john, omaha rec_array.sortOn( ["ville", "nom" ]); for(i=0; i<enr_array.length; i++) { trace(enr_array[i].nom + ", " + enr_array[i].ville); } // a le rsultat suivant // john, kansas city // bob, omaha // john, omaha

290

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement | (OR au niveau du bit), Array.sort

Array.splice()
Disponibilit

Flash Player 5.
Usage mon_array.splice(debut, nombreAsupprimer [, valeur0, valeur1...valeurN]) Paramtres debut

Lindex de llment dans le tableau dans lequel commence linsertion ou la suppression.

nombreAsupprimer

Le nombre dlments supprimer. Ce nombre comprend llment spcifi dans le paramtre debut. Si aucune valeur nest spcifie pour nombreAsupprimer, la mthode supprime toutes les valeurs en commenant par llment debut jusquau dernier lment du tableau. Si la valeur est 0, aucun lment nest supprim.

valeur Paramtre facultatif spcifiant les valeurs insrer dans le tableau au point dinsertion spcifi dans le paramtre start. Renvoie

Rien.
Description

Mthode : ajoute et supprime des lments dun tableau. Cette mthode modifie le tableau sans en faire de copie.

Array.toString()
Disponibilit

Flash Player 5.
Usage mon_array.toString() Paramtres

Aucun.
Renvoie

Une chane.
Description

Mthode : renvoie une valeur chane reprsentant les lments de lobjet Array spcifi. Chaque lment du tableau, compter de lindex 0 et jusqu lindex mon_array.length-1, est converti en chane concatne spare par des virgules.

Array.toString()

291

Exemple

Lexemple suivant cre mon_array, le convertit en une chane et affiche 1,2,3,4,5 dans le panneau de sortie.
mon_array = new Array(); mon_array[0] = 1; mon_array[1] = 2; mon_array[2] = 3; mon_array[3] = 4; mon_array[4] = 5; trace(mon_array.toString());

Array.unshift()
Disponibilit

Flash Player 5.
Usage mon_array.unshift(valeur1,valeur2,...valeurN) Paramtres valeur1,...valeurN

Un ou plusieurs nombres, lments ou variables devant tre insrs au

dbut du tableau.
Renvoie

La nouvelle longueur du tableau.


Description

Mthode : ajoute un ou plusieurs lments au dbut dun tableau et renvoie la nouvelle longueur du tableau.

Array()
Disponibilit

Flash Player 6.
Usage Array() Array( [lment0 [, lment1 , lment2,...lmentN ] ]) Paramtres lment Renvoie

Un ou plusieurs lments placer dans le tableau.

Un tableau.
Description

Fonction de conversion : cre un nouveau tableau vide ou convertit des lments spcifis en un tableau. Lutilisation de cette fonction revient crer un tableau laide du constructeur de tableau (consultez Constructeur de lobjet Array, page 279).

292

Chapitre 12 : Dictionnaire ActionScript Prsentation

asfunction
Disponibilit

Flash Player 5.
Usage asfunction:fonction,"paramtre" Paramtres function paramtre Renvoie

Un identifiant pour une fonction. Une chane qui est transmise la fonction nomme dans le paramtre fonction.

Rien.
Description

Protocole : un protocole spcial pour les adresses URL dans les champs de texte HTML. Dans les champs de texte HTML, un hyperlien peut tre cr avec la balise HTML A. Lattribut HREF de la balise A contient une URL qui peut tre pour un protocole standard comme HTTP, HTTPS ou FTP. Le protocole asfunction est un protocole supplmentaire spcifique Flash, selon lequel le lien invoque une fonction ActionScript.
Exemple

Dans cet exemple, la fonction MaFonc() est dfinie dans les trois premires lignes de code. Lobjet TextField monChampDeTexte est associ un champ de texte HTML. Le texte Cliquez-moi ! est un hyperlien lintrieur du champ de texte. La fonction MaFonc() est appele lorsque lutilisateur clique sur lhyperlien :
function maFonc(param){ trace("Vous avez cliqu sur moi !" Le paramtres tait "+arg); } DehtmlText ="<A HREF=\"asfunction:MaFonc,Foo \">Cliquez sur moi!</A>";

Lorsque lhyperlien est activ, le rsultat suivant est affich dans le panneau de sortie :
Vous mavez cliqu ! Le paramtre tait unParam

Classe Boolean
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

La classe Boolean est un objet enveloppe ayant la mme fonctionnalit que lobjet Boolean standard de JavaScript. Utilisez lobjet Boolean pour rcuprer le type de donnes primitif ou la reprsentation chane dun objet Boolean. Vous devez utiliser le constructeur new Boolean() pour crer un objet Boolean avant den appeler les mthodes.

Classe Boolean

293

Mthodes de la classe Boolean


Mthode
Boolean.toString Boolean.valueOf()

Description Renvoie la reprsentation chane ("true" ou "false") de lobjet Boolean. Renvoie le type de valeur primitif de lobjet Boolean spcifi.

Constructeur de la classe Boolean


Disponibilit

Flash Player 5.
Usage new Boolean([x]) Paramtres x

Toute expression. Ce paramtre est facultatif.

Renvoie

Rien.
Description

Constructeur : cre un objet Boolean. Si vous omettez le paramtre x, lobjet Boolean est initialis avec la valeur false. Si vous spcifiez une valeur pour le paramtre x, la mthode lvalue et renvoie le rsultat sous forme de valeur boolenne selon les rgles de la fonction Boolean().
Exemple

Le code suivant cre un objet boolen vide appel maValeurBoolenne.


maValeurBoolenne = new Boolean();

Boolean.toString
Disponibilit

Flash Player 5.
Usage maValeurBoolenne.toString() Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Mthode : renvoie la reprsentation chane, ("true ou "false, de lobjet Boolean.

294

Chapitre 12 : Dictionnaire ActionScript Prsentation

Boolean.valueOf()
Disponibilit

Flash Player 5.
Usage maValeurBoolenne.valueOf() Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Mthode : renvoie true si le type de valeur primitive de lobjet Boolean dfini est vrai, false sil est sur faux.
Exemple var x:Boolean = new Boolean(); trace(x.valueOf()); // faux x = (6==3+3); trace(x.valueOf()); // vrai

Boolean()
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.


Usage Boolean(expression) Paramtres expression Renvoie

Une expression convertir en valeur boolenne.

Une valeur boolenne ou expression de la valeur, comme dcrit ci-dessous.


Description

Fonction : convertit le paramtre expression en valeur boolenne et renvoie une valeur comme suit : Si expression est une valeur boolenne, la valeur renvoye est expression. Si expression est un nombre, la valeur renvoye est true si le nombre nest pas zro ; sinon, la valeur renvoye est false. Si expression est une chane, la valeur renvoye est comme suit :

Dans les fichiers publis pour Flash Player 6 ou une version antrieure, la chane est tout
dabord convertie en un numro ; la valeur est true si le numro est non zro, sinon false.

Boolean()

295

Dans les fichiers publis pour Flash Player 7 ou une version ultrieure, le rsultat est true si la
chane prsente une longueur suprieure zro ; la valeur est false pour une chane vide. Si expression est undefined, la valeur renvoye est false. Si expression est un clip ou un objet, la valeur renvoye est true.
Consultez galement

Classe Boolean

break
Disponibilit

Flash Player 4.
Usage break Paramtres

Aucun.
Renvoie

Rien.
Description

Instruction : apparat dans une boucle (for, for..in, do while ou while) ou dans un bloc dinstructions associ un cas particulier dans une action switch. Laction break indique Flash dignorer le reste du corps de la boucle, de stopper laction de boucle et dexcuter linstruction qui suit linstruction de boucle. Lors de lemploi dune action break, linterprte de Flash ignore le reste des instructions dans ce bloc case et passe la premire instruction suivant laction switch le contenant. Utilisez laction break pour sortir dune srie de boucles imbriques.
Exemple

Lexemple suivant utilise laction break pour sortir dune boucle sans fin.
i = 0; while (true) { if (i >= 100) { break; } i++; } Consultez galement break, for, for..in, do while, while, switch, case

Classe Button
Disponibilit

Flash Player 6.

296

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Tous les symboles bouton dun fichier SWF sont des occurrences de lobjet Button. Vous pouvez donner un nom doccurrence un bouton dans linspecteur des proprits et utiliser les mthodes et proprits de la classe Button pour le manipuler avec ActionScript. Les noms doccurrence de bouton sont affichs dans lexplorateur danimations et dans la bote de dialogue Insrer un chemin cible du panneau Actions. La classe Button hrite de Classe Object. Rsum des mthodes de la classe Button
Mthode
Button.getDepth

Description Renvoie la profondeur dune occurrence de bouton.

Proprits de la classe Button


Proprit
Button._alpha Button.enabled Button._focusrect Button._height Button._highquality Button.menu Button._name Button._parent Button._quality Button._rotation Button._soundbuftime Button.tabEnabled Button.tabIndex Button._target Button.trackAsMenu

Description La valeur de transparence dune occurrence de bouton. Indique si un bouton est actif. Indique si un bouton avec focus est encadr dun rectangle jaune. La hauteur dune occurrence de bouton, en pixels. Le niveau dun anti-aliasing appliqu au fichier SWF en cours. Associe un objet ContextMenu lobjet button. Le nom doccurrence dune occurrence de bouton. Une rfrence au clip ou lobjet contenant le clip ou objet courant. Indique la qualit de rendu du fichier SWF. Le degr de rotation dune occurrence de bouton. Nombre de secondes ncessaires au pr-chargement dun son. Indique si un bouton est inclus dans lordre de tabulation automatique. Indique lordre de tabulation dun objet. Le chemin cible dune occurrence de bouton. Indique si dautres boutons peuvent recevoir des vnements de relchement du bouton de la souris. LURL du fichier SWF crateur de loccurrence de bouton. Indique si le curseur de main est affich lorsque la souris passe au-dessus dun bouton. Une valeur boolenne dterminant si loccurrence dun bouton est masque ou visible. La largeur dune occurrence de bouton, en pixels. La coordonne x dune occurrence de bouton.

Button._url Button.useHandCursor

Button._visible

Button._width Button._x

Classe Button

297

Proprit
Button._xmouse Button._xscale

Description La coordonne x du curseur par rapport une occurrence de bouton. La valeur spcifiant le pourcentage de redimensionnement horizontal dune occurrence de bouton. La coordonne y dune occurrence de bouton. La coordonne y du curseur par rapport une occurrence de bouton. La valeur spcifiant le pourcentage de redimensionnement vertical dune occurrence de bouton.

Button._y Button._ymouse Button._yscale

Gestionnaire dvnement pour la classe Button


Gestionnaire dvnement
Button.onDragOut

Description invoqu lorsquune pression est exerce sur le bouton de la souris alors que le pointeur se trouve sur le bouton et quil passe ensuite en dehors du bouton. invoqu lorsque lutilisateur appuie sur le bouton de la souris et la fait glisser en dehors du bouton, puis revient au-dessus de celui-ci. Invoqu lorsquune touche est relche. Invoqu lorsque le focus est retir dun bouton. Invoqu lorsque le bouton de la souris est enfonc alors que le pointeur au-dessus dun bouton. Invoqu lorsque le bouton de la souris est relch alors que le pointeur au-dessus dun bouton. Invoqu lorsque la souris est relche alors que le pointeur se trouve au dehors du bouton aprs lenfoncement du bouton pendant que le pointeur est lintrieur du bouton. Invoqu lorsque le pointeur passe lextrieur dun bouton. Invoqu lorsque le pointeur de la souris passe au-dessus dun bouton. Invoqu lorsquun bouton a le focus de saisie et quune touche est relche.

Button.onDragOver

Button.onKeyUp Button.onKillFocus Button.onPress

Button.onRelease

Button.onReleaseOutside

Button.onRollOut Button.onRollOver Button.onSetFocus

Button._alpha
Disponibilit

Flash Player 6.
Usage mon_btn._alpha

298

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : la valeur de transparence alpha du bouton spcifi par mon_btn. Les valeurs valides vont de 0 (transparence complte) 100 (opacit complte). La valeur par dfaut est 100. Les objets dun bouton avec _alpha dfini sur 0 sont actifs, mme sils sont invisibles.
Exemple

Le code suivant dfinit la proprit _alpha dun bouton nomm star_btn 30 % lorsque lutilisateur clique sur ce bouton :
on(release) { star_btn._alpha = 30; } Consultez galement MovieClip._alpha, TextField._alpha

Button.enabled
Disponibilit

Flash Player 6.
Usage mon_btn.enabled Description

Proprit : une valeur boolenne spcifiant si un bouton est activ. La valeur par dfaut est true.

Button._focusrect
Disponibilit

Flash Player 6.
Usage mon_btn._focusrect Description

Proprit : une valeur boolenne spcifiant si un rectangle jaune apparat autour du bouton avec focus clavier. Cette proprit peut annuler la proprit _focusrect globale.

Button.getDepth
Disponibilit

Flash Player 6.
Usage mon_btn.getDepth() Renvoie

Un entier.

Button.getDepth

299

Description

Mthode : renvoie la profondeur dune occurrence de bouton.

Button._height
Disponibilit

Flash Player 6.
Usage mon_btn._height Description

Proprit : hauteur du bouton, en pixels.


Exemple

Lexemple de code suivant dfinit la hauteur et la largeur dun bouton lorsque lutilisateur clique sur la souris :
mon_btn._width = 200; mon_btn._height = 200;

Button._highquality
Disponibilit

Flash Player 6.
Usage mon_btn._highquality Description

Proprit (globale) : spcifie le niveau danti-aliasing appliqu au fichier SWF en cours. Spcifiez 2 (qualit maximum) pour appliquer une qualit leve avec le lissage bitmap toujours actif. Spcifiez 1 (qualit leve) pour appliquer lanti-aliasing ; cela permettra de lisser les bitmaps si le fichier SWF ne contient pas danimation. Spcifiez 0 (faible qualit) pour empcher lantialiasing.
Consultez galement _quality

Button.menu
Disponibilit

Flash Player 7.
Utilisation mon_btn.menu = menuContextuel Paramtres menuContextuel

Un objet ContextMenu.

300

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : associe le menuContextuel de lobjet ContextMenu au bouton mon_bouton. La classe ContextMenu vous permet de modifier le menu contextuel qui apparat quand lutilisateur clique du bouton droit de la souris (Windows) ou enfonce la touche Commande (Macintosh) dans Flash Player.
Exemple

Lexemple suivant affecte un objet ContextMenu un objet Button nomm enregistrer_btn. Lobjet ContextMenu contient une seule commande de menu (tiquet Enregistrer avec une fonction gestionnaire de rappel appele doSave (masque).
var menu_cm = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Enregistrer...", doSave)); function doSave(menu, obj) { // "Enregistrer" code ici } enregistrer_btn.menu = menu_cm; Voir aussi

Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu, TextField.menu

Button._name
Disponibilit

Flash Player 6.
Usage mon_btn._name Description

Proprit : nom de loccurrence du bouton spcifi par mon_btn.

Button.onDragOut
Disponibilit

Flash Player 6.
Usage mon_btn.onDragOut = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.

Button.onDragOut

301

Description

Gestionnaire dvnement : invoqu lorsquune pression est exerce sur le bouton de la souris alors que le pointeur se trouve sur le bouton et quil passe ensuite en dehors du bouton. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.

Button.onDragOver
Disponibilit

Flash Player 6.
Usage mon_btn.onDragOver = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque lutilisateur appuie sur le bouton de la souris et la fait glisser en dehors du bouton, puis revient au-dessus de celui-ci. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour le gestionnaire onKeyDown qui envoie une action trace() au panneau de sortie :
mon_btn.onDragOver = function () { trace ("onDragOver appel"); }; Consultez galement Button.onKeyUp

Button.onKeyDown
Disponibilit

Flash Player 6.
Usage mon_btn.onKeyDown = function() { // vos instructions } Paramtres

Aucun.

302

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton a le focus clavier et quune touche est enfonce. Le gestionnaire dvnement onKeyDown est invoqu sans paramtres. Vous pouvez utiliser Key.getAscii() et Key.getCode() afin de dterminer quelle touche a t enfonce. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onKeyDown.
mon_btn.onKeyDown = function () { trace ("onKeyDown appel"); }; Consultez galement Button.onKeyUp

Button.onKeyUp
Disponibilit

Flash Player 6.
Usage mon_btn.onKeyUp = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton a le focus de saisie et quune touche est relche. Le gestionnaire dvnement onKeyUp est invoqu sans paramtres. Vous pouvez utiliser Key.getAscii() et Key.getCode() afin de dterminer quelle touche a t enfonce. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onKeyPress.
mon_btn.onKeyUp = function () { trace ("onKeyUp appel"); };

Button.onKeyUp

303

Button.onKillFocus
Disponibilit

Flash Player 6.
Usage mon_btn.onKillFocus = function (nouveauFocus) { // vos instructions } Paramtres nouveauFocus Renvoie

Lobjet recevant le focus.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton perd le focus clavier. La mthode onKillFocus reoit un paramtre, nouveauFocus, qui est un objet reprsentant le nouvel objet recevant le focus. Si aucun objet ne reoit le focus, nouveauFocus contient la valeur null.

Button.onPress
Disponibilit

Flash Player 6.
Usage mon_btn.onPress = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton est enfonc. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onPress.
mon_btn.onPress = function () { trace ("onPress appel"); };

304

Chapitre 12 : Dictionnaire ActionScript Prsentation

Button.onRelease
Disponibilit

Flash Player 6.
Usage mon_btn.onRelease = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton est relch. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onRelease.
mon_btn.onRelease = function () { trace ("onRelease appel"); };

Button.onReleaseOutside
Disponibilit

Flash Player 6.
Usage mon_btn.onReleaseOutside = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : aprs que le pointeur de la souris ait t plac lintrieur du bouton et le bouton enfonc, ce gestionnaire est invoqu au moment o le pointeur se trouve en dehors du bouton et que la souris est relche. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.

Button.onReleaseOutside

305

Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onReleaseOutside.
mon_btn.onReleaseOutside = function () { trace ("onReleaseOutside appel"); };

Button.onRollOut
Disponibilit

Flash Player 6.
Usage mon_btn.onRollOut = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le pointeur ne survole plus la zone dun bouton. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onRollOut.
mon_btn.onRollOut = function () { trace ("onRollOut appel"); };

Button.onRollOver
Disponibilit

Flash Player 6.
Usage mon_btn.onRollOver = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.

306

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Gestionnaire dvnement : invoqu lorsque le pointeur passe au-dessus dun bouton. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Dans lexemple suivant, une fonction envoyant une action trace() au panneau de sortie est dfinie pour le gestionnaire onRollOver.
mon_btn.onRollOver = function () { trace ("onRollOver appel"); };

Button.onSetFocus
Disponibilit

Flash Player 6.
Usage mon_btn.onSetFocus = function(ancienFocus){ // vos instructions } Paramtres ancienFocus Renvoie

Lobjet devant perdre le focus clavier.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun bouton reoit le focus clavier. Le paramtre ancienFocus est lobjet perdant le focus. Par exemple, si lutilisateur appuie sur la touche Tab pour faire passer le focus de saisie dun champ de texte un bouton, ancienFocus contient loccurrence de champ de texte. Si aucun objet na prcdemment reu le focus, ancienFocus contient une valeur null.

Button._parent
Disponibilit

Flash Player 6.
Usage mon_btn._parent.property _parent.proprit Description

Proprit : une rfrence au clip ou lobjet contenant le clip ou objet courant. Lobjet courant est celui contenant le code ActionScript faisant rfrence _parent.

Button._parent

307

Utilisez _parent pour spcifier un chemin relatif aux clips ou objets qui se trouvent au-dessus du clip ou objet actuel. Vous pouvez utiliser _parent pour monter de plusieurs niveaux dans la liste daffichage, comme dans lexemple suivant :
_parent._parent._alpha = 20; Consultez galement MovieClip._parent, _root, targetPath

Button._quality
Disponibilit

Flash Player 6.
Usage mon_btn._quality Description

Proprit (globale) : dfinit ou rcupre la qualit de rendu utilise pour un fichier SWF. Les polices de priphrique sont toujours aliases et ne sont donc pas affectes par la proprit _quality.
Remarque : Bien quil soit possible de spcifier cette proprit pour un objet Button, il sagit dune proprit globale ; vous pouvez tout simplement spcifier sa valeur comme _quality. Pour plus dinformations, consultez _quality.

Button._rotation
Disponibilit

Flash Player 6.
Usage mon_btn._rotation Description

Proprit : la rotation du bouton, exprime en degrs, partir de son orientation dorigine. Les valeurs de 0 180 reprsentent une rotation dans le sens horaire ; les valeurs de 0 -180 reprsentent une rotation dans le sens antihoraire. Les valeurs en dehors de cette plage sont ajoutes ou soustraites de 360 pour obtenir une valeur comprise dans la plage. Par exemple, linstruction mon_btn._rotation = 450 revient linstruction mon_btn._rotation = 90.
Consultez galement MovieClip._rotation, TextField._rotation

Button._soundbuftime
Disponibilit

Flash Player 6.
Usage monBouton._soundbuftime

308

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit (globale) : un entier spcifiant le nombre de secondes de mise en tampon dun son avant sa lecture en flux continu.
Remarque : Bien quil soit possible de spcifier cette proprit pour un objet Button, il sagit dune proprit globale ; vous pouvez tout simplement spcifier sa valeur comme _soundbuftime. Pour plus dinformations, consultez _soundbuftime.

Button.tabEnabled
Disponibilit

Flash Player 6.
Usage mon_btn.tabEnabled Description

Proprit : spcifie si mon_btn est inclus dans lordre de tabulation automatique. Valeur undefined par dfaut. Si la proprit tabEnabled est undefined ou true, lobjet est inclus dans lordre de tabulation automatique. Si la proprit tabIndex est galement dfinie avec une valeur, lobjet est galement inclus dans lordre de tabulation automatique. Si tabEnabled est false, lobjet nest pas inclus dans lordre de tabulation automatique ou personnalis, mme si la proprit tabIndex est dfinie.
Consultez galement Button.tabIndex, mon_mc.tabEnabled, TextField.tabEnabled

Button.tabIndex
Disponibilit

Flash Player 6.
Usage mon_btn.tabIndex Description

Proprit : permet de personnaliser lordre de tabulation des objets dun fichier SWF. Vous pouvez dfinir la proprit tabIndex, qui est undefined par dfaut, pour une occurrence de bouton, clip ou champ de texte. Si lun des objets affichs dans le fichier SWF contient une proprit tabIndex, lordre de tabulation automatique est dsactiv, et lordre de tabulation est alors calcul en fonction des proprits tabIndex des objets du fichier SWF. Lordre de tabulation personnalis ninclut que les objets possdant des proprits tabIndex. La proprit tabIndex peut tre un entier non-ngatif. Les objets sont placs dans lordre correspondant leurs proprits tabIndex, dans un ordre croissant. Un objet dont la valeur tabIndex est 1 prcde un objet dont la valeur tabIndex est de 2. Si deux objets ont la mme valeur tabIndex, celui qui prcde lautre dans lordre de tabulation est undefined.

Button.tabIndex

309

Lordre de tabulation personnalis dfini par la proprit tabIndex est flat. Cela signifie que la relation hirarchique des objets du fichier SWF na pas importance. Tous les objets du fichier SWF possdant des proprits tabIndex sont placs dans lordre de tabulation, qui est dtermin par lordre des valeurs tabIndex. Si deux objets ont la mme valeur tabIndex, celui qui prcde lautre dans lordre de tabulation est undefined. Vous ne devriez pas utiliser la mme valeur tabIndex pour plusieurs objets.
Consultez galement Button.tabEnabled, MovieClip.tabChildren, mon_mc.tabEnabled, MovieClip.tabIndex, TextField.tabIndex

Button._target
Disponibilit

Flash Player 6.
Usage mon_btn._target Description

Proprit (lecture seule) : renvoie le chemin cible de loccurrence du bouton spcifie par mon_btn.
Consultez galement targetPath

Button.trackAsMenu
Disponibilit

Flash Player 6.
Usage mon_btn.trackAsMenu Description

Proprit : une valeur boolenne qui indique si dautres boutons ou clips peuvent recevoir des vnements de relchement de bouton de souris. Cela vous permet de crer des menus. Vous pouvez dfinir la proprit trackAsMenu pour nimporte quel objet de bouton ou clip. Si la proprit trackAsMenu nest pas dfinie, le comportement par dfaut est false. Vous pouvez changer la proprit trackAsMenu tout moment, le bouton modifi prenant immdiatement le nouveau comportement.
Consultez galement MovieClip.trackAsMenu

310

Chapitre 12 : Dictionnaire ActionScript Prsentation

Button._url
Disponibilit

Flash Player 6.
Usage mon_btn._url Description

Proprit (lecture seule) : rcupre lURL du fichier SWF crateur de ce bouton.

Button.useHandCursor
Disponibilit

Flash Player 6.
Usage mon_btn.useHandCursor Description

Proprit : une valeur boolenne qui, lorsquelle est dfinie sur la valeur true (par dfaut), indique si un curseur en forme de main saffiche lorsque la souris passe au-dessus dun bouton. Si cette proprit est dfinie sur la valeur false, le curseur de flche est utilis. Vous pouvez changer la proprit useHandCursor tout moment, le bouton modifi prenant immdiatement le nouveau comportement. La proprit useHandCursor peut tre lue partir dun objet prototype.

Button._visible
Disponibilit

Flash Player 6.
Usage mon_btn._visible Description

Proprit : une valeur boolenne indiquant si le bouton spcifi par mon_btn est visible. Les boutons qui ne sont pas visibles (proprit _visible dfinie sur false) sont dsactivs.
Consultez galement MovieClip._visible, TextField._visible

Button._width
Disponibilit

Flash Player 6.

Button._width

311

Usage mon_btn._width Description

Proprit : la largeur du bouton, en pixels.


Exemple

Lexemple suivant dfinit les proprits de hauteur et de largeur dun bouton.


mon_btn._width=200; mon_btn._height=200; Consultez galement MovieClip._width

Button._x
Disponibilit

Flash Player 6.
Usage mon_btn._x Description

Proprit : un entier dfinissant la coordonne x du bouton par rapport aux coordonnes locales du clip parent. Si un bouton se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne, sous la forme (0, 0). Si le bouton se trouve dans un clip qui a subi des transformations, le bouton est dans le systme de coordonnes local du clip le contenant. Donc, pour un clip ayant pivot de 90 degrs dans le sens inverse des aiguilles dune montre, le bouton inclus hrite dun systme de coordonnes qui a pivot de 90 degrs dans le sens inverse des aiguilles dune montre. Les coordonnes du bouton font rfrence la position du point dalignement.
Consultez galement Button._xscale, Button._y, Button._yscale

Button._xmouse
Disponibilit

Flash Player 6.
Usage mon_btn._xmouse Description

Proprit (lecture seule) : renvoie la coordonne x de la position de la souris par rapport au bouton.
Consultez galement Button._ymouse

312

Chapitre 12 : Dictionnaire ActionScript Prsentation

Button._xscale
Disponibilit

Flash Player 6.
Usage mon_btn._xscale Description

Proprit : le redimensionnement horizontal du bouton appliqu partir de son point dalignement, exprim sous forme de pourcentage. Le point dalignement par dfaut est (0,0). Le redimensionnement du systme de coordonnes locales affecte les paramtres de proprit _x et _y, dfinis en pixels. Par exemple, si le clip parent est dimensionn 50 %, la dfinition de la proprit _x dplace un objet du bouton de la moiti du nombre de pixels dun fichier SWF 100 %.
Consultez galement Button._x, Button._y, Button._yscale

Button._y
Disponibilit

Flash Player 6.
Usage mon_btn._y Description

Proprit : la coordonne y du bouton par rapport aux coordonnes locales du clip parent. Si un bouton se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne, sous la forme (0, 0). Si le bouton se trouve dans un autre clip qui a subi des transformations, le bouton est dans le systme de coordonnes local du clip le contenant. Donc, pour un clip ayant pivot de 90 degrs dans le sens inverse des aiguilles dune montre, le bouton inclus hrite dun systme de coordonnes qui a pivot de 90 degrs dans le sens inverse des aiguilles dune montre. Les coordonnes du bouton font rfrence la position du point dalignement.
Consultez galement Button._x, Button._xscale, Button._yscale

Button._ymouse
Disponibilit

Flash Player 6.
Usage mon_btn._ymouse

Button._ymouse

313

Description

Proprit (lecture seule) : indique la coordonne y de la position de la souris par rapport au bouton.
Consultez galement Button._xmouse

Button._yscale
Disponibilit

Flash Player 6.
Usage mon_btn._yscale Description

Proprit : le redimensionnement vertical du bouton appliqu partir de son point dalignement, exprim sous forme de pourcentage. Le point dalignement par dfaut est (0,0).
Consultez galement Button._y, Button._x, Button._xscale

call()
Disponibilit

Flash Player 4. Cette action est dconseille dans Flash 5 ; Macromedia recommande lutilisation de laction function.
Usage call(image) Paramtres image Renvoie

Ltiquette ou le numro dune image du scnario.

Rien.
Description

Action viter : excute le script dans limage appele sans dplacer la tte de lecture jusqu cette image. Les variables locales nexistent plus aprs lexcution du script.
Consultez galement function, Function.call

Classe Camera
Disponibilit

Flash Player 6.

314

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

La classe Camera est principalement conue pour une utilisation avec Macromedia Flash Communication Server, mais elle peut tre utilise de faon limite sans le serveur. La classe Camera permet de capturer une vido partir dune camra vido connecte un ordinateur qui excute Macromedia Flash Player, par exemple, pour contrler une vido issue dune webcam associe votre systme local. (Flash fournit les mmes fonctionnalits audio. Pour plus dinformations, consultez lentre Classe Microphone.) Pour crer ou rfrencer un objet Camera, utilisez Camera.get(). Rsum des mthodes de la classe Camera
Mthode
Camera.get()

Description Renvoie un objet Camera par dfaut ou spcifi, ou null si la camra nest pas disponible. Dfinit les aspects du mode de capture de la camra, tels que la hauteur, la largeur et les images par seconde. Spcifie les mouvements ncessaires pour invoquer Camera.onActivity(true) et le temps qui doit scouler sans mouvement avant linvocation de Camera.onActivity(false). Un entier qui spcifie la bande passante maximale que la vido actuelle sortante peut utiliser, en octets par seconde.

Camera.setMode()

Camera.setMotionLevel()

Camera.setQuality()

Rsum des mthodes de la classe Camera


Proprit (lecture seule) Description
Camera.activityLevel Camera.bandwidth

La quantit de mouvements que la camra dtecte. La bande passante maximale que la vido actuelle sortante peut utiliser, en octets. Le taux auquel la camra capture les donnes, en images par seconde. Le taux auquel vous souhaitez que la camra capture les donnes, en images par seconde. La hauteur de la capture actuelle, en pixels. Lindex de la camra, comme indiqu dans le tableau renvoy par Camera.names. La quantit de mouvements ncessaire pour invoquer Camera.onActivity(true). Le nombre de millisecondes entre le moment o la camra arrte de dtecter les mouvements et le moment o Camera.onActivity(false) est invoqu. Une valeur boolenne qui spcifie si lutilisateur a autoris ou refus laccs la camra. Le nom de la camra tel quil est spcifi par le matriel de la camra.

Camera.currentFps Camera.fps

Camera.height Camera.index

Camera.motionLevel

Camera.motionTimeOut

Camera.muted

Camera.name

Classe Camera

315

Proprit (lecture seule) Description


Camera.names

Proprit de classe : un tableau de chanes indiquant les noms de tous les appareils de capture vido disponibles, y compris les cartes vido et les camras. Un entier spcifiant le niveau ncessaire de qualit dimage, tel que dtermin par le montant de compression appliqu chaque image vido. La largeur de la capture actuelle, en pixels.

Camera.quality

Camera.width

Rsum des gestionnaires dvnement pour la classe Camera


Gestionnaire dvnement
Camera.onActivity

Description Invoqu lorsque la camra commence ou arrte de dtecter des mouvements. Invoqu lorsque lutilisateur autorise ou refuse laccs la camra.

Camera.onStatus

Constructeur pour la classe Camera Pour plus dinformations, consultez Camera.get().

Camera.activityLevel
Disponibilit

Flash Player 6.
Usage active_cam.activityLevel Description

Proprit (lecture seule) : une valeur numrique spcifiant la quantit de mouvements que la camra dtecte. Les valeurs vont de 0 (aucun mouvement dtect) 100 (nombreux mouvements dtects). La valeur de cette proprit peut vous aider dterminer si vous devez transmettre un paramtre Camera.setMotionLevel(). Si la camra est disponible mais quelle nest pas encore utilise car Video.attachVideo() na pas encore t appel, cette proprit est dfinie sur -1. Si vous transmettez en continu une vido locale non compresse, cette proprit nest dfinie que si vous avez affect une fonction au gestionnaire dvnement Camera.onActivity. Dans le cas contraire, elle est undefined.
Consultez galement Camera.motionLevel, Camera.setMotionLevel()

316

Chapitre 12 : Dictionnaire ActionScript Prsentation

Camera.bandwidth
Disponibilit

Flash Player 6.
Usage active_cam.bandwidth Description

Proprit (lecture seule) : un entier qui spcifie la bande passante maximale que la vido actuelle sortante peut utiliser, en octets par seconde. Une valeur 0 signifie que la vido Flash peut utiliser autant de bande passante que ncessaire pour conserver la qualit dimage souhaite. Pour dfinir cette proprit, utilisez Camera.setQuality().
Exemple

Lexemple suivant charge un autre fichier SWF si la bande passante de la camra est de 32 kilooctets ou plus.
if(maCam.bandwidth >= 32768){ loadMovie("splat.swf",_root.hiddenvar); } Consultez galement Camera.setQuality()

Camera.currentFps
Disponibilit

Flash Player 6.
Usage active_cam.currentFps Description

Proprit (lecture seule) : le taux auquel la camra capture les donnes, en images par seconde. Cette proprit ne peut pas tre dfinie. Cependant, vous pouvez utiliser la mthode Camera.setMode() pour dfinir une proprit associe Camera.fpsqui spcifie la cadence maximale laquelle vous souhaitez que la camra capture les donnes.
Consultez galement Camera.fps, Camera.setMode()

Camera.fps
Disponibilit

Flash Player 6.
Usage active_cam.fps

Camera.fps

317

Description

Proprit (lecture seule) : le taux maximum auquel vous souhaitez que la camra capture les donnes, en images par seconde. Le taux maximal possible dpend des capacits de la camra : si la camra ne supporte pas la valeur que vous avez dfinie ici, la cadence ne sera pas atteinte.

Pour dfinir la valeur souhaite de cette proprit, utilisez Camera.setMode(). Pour dfinir le taux auquel la camra capture actuellement les donnes, utilisez la proprit
Camera.currentFps. Exemple

Lexemple suivant dfinit le taux fps de la camra active, maCam.fps la valeur fournie par le champ de texte de lutilisateur this.config.txt_fps.
if (this.config.txt_fps != undefined) { maCam.setMode(maCam.width, maCam.height, this.config.txt_fps, false); } Remarque : La fonction setMode ne garantit pas la dfinition fps demande ; elle dfinit le fps demand ou le fps le plus rapide disponible. Consultez galement Camera.currentFps, Camera.setMode()

Camera.get()
Disponibilit

Flash Player 6.
Usage Camera.get([index]) Remarque : La syntaxe correcte est Camera.get(). Pour affecter lobjet Camera une variable, utilisez une syntaxe telle que active_cam=Camera.get(). Paramtres

Un entier de base zro facultatif qui spcifie la camra rcuprer, comme lindique le tableau renvoy par la proprit Camera.names. Pour rcuprer la camra par dfaut (ce qui est recommand pour la plupart des applications), omettez ce paramtre.
index Renvoie

Si index nest pas spcifi, cette mthode renvoie une rfrence la camra par dfaut ou, si
elle est utilise par une autre application, la premire camra disponible. (Si plus dune camra est installe, lutilisateur peut spcifier la camra par dfaut dans le panneau Camera Settings de Flash Player.) Si aucune camra nest disponible ou installe, la mthode renvoie null. Si index est spcifi, cette mthode renvoie une rfrence demande ou null si elle nest pas disponible.

Description

Mthode : renvoie une rfrence un objet Camera pour la capture de vido. Pour commencer capturer la vido, vous devez lier lobjet Camera un objet Video (consultez Video.attachVideo()).

318

Chapitre 12 : Dictionnaire ActionScript Prsentation

Contrairement aux objets crs laide du constructeur new, les appels multiples Camera.get() font rfrence la mme camra. Ainsi, si votre script contient les lignes first_cam = Camera.get() et second_cam = Camera.get(), first_cam et second_cam font rfrence la mme camra (par dfaut). De manire gnrale, vous ne devez pas transmettre une valeur pour index ; utilisez tout simplement Camera.get() pour renvoyer une rfrence la camra par dfaut. A laide du panneau Camera Settings (abord plus loin dans cette mme section), lutilisateur peut spcifier la camra par dfaut que Flash doit utiliser. Si vous transmettez une valeur pour index, vous pourrez tenter de faire rfrence une camra autre que la camra prfre de lutilisateur. index ne sera utilis que rarement, par exemple, si votre application capture de la vido partir de deux camras en mme temps. Lorsquun fichier SWF essaie daccder la camra renvoye par Camera.get(), Flash Player affiche une bote de dialogue de confidentialit qui permet lutilisateur de choisir sil doit autoriser ou refuser laccs la camra. (Vrifiez que la scne mesure au moins 215 x 138 pixels ; cest la taille minimale requise par Flash pour afficher la bote de dialogue.)

Camera.onStatus

Lorsque lutilisateur rpond cette bote de dialogue, le gestionnaire dvnement renvoie un objet information indiquant la rponse. Afin de dterminer si lutilisateur a refus ou accept laccs la camra sans traiter le gestionnaire dvnement, utilisez la proprit Camera.muted.

Pour spcifier des paramtres de confidentialit permanents pour un domaine particulier, lutilisateur peut galement cliquer avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Contrle (Macintosh) pendant la lecture dun fichier SWF, puis choisir Paramtres, ouvrir le panneau Privacy, et slectionner Se rappeler.

Vous ne pouvez pas utiliser ActionScript pour dfinir la valeur Autoriser ou Refuser pour un utilisateur mais vous pouvez afficher le panneau Privacy pour lutilisateur en utilisant System.showSettings(0). Si lutilisateur slectionne Se rappeler, Flash Player ferme la bote de dialogue Privacy pour les animations de ce domaine.

Camera.get()

319

Si Camera.get renvoie null, soit la camra est utilise par une autre application, soit aucune camra nest installe sur le systme. Pour dterminer sil existe des camras installes, utilisez Camera.names.length. Pour afficher le panneau Paramtres de la camra Flash Player permettant lutilisateur de choisir la camra devant tre rfrence par Camera.get(), utilisez System.showSettings(3).

Lopration consistant analyser le matriel afin de dtecter la prsence de camras prend du temps. Si Flash trouve au moins une camra, il nanalyse plus le matriel pendant toute la dure de loccurrence du lecteur. Cependant, si Flash ne trouve pas de camra, il analyse le matriel chaque fois que Camera.get est appel. Cette tape savre utile si un utilisateur a oubli de connecter la camra ; si votre fichier SWF fournit un bouton Nouvelle tentative qui appelle Camera.get, Flash peut trouver la camra sans que lutilisateur nait redmarrer le fichier SWF.
Exemple

Lexemple suivant capture et affiche la vido localement dans un objet Video nomm ma_video sur la scne.
var ma_cam = Camera.get(); ma_video.attachVideo(maCam); Consultez galement Camera.index, Camera.muted, Camera.names, Camera.onStatus, Camera.setMode(), System.showSettings(), Video.attachVideo()

Camera.height
Disponibilit

Flash Player 6.
Usage cam_active.height Description

Proprit (lecture seule) : la hauteur de capture actuelle, en pixels. Pour dfinir la valeur de cette proprit, utilisez Camera.setMode().
Exemple

La ligne de code suivante met jour un champ de texte dans linterface utilisateur avec la valeur de la hauteur actuelle.
mon_txt._height = myCam.height;

Veuillez galement consulter lexemple pour Camera.setMode().

320

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement Camera.setMode(), Camera.width

Camera.index
Disponibilit

Flash Player 6.
Usage active_cam.index Description

Proprit (lecture seule) : un entier bas sur zro qui spcifie lindex de la camra, comme mentionn dans le tableau renvoy par Camera.names.
Exemple

Lexemple suivant rcupre la camra ayant la valeur index.


ma_cam = Camera.get(index); Consultez galement Camera.get(), Camera.names

Camera.motionLevel
Disponibilit

Flash Player 6.
Usage active_cam.motionLevel Description

Proprit (lecture seule) : une valeur numrique qui spcifie la quantit de mouvements ncessaire pour invoquer Camera.onActivity(true). Les valeurs valides sont comprises entre 0 et 100. La valeur par dfaut est 50. La vido peut tre affiche, quelle que soit la valeur de la proprit motionLevel. Pour plus dinformations, consultez Camera.setMotionLevel().
Consultez galement Camera.activityLevel, Camera.onActivity, Camera.onStatus, Camera.setMotionLevel()

Camera.motionTimeOut
Disponibilit

Flash Player 6.
Usage active_cam.motionTimeOut

Camera.motionTimeOut

321

Description

Proprit (lecture seule) : le nombre de millisecondes entre le moment o la camra arrte de dtecter les mouvements et le moment o Camera.onActivity(false) est invoqu. La valeur par dfaut est 2 000 (2 secondes). Pour dfinir cette valeur, utilisez Camera.setMotionLevel().
Exemple

Lexemple suivant dfinit le nombre de millisecondes entre le moment o la camra arrte de dtecter les mouvements et le moment o Camera.onActivity(false) est invoqu 1 000 millisecondes ou une seconde.
if(ma_cam.motionTimeOut >= 1000){ ma_cam.setMotionLevel(myCam.motionLevel, 1000); } Consultez galement Camera.onActivity, Camera.setMotionLevel()

Camera.muted
Disponibilit

Flash Player 6.
Usage active_cam.muted Description

Proprit (lecture seule) : une valeur boolenne spcifiant si lutilisateur a refus laccs la camra (true) ou permis laccs la camra (false) dans le panneau Privacy Settings de Flash Player. Lorsque cette valeur change, Camera.onStatus est invoqu. Pour plus dinformations, consultez Camera.get().
Consultez galement Camera.get(), Camera.onStatus

Camera.name
Disponibilit

Flash Player 6.
Usage active_cam.name Description

Proprit (lecture seule) : une chane qui spcifie le nom de la camra actuelle, tel que renvoy par le matriel de la camra.

322

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant affiche le nom de la camra par dfaut dans le panneau de sortie. Sous Windows, ce nom est le mme que le nom de lappareil apparaissant dans la page de proprits des scanners et des camras.
ma_cam = Camera.get(); trace("Le nom de la camra est : " + ma_cam.name); Consultez galement Camera.get(), Camera.names

Camera.names
Disponibilit

Flash Player 6.
Usage Camera.names Remarque : La syntaxe correcte est Camera.names. Pour affecter la valeur de renvoi une variable, utilisez une syntaxe telle que cam_array = Camera.names. Pour dterminer le nom de la camra actuelle, utilisez active_cam.name. Description

Proprit de classe (lecture seule) : rcupre un tableau de chanes rpertoriant le nom de toutes les camras disponibles sans afficher le panneau des paramtres de confidentialit de Flash Player. Ce tableau se comporte comme tout autre tableau ActionScript : il fournit implicitement lindex bas sur zro de chaque camra et le nombre de camras dans le systme (au moyen de Camera.names.length). Pour plus dinformations, consultez lentre Classe Array. Lappel de la proprit Camera.names requiert un examen attentif du matriel : cest pourquoi la construction du tableau peut prendre plusieurs secondes. Dans la plupart des cas, vous pouvez tout simplement utiliser la camra par dfaut.
Exemple

Lexemple suivant utilise la camra par dfaut moins quil nexiste plusieurs camras disponibles, auquel cas lutilisateur peut choisir la camra par dfaut.
cam_array = Camera.names; if (tableau_cam.length == 1){ ma_cam = Camera.get(); } else { System.showSettings(3); ma_cam = Camera.get(); } Consultez galement Camera.get(), Camera.index, Camera.name

Camera.names

323

Camera.onActivity
Disponibilit

Flash Player 6.
Usage active_cam.onActivity = function(activit) { // vos instructions } Paramtres activit

Une valeur boolenne dfinie sur true lorsque la camra commence dtecter les mouvements et sur false lorsquelle sarrte.

Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque la camra commence ou arrte de dtecter le mouvement. Si vous souhaitez rpondre ce gestionnaire dvnement, vous devez crer une fonction afin de traiter sa valeur activit. Pour spcifier la quantit de mouvements ncessaire pour invoquer Camera.onActivity(true), ainsi que le temps devant scouler sans aucune activit avant linvocation de Camera.onActivity(false), utilisez Camera.setMotionLevel().
Exemple

Lexemple suivant affiche true ou false dans le panneau de sortie lorsque la camra commence ou arrte de dtecter les mouvements.
// Suppose quun objet Video nomm "monObjetVido" est sur la scne ma_cam = Camera.get(); monObjetVido.attachVideo(ma_cam); ma_cam.setMotionLevel(10, 500); ma_cam.onActivity = function(mode) { trace(mode); } Consultez galement Camera.onActivity, Camera.setMotionLevel()

Camera.onStatus
Disponibilit

Flash Player 6.
Usage active_cam.onStatus = function(objetInfo) { // vos instructions }

324

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres objetInfo Renvoie

Un paramtre dfini selon le message dtat.

Rien.
Description

Gestionnaire dvnement : invoqu lorsque lutilisateur autorise ou refuse laccs la camra. Si vous souhaitez rpondre ce gestionnaire dvnement, vous devez crer une fonction afin de traiter lobjet information gnr par la camra. Lorsquun fichier SWF essaie daccder la camra, Flash Player affiche une bote de dialogue Privacy qui permet lutilisateur de choisir sil doit autoriser ou refuser laccs la camra.

Si lutilisateur autorise laccs, la proprit Camera.muted est dfinie sur false ; ce


gestionnaire est invoqu avec un objet information dont la proprit code est "Camera.Unmuted" et dont la proprit niveau est "Etat". Si lutilisateur refuse laccs, la proprit Camera.muted est dfinie sur true ; ce gestionnaire est invoqu avec un objet information dont la proprit code est "Camera.Muted" et dont la proprit niveau est "Etat".

Afin de dterminer si lutilisateur a refus ou accept laccs la camra sans traiter le gestionnaire dvnement, utilisez la proprit Camera.muted.
Remarque : Si lutilisateur choisit dautoriser ou de refuser dfinitivement laccs tous les fichiers SWF partir dun domaine spcifique, ce gestionnaire nest pas invoqu pour les fichiers SWF de ce domaine, moins que lutilisateur ne modifie ultrieurement les paramtres de confidentialit. Pour plus dinformations, consultez Camera.get(). Exemple

Le gestionnaire dvnement suivant affiche un message ds que lutilisateur autorise ou refuse laccs la camra.
maCam = Camera.get(); monObjetVido.attachVideo(maCam); maCam.onStatus = function(infoMsg) { if(infoMsg.code == "Camra.Dsactive"){ trace("Lutilisateur refuse laccs la camra"); } else trace("Lutilisateur autorise laccs la camra"); } // Change la valeur Autoriser ou Refuser pour invoquer la fonction System.showSettings(0); Consultez galement Camera.get(), Camera.muted

Camera.quality
Disponibilit

Flash Player 6.

Camera.quality

325

Usage active_cam.quality Description

Proprit (lecture seule) : un entier spcifiant le niveau ncessaire de qualit dimage, tel que dtermin par le montant de compression appliqu chaque image vido. Les valeurs de qualit valides sont comprises entre 1 (qualit minimale, compression maximale) et 100 (qualit maximale, pas de compression). La valeur par dfaut est 0, qui signifie que la qualit dimage peut varier en fonction des besoins afin dviter un excs de bande passante disponible.
Consultez galement Camera.setQuality()

Camera.setMode()
Disponibilit

Flash Player 6.
Usage active_cam.setMode(largeur, hauteur, fps [,Taillefavor]) Paramtres largeur hauteur fps

La largeur de capture demande, en pixels. La valeur par dfaut est 160. La hauteur de capture demande, en pixels. La valeur par dfaut est 120.

Le taux requis auquel la camra doit capturer les donnes, en images par seconde. La valeur par dfaut est 15.

(facultatif ) : une valeur boolenne qui spcifie comment manipuler la largeur, la hauteur et la cadence si la camra na aucun mode natif correspondant aux conditions requises. La valeur par dfaut est true : cela signifie que la conservation de la taille de la capture est favorise ; lutilisation de ce paramtre slectionne le mode qui correspond le mieux aux valeurs largeur et hauteur, bien quune telle action affecte ngativement les performances en rduisant la cadence. Afin doptimiser la cadence aux dpens de la hauteur et de la largeur, dfinissez le paramtre Taillefavor sur false.
Taillefavor Renvoie

Rien.
Description

Mthode : dfinit le mode de capture de la camra sur le mode natif qui correspond le mieux aux conditions requises. Si la camra na pas de mode natif qui correspond tous les paramtres dfinis, Flash slectionne un mode capture qui correspond le mieux au mode requis. Cette manipulation peut ncessiter le rognage de limage et lomission dimages. Par dfaut, Flash omet les images de sorte que la taille de limage soit conserve. Pour minimiser le nombre dimages omises, mme sil faut pour cela rduire la taille de limage, dfinissez le paramtre Taillefavor sur false.

326

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lors du choix du mode natif, Flash tente de conserver les proportions demandes si possible. Par exemple, si vous communiquez la commande active_cam.setMode(400,400,30) et que les valeurs largeur et hauteur maximales disponibles sur la camra sont 320 et 288, Flash dfinit la fois la largeur et la hauteur sur 288 ; en dfinissant ces proprits sur la mme valeur, Flash conserve les proportions 1:1 que vous avez demandes. Pour dterminer les valeurs affectes ces proprits ds que Flash a slectionn le mode qui correspond le mieux aux valeurs requises, utilisez Camera.width, Camera.height et Camera.fps.
Exemple

Lexemple suivant dfinit la largeur, la hauteur et fps en fonction des entres de lutilisateur, sil clique sur le bouton. Le paramtre facultatif Taillefavor nest pas inclus car la valeur par dfaut true fournit les paramtres les plus proches des prfrences de lutilisateur sans sacrifier la qualit dimage. Cependant, il se peut que fps soit sacrifi. Linterface utilisateur est alors mise jour avec les nouveaux paramtres.
on (press) { // Dfinit la largeur, la hauteur et fps en fonction des entres de lutilisateur. _root.myCam.setMode(txt_width, my_txt._height, txt_fps); // Mettre jour le champ de texte de lutilisateur avec les nouveaux paramtres. _root.txt_width = maCam.width; _root.txt_height = maCam.height; _root.txt_fps = maCam.fps; } Consultez galement Camera.currentFps, Camera.fps, Camera.height, Camera.width

Camera.setMotionLevel()
Disponibilit

Flash Player 6.
Usage active_cam.setMotionLevel(sensibilit [, timeout]) Paramtres sensibilit Une valeur numrique qui spcifie la quantit de mouvements ncessaire pour invoquer Camera.onActivity(true). Les valeurs valides sont comprises entre 0 et 100. La

valeur par dfaut est 50.


timeout

Un paramtre numrique facultatif qui spcifie le nombre de millisecondes devant scouler sans activit avant que Flash ne considre que lactivit est stoppe et invoque le gestionnaire dvnement Camera.onActivity(false). La valeur par dfaut est 2 000 (2 secondes).

Renvoie

Rien.

Camera.setMotionLevel()

327

Description

Mthode : spcifie les mouvements ncessaires pour invoquer Camera.onActivity(true). Dfinit de faon facultative le nombre de millisecondes devant scouler sans activit avant que Flash ne considre que les mouvements sont stopps et invoque Camera.onActivity(false).
Remarque : La vido peut tre affiche, quelle que soit la valeur du paramtre sensibilit. Ce paramtre ne dtermine que le moment o et dans quelle circonstance Camera.onActivity est invoqu ; il ne dtermine pas si la vido est en cours de capture ou daffichage.

Afin dempcher la camra de dtecter tout mouvement, dfinissez le paramtre de


sensibilit sur 100 ; Camera.onActivity nest jamais invoqu. (Vous nutiliserez probablement cette valeur que pour des tests, par exemple, pour dsactiver temporairement les actions dfinies devant se produire lorsque Camera.onActivity est invoqu.) Pour dterminer le nombre de mouvements en cours que la camra dtecte, utilisez la proprit Camera.activityLevel.

Les valeurs de sensibilit aux mouvements correspondent directement aux valeurs dactivit. Labsence totale de mouvements correspond une valeur dactivit de 0. Un mouvement constant correspond une valeur dactivit de 100. Votre valeur dactivit est infrieure votre valeur de sensibilit de mouvement lorsque vous tes immobile ; en mouvement, les valeurs dactivit dpassent frquemment la valeur de sensibilit de mouvement. Cette mthode a le mme objectif que Microphone.setSilenceLevel() ; les deux mthodes permettent de dterminer quel moment le gestionnaire dvnement onActivity doit tre invoqu. Cependant, ces mthodes ont un impact trs diffrent sur la publication en flux continus :

Microphone.setSilenceLevel() est conu pour optimiser la bande passante. Lorsquun flux continu audio est considr comme silencieux, aucune donne audio nest envoye. Un message unique est envoy, indiquant le dbut du silence. Camera.setMotionLevel() est conu pour dtecter les mouvements et naffecte pas lutilisation de la bande passante. Mme lorsquun flux continu vido ne dtecte pas de mouvement, la vido est envoye.

Exemple

Lexemple suivant envoie des messages au panneau de sortie lorsque lactivit de vido commence ou sarrte. Modifiez la valeur de la sensibilit de mouvement dfinie 30 (en laugmentant ou en la diminuant) afin de voir comment les diffrentes valeurs affectent la dtection du mouvement.
// Suppose quun objet Video nomm "monObjetVido" est sur la scne c = Camera.get(); x = 0; function motion(mode) { trace(x + ": " + mode); x++; } c.onActivity = function(mode) {motion(mode);}; c.setMotionLevel(30, 500); monObjetVido.attachVideo(c); Consultez galement Camera.activityLevel, Camera.motionLevel, Camera.motionTimeOut, Camera.onActivity

328

Chapitre 12 : Dictionnaire ActionScript Prsentation

Camera.setQuality()
Disponibilit

Flash Player 6.
Usage active_cam.setQuality(bandePassante, QualitDimage) Paramtres bandePassante

Un entier qui spcifie la bande passante maximale que la vido actuelle sortante peut utiliser, en octets par seconde. Pour indiquer que la vido Flash peut utiliser autant de bande passante que ncessaire pour conserver la valeur qualitDimage, dfinissez bandePassante sur la valeur 0. La valeur par dfaut est 16384.
qualitDimage Un entier spcifiant le niveau ncessaire de qualit dimage, tel que dtermin par le montant de compression appliqu chaque image vido. Les valeurs de qualit acceptables vont de 1 (qualit minimale, compression maximale) 100 (qualit maximale, pas de compression). Pour indiquer que la qualit dimage peut varier en fonction des besoins et pour viter une bande passante excessive, dfinissez qualitDimage sur la valeur 0. La valeur par dfaut est 0.

Renvoie

Rien.
Description

Mthode : dfinit la bande passante maximale par seconde ou la qualit dimage ncessaire pour la vido sortante actuelle. En principe, cette mthode nest applicable que si vous transmettez la vido laide de Flash Communication Server. Utilisez cette mthode pour spcifier quel lment de la vido sortante est le plus important pour votre application (utilisation de la bande passante ou qualit dimage).

Pour indiquer que lutilisation de la bande passante est prioritaire, dfinissez une valeur pour
et paramtrez qualitDimage sur 0. Flash transmettra ainsi la vido la meilleure qualit possible dans la limite de la bande passante spcifie. Si ncessaire, Flash rduira la qualit dimage afin dviter de dpasser la bande passante spcifie. En gnral, la qualit dcrot mesure que le mouvement saccrot. Pour indiquer que la qualit est prioritaire, dfinissez bandePassante sur 0 et indiquez une valeur numrique pour qualitDimage. Flash utilise autant de bande passante que ncessaire afin de conserver la qualit spcifie. Si ncessaire, Flash rduira la cadence pour conserver la qualit dimage. En gnral, lutilisation de bande passante augmente mesure que le mouvement augmente. Pour spcifier que la bande passante et la qualit sont aussi importantes lune que lautre, transmettez des valeurs numriques aux deux paramtres. Flash transmet une vido qui atteint la qualit requise et qui ne dpasse pas la bande passante spcifie. Si ncessaire, Flash rduira la cadence afin de conserver la qualit dimage sans dpasser la bande passante spcifie.
bandePassante

Exemple

Les exemples suivantes illustrent comment utiliser cette mthode afin de contrler lutilisation de la bande passante et la qualit dimage.

Camera.setQuality()

329

// Assurer quun maximum de 8 192 (8 K/secondes) est utilis pour lenvoi de la vido active_cam.setQuality(8192,0); // Assurer quun maximum de 8 192 (8 K/secondes) est utilis pour lenvoi de la vido // avec une qualit minimale de 50 active_cam.setQuality(8192,50); // Assurer une qualit minimale de 50, quelle que soit la bande passante utilise active_cam.setQuality(0,50); Consultez galement Camera.bandwidth, Camera.quality

Camera.width
Disponibilit

Flash Player 6.
Usage active_cam.width Description

Proprit (lecture seule) : la largeur de capture actuelle, en pixels. Pour dfinir la valeur souhaite de cette proprit, utilisez Camera.setMode().
Exemple

La ligne de code suivante met jour un champ de texte dans linterface utilisateur avec la valeur de la hauteur actuelle.
monChampDeTexte.text=maCam.width;

Veuillez galement consulter lexemple pour Camera.setMode().


Consultez galement Camera.height

case
Disponibilit

Flash Player 4.
Usage case expression: instructions Paramtres expression instructions

Toute expression. Toute instruction.

330

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Instruction : dfinit une condition pour laction switch. Les instructions du paramtre instructions sont excutes si le paramtre expression qui suit le mot-cl case est gal au paramtre expression de laction switch avec une galit stricte (===). Laction case utilise en dehors dune instruction switch produit une erreur et la compilation du script chouera si elle est utilise comme telle.
Consultez galement break, default, === (galit stricte), switch

chr
Disponibilit

Flash Player 4. Cette fonction est dconseille dans Flash 5 ; utilisez plutt String.fromCharCode().
Usage chr(nombre) Paramtres nombre Renvoie

Un nombre de code ASCII.

Rien.
Description

Fonction de chane : convertit les codes ASCII en caractres.


Exemple

Lexemple suivant convertit le nombre 65 en la lettre A et laffecte la variable maVar.


maVar = chr(65); Consultez galement String.fromCharCode()

classe
Disponibilit

Flash Player 6.
Usage [dynamic] class nomDeLaClasse [ extends superClasse ] [ implements nomDinterface [, nomDinterface... ] ] {

classe

331

// dfinition de la classe ici } Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres nomDeLaClasse superClasse nomDinterface

Le nom pleinement qualifi de la classe. Facultatif : le nom de la classe que nomDeLaClasse tend (qui hrite de). Facultatif : le nom de linterface dont nomDeLaClasse doit implmenter les

mthodes.
Description

Instruction : dfinit une classe personnalise, qui permet dinstancier des objets qui partagent les mthodes et proprits dfinies. Par exemple, si vous dveloppez un systme de suivi de factures, vous pouvez crer une classe facture dfinissant les mthodes et les proprits de chaque facture. Vous devez alors utiliser la commande new invoice() pour crer des objets facture. Le nom de la classe doit tre identique au nom du fichier externe contenant la classe. Par exemple, si vous nommez une classe Etudiant, le fichier dfinissant la classe doit tre nomm Etudiant.as. Le nom de classe doit tre pleinement qualifi dans le fichier dans lequel il est dclar, cest--dire quil doit rfrencer le rpertoire dans lequel il est stock. Par exemple, pour crer une classe nomme ClasseRequise stocke dans le rpertoire myClasses/education/curriculum, vous devez dclarer la classe dans le fichier ClasseRequise.as comme suit :
classe myClasses.education.curriculum.ClasseRequise { }

Pour cela, il est prfrable de planifier la structure de votre rpertoire avant de crer les classes. Si vous dcidez de dplacer les fichiers de classe aprs les avoir crs, vous devrez modifier les instructions de dclaration de la classe pour rfrencer leur nouvel emplacement. Vous ne pouvez pas imbriquer les dfinitions de classe ; autrement dit, vous ne pouvez pas dfinir de classe supplmentaire au sein dune dfinition de classe. Pour signaler les objets pouvant ajouter des proprits dynamiques et y accder au moment de lexcution, spcifiez le mot-cl dynamic avant linstruction de la classe. Pour crer des classes bases sur les interfaces, utilisez le mot-cl implements. Pour crer des sous-classes, utilisez le mot-cl extends. (Une classe peut tendre une classe seulement, mais peut implmenter plusieurs interfaces.) Vous pouvez utiliser implements et extends dans une seule et mme instruction.
class C implements Interface_i, Interface_j // OK class C extends Class_d implements Interface_i, Interface_j class C extends Class_d, Class_e // pas OK // OK

Pour plus dinformations, consultez Cration et utilisation de classes, page 167.


Exemple

Lexemple suivant cre une classe nomme Plant. Son constructeur prend deux paramtres.
// Nom de fichier Plant.as class Plant { // Dfinissez les noms et les types de proprit

332

Chapitre 12 : Dictionnaire ActionScript Prsentation

var typeDeFeuille:String; var saisonDeFloraison:String; // La ligne qui suit est le constructeur // parce quelle a le mme nom que la classe function Plant (param_typeDeFeuille:String, param_saisonDeFloraison:String) { // Affectez des valeurs transmises aux proprits lorsque le nouvel objet Plant est cr typeDeFeuille = param_typeDeFeuille; saisonDeFloraison = param_saisonDeFloraison; } // Crez des mthodes pour renvoyer les valeurs de proprit, parce quil sagit de la meilleure faon, // compar au rfrencement direct dune proprit dune classe function getLeafType():String {renvoie le typeDeFeuille}; function getBloomSeason():String {renvoie la saisonDeFloraison}; }

Dans un fichier de script externe ou dans le panneau Actions, utilisez loprateur new pour crer un objet Plant.
var pin:Plant = new Plant("Persistant","N/A"); // Confirmez que les paramtres ont t transmis correctement trace(pin.getLeafType()); trace(pin.getBloomSeason()); Consultez galement dynamic, extends, implements, interface, new

clearInterval()
Disponibilit

Flash Player 6.
Usage clearInterval( idDintervalle ) Paramtres idDintervalle Renvoie

Un objet renvoy partir dun appel setInterval().

Rien.
Description

Fonction : annule un appel setInterval().


Exemple

Lexemple suivant dfinir dabord, puis annule un appel dintervalle :


function callback() { trace("intervalle appel"); } var idDintervalle; idDintervalle = setInterval( callback, 1000 );

clearInterval()

333

// plus tard clearInterval( idDintervalle ); Consultez galement setInterval()

Classe Color
Disponibilit

Flash Player 5.
Description

La classe Color vous permet de dfinir la valeur de la couleur RVB et de rcuprer les valeurs une fois quelles ont t dfinies. Vous devez utiliser le constructeur new Color() pour crer un objet Color avant den appeler les mthodes. Rsum des mthodes de la classe Color
Mthode
Color.getRGB() Color.getTransform()

Description Renvoie la valeur numrique RVB dfinie par le dernier appel setRGB(). Renvoie les informations de transformation dfinies par le dernier appel setTransform(). Dfinit la reprsentation hexadcimale de la valeur RVB pour un objet Color. Dfinit la transformation de couleur pour un objet Color.

Color.setRGB()

Color.setTransform()

Constructeur pour la classe Color


Disponibilit

Flash Player 5.
Usage new Color(cible) Paramtres cible Renvoie

Le nom doccurrence dun clip.

Rien.
Description

Constructeur : cre un objet Color pour le clip spcifi par le paramtre cible. Vous pouvez alors utiliser les mthodes de cet objet Color pour changer la couleur du clip cible.

334

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant cre un objet Color nomm ma_color pour le clip monClip_mc et dfinit sa valeur RVB :
ma_color = new Color(mon_mc); ma_color.setRGB(0xff9933);

Color.getRGB()
Disponibilit

Flash Player 5.
Usage ma_color.getRGB() Paramtres

Aucun.
Renvoie

Un nombre reprsentant la valeur numrique RVB pour la couleur spcifie.


Description

Mthode : renvoie les valeurs numriques dfinies par le dernier appel setRGB().
Exemple

Le code suivant rcupre la valeur RVB de lobjet couleur ma_color, la convertit en une chane hexadcimale et laffecte la variable value.
value = ma_color.getRGB().toString(16); Consultez galement Color.setRGB()

Color.getTransform()
Disponibilit

Flash Player 5.
Usage ma_color.getTransform() Paramtres

Aucun.
Renvoie

Un objet dont les proprits contiennent le dcalage actuel et les valeurs de pourcentage de la couleur spcifie.

Color.getTransform()

335

Description

Mthode : renvoie la valeur de transformation dfinie par le dernier Color.setTransform() appel.


Consultez galement Color.setTransform()

Color.setRGB()
Disponibilit

Flash Player 5.
Usage ma_color.setRGB(0xRRGGBB) Paramtres 0xRRGGBB

La couleur hexadcimale ou RVB dfinir. RR, VV et BB consistent chacun en deux chiffres hexadcimaux spcifiant le dcalage de chaque composante de couleur. Le 0x indique au compilateur ActionScript que le nombre est une valeur hexadcimale. Mthode : spcifie une couleur RVB pour un objet Color. Lappel de cette mthode annule les paramtres Color.setTransform() prcdents.

Description

Renvoie

Rien.
Exemple

Cet exemple dfinit la valeur de couleur RVB pour le clip mon_mc. Pour voir ce code fonctionner, placez un clip sur la scne avec le nom doccurrence mon_mc. Placez ensuite le code suivant sur limage 1 du scnario principal et choisissez Contrle > Tester lanimation.
ma_color = new Color(mon_mc); ma_color.setRGB(0x993366); Consultez galement Color.setTransform()

Color.setTransform()
Disponibilit

Flash Player 5.
Usage ma_color.setTransform(objetDeTransformationDeCouleur)

336

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres objetDeTransformationDeCouleur Un objet cr laide du constructeur new Object. Cette occurrence de Classe Object doit avoir les proprits suivantes, qui spcifient les valeurs de transformation de couleur : ra, rb, ga, gb, ba, bb, aa, ab. Ces proprits sont expliques cidessous. Renvoie

Rien.
Description

Mthode : dfinit les informations de transformation de couleur pour un objet Color. Le paramtre objetDeTransformationDeCouleur est un objet gnrique que vous crez partir du constructeur new Object. Il a des paramtres spcifiant les valeurs de pourcentage et de dcalage pour les composantes rouge, verte, bleue et alpha (transparence) dune couleur, entres suivant le format 0xRRVVBBAA. Les paramtres pour un objet de transformation de couleur correspondent aux paramtres dfinis dans la bote de dialogue Effet avanc et sont dfinis comme suit :

est le pourcentage de la composante rouge (-100 100). est le dcalage de la composante rouge (-255 255). ga est le pourcentage de la composante verte (-100 100). gb est le dcalage de la composante verte (-255 255). ba est le pourcentage de la composante bleue (-100 100). bb est le dcalage de la composante bleue (-255 255). aa est le pourcentage pour alpha (-100 100). ab est le dcalage pour alpha (-255 255).
ra rb

Vous crez un paramtre objetDeTransformationDeCouleur comme suit :


maTransformationDeCouleur = new Object(); maTransformationDeCouleur.ra = 50; maTransformationDeCouleur.rb = 244; maTransformationDeCouleur.ga = 40; maTransformationDeCouleur.gb = 112; maTransformationDeCouleur.ba = 12; maTransformationDeCouleur.bb = 90; maTransformationDeCouleur.aa = 40; maTransformationDeCouleur.ab = 70;

Vous pouvez galement utiliser la syntaxe suivante pour crer un paramtre objetDeTransformationDeCouleur :
maTransformationDeCouleur = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70} Exemple

Cet exemple cre un nouvel objet Color pour un fichier SWF cible, cre un objet gnrique appel maTransformationDeCouleur avec les proprits dfinies ci-dessus et utilise la mthode setTransform() pour transmettre objetDeTransformationDeCouleur un objet Color. Pour utiliser ce code dans un document Flash (FLA), placez-le sur limage 1 du scnario principal et placez un clip sur la scne avec le nom doccurrence mon_mc, comme dans le code suivant :

Color.setTransform()

337

// Crez un objet Color appel ma_color pour la cible mon_mc ma_color = new Color(mon_mc); // Crez un objet de transformation de couleur appel maTransformationDeCouleur // avec lobjet gnrique Object maTransformationDeCouleur = new Object(); // dfinir les valeurs de maTransformationDeCouleur maTransformationDeCouleur = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70}; // associer lobjet de transformation de couleur lobjet Color // cr pour mon_mc ma_color.setTransform(maTransformationDeCouleur);

Classe ContextMenu
Disponibilit

Flash Player 7.
Description

La classe ContextMenu fournit un contrle dexcution des lments du menu contextuel de Flash Player, qui apparat lorsquun utilisateur clique avec le bouton droit (Windows) ou appuie sur la touche Contrle (Macintosh) dans Flash Player. Vous pouvez utiliser les mthodes et les proprits de la classe ContextMenu pour ajouter des lments de menu personnaliss, contrler laffichage des lments du menu contextuel intgr (par exemple Zoom avant et Imprimer) ou crer des copies de menus. Vous pouvez associer un objet ContextMenu un bouton spcifique, un clip ou un objet de champ de texte. Pour ce faire, utilisez la proprit menu de la classe Button, MovieClip ou TextField. Pour plus dinformations sur la proprit menu, consultez Button.menu, MovieClip.menu et TextField.menu. Pour ajouter de nouveaux lments un objet ContextMenu, vous crez un objet ContextMenuItem, puis vous ajoutez cet objet au tableau ContextMenu.customItems. Pour plus dinformations sur la cration dlments de menu contextuel, consultez lentre Classe ContextMenuItem. Flash Player dispose de trois types de menus contextuels : le menu Standard (qui apparat lorsque vous cliquez du bouton droit dans Flash Player), le menu Edition (qui apparat lorsque vous cliquez du bouton droit sur un champ de texte slectionnable ou modifiable) et le menu Erreur (qui apparat lorsque le chargement dun fichier SWF a chou dans Flash Player.) Seuls les menus Standard et Edition peuvent tre modifis laide de la classe ContextMenu. Les lments de menu personnaliss apparaissent toujours en haut du menu contextuel Flash Player, au-dessus de tout lment de menu intgr ; une barre de sparation distingue les lments de menu intgrs des lments personnaliss. Un menu contextuel peut contenir jusqu 15 lments personnaliss. Vous devez utiliser le constructeur new ContextMenu() pour crer un objet ContextMenu avant den appeler les mthodes.

338

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des mthodes de la classe ContextMenu


Mthode
ContextMenu.copy()

Description Renvoie une copie de lobjet ContextMenu spcifi. contextuel de Flash Player.

ContextMenu.hideBuiltInItems() Masque la plupart des lments intgrs dans le menu

Rsum des proprits de la classe ContextMenu


Proprit
ContextMenu.builtInItems

Description Un objet dont les membres correspondent aux lments intgrs du menu contextuel. Un tableau, non dfini par dfaut, qui contient des objets ContextMenuItem.

ContextMenu.customItems

Rsum des gestionnaires dvnement pour la classe ContextMenu


Proprit
ContextMenu.onSelect

Description Invoqu avec laffichage du menu.

Constructeur pour la classe ContextMenu


Disponibilit

Flash Player 7.
Usage new ContextMenu ([fonctionDeRappel]) Paramtres fonctionDeRappel

Une rfrence une fonction appele lorsque lutilisateur clique avec le bouton droit ou appuie sur la touche Contrle, avant laffichage du menu. Ce paramtre est facultatif.

Renvoie

Rien.
Description

Constructeur : cre un nouvel objet ContextMenu. Facultativement, la cration de lobjet, vous pouvez dfinir un identifiant pour un gestionnaire dvnements. La fonction spcifie est appele lorsque lutilisateur invoque le menu contextuel, mais avant laffichage de ce dernier. Cette information est utile pour personnaliser le contenu des menus en fonction de ltat de lapplication ou du type dobjet (clip, champ de texte ou bouton) sur lequel lutilisateur clique avec le bouton droit ou pour lequel il appuie sur la touche Contrle. (Pour obtenir un exemple de cration dun gestionnaire dvnements, consultez ContextMenu.onSelect.)

Classe ContextMenu

339

Exemple

Lexemple suivant masque tous les objets intgrs dans le menu contextuel. (Cependant, les lments Paramtres et A propos de apparaissent encore, car il est impossible de les dsactiver.)
var nouveauMenu = new ContextMenu(); nouveauMenu.hideBuiltInItems(); _root.menu = nouveauMenu;

Dans cet exemple, le gestionnaire dvnements spcifi, menuHandler, active ou dsactive un lment du menu personnalis ( laide du tableau ContextMenu.customItems) en fonction de la valeur de la variable boolenne nomme showItem. Si cette dernire est false, llment du menu personnalis est dsactiv ; dans le cas contraire, il est activ.
var afficherElement = false; // Changez la valeur en true pour visualiser leffet mon_cm = new ContextMenu(gestionnaireDeMenu); mon_cm.customItems.push(new ElementDeMenuContextuel("Bonjour", itemHandler)); function menuHandler(obj, menuObj) { if (showItem == false) { menuObj.customItems[0].enabled = false; } else { menuObj.customItems[0].enabled = true; } } function itemHandler(obj, item) { } _root.menu = mon_cm; Consultez galement Button.menu, ContextMenu.onSelect, ContextMenu.customItems, ContextMenu.hideBuiltInItems(), MovieClip.menu, TextField.menu

ContextMenu.builtInItems
Disponibilit

Flash Player 7.
Usage mon_cm.builtInItems Description

Proprit : un objet ayant les proprits boolennes suivantes : save, zoom, quality, play, loop, rewind, forward_back et print. La dfinition de ces variables sur false te les lments correspondants du menu de lobjet ContextMenu spcifi. Ces proprits sont numrables et sont dfinies sur true par dfaut.
Exemple

Dans cet exemple, les lments intgrs Quality et Print sont dsactivs pour lobjet ContextMenu mon_cm, qui est li au scnario principal du fichier SWF.
var mon_cm = new ContextMenu (); mon_cm.builtInItems.quality=false; mon_cm.builtInItems.print=false; _root.menu = mon_cm;

340

Chapitre 12 : Dictionnaire ActionScript Prsentation

Dans lexemple suivant, une boucle for..in numre tous les noms et les valeurs des lments intgrs du menu de lobjet ContextMenu, mon_cm.
mon_cm = new ContextMenu(); for(eachProp dans mon_cm.builtInItems) { var nomProp = eachProp; var valeurProp = mon_cm.builtInItems[nomProp]; trace(nomProp + ": " + valeurProp; }

ContextMenu.copy()
Disponibilit

Flash Player 7.
Usage mon_cm.copy() Paramtres

Aucun.
Renvoie

Un objet ContextMenu.
Description

Mthode : cre une copie de lobjet ContextMenu spcifi. La copie hrite de toutes les proprits de lobjet du menu original.
Exemple

Cet exemple cre une copie de lobjet ContextMenu nomm mon_cm dont les lments intgrs sont masqus et ajoute un lment du menu avec le texte Enregistrer... . Il cre ensuite une copie de mon_cm et laffecte la variable clone_cm, qui hrite de toutes les proprits du menu original.
mon_cm = new ContextMenu(); mon_cm.hideBuiltInItems(); mon_cm.customItems.push(new ElementMenuContextuel("Enregistrer...", saveHandler); function saveHandler (obj, menuItem) { saveDocument(); // fonction personnalise (masque) } clone_cm = mon_cm.copy();

ContextMenu.customItems
Disponibilit

Flash Player 7.
Usage mon_cm.customItems

ContextMenu.customItems

341

Description

Proprit : un tableau dobjets ElementMenuContextuel. Chaque objet du tableau reprsente un menu contextuel que vous avez dfini. Utilisez cette proprit pour ajouter, ter ou modifier ces lments personnaliss du menu. Pour ajouter des nouveaux lments de menu, vous devez dabord crer un nouvel objet ContextMenuItem, puis lajouter au tableau menu_mc.customItems ( laide de Array.push(), par exemple). Pour plus dinformations sur la cration dlments de menu, consultez lentre Classe ContextMenuItem.
Exemple

Lexemple suivant cre un nouvel lment de menu personnalis nomm lmentDuMenu_cm avec la lgende Envoyer un courriel et un gestionnaire de rappel nomm emailHandler (masqu). Le nouvel lment de menu est ensuite ajout lobjet ContextMenu, mon_cm, laide du tableau customItems. Enfin, le nouveau menu est attach un clip nomm courriel_mc.
var mon_cm = new ContextMenu(); var lmentDuMenu_cm = new ContextMenuItem("Envoyer un courriel", emailHandler); mon_cm.customItems.push(lmentDuMenu_cm); email_mc.menu = mon_cm; Consultez galement Button.menu,

Classe ContextMenu, MovieClip.menu, TextField.menu

ContextMenu.hideBuiltInItems()
Disponibilit

Flash Player 7.
Usage mon_cm.hideBuiltInItems(); Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : masque tous les lments intgrs du menu (except Paramtres) dans lobjet ContextMenu spcifi. Si Flash Debug Player est en cours dexcution, llment de menu Dbogage apparat, mais il est gris pour les fichiers SWF dont le dbogage distance est dsactiv. Cette mthode masque seulement les lments du menu qui apparaissent dans le menu contextuel standard ; elle naffecte pas les lments apparaissant dans les menus ddition ou derreur. Pour plus dinformations sur les diffrents types de menus, veuillez vous rfrer lentre Classe ContextMenu.

342

Chapitre 12 : Dictionnaire ActionScript Prsentation

Cette mthode consiste dfinir tous les membres boolens de mon_cm.builtInItems sur false. Vous pouvez choisir de rendre visible un lment intgr en dfinissant son membre correspondant dans mon_cm.builtInItems sur true (comme dans lexemple suivant).
Exemple

Lexemple suivant cre un nouvel objet ContextMenu nomm mon_cm dont les lments intgrs du menu sont masqus, except pour Print. Lobjet du menu est li au scnario principal.
mon_cm = new ContextMenu(); mon_cm.hideBuiltInItems(); mon_cm.builtInItems.print = true; _root.menu = mon_cm;

ContextMenu.onSelect
Disponibilit

Flash Player 7.
Usage mon_cm.onSelect = function (item:Object, item_menu:ContextMenu) { // votre code ici } Paramtres lment

Une rfrence lobjet (clip, bouton ou champ de texte slectionnable) que le pointeur de la souris survolait lorsque le menu contextuel de Flash Player a t invoqu et dont la proprit menu est dfinie en tant quobjet ContextMenu valide.
menuElment

Une rfrence lobjet ContextMenu affect la proprit menu de lobjet.

Renvoie

Rien.
Description

Gestionnaire dvnement : appel quand un utilisateur invoque le menu contextuel de Flash Player, mais avant laffichage de ce dernier. Vous pouvez ainsi personnaliser le contenu du menu contextuel en fonction de ltat actuel de lapplication. Vous pouvez galement spcifier le gestionnaire de rappel pour un objet ContextMenu quand vous construisez un nouvel objet ContextMenu. Pour plus dinformations, consultez lentre Classe ContextMenu.
Exemple

Lexemple suivant dtermine sur quel type dobjet le menu contextuel a t invoqu.
mon_cm = new ContextMenu(); menuHandler = function (obj:Object, menu:ContextMenu) { if(obj instanceof MovieClip) { trace("Clip : " + obj); } if(obj instanceof TextField) { trace("Champ de texte : " + obj); }

ContextMenu.onSelect

343

if(obj instanceof TextField) { trace("Bouton : " + obj); } } mon_cm.onSelect = menuHandler;

Classe ContextMenuItem
Disponibilit

Flash Player 7.
Description

Utilisez la classe ContextMenuItem afin de crer des lments de menus personnaliss afficher dans le menu contextuel de Flash Player. Chaque objet ContextMenuItem a une lgende (texte) affiche dans le menu contextuel, ainsi quun gestionnaire de rappel (une fonction) invoqu quand llment du menu slectionn. Pour ajouter un nouvel lment un menu contextuel, vous devez lajouter dans le tableau customItems de lobjet ContextMenu. Vous pouvez activer ou dsactiver des lments spcifiques du menu, rendre les lments visibles ou invisibles, ou encore changer la lgende ou le gestionnaire de rappel associ un lment du menu. Les lments de menu personnaliss apparaissent en haut du menu contextuel, au-dessus des lments intgrs. Une barre de sparation distingue toujours les lments personnaliss des lments intgrs. Vous pouvez ajouter jusqu 15 lments personnaliss au menu contextuel de Flash Player. Chaque lment doit contenir au moins un caractre visible ; les caractres de contrle, sauts de lignes et autres espaces blancs sont ignors. Aucun lment ne peut contenir plus de 100 caractres. Les lments identiques aux lments intgrs ou dautres lments personnaliss sont ignors, que llment correspondant soit visible ou non. Les lments du menu sont compars sans tenir compte de la casse, de la ponctuation et des espaces blancs. Aucun des mots suivants ne peut apparatre dans un lment personnalis : Macromedia, Flash Player, Settings. Mthode de la classe ContextMenuItem
Mthode
ContextMenuItem.copy()

Description Renvoie une copie de lobjet ContextMenuItem spcifi.

Proprit de la classe ContextMenuItem


Proprit
ContextMenuItem.caption ContextMenuItem.enabled

Description Spcifie le texte affich dans llment du menu. Spcifie si llment du menu est activ ou dsactiv. de llment du menu.

ContextMenuItem.separatorBefore Spcifie si une barre de sparation doit apparatre au-dessus

ContextMenuItem.visible

Spcifie si llment du menu est visible ou non.

344

Chapitre 12 : Dictionnaire ActionScript Prsentation

Gestionnaire dvnement de la classe ContextMenuItem


Gestionnaire dvnement Description

ContextMenuItem.onSelect Invoqu quand llment du menu est slectionn.

Constructeur de la classe ContextMenuItem


Disponibilit

Flash Player 7.
Usage new ContextMenuItem(lgende, fonctionDeRappel, [sparateurAvant,] [activ,] [visible] ] ] ) Paramtres lgende

Une chane qui spcifie le texte associ llment du menu. Une fonction que vous dfinissez et qui est appele lorsque llment de

fonctionDeRappel

menu est slectionn.


sparateurAvant

Une valeur boolenne qui indique si une barre de sparation doit apparatre au-dessus de llment du menu dans le menu contextuel. Ce paramtre est facultatif ; sa valeur par dfaut est false.

activ Une valeur boolenne qui indique si llment du menu est activ ou dsactiv dans le menu contextuel. Ce paramtre est facultatif ; sa valeur par dfaut est true. visible

Une valeur boolenne qui indique si llment du menu est visible ou invisible. Ce paramtre est facultatif ; sa valeur par dfaut est true.

Renvoie

Rien.
Description

Constructeur : cre un nouvel objet ContextMenuItem qui peut tre ajout au tableau ContextMenu.customItems.
Exemple

Cet exemple ajoute les lments du menu Start et Stop, spars par une barre, lobjet ContextMenu mon_cm. La fonction startHandler() est appele quand Start est slectionn dans le menu contextuel ; stopHandler() est appele quand Stop est slectionn. Lobjet ContextMenu du menu est appliqu au scnario principal.
mon_cm = new ContextMenu(); mon_cm.customItems.push(new ContextMenuItem("Start", startHandler)); mon_cm.customItems.push(new ContextMenuItem("Stop", stopHandler, true)); function itemHandler(obj, item) { trace("Arrt..."); } function itemHandler(obj, item) { trace("Dmarrage..."); } _root.menu = mon_cm;

Classe ContextMenuItem

345

ContextMenuItem.caption
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.caption Description

Proprit : une chane qui spcifie la lgende de llment du menu (texte) affiche dans le menu contextuel.
Exemple

Cet exemple affiche la lgende de llment du menu slectionn (Mettre le jeu en pause) dans le panneau de sortie.
mon_cm = new ContextMenu(); lmentDuMenu_cmi = new ContextMenuItem("Mettre le jeu en pause", onPause); mon_cm.customItems. function onPause(obj, menuItem) { trace("Vous choisissez : " + menuItem.caption); }

ContextMenuItem.copy()
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.copy(); Renvoie

Un objet ContextMenuItem.
Description

Mthode : cre et renvoie une copie de lobjet ContextMenuItem spcifi. La copie inclut toutes les proprits de lobjet original.
Exemple

Cet exemple cre un nouvel objet ContextMenuItem nomm original_cmi avec le texte Pause en tant que lgende et un gestionnaire dvnement dfini sur la fonction onPause. Lexemple cre ensuite une copie de lobjet ContextMenuItem et laffecte la variable copier_cmi.
original_cmi = new ContextMenuItem("Pause", onPause); function onPause(obj, menu) { _root.stop(); } original_cmi.visible = false; copy_cmi = orig_cmi.copy();

346

Chapitre 12 : Dictionnaire ActionScript Prsentation

ContextMenuItem.enabled
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.enabled Description

Proprit : une valeur boolenne qui indique si llment du menu spcifi est activ ou dsactiv. Par dfaut, cette proprit est true.
Exemple

Lexemple suivant cre un nouvel lment du menu contextuel, puis dsactive llment du menu.
var saveMenuItem = new ContextMenuItem("Enregistrer...", doSave); saveMenuItem.enabled = false;

ContextMenuItem.onSelect
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.onSelect = function (obj, lmentDuMenu) { // vos instructions } Paramtres obj Une rfrence au clip (ou scnario), au bouton ou au champ de texte modifiable sur lequel lutilisateur a cliqu du bouton droit ou cliqu en appuyant sur la touche Control. lmentDuMenu Renvoie

Une rfrence lobjet ContextMenuItem slectionn.

Rien.
Description

Gestionnaire dvnement : invoqu lorsque llment du menu spcifi est slectionn partir du menu contextuel de Flash Player. Le gestionnaire de rappel spcifi reoit deux paramtres : obj, une rfrence lobjet situ sous le pointeur de la souris quand lutilisateur a invoqu le menu contextuel Flash Player, et lmentDuMenu, une rfrence lobjet ContextMenuItem reprsentant llment du menu slectionn.
Exemple

Lexemple suivant affecte une fonction au gestionnaire onSelect pour un objet ContextMenuItem nomm dmarrer_cmi. La fonction affiche la lgende de llment du menu slectionn.
dmarrer_cmi.onSelect = function (obj, item) { trace("Vous choisissez : " + item.caption); }

ContextMenuItem.onSelect

347

Consultez galement ContextMenu.onSelect

ContextMenuItem.separatorBefore
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.separatorBefore Description

Proprit : une valeur boolenne qui indique si une barre de sparation doit apparatre au-dessus de llment du menu spcifi. Cette proprit est false par dfaut.
Remarque : Une barre de sparation apparat toujours entre les lments du menu personnaliss et les lments intgrs. Exemple

Cet exemple cre trois lments du menu tiquets Ouvrir, Enregistrer et Imprimer. Une barre de spare les lments Enregistrer et Imprimer. Les lments du menu sont ensuite ajouts au tableau customItems de lobjet ContextMenu. Enfin, le menu est associ au scnario principal du fichier SWF.
mon_cm = new ContextMenu(); ouvrir_cmi = new ContextMenuItem("Ouvrir", itemHandler); enregistrer_cmi = new ContextMenuItem("Enregistrer", itemHandler); imprimer_cmi = new ContextMenuItem("Imprimer", itemHandler); imprimer_cmi.separatorBefore = true; mon_cm.customItems.push(ouvrir_cmi, enregistrer_cmi, imprimer_cmi); function itemHandler(obj, menuItem) { trace("Vous choisissez : " + menuItem.caption); }; _root.menu = mon_cm; Consultez galement ContextMenu.onSelect

ContextMenuItem.visible
Disponibilit

Flash Player 7.
Usage lmentDuMenu_cmi.visible Description

Proprit : une valeur boolenne qui indique si le menu spcifi est visible quand le menu contextuel Flash Player saffiche. Par dfaut, cette proprit est true.

348

Chapitre 12 : Dictionnaire ActionScript Prsentation

continue
Disponibilit

Flash Player 4.
Usage continue Paramtres

Aucun.
Renvoie

Rien.
Description

Instruction : apparat dans plusieurs types dinstructions de boucle et se comporte diffremment dans chaque type de boucle. Dans une boucle while, continue oblige linterprte de Flash ignorer le reste du corps de la boucle et atteindre le haut de la boucle, o la condition est teste. Dans une boucle do while, continue oblige linterprte de Flash ignorer le reste du corps de la boucle et atteindre le bas de la boucle, o la condition est teste. Dans une boucle for, continue oblige linterprte de Flash ignorer le reste du corps de la boucle et atteindre lvaluation de la post-expression for de la boucle. Dans une boucle for...in, continue oblige linterprte de Flash ignorer le reste du corps de la boucle et retourner au dbut de la boucle, o la valeur suivante dans lnumration est traite.
Consultez galement do while, for, for..in, while

Classe CustomActions
Disponibilit

Flash Player 6.
Description

Les mthodes de la classe CustomActions permettent un fichier SWF lu dans loutil de programmation Flash de grer toutes les actions personnalises qui sont enregistres laide de loutil de programmation. Un fichier SWF peut installer et dsinstaller des actions personnalises, rcuprer la dfinition XML dune action personnalise et rcuprer la liste des actions personnalises enregistres. Vous pouvez utiliser ces mthodes pour dvelopper des fichiers SWF qui constituent des extensions de loutil de programmation Flash. Une telle extension pourrait, par exemple, utiliser le protocole dapplication Flash pour naviguer dans un rfrentiel UDDI et tlcharger des services web dans la bote outils Actions.

Classe CustomActions

349

Mthode de la classe CustomActions


Mthode
CustomActions.get() CustomActions.install()

Description Lit le contenu du fichier XML de dfinition dactions personnalises. Installe un nouveau fichier XML de dfinition dactions personnalises. Renvoie une liste de toutes les actions personnalises enregistres. Supprime un fichier XML de dfinition dactions personnalises.

CustomActions.list() CustomActions.uninstall

CustomActions.get()
Disponibilit

Flash Player 6.
Usage CustomActions.get(dfinitionDactionsPersonnalises) Paramtres dfinitionDactionsPersonnalises

Le nom de la dfinition daction personnalise

rcuprer.
Renvoie

Si la dfinition personnalise de laction XML est situe, renvoie une chane ; dans le cas contraire, renvoie undefined.
Description

Mthode : lit le contenu du fichier XML de dfinition dactions personnalises nomm dfinitionDactionsPersonnalises. Le nom du fichier de dfinition doit tre un nom de fichier simple, sans lextension .xml et sans sparateurs de rpertoires ( : :, :/ : ou :\ :). Si le fichier de dfinition spcifi par dfinitionDactionsPersonnalises est introuvable, une valeur de undefined est renvoye. Si la dfinition XML des actions personnalises spcifie par le paramtre dfinitionDactionsPersonnalises est trouve, elle est lue en totalit et renvoye sous forme de chane.

CustomActions.install()
Disponibilit

Flash Player 6.
Usage CustomActions.install(dfinitionDactionsPersonnalises, dfinitionXMLPersonnalise)

350

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres dfinitionDactionsPersonnalises

Le nom de la dfinition daction personnalise

installer.
dfinitionXMLPersonnalise Renvoie

Le texte de la dfinition XML installer.

Une valeur boolenne false si une erreur se produit lors de linstallation : sinon, une valeur true est retourne pour indiquer que linstallation de laction personnalise est russie.
Description

Mthode : installe un nouveau fichier XML de dfinition dactions personnalises indiqu par le paramtre dfinitionDactionsPersonnalises. Le contenu du fichier est spcifi par la chane dfinitionXMLPersonnalise. Le nom du fichier de dfinition doit tre un nom de fichier simple, sans lextension .xml et sans sparateurs de rpertoires ( : :, :/ : ou :\ :).
dfinitionDactionsPersonnalises,

Si un fichier dactions personnalises existe dj avec le nom il est cras.

Si le rpertoire Configuration/ActionsPanel/CustomActions nexiste pas lorsque cette mthode est invoque, il est cr.

CustomActions.list()
Disponibilit

Flash Player 6.
Usage CustomActions.list() Paramtres

Aucun.
Renvoie

Un tableau.
Description

Mthode : renvoie un objet Array contenant les noms de toutes les actions personnalises qui sont enregistres avec loutil de programmation Flash. Les lments du tableau sont de simples noms, sans extension .xml et sans sparateurs de rpertoires (par exemple, : , / ou \ ). Si aucune action personnalise nest enregistre, la mthode list() renvoie un tableau de longueur zro. Si une erreur se produit, la mthode list() renvoie la valeur undefined.

CustomActions.uninstall
Disponibilit

Flash Player 6.

CustomActions.uninstall

351

Usage CustomActions.uninstall(dfinitionDactionsPersonnalises) Paramtres dfinitionDactionsPersonnalises

Le nom de la dfinition daction personnalise

dsinstaller.
Renvoie

Une valeur boolenne false si aucune action personnalise nomme dfinitionDactionsPersonnalises nest rencontre. Si les actions personnalises ont t correctement retires, une valeur de true est renvoye.
Description

Mthode : supprime le fichier XML de dfinition dactions personnalises nomm dfinitionDactionsPersonnalises. Le nom du fichier de dfinition doit tre un nom de fichier simple, sans lextension .xml et sans sparateurs de rpertoires ( : :, :/ : ou :\ :).

Classe Date
Disponibilit

Flash Player 5.
Description

La classe Date permet de rcuprer les valeurs de dates et dheures en fonction du temps universel (Temps moyen de Greenwich, maintenant appel Temps Universel Coordonn) ou en fonction du systme dexploitation sur lequel Flash Player est excut. Les mthodes de la classe Date ne sont pas statiques, mais ne sappliquent qu lobjet Date individuel spcifi lappel de la mthode. La mthode Date.UTC() est une exception : cest une mthode statique. La classe Date gre lheure dt diffremment suivant le systme dexploitation et la version de Flash Player. Flash Player 6 et les versions suivantes grent lheure dt sur les systmes dexploitation suivants comme suit :

Windowslobjet Date ajuste automatiquement son rsultat pour reflter lheure dt. Lobjet
Date dtecte si lheure dt est employe lendroit en question et, si cest le cas, dtecte les dates et heures de transition de lheure dhiver lheure dt. Cependant, les dates de transition actuellement en vigueur sont appliques aux dates passes et futures, et lcart d lheure dt peut donc tre calcul de faon incorrecte pour les dates passes lorsque le lieu en question avait des dates de transition diffrentes. Mac OS Xlobjet Date ajuste automatiquement son rsultat pour reflter lheure dt. La base de donnes dinformations de fuseau horaire sous Mac OS X est utilise pour dterminer si un cart d lheure dt devrait tre appliqu une date ou une heure prsente ou passe.

Flash Player 5 gre lheure dt sur les systmes dexploitation suivants comme suit :

Windowsles rglementations amricaines relatives lheure dt sont toujours appliques.


Cela entrane des transitions incorrectes en Europe et dans dautres rgions qui utilisent lheure dt mais dont les transitions diffrent par rapport aux Etats-Unis. Flash dtecte correctement si lheure dt est employe dans les paramtres rgionaux en question.

352

Chapitre 12 : Dictionnaire ActionScript Prsentation

Pour appeler les mthodes de la classe Date, vous devez dabord crer un objet Date laide du constructeur de la classe Date, dcrit plus loin dans cette mme section. Rsum des mthodes de la classe Date
Mthode
Date.getDate Date.getDay() Date.getFullYear Date.getHours() Date.getMilliseconds() Date.getMinutes() Date.getMonth Date.getSeconds Date.getTime()

Description Renvoie le jour du mois, en fonction de lheure locale. Renvoie le jour de la semaine, en fonction de lheure locale. Renvoie lanne (quatre chiffres), en fonction de lheure locale. Renvoie lheure, en fonction de lheure locale. Renvoie les millisecondes, en fonction de lheure locale. Renvoie les minutes, en fonction de lheure locale. Renvoie le mois, en fonction de lheure locale. Renvoie les secondes, en fonction de lheure locale. Renvoie le nombre de millisecondes coules depuis le premier janvier 1970 minuit, temps universel. Renvoie la diffrence, en minutes, entre lheure locale de lordinateur et le temps universel. Renvoie le jour (date) du mois, en fonction du temps universel. Renvoie le jour de la semaine, en fonction du temps universel. Renvoie lanne (quatre chiffres), en fonction du temps universel. Renvoie lheure, en fonction du temps universel. Renvoie les millisecondes, en fonction du temps universel. Renvoie les minutes, en fonction du temps universel. Renvoie le mois, en fonction du temps universel. Renvoie les secondes, en fonction du temps universel. Renvoie lanne, en fonction de lheure locale. Dfinit le jour du mois, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit lanne complte, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit lheure, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit les millisecondes, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit les minutes, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit le mois, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes.

Date.getTimezoneOffset()

Date.getUTCDate() Date.getUTCDay() Date.getUTCFullYear() Date.getUTCHours() Date.getUTCMilliseconds() Date.getUTCMinutes() Date.getUTCMonth() Date.getUTCSeconds() Date.getYear() Date.setDate()

Date.setFullYear()

Date.setHours()

Date.setMilliseconds()

Date.setMinutes()

Date.setMonth()

Classe Date

353

Mthode
Date.setSeconds()

Description Dfinit les secondes, en fonction de lheure locale. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit la date, en millisecondes. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit la date, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit lanne, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit lheure, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit les millisecondes, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit les minutes, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit le mois, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit les secondes, en fonction du temps universel. Renvoie les nouvelles informations horaires, en millisecondes. Dfinit lanne, en fonction de lheure locale. Renvoie une valeur de chane reprsentant la date et lheure stockes dans lobjet Date spcifi. Renvoie le nombre de millisecondes coules entre le premier janvier 1970 minuit, temps universel, et lheure spcifie.

Date.setTime()

Date.setUTCDate()

Date.setUTCFullYear()

Date.setUTCHours()

Date.setUTCMilliseconds()

Date.setUTCMinutes()

Date.setUTCMonth()

Date.setUTCSeconds()

Date.setYear() Date.toString()

Date.UTC()

Constructeur de la classe Date


Disponibilit

Flash Player 5.
Usage new Date() new Date(anne, mois [, date [, heure [, minute [, seconde [, milliseconde ]]]]]) Paramtres anne mois date heure minute

Une valeur entre 0 et 99 indique une anne entre 1900 et 1999, sinon, les quatre chiffres de lanne doivent tre spcifis. Un entier compris entre 0 (janvier) et 11 (dcembre). Un entier compris entre 1 et 31. Ce paramtre est facultatif. Un entier compris entre 0 (minuit) et 23 (23h00). Un entier compris entre 0 et 59. Ce paramtre est facultatif.

354

Chapitre 12 : Dictionnaire ActionScript Prsentation

seconde

Un entier compris entre 0 et 59. Ce paramtre est facultatif. Un entier compris entre 0 et 999. Ce paramtre est facultatif.

milliseconde Renvoie

Rien.
Description

Objet : construit un nouvel objet Date contenant les informations horaires actuelles ou la date spcifie.
Exemple

Lexemple suivant rcupre lheure et la date actuelles.


maintenant_date = new Date();

Lexemple suivant cre un nouvel objet Date pour lanniversaire de Gary, le 12 aot 1974. (Le paramtre du mois tant bas sur zro, lexemple utilise 7 pour le mois et non 8).
annivGary_date = new Date (74, 7, 12);

Lexemple suivant cre un nouvel objet Date, concatne la valeur renvoye de Date.getMonth, Date.getDateet Date.getFullYear et les affiche dans le champ de texte spcifi par la variable date_str.
aujourdhui_date = new Date(); date_str = ((aujourdhui_date.getMonth() + 1) + "/" + aujourdhui_date.getDate() + "/" + aujourdhui_date.getFullYear());

Date.getDate
Disponibilit

Flash Player 5.
Usage ma_date.getDate() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le jour du mois (un entier compris entre 1 et 31) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getDay()
Disponibilit

Flash Player 5.

Date.getDay()

355

Usage ma_date.getDay() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, et ainsi de suite) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getFullYear
Disponibilit

Flash Player 5.
Usage ma_date.getFullYear() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie lanne complte (un nombre quatre chiffres, tel que 2002) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.
Exemple

Lexemple suivant utilise le constructeur pour crer un nouvel objet Date et envoie la valeur renvoye par la mthode getFullYear au panneau de sortie :
ma_date = new Date(); trace(ma_date.getFullYear());

Date.getHours()
Disponibilit

Flash Player 5.
Usage ma_date.getHours() Paramtres

Aucun.

356

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Un entier.
Description

Mthode : renvoie lheure (un entier compris entre 0 et 23) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getMilliseconds()
Disponibilit

Flash Player 5.
Usage ma_date.getMilliseconds() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les millisecondes (un entier compris entre 0 et 999) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getMinutes()
Disponibilit

Flash Player 5.
Usage ma_date.getMinutes() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les minutes (un entier compris entre 0 et 59) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getMinutes()

357

Date.getMonth
Disponibilit

Flash Player 5.
Usage ma_date.getMonth() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le mois (0 pour janvier, 1 pour fvrier, et ainsi de suite) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getSeconds
Disponibilit

Flash Player 5.
Usage ma_date.getSeconds() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les secondes (un entier compris entre 0 et 59) de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.getTime()
Disponibilit

Flash Player 5.
Usage ma_date.getTime() Paramtres

Aucun.

358

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Un entier.
Description

Mthode : renvoie le nombre de millisecondes coules depuis le premier janvier 1970 minuit, temps universel, pour lobjet Date spcifi. Utilisez cette mthode pour reprsenter un instant spcifique dans le temps lors dune comparaison entre deux ou plusieurs objets Date.

Date.getTimezoneOffset()
Disponibilit

Flash Player 5.
Usage ma_date.getTimezoneOffset() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie la diffrence, en minutes, entre lheure locale de lordinateur et le temps universel.
Exemple

Lexemple suivant renvoie la diffrence entre lheure dt locale de San Francisco et le temps universel. Lheure dt est prise en compte dans le rsultat renvoy uniquement si la date dfinie dans lobjet Date se produit durant lheure dt.
trace(new Date().getTimezoneOffset()); // 420 est affich dans le panneau de sortie // (7 heures * 60 minutes/heure = 420 minutes) // cet exemple est donn dans le fuseau horaire de la Californie (PDT, GMT0700). // le rsultat peut varier en fonction du lieu et de la date.

Date.getUTCDate()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCDate() Paramtres

Aucun.

Date.getUTCDate()

359

Renvoie

Un entier.
Description

Mthode : renvoie le jour du mois (un entier compris entre 1 et 31) de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCDay()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCDay() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, et ainsi de suite) de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCFullYear()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCFullYear() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie lanne complte (quatre chiffres) de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCHours()
Disponibilit

Flash Player 5.

360

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage ma_date.getUTCHours() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les heures de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCMilliseconds()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCMilliseconds() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les millisecondes de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCMinutes()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCMinutes() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les minutes de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCMinutes()

361

Date.getUTCMonth()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCMonth() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le mois (0 pour janvier, 1 pour fvrier, et ainsi de suite) de lobjet Date spcifi, en fonction du temps universel.

Date.getUTCSeconds()
Disponibilit

Flash Player 5.
Usage ma_date.getUTCSeconds() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie les secondes dans lobjet Date spcifi, en fonction du temps universel.

Date.getYear()
Disponibilit

Flash Player 5.
Usage ma_date.getYear() Paramtres

Aucun.
Renvoie

Un entier.

362

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : renvoie lanne de lobjet Date spcifi, en fonction de lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut. Lanne est lanne complte moins 1900. Par exemple, lan 2000 est reprsent par 100.
Consultez galement Date.getFullYear

Date.setDate()
Disponibilit

Flash Player 5.
Usage ma_date.setDate(date) Paramtres date Renvoie

Un entier compris entre 1 et 31.

Un entier.
Description

Mthode : dfinit le jour du mois pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.setFullYear()
Disponibilit

Flash Player 5.
Usage ma_date.setFullYear(anne [, mois [, date]] ) Paramtres anne mois date Renvoie

Un nombre quatre chiffres spcifiant une anne. Les nombres deux chiffres ne reprsentent pas les annes : par exemple, 99 nest pas lanne 1999, mais lanne 99. Un entier compris entre 0 (janvier) et 11 (dcembre). Ce paramtre est facultatif. Un nombre entre 1 et 31. Ce paramtre est facultatif.

Un entier.

Date.setFullYear()

363

Description

Mthode : dfinit lanne pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Si les paramtres mois et date sont spcifis, ils sont galement dfinis sur lheure locale. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.
Date.getUTCDay()

Lappel de cette mthode ne modifie pas les autres champs de lobjet Date spcifi, mais et Date.getDay() peuvent rapporter une nouvelle valeur si le jour de la semaine change suite lappel de cette mthode.

Date.setHours()
Disponibilit

Flash Player 5.
Usage ma_date.setHours(heure) Paramtres heure Renvoie

Un entier compris entre 0 (minuit) et 23 (23h00).

Un entier.
Description

Mthode : dfinit les heures pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.setMilliseconds()
Disponibilit

Flash Player 5.
Usage ma_date.setMilliseconds(milliseconde) Paramtres milliseconde Renvoie

Un entier compris entre 0 et 999.

Un entier.
Description

Mthode : dfinit les millisecondes pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

364

Chapitre 12 : Dictionnaire ActionScript Prsentation

Date.setMinutes()
Disponibilit

Flash Player 5.
Usage ma_date.setMinutes(minute) Paramtres minute Renvoie

Un entier compris entre 0 et 59.

Un entier.
Description

Mthode : dfinit les minutes pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.setMonth()
Disponibilit

Flash Player 5.
Usage ma_date.setMonth(mois [, date ]) Paramtres mois date Renvoie

Un entier compris entre 0 (janvier) et 11 (dcembre). Un entier compris entre 1 et 31. Ce paramtre est facultatif.

Un entier.
Description

Mthode : dfinit le mois pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.setSeconds()
Disponibilit

Flash Player 5.
Usage ma_date.setSeconds(seconde)

Date.setSeconds()

365

Paramtres seconde Renvoie

Un entier compris entre 0 et 59.

Un entier.
Description

Mthode : dfinit les secondes pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.setTime()
Disponibilit

Flash Player 5.
Usage ma_date.setTime(millisecondes) Paramtres millisecondes Renvoie

Une valeur entire o 0 est le 1er janvier 1970 0h00 GMT.

Un entier.
Description

Mthode : dfinit la date pour lobjet Date spcifi en millisecondes depuis le 1er janvier 1970 minuit et renvoie les nouvelles informations horaires, en millisecondes.

Date.setUTCDate()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCDate(date) Paramtres date Renvoie

Un entier compris entre 1 et 31.

Un entier.
Description

Mthode : dfinit la date pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes. Lappel de cette mthode ne modifie pas les autres champs de lobjet Date spcifi, mais Date.getUTCDay() et Date.getDay() peuvent rapporter une nouvelle valeur si le jour de la semaine change suite lappel de cette mthode.

366

Chapitre 12 : Dictionnaire ActionScript Prsentation

Date.setUTCFullYear()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCFullYear(anne [, mois [, date]] ) Paramtres anne mois date Renvoie

Lanne spcifie laide dun nombre quatre chiffres, tel que 2000. Un entier compris entre 0 (janvier) et 11 (dcembre). Ce paramtre est facultatif. Un entier compris entre 1 et 31. Ce paramtre est facultatif.

Un entier.
Description

Mthode : dfinit lanne pour lobjet Date spcifi (ma_date), en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. En option, cette mthode peut galement dfinir le mois et la date reprsents par lobjet Date spcifi. Lappel de cette mthode ne modifie pas les autres champs de lobjet Date spcifi, mais Date.getUTCDay() et Date.getDay() peuvent rapporter une nouvelle valeur si le jour de la semaine change suite lappel de cette mthode.

Date.setUTCHours()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCHours(heure [, minute [, seconde [, milliseconde]]]) Paramtres heure minute seconde

Un entier compris entre 0 (minuit) et 23 (23h00). Un entier compris entre 0 et 59. Ce paramtre est facultatif. Un entier compris entre 0 et 59. Ce paramtre est facultatif. Un entier compris entre 0 et 999. Ce paramtre est facultatif.

milliseconde Renvoie

Un entier.
Description

Mthode : dfinit lheure pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes.

Date.setUTCHours()

367

Date.setUTCMilliseconds()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCMilliseconds(milliseconde) Paramtres milliseconde Renvoie

Un entier compris entre 0 et 999.

Un entier.
Description

Mthode : dfinit les millisecondes pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes.

Date.setUTCMinutes()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCMinutes(minute [, seconde [, milliseconde]]) Paramtres minute seconde

Un entier compris entre 0 et 59. Un entier compris entre 0 et 59. Ce paramtre est facultatif. Un entier compris entre 0 et 999. Ce paramtre est facultatif.

milliseconde Renvoie

Un entier.
Description

Mthode : dfinit la minute pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes.

Date.setUTCMonth()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCMonth(mois [, date ]) Paramtres mois

Un entier compris entre 0 (janvier) et 11 (dcembre).

368

Chapitre 12 : Dictionnaire ActionScript Prsentation

date Renvoie

Un entier compris entre 1 et 31. Ce paramtre est facultatif.

Un entier.
Description

Mthode : dfinit le mois et, ventuellement, le jour (date) pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes. Lappel de cette mthode ne modifie pas les autres champs de lobjet Date spcifi, mais Date.getUTCDay() et Date.getDay() peuvent rapporter une nouvelle valeur si le jour de la semaine change suite la spcification dune valeur pour le paramtre date.

Date.setUTCSeconds()
Disponibilit

Flash Player 5.
Usage ma_date.setUTCSeconds(seconde [, milliseconde])) Paramtres seconde

Un entier compris entre 0 et 59. Un entier compris entre 0 et 999. Ce paramtre est facultatif.

milliseconde Renvoie

Un entier.
Description

Mthode : dfinit les secondes pour lobjet Date spcifi, en fonction du temps universel et renvoie les nouvelles informations, en millisecondes.

Date.setYear()
Disponibilit

Flash Player 5.
Usage ma_date.setYear(anne) Paramtres anne anne. Renvoie

Si anne est un entier compris entre 0 et 99, setYear dfinit lanne comme 1900 + Sinon, lanne est la valeur du paramtre anne.

Un entier.

Date.setYear()

369

Description

Mthode : dfinit lanne pour lobjet Date spcifi, en fonction de lheure locale et renvoie les nouvelles informations, en millisecondes. Lheure locale est dtermine par le systme dexploitation sur lequel Flash Player est excut.

Date.toString()
Disponibilit

Flash Player 5.
Usage ma_date.toString() Paramtres

Aucun.
Renvoie

Une chane.
Description

Mthode : renvoie une valeur chane pour lobjet Date spcifi dans un format lisible et renvoie les nouvelles informations, en millisecondes.
Exemple

Lexemple suivant renvoie les informations de lobjet Date anneDeNaissance_date sous forme de chane.
var anneDeNaissance_date = new Date(74, 7, 12, 18, 15); trace (anneDeNaissance_date.toString());

Rsultat (pour lheure standard du Pacifique) :


Mois aot 12 18:15:00 GMT-0700 1974

Date.UTC()
Disponibilit

Flash Player 5.
Usage Date.UTC(anne, mois [, date [, heure [, minute [, seconde [, milliseconde ]]]]]) Paramtres anne mois date heure minute

Un nombre quatre chiffres, tel que 2000. Un entier compris entre 0 (janvier) et 11 (dcembre). Un entier compris entre 1 et 31. Ce paramtre est facultatif. Un entier compris entre 0 (minuit) et 23 (23h00). Un entier compris entre 0 et 59. Ce paramtre est facultatif.

370

Chapitre 12 : Dictionnaire ActionScript Prsentation

seconde

Un entier compris entre 0 et 59. Ce paramtre est facultatif. Un entier compris entre 0 et 999. Ce paramtre est facultatif.

milliseconde Renvoie

Un entier.
Description

Mthode : renvoie le nombre de millisecondes coules entre le premier janvier 1970 minuit, temps universel, et la date spcifie dans les paramtres. Ceci est une mthode statique invoque avec le constructeur dobjet Date et non avec un objet Date spcifique. Cette mthode vous permet de crer un objet Date qui adopte le temps universel, alors que le constructeur Date adopte lheure locale.
Exemple

Lexemple suivant cre un nouvel objet Date annivGary_date, dfini en fonction du temps universel. Il sagit de la variante en temps universel de lexemple utilis pour la mthode constructeur new Date.
annivGary_date = new Date(Date.UTC(1974, 7, 12));

default
Disponibilit

Flash Player 6.
Usage default: instructions Paramtres instructions Renvoie

Toute instruction.

Rien.
Description

Instruction : dfinit la casse par dfaut pour une action switch. Les instructions sont excutes si le paramtre Expression de laction switch nest pas gal (avec galit stricte) lun des paramtres Expression qui suit les mots-cls case pour une action switch donne. Une action switch nest pas ncessaire pour avoir une hauteur de casse par dfaut (default). Une hauteur de casse par dfaut (default) na pas besoin dtre la dernire dans la liste. Lutilisation dune action default en dehors dune action switch est une erreur, et la compilation du script choue.
Exemple

Dans lexemple suivant, lexpression A nest pas gale aux expressions B ou D. Linstruction qui suit le mot-cl default est donc excute et laction trace() est envoye au panneau de sortie.
switch ( A ) { case B: C;

default

371

break case D: E; break default trace ("aucune casse spcifique"); } Consultez galement switch, case, break

delete
Disponibilit

Flash Player 5.
Usage delete rfrence Paramtres rfrence Renvoie

Le nom de la variable ou de lobjet liminer.

Une valeur boolenne.


Description

Oprateur : dtruit lobjet ou la variable spcifi par le paramtre rfrence et renvoie true si lobjet a t supprim avec succs : sinon, renvoie false. Cet oprateur est utile pour librer de la mmoire utilise par des scripts. Quoique delete soit un oprateur, il est gnralement utilis comme instruction, comme dans lexemple suivant :
delete x;

Loprateur delete peut chouer et renvoyer false si le paramtre rfrence nexiste pas ou ne peut pas tre effac. Les objets et proprits prdfinis, et les variables dclares avec var, ne peuvent pas tre supprims. Vous ne pouvez pas utiliser loprateur delete pour retirer des clips.
Exemple

Usage 1 : Lexemple suivant cre un objet, lutilise et le supprime une fois quil nest plus ncessaire.
compte = new Object(); compte.nom = Jon; compte.solde = 10000; delete compte;

Usage 2 : Lexemple suivant supprime une proprit dun objet.


// crer lobjet "compte" compte = new Object(); // affecter le nom de proprit au compte compte.nom = Jon; // supprimer la proprit delete compte.nom;

372

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage 3 : Lexemple suivant illustre une autre faon de supprimer une proprit dobjet.
// crer un objet Array de longueur 0 mon_array = new Array(); // ajouter un lment au tableau. // Array.length est maintenant 1 mon_array[0] = "abc"; // ajouter un autre lment au tableau. // Array.length est maintenant 2 mon_array[1] = "def"; // ajouter un autre lment au tableau. // Tableau.length est maintenant 3 mon_array[1] = "ghi"; // mon_array[2] est supprim, mais Array.length nest pas chang delete monTableau[2]; trace(mon_array.length);

Usage 4 : Lexemple suivant illustre le comportement de delete sur les rfrences dobjets.
// crer un objet et affecter la variable ref1 // pour faire rfrence lobjet ref1 = new Object(); ref1.nom = "Jody"; // copier la variable de rfrence dans une nouvelle variable // et supprimer ref1 ref2 = ref1; delete ref1;

Si ref1 navait pas t copi dans ref2, lobjet aurait t supprim la suppression de ref1, car il ny aurait plus eu de rfrence lobjet. Si vous supprimiez ref2, il ny aurait plus de rfrence lobjet, qui serait dtruit et la mmoire quil utilisait serait nouveau disponible.
Consultez galement var

do while
Disponibilit

Flash Player 4.
Usage do { instruction(s) } while (condition) Paramtres condition

La condition valuer. La ou les instructions excuter tant que le paramtre condition est valu

instruction(s) comme true. Renvoie

Rien.
Description

Instruction : excute les instructions, puis value la condition dans une boucle, tant que la condition est true.

do while

373

Consultez galement break, continue

duplicateMovieClip()
Disponibilit

Flash Player 4.
Usage duplicateMovieClip(cible, nouveauNom, profondeur) Paramtres cible

Le chemin cible de lanimation dupliquer. Un identifiant unique pour le clip dupliqu.

nouveauNom profondeur

Un niveau de profondeur unique pour le clip dupliqu. Le niveau de profondeur est un ordre dempilement des clips dupliqus. Cet ordre dempilement est similaire lordre dempilement des calques dans le scnario, les clips de niveau de profondeur plus faible tant masqus sous des clips dordre dempilement plus lev. Vous devez affecter chaque clip dupliqu un niveau de profondeur unique pour lempcher de remplacer des fichiers SWF sur des profondeurs occupes.

Renvoie

Une rfrence au clip dupliqu.


Description

Fonction : cre une occurrence de clip pendant la lecture du fichier SWF. Dans les clips dupliqus, la tte de lecture commence toujours limage 1, quel que soit lendroit o se trouve la tte de lecture dans le clip original (ou :parent :). Les variables du clip parent ne sont pas copies dans le clip dupliqu. Si le clip parent est effac, le clip dupliqu lest galement. Utilisez laction ou la mthode removeMovieClip() pour supprimer une occurrence de clip cre avec duplicateMovieClip().
Consultez galement MovieClip.duplicateMovieClip, removeMovieClip(), MovieClip.removeMovieClip()

dynamic
Disponibilit

Flash Player 6.
Usage dynamic class nomDeLaClasse [ extends superClasse ] [ implements nomDinterface [, nomDinterface... ] ] { // dfinition de la classe ici }

374

Chapitre 12 : Dictionnaire ActionScript Prsentation

Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Description

Mot-cl : dfinit que les objets bass sur la classe spcifie peuvent ajouter des proprits dynamiques et y accder au moment de lexcution. La vrification du type sur les classes dynamiques est moins stricte que sur les classes non dynamiques, car les membres auxquels vous accdez dans la dfinition et les occurrences de classe ne sont pas compars ceux dfinis dans le domaine des classes. Il est toutefois toujours possible de vrifier le type de retour et les types de paramtres de ces fonctions de membre de classe. Ce comportement savre particulirement utile pour la manipulation des objets MovieClip, car il existe plusieurs faons dajouter de manire dynamique des proprits et des objets un clip, par exemple MovieClip.createEmptyMovieClip() et MovieClip.createTextField(). Les sous-classes de classes dynamiques sont galement dynamiques. Pour plus dinformations, consultez Cration de classes dynamiques, page 180.
Exemple

Dans lexemple suivant, la classe B a t marque comme dynamique ; ainsi, lappel dune fonction non dclare ne gnrera pas derreur au moment de la compilation.
// dans B.as dynamic class B extends class_A { function B() { /*il sagit du constructeur*/ } function m():Number {renvoie 25;} function o(s:String):Void {trace(s);} } // dans C.as class C extends class_A { function C() { /*il sagit du constructeur*/ } function m():Number {renvoie 25;} function o(s:String):Void {trace(s);} } // dans un autre script var var1 = B.n(); // pas derreur var var2 = C.n() // erreur puisquil nexiste pas de fonction n dans C.as Consultez galement classe, extends

else
Disponibilit

Flash Player 4.
Usage if (condition){

else

375

instruction(s); } else (condition){ instruction(s); } Paramtres condition

Une expression value en tant que true ou false.

instruction(s) Une srie alternative dinstructions excuter si la condition spcifie dans linstruction if est false. Renvoie

Rien.
Description

Instruction : spcifie les instructions excuter si la condition de linstruction if renvoie false.


Consultez galement

else if
Disponibilit

Flash Player 4.
Usage if (condition){ instruction(s); } else if (condition){ instruction(s); } Paramtres condition

Une expression value en tant que true ou false.

instruction(s) Une srie alternative dinstructions excuter si la condition spcifie dans linstruction if est false. Renvoie

Rien.
Description

Instruction : value une condition et spcifie les instructions excuter si la condition de linstruction if initiale renvoie false. Si la condition else if renvoie true, linterprte de Flash excute les instructions suivant la condition entre accolades ({}). Si la condition else if est false, Flash ignore les instructions entre accolades et excute les instructions suivant les accolades. Utilisez laction else if pour crer une logique de branchement dans vos scripts.
Exemple

Lexemple suivant utilise des actions else if pour vrifier si chaque ct dun objet se trouve lintrieur dune limite spcifique :

376

Chapitre 12 : Dictionnaire ActionScript Prsentation

// si lobjet sort des limites, // le renvoyer et inverser sa vitesse de dplacement if (this._x>limiteDroite) { this._x = limiteDroite; xInc = -xInc; } else if (this._x<limiteGauche) { this._x = limiteGauche; xInc = -xInc; } else if (this._y>limiteInf) { this._y = limiteInf; yInc = -yInc; } else if (this._y<limiteSup) { this._y = limiteSup; yInc = -yInc; } Consultez galement

#endinitclip
Disponibilit

Flash Player 6.
Usage #endinitclip Paramtres

Aucun.
Renvoie

Rien.
Description

Directive du compilateur : indique la fin dun bloc dactions dinitialisation de composant.


Exemple #initclip ...les actions dinitialisation de composant sont places ici... #endinitclip Consultez galement #initclip

eq (gal spcifique la chane)


Disponibilit

Flash Player 4. Cet oprateur est dconseill dans Flash 5 et remplac par loprateur == (galit).
Usage expression1 eq expression2

eq (gal spcifique la chane)

377

Paramtres expression1, expression2 Renvoie

Nombres, chanes ou variables.

Rien.
Description

Oprateur de comparaison : compare lgalit de deux expressions et renvoie true si la reprsentation chane de expression1 est gale la reprsentation chane de expression2 : sinon, lopration renvoie false.
Consultez galement == (galit)

Classe Error
Disponibilit

Flash Player 7.
Description

Contient les informations concernant une erreur qui sest produite dans un script. Vous crez une objet Error laide de la fonction constructeur Error. Gnralement, vous mettez un nouvel objet Error partir dun bloc de code try qui est ensuite saisi par un bloc de code catch ou finally. Vous pouvez galement crer une sous-classe de la classe Error et mettre des occurrences de cette sous-classe. Mthode de la classe Error
Mthode
Error.toString()

Description Renvoie la reprsentation chane dun objet Error.

Proprits de la classe Error


Proprit
Error.message Error.name

Description Une chane qui contient un message derreur associ une erreur. Une chane qui contient le nom de lobjet Error.

Constructeur de la classe Erreur


Disponibilit

Flash Player 7.
Usage new Error([message])

378

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres message Renvoie

Une chane associe lobjet Error ; ce paramtre est facultatif.

Rien.
Description

Constructeur : cre un nouvel objet Error. Si le message est spcifi, sa valeur est affecte la proprit Error.message de lobjet.
Exemple

Dans lexemple suivant, une fonction met une erreur (avec un message spcifi) si les deux chanes auxquelles elle est transmise ne sont pas identiques.
function compareStrings(string_1, string_2) { if(string_1 != string_2) { throw new Error("Les chanes ne correspondent pas."); } } try compareStrings("Chien","chien"); } catch (e) { trace(e.toString()); } Consultez galement throw, try..catch..finally

Error.message
Disponibilit

Flash Player 7.
Usage monErreur.message Description

Proprit : contient le message associ lobjet Erreur. Par dfaut, la valeur de la proprit est "Error". Vous pouvez spcifier une proprit message quand vous crez un nouvel objet Error en transmettant la chane derreur la fonction du constructeur Error.
Consultez galement throw, try..catch..finally

Error.name
Disponibilit

Flash Player 7.
Usage monErreur.name

Error.name

379

Description

Proprit : contient le nom de lobjet Error. Par dfaut, la valeur de la proprit est "Error".
Consultez galement throw, try..catch..finally

Error.toString()
Disponibilit

Flash Player 7.
Usage mon_err.toString() Renvoie

Une chane.
Description

Mthode : renvoie la chane "Erreur" par dfaut ou la valeur contenue dans Error.message, si dfini.
Consultez galement Error.message, throw, try..catch..finally

escape
Disponibilit

Flash Player 5.
Usage escape(expression) Paramtres

expression Lexpression convertir en chane et coder dans un format de code URL.


Renvoie

Rien.
Description

Fonction : convertit le paramtre en une chane et lencode dans un format dURL encode o tous les caractres non-alphanumriques sont chapps avec des squences % hexadcimales.
Exemple

Lexcution du code suivant donne le rsultat Bonjour%7B%5BMonde%5D%7D.


escape("Bonjour{[Monde]}"); Consultez galement unescape

380

Chapitre 12 : Dictionnaire ActionScript Prsentation

eval()
Disponibilit

Flash Player 5 et versions suivantes pour une pleine utilisation de la fonctionnalit. Vous pouvez utiliser la fonction eval() lors de lexportation vers Flash Player 4, mais devez utiliser une notation barre oblique et ne pouvez accder quaux variables, pas aux proprits ni aux objets.
Usage eval(expression); Paramtres expression Une chane contenant le nom dune variable, dune proprit, dun objet ou dun clip rcuprer. Renvoie

Une valeur, une rfrence un objet ou un clip, ou undefined.


Description

Fonction : accde aux variables, proprits, objets ou clips par nom. Si expression est une variable ou une proprit, la valeur de la variable ou de la proprit est renvoye. Si expression est un objet ou un clip, une rfrence lobjet ou au clip est renvoye. Si llment nomm dans expression est introuvable, undefined est renvoy. Dans Flash 4, la fonction eval() tait utilise pour simuler des tableaux ; dans Flash 5 et les versions suivantes, il est recommand dutiliser la classe pour simuler des tableaux. Dans Flash 4, vous pouvez galement utiliser la fonction eval() pour dfinir et rcuprer dynamiquement la valeur dune variable ou dun nom doccurrence. Cependant, vous pouvez galement obtenir le mme rsultat avec loprateur daccs tableau ([]). Dans Flash 5 et les versions suivantes, vous ne pouvez pas utiliser la fonction eval() pour dfinir et rcuprer dynamiquement la valeur dune variable ou dun nom doccurrence car vous ne pouvez pas utiliser la fonction eval() dans la partie gauche dune quation. Par exemple, remplacez le code suivant :
eval ("var" + i) = "premier";

par celui-ci :
this["var"+i] = "premier"

ou :
set ("var" + i, "premier"); Exemple

Lexemple suivant utilise la fonction eval() pour dterminer la valeur de lexpression "morceau" + x. Le rsultat tant un nom de variable, morceau3, eval() renvoie la valeur de la variable et laffecte y :
morceau3 = "dangereux"; x = 3; y = eval("morceau" + x); trace(y);

eval()

381

// Rsultat : dangereux Consultez galement

Classe Array

extends
Disponibilit

Flash Player 6.
Usage class nomDeLaClasse extends autreNomDeClasse {} interface nomDinterface extends autreNomDinterface {} Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres nomDeLaClasse

Le nom de la classe que vous dfinissez. Le nom de la classe sur laquelle nomDeLaClasse est bas. Le nom de linterface sur laquelle nomDinterface est bas. Le nom de linterface que vous dfinissez.

autreNomDeClasse nomDinterface

autreNomDinterface Description

Mot-cl : dfinit une classe ou une interface qui est une sous-classe dune autre classe ou interface ; la dernire est une superclasse. La sous-classe hrite de toutes les mthodes, proprits, fonctions, etc., qui sont dfinies dans la super-classe. Pour plus dinformations, consultez Cration de sous-classes, page 169.
Exemple

Dans la classe B, telle que dfinie ci-dessous, un appel au constructeur de la classe A sera automatiquement insr comme premire instruction de la fonction du constructeur de B, puisque aucun appel nexiste cet endroit. (Cest--dire quil est comment dans lexemple.)
class B extends class A { function B() { // il sagit du constructeur // super(); // facultatif; insr durant la compilation si omis } function m():Number {renvoie 25;} function o(s:String):Void {trace(s);} } Consultez galement classe, implements, interface

382

Chapitre 12 : Dictionnaire ActionScript Prsentation

false
Disponibilit

Flash Player 5.
Usage false Description

Constante : Une valeur boolenne unique reprsentant loppos de true.


Consultez galement true

_focusrect
Disponibilit

Flash Player 4.
Usage _focusrect = boolen; Description

Proprit (globale) : spcifie si un rectangle jaune apparat autour du bouton ou du clip avec focus clavier. La valeur par dfaut, true, affiche un rectangle jaune autour du bouton ou du clip avec focus, mesure que lutilisateur appuie sur la touche de tabulation pour parcourir les objets du fichier SWF. Spcifiez false si vous ne voulez pas afficher le rectangle jaune. Il sagit dune proprit globale qui peut tre annule dans des cas spcifiques.
Consultez galement Button._focusrect, MovieClip._focusrect

for
Disponibilit

Flash Player 5.
Usage for(init; condition; suivant) { instruction(s); } Paramtres init Une expression valuer avant de commencer la squence de boucle, gnralement une expression daffectation. Une instruction var est galement autorise pour ce paramtre. condition Une expression value en tant que true ou false. La condition est value avant chaque itration de boucle : la boucle sort lorsque la condition est value comme false.

for

383

next

Une expression valuer aprs chaque itration de boucle ; gnralement une expression daffectation utilisant les oprateurs ++ (incrmentation) ou -- (dcrmentation). Une instruction ou des instructions excuter lintrieur du corps de la

instruction(s)

boucle.
Description

Instruction : une construction de boucle qui value lexpression init (initialiser) une fois, puis commence une squence de boucle par laquelle, tant que condition est value comme true, instruction est excute et lexpression suivante value. Certaines proprits ne peuvent pas tre numres par les actions for ou for..in. Par exemple, les mthodes intgres de la classe Array (comme Array.sort et Array.reverse()) ne sont pas comprises dans lnumration dun objet Array, et les proprits du clip, comme _x et _y, ne sont pas numres. Dans des fichiers de classe externes, les membres doccurrence ne peuvent pas tre numrs : seuls les membres dynamiques et statiques peuvent tre numrs.
Exemple

Lexemple suivant utilise for pour additionner les lments dun tableau :
mon_array=new Array(); for(i=0; i<10; i++) { mon_array [i] = (i + 5)*10; trace(mon_array[i]); }

Les rsultats suivants sont affichs dans le panneau de sortie :


50 60 70 80 90 100 110 120 130 140

Lexemple suivant utilise for pour effectuer la mme action de faon rpte. Dans le code cidessous, la boucle for additionne les nombres de 1 100 :
var somme = 0; for (var i=1; i<=100; i++) { somme = somme + i; } Consultez galement ++ (incrmentation), (dcrmentation), for..in, var

for..in
Disponibilit

Flash Player 5.

384

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage for(itrantDeVariable in objet){ instruction(s); } Paramtres itrantDeVariable Le nom dune variable qui joue le rle ditrant, rfrenant chaque proprit dun objet ou chaque lment dun tableau. objet

Le nom dun objet rpter. Une instruction excuter pour chaque itration.

instruction(s) Renvoie

Rien.
Description

Instruction : effectue une boucle sur les proprits dun objet ou sur les lments dun tableau et excute linstruction pour chaque proprit dun objet. Certaines proprits ne peuvent pas tre numres par les actions for ou for..in. Par exemple, les mthodes intgres de la classe Array (comme Array.sort et Array.reverse()) ne sont pas comprises dans lnumration dun objet Array, et les proprits du clip, comme _x et _y, ne sont pas numres. Dans des fichiers de classe externes, les membres doccurrence ne peuvent pas tre numrs : seuls les membres dynamiques et statiques peuvent tre numrs. La construction for..in itre sur les proprits des objets dans la chane prototype de lobjet itr. Si le prototype de lenfant est parent, litration sur les proprits de lenfant avec for..in itrera galement sur les proprits de parent. Laction for..in numre tous les objets de la chane prototype dun objet. Les proprits de lobjet sont numres en premier, puis les proprits de son prototype immdiat, puis les proprits du prototype du prototype, et ainsi de suite. Laction for..in nnumre pas deux fois le mme nom de proprit. Si lobjet child a le prototype parent et que tous deux contiennent la proprit prop, laction for..in appele pour child numre prop de child mais ignore celle de parent.
Exemple

Lexemple suivant utilise for..in pour itrer sur les proprits dun objet :
monObjet = { nom:Tara, age:27, ville:San Francisco }; for (nom dans monObjet) { trace ("monObjet." + nom + " = " + monObjet[nom]); }

Le rsultat de cet exemple est le suivant :


monObjet.nom = Tara monObjet.age = 27 monObjet.ville = San Francisco

Lexemple suivant utilise loprateur typeof avec for..in pour itrer sur un enfant particulier :
for (nom dans mon_mc) { if (typeof (mon_mc[nom]) = "clip") { trace ("Jai un clip appel " + nom);

for..in

385

} }

Lexemple suivant numre les enfants dun clip et envoie chacun dans limage 2 de leurs scnarios respectifs. Le clip GroupeDeBoutonsRadio est un parent de plusieurs enfants, _BoutonRadioRouge_, _BoutonRadioVert_ et _BoutonRadioBleu.
for (nom de variable dans GroupeDeBoutonsRadio) { GroupeDeBoutonsRadio[nom].gotoAndStop(2); }

fscommand()
Disponibilit

Flash Player 3.
Usage fscommand("commande", "paramtres") Paramtres commande

Une chane transmise lapplication hte pour toute utilisation ou une commande transmise Flash Player.

paramtres

Une chane transmise lapplication hte pour toute utilisation ou une valeur transmise Flash Player.

Renvoie

Rien.
Description

Fonction : permet au fichier SWF de communiquer avec Flash Player ou avec le programme qui hberge Flash Player, tel quun navigateur web. Vous pouvez galement utiliser laction fscommand pour transmettre des messages Macromedia Director, ou Visual Basic, Visual C++ et tout autre programme capable dhberger les contrles ActiveX. Usage 1 : Pour envoyer un message Flash Player, vous devez utiliser des commandes et paramtres prdfinis. Le tableau suivant indique les valeurs que vous pouvez spcifier pour les paramtres commande et paramtres de laction fscommand pour contrler un fichier SWF lu dans Flash Player autonome (y compris les projections) :
Commande
quitter fullscreen

Paramtres
Aucun true ou false

Objectif Ferme la projection. La spcification de true dfinit Flash Player en mode plein cran. La spcification de false renvoie le lecteur en affichage normal du menu. La spcification de false dfinit le lecteur de sorte que le fichier SWF soit toujours affich dans sa taille originale et que son chelle ne soit jamais modifie. La spcification de true oblige le fichier SWF adopter lchelle 100 % du lecteur.

allowscale

true ou false

386

Chapitre 12 : Dictionnaire ActionScript Prsentation

Commande
showmenu

Paramtres
true ou false

Objectif La spcification de true active le jeu complet des lments de menu contextuel. La spcification de false masque tous les lments de menu contextuel, lexception de A propos de Flash Player. Excute une application depuis la projection. La spcification de true envoie tous les lments de touche, y compris les raccourcis, au gestionnaire onClipEvent(keyDown/ keyUp) de Flash Player.

exec trapallkeys

Chemin de lapplication true ou false

La commande exec ne peut contenir que les caractres AZ, az, 09, point (.) et trait de soulignement (_). La commande exec nest excute que dans le sous-rpertoire fscommand. En dautres termes, si vous utilisez la commande fscommand exec pour appeler une application, cette dernire doit rsider dans un sous-dosser nomm fscommand. Usage 2 : Pour utiliser laction fscommand pour envoyer un message un langage de programmation tel que JavaScript dans un navigateur web, vous pouvez transmettre deux paramtres quelconques dans les paramtres commande et paramtres. Ces paramtres peuvent tre des chanes ou des expressions et sont utiliss dans une fonction JavaScript qui traite laction fscommand. Dans un navigateur web, laction fscommand appelle la fonction JavaScript dans la page HTML contenant le fichier SWF. moviename est le nom de Flash Player, tel quaffect par lattribut NAME de la balise EMBED ou la proprit ID de la balise OBJECT. Si vous affectez le nom monDocument Flash Player, la fonction JavaScript appele est monDocument_DoFScommand.
nomanimation_DoFScommand

Usage 3 : Laction fscommand peut envoyer des messages Macromedia Director qui sont interprts par Lingo comme des chanes, des vnements ou un code excutable Lingo. Si le message est une chane ou un vnement, vous devez rdiger le code Lingo pour le recevoir depuis laction fscommand et entraner une action dans Director. Pour plus dinformations, consultez le centre de support de Director Support Center ladresse www.macromedia.com/support/director. Usage 4 : En Visual Basic, Visual C++, et dans dautres programmes pouvant hberger les contrles ActiveX, fscommand envoie un vnement VB avec deux chanes qui peut tre trait dans lenvironnement du langage de programmation. Pour plus dinformations, utilisez les motscls mthode Flash pour effectuer une recherche sur le centre de support de Flash ladresse www.macromedia.com/support/flash.
Exemple

Usage 1 : Dans lexemple suivant, laction fscommand dfinit Flash Player de sorte que lanimation soit affiche en mode plein cran lorsque le bouton est relch.
on(release) { fscommand("fullscreen", true); }

Usage 2 : Lexemple suivant utilise laction fscommand applique un bouton dans Flash pour ouvrir une bote de message JavaScript dans une page HTML. Le message mme est envoy JavaScript en tant que paramtre de fscommand.

fscommand()

387

Vous devez ajouter une fonction la page HTML contenant le fichier SWF. Cette fonction, monDocument_DoFSCommand, rside dans la page HTML et attend une action fscommand dans Flash. Lorsquune action fscommand est dclenche dans Flash (par exemple, lorsquun utilisateur clique sur le bouton), les chanes commande et paramtres sont transmises la fonction monDocument_DoFSCommand. Vous pouvez utiliser les chanes transmises dans votre code JavaScript ou VBScript comme vous lentendez. Dans cet exemple, la fonction contient une instruction conditionnelle if qui vrifie si la chane de commande est "fentreMessage". Le cas chant, une fentre dalerte JavaScript souvre et affiche le contenu de la chane paramtres.
function monDocument_DoFSCommand(commande, args) { if (commande == "fentreMessage") { alert(args); } }

Dans le document Flash, ajoutez laction fscommand un bouton :


fscommand("boteDeMessage", "Ceci est une bote appele depuis Flash.")

Vous pouvez galement utiliser des expressions pour laction et les paramtres fscommand, comme dans lexemple suivant :
fscommand("boteDeMessage", "Bonjour, " + nom + ", bienvenue sur notre site web!")

Pour tester lanimation, choisissez Fichier >Aperu avant publication > HTML.
Remarque : Si vous publiez votre fichier SWF avec le modle Flash et FSCommand dans les paramtres de publication HTML, la fonction monDocument_DoFSCommand est automatiquement insre. Les attributs NAME et ID du fichier SWF seront le nom du fichier. Par exemple, pour le fichier monDocument.fla, les attributs seront dfinis sur monDocument.

function
Disponibilit

Flash Player 5.
Usage function nomDeFonction ([paramtre0, paramtre1,...paramtreN]){ instruction(s) } function ([paramtre0, paramtre1,...paramtreN]){ instruction(s) } Paramtres nomDeFonction

Le nom de la nouvelle fonction.

paramtre Un identifiant reprsentant un paramtre transmettre la fonction. Ces paramtres sont facultatifs. instruction(s) fonction. Renvoie

Toute instruction ActionScript que vous avez dfinie pour le corps de la

Rien.

388

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Instruction : un jeu dinstructions que vous dfinissez pour effectuer une certaine tche. Vous pouvez dclarer, ou dfinir, une fonction un emplacement et lappeler, ou linvoquer, depuis diffrents scripts dans un fichier SWF. Lorsque vous dfinissez une fonction, vous pouvez galement spcifier ses paramtres. Les paramtres sont des supports pour les valeurs sur lesquelles la fonction opre. Vous pouvez transmettre diffrents paramtres une fonction chaque fois que vous lappelez. Ceci vous permet de rutiliser une fonction dans de nombreuses situations diffrentes. Utilisez laction return dans les instruction(s) dune fonction pour obliger une fonction renvoyer, ou gnrer, une valeur. Usage 1 : Dclare une function avec les nomDeFonction, paramtres et instruction(s) spcifis. Lorsquune fonction est appele, la dclaration de la fonction est invoque. La rfrence en aval est autorise : au sein dune mme liste dactions, une fonction peut tre dclare aprs avoir t appele. Une dclaration de fonction remplace toute dclaration prcdente de cette mme fonction. Vous pouvez utiliser cette syntaxe partout o une instruction est autorise. Usage 2 : Cre une fonction anonyme et la renvoie. Cette syntaxe est utilise dans les expressions et est particulirement utile pour installer des mthodes dans des objets.
Exemple

Usage 1 : Lexemple suivant dfinit la fonction sqr, qui accepte un argument et renvoie la valeur square(x*x) du paramtre. Si la fonction est dclare et utilise dans le mme script, la dclaration de la fonction doit apparatre aprs lutilisation de la fonction.
y=sqr(3); function sqr(x) { return x*x; }

Usage 2 : La fonction suivante dfinit un objet Cercle :


function Cercle(rayon) { this.rayon = rayon; }

Linstruction suivante dfinit une fonction anonyme qui calcule laire dun cercle et lassocie lobjet Cercle comme mthode :
Cercle.prototype.area = function () {return Math.PI * this.radius * this.radius}

Classe Function
Disponibilit

Flash Player 6. Rsum des mthodes de la classe Function


Mthode
Function.apply() Function.call

Description Active lappel dune fonction par le code ActionScript. Invoque la fonction reprsente par un objet Function.

Classe Function

389

Rsum des proprits de la classe Function


Proprit
Function.prototype

Description Fait rfrence un objet qui est le prototype dune classe.

Function.apply()
Disponibilit

Flash Player 6.
Usage maFonction.apply(cetObjet, objetArguments) Paramtres cetObjet

Lobjet auquel est appliqu maFonction. Un tableau dont les lments sont transmis maFonction en tant que

objetArguments

paramtres.
Renvoie

Toute valeur spcifie par la fonction appele.


Description

Mthode : spcifie la valeur de this comme devant tre utilise avec toute fonction appele par ActionScript. Cette mthode spcifie galement les paramtres transmettre toute fonction appele. La mthode apply() tant une mthode de la classe Function, elle est galement une mthode de chaque objet de fonction dans ActionScript. Les paramtres sont spcifis sous forme dobjet Array. Ceci est souvent utile lorsque le nombre de paramtres transmettre nest pas connu avant lexcution du script.
Exemple

Les invocations de fonction suivantes sont quivalentes :


Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])

Vous pouvez construire un fichier SWF contenant des champs de saisie qui permettent lutilisateur dentrer le nom dune fonction invoquer, ainsi que des paramtres zro ou plus transmettre la fonction. Une pression sur un bouton dappel utiliserait alors la mthode apply pour appeler la fonction spcifiant les paramtres. Dans cet exemple, lutilisateur spcifie le nom dune fonction dans un champ de saisie de texte appel nomDeFonction. Le nombre de paramtres est spcifi dans un champ de saisie de texte appel nombreParamtres. Jusqu 10 paramtres sont spcifis dans des champs de texte appels paramtre1, paramtre2, jusqu paramtre10.
on (release) { callTheFunction(); } ... function callTheFunction() {

390

Chapitre 12 : Dictionnaire ActionScript Prsentation

var var var for

laFonction = eval(nomDeFonction.text); n = Number(nombreParamtres); paramtres = []; (var i = 0; i <n; i++) { paramtres.push(eval("paramtre" + i));

} laFonction.apply(null, paramtres); }

Function.call
Disponibilit

Flash Player 6.
Usage maFonction.call(cetObjet, paramtre1, ..., paramtreN) Paramtres cetObjet paramtre1

Spcifie la valeur de this dans le corps de la fonction. Un paramtre transmettre maFonction. Vous pouvez spcifier zro ou plusieurs

paramtres.
paramtreN Renvoie

Rien.
Description

Mthode : invoque la fonction reprsente par un objet Function. Chaque fonction dans ActionScript est reprsente par un objet Function, toutes les fonctions supportent donc cette mthode. Dans presque tous les cas, loprateur dappel de la fonction (()) peut tre utilis au lieu de cette mthode. Loprateur dappel de la fonction permet de rdiger le code de faon concise et lisible. Cette mthode est surtout utile lorsque le paramtre this de linvocation de fonction doit tre explicitement contrl. Normalement, si une fonction est invoque en tant que mthode dun objet, dans le corps de la fonction, this est dfini sur monObjet, comme dans lexemple suivant :
monObjet.maMthode(1, 2, 3);

Dans certaines situations, vous pourrez vouloir que this dsigne autre chose : par exemple, si une fonction doit tre invoque en tant que mthode dun objet, mais nest pas effectivement stocke comme mthode de cet objet.
monObjet.maMthode.call(monAutreObjet, 1, 2, 3);

Vous pouvez transmettre la valeur null pour le paramtre cetObjet pour invoquer une fonction en tant que fonction ordinaire et pas en tant que mthode dun objet. Par exemple, les invocations de fonction suivantes sont quivalentes :
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)

Function.call

391

Exemple

Cet exemple utilise la mthode Function.call() pour imposer une fonction un comportement identique celui dune mthode dun autre objet, sans stocker la fonction dans lobjet.
function MonObjet() { } function MaMthode(obj) { trace("this == obj? " + (this == obj)); } var obj = new MonObjet(); MaMthode.call(obj, obj);

Laction trace()envoie le code suivant vers le panneau de sortie :


this == obj? true

Function.prototype
Disponibilit

Flash Player 5. Si vous utilisez ActionScript 2.0, vous ne devez pas utiliser cette proprit : elle reprsente limplmentation de lhritage de ActionScript 1.
Usage maFonction.prototype Description

Proprit : dans une fonction constructeur ActionScript 1, la proprit prototype fait rfrence un objet qui est le prototype de la classe construite. Chaque occurrence de la classe, cre par la fonction constructeur, hrite de toutes les proprits et mthodes de lobjet prototype.

ge (suprieur ou gal spcifique aux chanes)


Disponibilit

Flash Player 4. Cet oprateur est dconseill dans Flash 5 et remplac par loprateur >= (suprieur ou gal ).
Usage expression1 ge expression2 Paramtres expression1, expression2 Renvoie

Nombres, chanes ou variables.

Rien.
Description

Oprateur (comparaison) : compare la reprsentation chane de expression1 avec la reprsentation chane de expression2 et renvoie true si expression1 est suprieure ou gale expression2 : sinon, renvoie false.

392

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement >= (suprieur ou gal )

get
Disponibilit

Flash Player 6.
Usage function get property() { // vos instructions } Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres proprit

Le mot que vous souhaitez utiliser pour faire rfrence la proprit laquelle get accde ; cette valeur doit tre identique celle utilise dans la commande set correspondante.

Renvoie

La valeur de la proprit spcifie par nomDeProp.


Description

Mot-cl : permet une obtention implicite des proprits associes aux objets bass sur des classes dfinies dans des fichiers de classe externes. Lutilisation de mthodes dobtention implicites vous permet daccder aux proprits dobjets sans accder directement ces objets. Les mthodes get/set implicites sont des abrviations syntaxiques de la mthode Object.addProperty() dans ActionScript 1. Pour plus dinformations, consultez Mthodes get/set implicites, page 179.
Consultez galement Object.addProperty(), set

getProperty
Disponibilit

Flash Player 4.
Usage getProperty(mon_mc, proprit) Paramtres mon_mc

Le nom doccurrence dun clip dont la proprit est rcupre. La proprit dun clip.

proprit

getProperty

393

Renvoie

La valeur de la proprit spcifie.


Description

Fonction : renvoie la valeur de la proprit spcifie pour le clip mon_mc.


Exemple

Lexemple suivant rcupre la coordonne de laxe horizontal (_x) pour le clip mon_mc et laffecte la variable mon_mc_x :
mon_mc_x = getProperty(_root.mon_mc, _x);

getTimer
Disponibilit

Flash Player 4.
Usage getTimer() Paramtres

Aucun.
Renvoie

Le nombre de millisecondes coules depuis le dmarrage de la lecture du fichier SWF.


Description

Fonction : renvoie le nombre de millisecondes coules depuis le dmarrage de la lecture du fichier SWF.

getURL()
Disponibilit

Flash 2. Les options GET et POST ne sont disponibles que dans Flash Player 4 et les versions ultrieures du lecteur.
Usage getURL(url [, fentre [, "variables"]]) Paramtres url

LURL o se trouve le document obtenir.

fentre

Un paramtre facultatif spcifiant la fentre ou le cadre HTML dans laquelle ou lequel le document doit tre charg. Vous pouvez entrer le nom dune fentre spcifique ou choisir parmi les noms cibles rservs suivants : spcifie limage courante dans la fentre courante. spcifie une nouvelle fentre. _parent spcifie le parent de limage courante.
_self _blank

394

Chapitre 12 : Dictionnaire ActionScript Prsentation

_top

spcifie limage de premier niveau dans la fentre courante.

variables Une mthode GET ou POST pour envoyer des variables. Omettez ce paramtre sil ny a aucune variable. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.
Description

Fonction : charge un document depuis une URL spcifique dans une fentre ou transmet les variables une autre application, une URL dfinie. Pour tester cette action, assurez-vous que le fichier charger se trouve lemplacement spcifi. Pour utiliser une URL absolue (par exemple, http://www.monServeur.fr), il vous faut une connexion de rseau.
Exemple

Cet exemple charge une nouvelle URL dans une fentre de navigateur vide. Laction getURL() cible la variable incomingAd comme paramtre url de sorte que vous pouvez changer lURL charge sans avoir modifier le fichier SWF. La valeur de la variable incomingAd est transmise Flash plus tt dans le fichier SWF avec une action loadVariables().
on(release) { getURL(incomingAd, "_blank"); } Consultez galement loadVariables(), XML.send, XML.sendAndLoad, XMLSocket.send

getVersion
Disponibilit

Flash Player 5.
Usage getVersion() Paramtres

Aucun.
Renvoie

Une chane contenant la version de Flash Player et les informations de plate-forme.


Description

Fonction : renvoie une chane contenant la version de Flash Player et les informations de plateforme. La fonction getVersion renvoie uniquement les informations pour Flash Player 5 ou les versions ultrieures.

getVersion

395

Exemple

Lexemple suivant illustre une chane renvoye par la fonction getVersion.


WIN 5,0,17,0

Ceci indique que la plate-forme est Microsoft Windows et que la version de Flash Player est la version principale 5, avec une version mineure de 17 (5.0r17).
Consultez galement System.capabilities.os, System.capabilities.version

_global object
Disponibilit

Flash Player 6.
Usage _global.identifiant Paramtres

Aucun.
Renvoie

Une rfrence lobjet global contenant les classes ActionScript principales, telles que String, Object, Math et Array.
Description

Identifiant : cre des variables, des objets ou des classes globaux. Par exemple, vous pourriez crer une bibliothque expose comme objet ActionScript global, comme lobjet Math ou Date. A la diffrence des variables et fonctions dclares dans un scnario ou dclares localement, les variables et fonctions globales sont visibles dans chaque scnario et tendue du fichier SWF, condition quelles ne soient pas masques par des identifiants portant le mme nom dans des tendues internes.
Exemple

Lexemple suivant cre une fonction de haut niveau, factorial(), qui est disponible chaque scnario et tendue dun fichier SWF :
_global.factorial = function (n) { if (n <= 1) { return 1; } else { return n * factorial(n-1); } } Consultez galement var, Variable set

396

Chapitre 12 : Dictionnaire ActionScript Prsentation

gotoAndPlay()
Disponibilit

Flash 2.
Usage gotoAndPlay([squence], image) Paramtres squence

Une chane facultative spcifiant le nom de la squence vers laquelle la tte de lecture

est envoye.
image

Un nombre reprsentant le numro de limage ou une chane reprsentant ltiquette de limage vers laquelle la tte de lecture est envoye.

Renvoie

Rien.
Description

Fonction : envoie la tte de lecture vers limage spcifie dune squence et lit partir de cette image. Si aucune squence nest spcifie, la tte de lecture passe limage spcifie de la squence courante.
Exemple

Lorsque lutilisateur clique sur un bouton auquel laction gotoAndPlay() est affecte, la tte de lecture est envoye vers limage 16 et commence la lecture.
on(release) { gotoAndPlay(16); } Consultez galement MovieClip.gotoAndPlay()

gotoAndStop()
Disponibilit

Flash 2.
Usage gotoAndStop([squence], image) Paramtres squence

Une chane facultative spcifiant le nom de la squence vers laquelle la tte de lecture

est envoye.
image

Un nombre reprsentant le numro de limage ou une chane reprsentant ltiquette de limage vers laquelle la tte de lecture est envoye.

Renvoie

Rien.

gotoAndStop()

397

Description

Fonction : envoie la tte de lecture vers limage spcifie dune squence et larrte. Si aucune squence nest spcifie, la tte de lecture passe limage spcifie de la squence courante.
Exemple

Lorsque lutilisateur clique sur un bouton auquel laction gotoAndStop() est affecte, la tte de lecture est envoye vers limage 5 dans la squence actuelle et le fichier SWF arrte la lecture.
on(release) { gotoAndStop(5); } Consultez galement stop()

gt (suprieur spcifique aux chanes)


Disponibilit

Flash Player 4. Cet oprateur est dconseill dans Flash 5 et remplac par le nouvel oprateur >(suprieur ).
Usage expression1 gt expression2 Paramtres expression1, expression2 Description

Nombres, chanes ou variables.

Oprateur (comparaison) : compare la reprsentation chane de expression1 avec la reprsentation chane de expression2 et renvoie true si expression1 est suprieure expression2 : sinon, renvoie false.
Consultez galement >(suprieur )

_highquality
Disponibilit

Flash Player 4 : dconseill et remplac par _quality.


Usage _highquality Description

Proprit dconseille (globale) : spcifie le niveau danti-aliasing appliqu au fichier SWF en cours. Spcifiez 2 (qualit maximum) pour appliquer une qualit leve avec le lissage bitmap toujours actif. Spcifiez 1 (qualit leve) pour appliquer lanti-aliasing ; cela permettra de lisser les bitmaps si le fichier SWF ne contient pas danimation. Spcifiez 0 (faible qualit) pour empcher lanti-aliasing.

398

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple _highquality = 1; Consultez galement _quality, toggleHighQuality()

Disponibilit

Flash Player 4.
Usage if(condition) { instruction(s); } Paramtres condition

Une expression value en tant que true ou false. Les instructions excuter si ou lorsque la condition est value comme true.

instruction(s) Renvoie

Rien.
Description

Fonction : value une condition pour dterminer la prochaine action dans un fichier SWF. Si la condition est true, Flash excute les instructions qui suivent la condition entre accolades ({}). Si la condition est false, Flash ignore les instructions entre accolades et excute les instructions suivant les accolades. Utilisez laction if pour crer une logique de branchement dans vos scripts.
Exemple

Dans lexemple suivant, la condition entre parenthses value la variable nom pour dterminer si elle a la valeur littrale "Erica". Le cas chant, laction play() entre accolades est excute.
if(nom == "Erica"){ play(); }

Lexemple suivant utilise une action if pour valuer le moment auquel un objet dplaable du fichier SWF est relch par lutilisateur. Si lobjet est relch moins de 300 millisecondes aprs avoir t dplac, la condition est value comme true et les instructions entre accolades sont excutes. Ces instructions dfinissent des variables pour stocker le nouvel emplacement de lobjet, la force avec laquelle il a t lanc et la vitesse laquelle il a t lanc. La variable tempsEnfonc est galement rinitialise. Si lobjet est relch plus de 300 millisecondes aprs avoir t dplac, la condition est value comme false et aucune des instructions nest excute.
if (getTimer()<tempsEnfonc+300) { // si la condition est true, // lobjet a t lanc. // quelle est la nouvelle position de lobjet ? xNouvEmpl = this._x; yNouvEmpl = this._y; // avec quelle force a-t-il t lanc ? xDplac = xNouvEmpl-xEmpl;

399

yDplac = yNouvEmpl-yEmpl; // la dfinition de la vitesse de lobjet dpend de // la distance de son dplacement xInc = xDplac/2; yInc = yDplac/2; tempsEnfonc = 0; } Consultez galement else

ifFrameLoaded
Disponibilit

Flash Player 3. Laction ifFrameLoaded est dconseille dans Flash 5 ; Macromedia recommande lutilisation de la proprit MovieClip._framesloaded.
Usage ifFrameLoaded([squence], image) { instruction(s); } Paramtres squence

Une chane facultative spcifiant le nom de la squence devant tre charge.

image Le numro ou ltiquette de limage charger avant lexcution de la prochaine instruction. instruction(s) Les instructions excuter si la squence (ou la squence et limage) spcifie(s) sont charges. Renvoie

Rien.
Description

Action viter : vrifie si le contenu dune image est disponible localement. Utilisez ifFrameLoaded pour commencer la lecture dune animation simple pendant que le reste du fichier SWF est tlcharg sur lordinateur local. La diffrence entre lutilisation de _framesloaded et de ifFrameLoaded est que _framesloaded vous permet dajouter vos propres instructions if ou else.
Consultez galement MovieClip._framesloaded

implements
Disponibilit

Flash Player 6.
Usage maClasse implements interface01 [, interface02, ...]

400

Chapitre 12 : Dictionnaire ActionScript Prsentation

Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Description

Mot-cl : dfinit une classe qui doit fournir des implmentations pour toutes les mthodes dfinies dans linterface (ou les interfaces) implmente(s). Pour plus dinformations, consultez Interfaces comme types de donnes, page 175.
Exemple

Pour plus dinformations, consultez interface.


Consultez galement classe, extends, interface

import
Disponibilit

Flash Player 6.
Usage import nomDeLaClasse import nomPaquet.* Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Cette instruction est prise en charge dans le panneau Actions ainsi que dans les fichiers de classe externes. Paramtres nomDeLaClasse

Le nom pleinement qualifi dune classe dfinie dans un fichier de classe

externe.
nomPaquet Description

Un rpertoire dans lequel vous avez stock des fichiers de classe lis.

Mot-cl : vous permet daccder des classes sans dfinir leurs noms pleinement qualifis. Par exemple, si vous souhaitez utiliser la classe macr.util.users.UserClass.as dans un script, vous devez y faire rfrence laide de son nom pleinement qualifi ou en limportant : si vous limportez, vous pouvez y faire rfrence laide du nom de classe simple :
// avant importation var monUtilisateur:UserClass = new macr.util.users.UserClass(); // aprs importation import macr.util.users.ClasseUtilisateur; var monUtilisateur:ClasseUtilisateur = new ClasseUtilisateur();

Sil existe plusieurs fichiers de classe dans le rpertoire auquel vous souhaitez accder, vous pouvez les importer via une seule instruction :
import macr.util.users.*;

import

401

Vous devez mettre linstruction import avant de tenter daccder la classe importe dans dfinir pleinement son nom. Si vous importez une classe mais que vous ne lutilisez pas ultrieurement dans votre script, la classe nest pas exporte comme partie du fichier SWF. Cela signifie que vous importez des paquets volumineux sans vous soucier de la taille de votre fichier SWF : le code doctet associ une classe nest insr dans un fichier SWF que si cette classe est rellement utilise. Linstruction import sapplique uniquement au script courant (image ou objet) dans lequel elle est appele. Supposons par exemple que vous importiez toutes les classes du paquet macr.util sur limage 1 dun document Flash. Sur cette image, vous pouvez rfrencer les classes par leur simple nom dans ce paquet.
// sur limage 1 dun fichier FLA : import macr.util.*; var monMachin:machin = new machin();

Sur un autre script dimage, vous devrez cependant rfrencer des classes dans ce paquet par leurs noms pleinement qualifis (var myFoo:foo = new macr.util.foo();) ou ajouter une instruction import lautre image qui importe galement les classes dans ce paquet. Pour plus dinformations sur limportation, consultez Importation de classes, page 178 et Utilisation de paquets, page 177.

#include
Disponibilit

Flash Player 4.
Usage #include "[chemin] nomDeFichier.as" Remarque : Ne placez pas de point virgule (;) la fin de la ligne contenant linstruction #include. Paramtres [chemin] nomDeFichier.as Le nom de fichier et le chemin facultatif pour le script ajouter au panneau Actions ; .as est lextension de fichier recommande. Renvoie

Rien.
Description

Directive du compilateur : inclut le contenu du fichier spcifi, comme si les commandes du fichier faisait partie du script dappel lui-mme. La directive #include est invoque lors de la compilation. De plus, si vous modifiez un fichier externe, vous devez lenregistrer et recompiler tous les fichiers FLA qui lutilisent. Si vous utilisez le bouton Vrifier la syntaxe pour un script contenant des instructions #include, la syntaxe du fichier inclus est galement vrifie. Vous pouvez utiliser #include dans les fichiers FLA et les fichiers de script externes, mais pas dans les fichiers de classe ActionScript 2.0.

402

Chapitre 12 : Dictionnaire ActionScript Prsentation

Vous pouvez ne spcifier aucun chemin, indiquer un chemin relatif ou un chemin absolu pour le fichier inclure.

Si vous ne spcifiez aucun chemin, le fichier AS doit se situer dans le mme rpertoire que le
fichier FLA ou le script contenant linstruction #include.

Pour dfinir un chemin pour le fichier AS par rapport au fichier FLA ou au script, utilisez un
point (.) pour indiquer le rpertoire en cours, deux points (..) pour indiquer un rpertoire parent et des barres obliques (/). Consultez les exemples suivants. Pour spcifier un chemin absolu pour le fichier AS, utilisez le format support par votre plateforme (Macintosh ou Windows). Consultez les exemples suivants. Cependant, cet utilisation nest pas recommande, car elle ncessite que la structure du rpertoire soit la mme sur toutes les machines utilises pour compiler le script.

Exemple

Les exemples suivants montrent diverses faons de spcifier un chemin pour un fichier inclure dans votre script.
// Notez que les instructions #include ne se terminent pas par un point virgule (;) // le fichier AS est dans le mme rpertoire que le fichier ou le script FLA #include "init_script.as" // le fichier AS se trouve dans un sous-rpertoire du rpertoire // contenant le fichier ou le script FLA // Le sous-rpertoire est nomm "FLA_includes" #include "FLA_includes/init_script.as" // Le fichier AS se trouve dans un rpertoire au mme niveau que le fichier ou le script FLA // Le rpertoire est nomm "ALL_includes" #include "../ALL_includes/init_script.as" // Le fichier AS est spcifi par un chemin absolu dans Windows // Notez lutilisation de barres obliques et non de barres obliques inverses #include "C:/Flash_scripts/init_script.as" // Le fichier AS est spcifi par un chemin absolu dans Macintosh #include "Mac HD:Flash_scripts:init_script.as" Consultez galement import

Infinity
Disponibilit

Flash Player 5.
Usage Infinity Description

Constante : spcifie la valeur IEEE-754 reprsentant linfini positif. La valeur de cette constante est la mme que Number.POSITIVE_INFINITY.

Infinity

403

-Infinity
Disponibilit

Flash Player 5.
Usage -Infinity Description

Constante : spcifie la valeur IEEE-754 reprsentant linfini ngatif. La valeur de cette constante est la mme que Number.NEGATIVE_INFINITY.

#initclip
Disponibilit

Flash Player 6.
Usage #initclip ordre Paramtres ordre Un entier qui spcifie lordre dexcution des blocs de code #initclip. Ce paramtre est facultatif. Description

Directive du compilateur : indique le dbut dun bloc dactions dinitialisation. Lorsque plusieurs clips sont initialiss en mme temps, vous pouvez utiliser le paramtre order pour spcifier linitialisation ayant lieu en premier. Les actions dinitialisation sont excutes lors de la dfinition dun symbole de clip. Si le clip est un symbole export, les actions dinitialisation sont excutes avant les actions de limage 1 du fichier SWF. Sinon, elles sont excutes immdiatement avant les actions sappliquant limage qui contient la premire occurrence du symbole de clip associ. Les actions dinitialisation sont excutes une seule fois lors de la lecture dun fichier SWF ; utilisez-les en tant quinitialisations ponctuelles, par exemple, pour la dfinition et lenregistrement de classes.
Consultez galement #endinitclip

instanceof
Disponibilit

Flash Player 6.
Usage objet instanceof classe Paramtres objet

Un objet ActionScript.

404

Chapitre 12 : Dictionnaire ActionScript Prsentation

classe Renvoie

Une rfrence une fonction du constructeur ActionScript, telle que String ou Date.

Si objet est une occurrence de classe, instanceof renvoie true : sinon, instanceof renvoie false. De mme, _global instanceof Object renvoie false.
Description

Oprateur : dtermine si un objet appartient une classe spcifie. Teste si objet est une occurrence de classe. Loprateur instanceof ne convertit pas les types primitifs en objets enveloppes. Par exemple, le code suivant renvoie true:
new String("Bonjour") instanceof String;

Le code suivant renvoie false:


"Bonjour" instanceof String; Consultez galement typeof

int
Disponibilit

Flash Player 4. Cette fonction est dconseille dans Flash 5 ; utilisez plutt Math.round().
Usage int(valeur) Paramtres valeur Renvoie

Un nombre devant tre arrondi un entier.

Rien.
Description

Fonction : convertit un nombre dcimal la valeur de lentier le plus proche.


Consultez galement Math.floor

interface
Disponibilit

Flash Player 6.
Usage interface nomDinterface {} interface nomDinterface [extends nomDinterface [, nomDinterface ...] {}

interface

405

Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Description

Mot-cl; dfinit une interface. Une interface est similaire une classe, mais prsente les diffrences notables ci-dessous :

Les interfaces contiennent seulement des dclarations de mthodes et non leurs


implmentations. Autrement dit, chaque classe qui implmente une interface doit fournir une implmentation pour chaque mthode dclare dans linterface. Seuls les membres publics sont autoriss dans une dfinition dinterface. De plus, les membres doccurrence et de classe ne sont pas autoriss. Les instructions get et set ne sont pas autorises dans les dfinitions dinterface.

Pour plus dinformations, consultez Cration et utilisation dinterfaces, page 173.


Exemple

Lexemple suivant illustre plusieurs mthodes de dfinition et dimplmentation dinterfaces.


(dans les fichiers .as du paquet de premier niveau Ia, B, C, Ib, D, Ic, E) // nom de fichier Ia.as interface Ia { function k():Nombre; // dclaration de mthode seulement function n(x:Nombre):Nombre; // sans implmentation } // nomDeFichier B.as class B implements Ia { function k():Nombre {renvoie 25;} function n(x:Nombre):Nombre {return x+5;} } // script externe ou panneau Actions mvar = new B(); trace(B.k()); // 25 trace(B.n(7)); // 12 // nomDeFichier c.as class C implements Ia { function k():Nombre {renvoie 25;} } // erreur: la classe doit implmenter toutes les mthodes dinterface // nomDeFichier Ib.as interface Ib { function o():Void; } class D implements Ia, Ib { function k():Nombre {renvoie 15;} function n(x:Nombre):Nombre {renvoie x*x;} function o():Void {trace("o");} }

406

Chapitre 12 : Dictionnaire ActionScript Prsentation

// script externe ou panneau Actions mvar = new D(); trace(D.k()); // 15 trace(D.n(7)); // 49 trace(D.o()); // "o" interface Ic extends Ia { function p():Void; } class E implements Ib, Ic { function k():Nombre {renvoie 25;} function n(x:Nombre):Nombre {return x+5;} function o():Void {trace("o");} function p():Void {trace("p");} } Consultez galement classe, extends, implements

isFinite
Disponibilit

Flash Player 5.
Usage isFinite(expression) Paramtres expression Renvoie

Une valeur boolenne, une variable ou une autre expression valuer.

Une valeur boolenne.


Description

Fonction : value expression et renvoie true sil sagit dun nombre fini et false sil sagit dinfini ou dinfini ngatif. La prsence dinfini, ou dinfini ngatif, indique une condition derreur mathmatique (une division par 0, par exemple).
Exemple

Les exemples suivants sont des exemples de valeurs renvoyes pour isFinite :
isFinite(56) // renvoie true isFinite(Number.POSITIVE_INFINITY) // renvoie false

isNaN()
Disponibilit

Flash Player 5.

isNaN()

407

Usage isNaN(expression) Paramtres expression Renvoie

Une valeur boolenne, une variable ou une autre expression valuer.

Une valeur boolenne.


Description

Fonction : value le paramtre et renvoie true si la valeur nest pas un nombre (NaN), indiquant la prsence derreurs mathmatiques.
Exemple

Le code suivant illustre les valeurs renvoyes pour la fonction isNaN :


isNaN("Tree") // renvoie true isNan(56) // renvoie false isNaN(Number.POSITIVE_INFINITY) // renvoie false Consultez galement NaN, Number.NaN

Classe Key
Disponibilit

Flash Player 6.
Description

La classe Key est une classe de premier niveau dont les mthodes et les proprits sont utilisables sans instructeur. Utilisez les mthodes de la classe Key pour construire une interface qui peut tre contrle par un utilisateur possdant un clavier standard. Les proprits de la classe Key sont des constantes reprsentant les touches les plus souvent utilises pour contrler les jeux. Pour consulter la liste complte des valeurs des codes key, consultez Annexe C, Touches du clavier et valeurs de code correspondantes, page 781. Rsum des mthodes de la classe Key
Mthode
Key.addListener()

Description Enregistre un objet pour la rception de notification lorsque les mthodes onKeyDown et onKeyUp sont invoques. Renvoie la valeur ASCII de la dernire touche enfonce. Renvoie le code virtuel de la dernire touche enfonce.

Key.getAscii() Key.getCode()

408

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthode
Key.isDown() Key.isToggled()

Description Renvoie true si la touche spcifie dans le paramtre est enfonce. Renvoie true si les touches Verr Num ou Verr Maj sont actives.

Key.removeListener() Supprime un objet prcdemment enregistr avec .Key.addListener()

Rsum des proprits de la classe Key Toutes les proprits de la classe Key sont des constantes.
Proprit
Key.BACKSPACE

Description Constante associe la valeur de code de touche pour la touche Rappel arrire (8). Constante associe la valeur de code de touche pour la touche Verrouillage des majuscules (20). Constante associe la valeur de code de touche pour la touche Ctrl (17). Constante associe la valeur de code de touche pour la touche Suppression (46). Constante associe la valeur de code de touche pour la touche Flche vers le bas (40). Constante associe la valeur de code de touche pour la touche Fin (35). Constante associe la valeur de code de touche pour la touche Entre (13). Constante associe la valeur de code de touche pour la touche Echap (27). Constante associe la valeur de code de touche pour la touche Origine (36). Constante associe la valeur de code de touche pour la touche Insertion (45). Constante associe la valeur de code de touche pour la touche Flche vers la gauche (37). Constante associe la valeur de code de touche pour la touche Page suivante (34). Constante associe la valeur de code de touche pour la touche Page prcdente (33). Constante associe la valeur de code de touche pour la touche Flche vers la droite (39). Constante associe la valeur de code de touche pour la touche Maj (16). Constante associe la valeur de code de touche pour la touche Barre despacement (32).

Key.CAPSLOCK

Key.CONTROL Key.DELETEKEY

Key.DOWN

Key.END Key.ENTER

Key.ESCAPE

Key.HOME

Key.INSERT

Key.LEFT

Key.PGDN

Key.PGUP

Key.RIGHT

Key.SHIFT Key.SPACE

Classe Key

409

Proprit
Key.TAB Key.UP

Description Constante associe la valeur de code de touche pour la touche Tab (9). Constante associe la valeur de code de touche pour la touche Flche vers le haut (38).

Rsum des couteurs de la classe Key


Mthode
Key.onKeyDown Key.onKeyUp

Description Notifi lorsquune touche est enfonce. Notifi lorsquune touche est relche.

Key.addListener()
Disponibilit

Flash Player 6.
Usage Key.addListener (nouvelEcouteur) Paramtres nouvelEcouteur Renvoie

Un objet avec les mthodes onKeyDown et onKeyUp.

Rien.
Description

Mthode : enregistre un objet pour la rception de notifications onKeyDown et onKeyUp. Lorsquune touche est enfonce ou relche, quel que soit le focus de saisie, la mthode onKeyDown ou onKeyUp de tous les objets couteurs enregistrs avec addListener() est invoque. Plusieurs objets peuvent attendre des notifications de clavier. Si lcouteur nouvelEcouteur est dj enregistr, aucun changement na lieu.
Exemple

Lexemple suivant cre un nouvel objet dcoute et dfinit une fonction pour onKeyDown et onKeyUp. La dernire ligne utilise la mthode addListener() pour enregistrer lcouteur avec lobjet Key, afin quil puisse recevoir une notification des vnements de touche enfonce et de touche relche.
monEcouteur = new Object(); monEcouteur.onKeyDown = function () { trace ("Vous avez appuy sur une touche."); } monEcouteur.onKeyUp = function () { trace ("Vous avez relch une touche."); } Key.addListener(monEcouteur);

410

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lexemple suivant attribue le raccourci clavier Ctrl+7 un bouton avec un nom doccurrence de monBouton, et rend les informations sur le raccourci accessibles aux lecteurs dcran (consultez _accProps). Dans cet exemple, lorsque vous appuyez sur Ctrl+7, la fonction myOnPress affiche le texte bonjour dans le panneau de sortie ; dans votre fichier, vous devez crer une fonction plus explicite.
function myOnPress() { trace( "bonjour" ); } function myOnKeyDown() { if (Key.isDown(Key.CONTROL) && Key.getCode() == 55) // 55 est le code de touche de 7 { Selection.setFocus( monBouton ); monBouton.onPress(); } } var monEcouteur = new Object(); monEcouteur.onKeyDown = myOnKeyDown; Key.addListener( monEcouteur ); monBouton.onPress = myOnPress; monBouton._accProps.shortcut = "Ctrl+F" Accessibility.updateProperties() Consultez galement Key.getCode(), Key.isDown(), Key.onKeyDown, Key.onKeyUp, Key.removeListener()

Key.BACKSPACE
Disponibilit

Flash Player 5.
Usage Key.BACKSPACE Description

Proprit : associe la valeur de code de touche pour la touche Retour arrire (8).

Key.CAPSLOCK
Disponibilit

Flash Player 5.
Usage Key.CAPSLOCK Description

Proprit : associe la valeur de code de touche pour la touche Verr Maj (20).

Key.CAPSLOCK

411

Key.CONTROL
Disponibilit

Flash Player 5.
Usage Key.CONTROL Description

Proprit : associe la valeur de code de touche pour la touche Ctrl (17).

Key.DELETEKEY
Disponibilit

Flash Player 5.
Usage Key.DELETEKEY Description

Proprit : associe la valeur de code de touche pour la touche Suppr (46).

Key.DOWN
Disponibilit

Flash Player 5.
Usage Key.DOWN Description

Proprit : associe la valeur de code de touche pour la touche Flche vers le bas (40).

Key.END
Disponibilit

Flash Player 5.
Usage Key.END Description

Proprit : associe la valeur de code de touche pour la touche Fin (35).

Key.ENTER
Disponibilit

Flash Player 5.

412

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage Key.ENTER Description

Proprit : associe la valeur de code de touche pour la touche Entre (13).

Key.ESCAPE
Disponibilit

Flash Player 5.
Usage Key.ESCAPE Description

Proprit : associe la valeur de code de touche pour la touche Echap (27).

Key.getAscii()
Disponibilit

Flash Player 5.
Usage Key.getAscii(); Paramtres

Aucun.
Renvoie

Un entier reprsentant la valeur ASCII de la dernire touche enfonce.


Description

Mthode : renvoie le code ASCII de la dernire touche enfonce ou relche. Les valeurs ASCII renvoyes sont les valeurs du clavier anglais. Par exemple, si vous appuyez sur Maj+2, Key.getAscii() renvoie @ sur un clavier japonais, de la mme faon que sur un clavier anglais.

Key.getCode()
Disponibilit

Flash Player 5.
Usage Key.getCode(); Paramtres

Aucun.
Renvoie

Un entier reprsentant le code de touche de la dernire touche enfonce.

Key.getCode()

413

Description

Mthode : renvoie la valeur de code de la dernire touche enfonce. Pour faire correspondre la valeur du code touche renvoye avec la touche sur un clavier standard, consultez Annexe C, Touches du clavier et valeurs de code correspondantes, page 781.

Key.HOME
Disponibilit

Flash Player 5.
Usage Key.HOME Description

Proprit : associe la valeur de code de touche pour la touche Origine (36).

Key.INSERT
Disponibilit

Flash Player 5.
Usage Key.INSERT Description

Proprit : associe la valeur de code de touche pour la touche Insertion (45).

Key.isDown()
Disponibilit

Flash Player 5.
Usage Key.isDown(codeDeTouche) Paramtres codeDeTouche La valeur de code affecte une touche spcifique ou une proprit de classe Key associe une touche spcifique. Pour faire correspondre la valeur du code touche renvoye avec la touche sur un clavier standard, consultez Annexe C, Touches du clavier et valeurs de code correspondantes, page 781. Renvoie

Une valeur boolenne.


Description

Mthode : renvoie true si la touche spcifie dans codeDeTouche est enfonce, false si elle ne lest pas. Sur Macintosh, les valeurs de codes des touches Verr Maj et Verr Num sont identiques.

414

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Le script suivant permet lutilisateur de contrler lemplacement dun clip.


onClipEvent (enterFrame) { if(Key.isDown(Key.RIGHT)) { this._x=_x+10; } else if (Key.isDown(Key.DOWN)) { this._y=_y+10; } }

Key.isToggled()
Disponibilit

Flash Player 5.
Usage Key.isToggled(codeDeTouche) Paramtres codeDeTouche Renvoie

Le code de touche Verr Maj (20) ou Verr Num (144).

Une valeur boolenne.


Description

Mthode : renvoie true si la touche Verr Maj ou Verr Num est active (active), false si elle ne lest pas. Sur Macintosh, les valeurs de codes des touches Verr Maj et Verr Num sont identiques.

Key.LEFT
Disponibilit

Flash Player 5.
Usage Key.LEFT Description

Proprit : associe la valeur de code de touche pour la touche Flche vers la gauche (37).

Key.onKeyDown
Disponibilit

Flash Player 6.
Usage unEcouteur.onKeyDown

Key.onKeyDown

415

Description

Ecouteur ; notifi lorsquune touche est enfonce. Pour utiliser onKeyDown, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onKeyDown et utiliser addListener() pour enregistrer lcouteur avec lobjet Key, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onKeyDown = function () { ... }; Key.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Key.addListener()

Key.onKeyUp
Disponibilit

Flash Player 6.
Usage unEcouteur.onKeyUp Description

Ecouteur ; notifi lorsquune touche est relche. Pour utiliser onKeyUp, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onKeyUp et utiliser addListener() pour enregistrer lcouteur avec lobjet Key, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onKeyUp = function () { ... }; Key.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Key.addListener()

Key.PGDN
Disponibilit

Flash Player 5.
Usage Key.PGDN Description

Proprit : associe la valeur de code de touche pour la touche Page suivante (34).

416

Chapitre 12 : Dictionnaire ActionScript Prsentation

Key.PGUP
Disponibilit

Flash Player 5.
Usage Key.PGUP Description

Proprit : associe la valeur de code de touche pour la touche Page vers le haut (33).

Key.removeListener()
Disponibilit

Flash Player 6.
Usage Key.removeListener (couteur) Paramtres couteur Renvoie

Un objet.

Si lcouteur a t correctement retir de la mthode renvoie true. Si lcouteur na pas t correctement retir, par exemple si lcouteur napparaissait pas dans la liste des couteurs de lobjet Key, la mthode renvoie false.
Description

Mthode : retire un objet prcdemment enregistr avec Key.addListener().

Key.RIGHT
Disponibilit

Flash Player 5.
Usage Key.RIGHT Description

Proprit : associe la valeur de code de touche pour la touche Flche vers la droite (39).

Key.SHIFT
Disponibilit

Flash Player 5.
Usage Key.SHIFT

Key.SHIFT

417

Description

Proprit : associe la valeur de code de touche pour la touche Maj (16).

Key.SPACE
Disponibilit

Flash Player 5.
Usage Key.SPACE Description

Proprit : associe la valeur de code de touche pour la touche Barre despacement (32).

Key.TAB
Disponibilit

Flash Player 5.
Usage Key.TAB Description

Proprit : associe la valeur de code de touche pour la touche Tab (9).

Key.UP
Disponibilit

Flash Player 5.
Usage Key.UP Description

Proprit : associe la valeur de code de touche pour la touche Flche vers le haut (38).

le (infrieur ou gal spcifique aux chanes)


Disponibilit

Flash Player 4. Cet oprateur est dconseill dans Flash 5 et remplac par loprateur <= (infrieur ou gal ).
Usage expression1 le expression2 Paramtres expression1, expression2

Nombres, chanes ou variables.

418

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Oprateur (comparaison) ; compare expression1 avec expression2 et renvoie true si expression1 est infrieure ou gale expression2 ; sinon, renvoie false.
Consultez galement <= (infrieur ou gal )

length
Disponibilit

Flash Player 4. Cette fonction, de mme que toutes les fonctions de chanes, est dconseille dans Flash 5. Macromedia recommande lutilisation des mthodes de la classe String et de la proprit String.length pour effectuer les mmes oprations.
Usage length(expression) length(variable) Paramtres expression variable Renvoie

Une chane. Le nom dune variable.

La longueur de la chane spcifie ou du nom de la variable.


Description

Fonction de chane ; renvoie la longueur de la chane ou variable spcifie.


Exemple

Lexemple suivant renvoie la valeur de la chane "Bonjour".


length("Bonjour");

Le rsultat est 5.
Consultez galement " " (dlimiteur de chane),

Classe String, String.length

_level
Disponibilit

Flash Player 4.
Usage _levelN

_level

419

Description

Identifiant : une rfrence au scnario racine de _levelN. Vous devez utiliser loadMovieNum() pour charger les fichiers SWF dans Flash Player avant dutiliser la proprit _level pour les cibler. Vous pouvez galement utiliser _levelN pour cibler un fichier SWF charg au niveau affect par N. Le fichier SWF initial qui est charg dans une occurrence de Flash Player est automatiquement charg dans _level0. Le fichier SWF dans _level0 dfinit la cadence, la couleur darrire-plan et la taille des images pour tous les autres fichiers SWF chargs. Les fichiers SWF sont alors empils des niveaux plus levs au-dessus du fichier SWF dans _level0. Vous devez affecter un niveau chaque fichier SWF que vous chargez dans Flash Player laide de laction loadMovieNum(). Vous pouvez affecter des niveaux dans nimporte quel ordre. Si vous affectez un niveau qui contient dj un fichier SWF (y compris _level0), le fichier SWF qui se trouve ce niveau est purg et remplac par le nouveau fichier SWF.
Exemple

Lexemple suivant arrte la tte de lecture du scnario principal du fichier SWF de _level9.
_level9.stop();

Lexemple suivant envoie la tte de lecture du scnario principal du fichier SWF de _level4 vers limage 5. Le fichier SWF de _level4 doit avoir t charg avec une action loadMovieNum().
_level4.gotoAndStop(5); Consultez galement loadMovie(), MovieClip.swapDepths()

loadMovie()
Disponibilit

Flash Player 3.
Usage loadMovie("url",cible [, mthode]) Paramtres url

LURL absolue ou relative du fichier SWF ou JPEG charger. Un chemin relatif doit tre relatif au fichier SWF au niveau 0. Des URL absolues doivent inclure la rfrence au protocole, comme http:// ou file:///.

cible Un chemin vers la cible dun clip. Le clip cible sera remplac par limage ou le fichier SWF charg. mthode Un paramtre facultatif spcifiant une mthode HTTP denvoi des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.

420

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Fonction : charge un fichier SWF ou JPEG dans Flash Player en cours de lecture du fichier SWF dorigine.
Conseil : Si vous souhaitez suivre la progression du tlchargement, utilisez MovieClipLoader.loadClip() au lieu de cette fonction.

La fonction loadMovie() vous permet dafficher plusieurs fichiers SWF simultanment et de basculer entre les fichiers SWF sans charger un autre document HTML. Sans la fonction loadMovie(), Flash Player affiche un seul fichier SWF avant de quitter. Si vous souhaitez charger un fichier SWF ou JPEG dans un niveau spcifique, utilisez loadMovieNum() au lieu de loadMovie(). Si un fichier SWF est charg dans un clip cible, vous pouvez utiliser le chemin cible de ce clip pour cibler le fichier charg. Un fichier SWF ou une image charge dans une cible hrite de ses proprits de position, rotation et chelle. Le coin suprieur gauche de limage ou du fichier SWF charg saligne avec le point dalignement du clip cibl. Ou bien, si la cible est le scnario _root, le coin suprieur gauche de limage ou du fichier SWF saligne avec le coin suprieur gauche de la scne. Utilisez unloadMovie() pour supprimer les fichiers SWF chargs avec loadMovie().
Exemple

Linstruction loadMovie() suivante est associe un bouton de navigation intitul Produits. Un clip invisible se trouve sur la scne et porte le nom doccurrence zoneCible. La fonction loadMovie() utilise ce clip comme paramtre cible pour charger les produits du fichier SWF la position correcte sur la Scne.
on(release) { loadMovie("produits.swf",_root.zoneCible); }

Lexemple suivant charge une image JPEG partir du mme rpertoire que le fichier SWF qui appelle la fonction loadMovie() :
loadMovie("image45.jpeg", "notreClip"); Consultez galement _level, loadMovieNum(), MovieClipLoader.loadClip(), unloadMovie()

loadMovieNum()
Disponibilit

Flash Player 4. Les fichiers Flash 4 ouverts dans Flash 5 ou ultrieur sont convertis de manire utiliser la syntaxe correcte.
Usage loadMovieNum("url",niveau[, variables])

loadMovieNum()

421

Paramtres url Une URL absolue ou relative du fichier SWF ou JPEG charger. Un chemin relatif doit tre relatif au fichier SWF au niveau 0. Pour une utilisation dans Flash Player autonome ou pour un test en mode test danimation dans lapplication auteur Flash, tous les fichiers SWF doivent tre stocks dans le mme rpertoire et les noms de fichier ne peuvent pas inclure des spcifications de rpertoire ou de lecteur de disque. niveau

Un entier spcifiant le niveau Flash Player auquel le fichier SWF sera charg.

variables Un paramtre facultatif spcifiant une mthode HTTP denvoi des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.
Description

Fonction : charge un fichier SWF ou JPEG dans un niveau de Flash Player en cours de lecture du fichier SWF dorigine.
Conseil : Si vous souhaitez suivre la progression du tlchargement, utilisez MovieClipLoader.loadClip() au lieu de cette fonction.

Normalement, Flash Player affiche un seul fichier SWF avant de quitter. Laction loadMovie() vous permet dafficher plusieurs fichiers SWF simultanment et de basculer entre les fichiers SWF sans charger un autre document HTML. Si vous souhaitez spcifier une cible au lieu dun niveau, utilisez loadMovie() au lieu de
loadMovieNum().

Flash Player a un ordre dempilement des niveaux qui commence au niveau 0. Ces niveaux sont comme des calques : ils sont transparents, lexception des objets qui se trouvent sur chaque niveau. Lorsque vous utilisez loadMovieNum(), vous devez spcifier un niveau Flash Player dans lequel charger le fichier SWF. Lorsquun fichier SWF est charg dans un niveau, vous pouvez utiliser la syntaxe _levelN pour cibler le fichier SWF, o N est le numro de niveau. Lorsque vous chargez un fichier SWF, vous pouvez spcifier un quelconque numro et charger des fichiers SWF dans un niveau dans lequel un fichier SWF a dj t charg. Si tel est le cas, le nouveau fichier SWF remplacera le fichier SWF existant. Si vous chargez un fichier SWF dans le niveau 0, tous les niveaux de Flash Player sont vids et le niveau 0 est remplac par le nouveau fichier. Le fichier SWF dans le niveau 0 dfinit la cadence, la couleur darrire-plan et la taille des images pour tous les autres fichiers SWF chargs. Laction loadMovieNum() vous permet galement de charger des fichiers JPEG dans un fichier SWF en cours de lecture. Le coin suprieur gauche de limage saligne, aussi bien pour les images que pour les fichiers SWF, avec le coin suprieur gauche de la scne lors du chargement du fichier. De plus, dans les deux cas, le fichier charg hrite de la rotation et de lchelle, le contenu original tant cras. Utilisez unloadMovieNum() pour supprimer des fichiers SWF ou des images chargs avec loadMovieNum().

422

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Cet exemple charge limage JPEG image45.jpg dans le niveau 2 de Flash Player.
loadMovieNum("http://www.blag.com/image45.jpg", 2); Consultez galement loadMovie(), unloadMovieNum(), _level

loadVariables()
Disponibilit

Flash Player 4 ; comportement modifi dans Flash Player 7.


Usage loadVariables ("url" , target [, variables]) Paramtres url Une URL absolue ou relative o se trouvent les variables. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous. cible

Le chemin cible dun clip qui reoit les variables charges.

variables Un paramtre facultatif spcifiant une mthode HTTP denvoi des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.
Description

Fonction ; lit des donnes depuis un fichier externe, tel quun fichier texte ou du texte gnr par un script CGI, ASP, PHP ou Perl, et dfinit les valeurs des variables dans un clip cible. Cette action peut galement tre utilise pour affecter de nouvelles valeurs aux variables du fichier SWF actif. Le texte de lURL spcifie doit tre au format standard MIME application/x-www-formurlencoded (un format standard utilis par les scripts CGI). Tout nombre de variables peut tre spcifi. Par exemple, la squence suivante dfinit plusieurs variables :
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com.

loadVariables()

423

Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Si vous souhaitez charger des variables dans un niveau spcifique, utilisez loadvariablesNum() au lieu de loadVariables().
Exemple

Cet exemple charge des informations depuis un fichier texte vers des champs de texte dans le clip varCible du scnario principal. Les noms de variables des champs de texte doivent correspondre aux noms de variables du fichier donnes.txt.
on(release) { loadVariables("donnees.txt", "_root.varCible"); } Consultez galement loadvariablesNum(), loadMovie(), loadMovieNum(), getURL(), MovieClip.loadMovie, MovieClip.loadVariables()

loadvariablesNum()
Disponibilit

Flash Player 4. Les fichiers Flash 4 ouverts dans Flash 5 ou ultrieur sont convertis de manire utiliser la syntaxe correcte. Comportement modifi dans Flash Player 7.
Usage loadVariablesNum("url",niveau[, variables]) Paramtres url Une URL absolue ou relative o se trouvent les variables. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous. niveau

Un entier spcifiant le niveau Flash Player de rception des variables.

variables Un paramtre facultatif spcifiant une mthode HTTP denvoi des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.

424

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Fonction : lit des donnes depuis un fichier externe, tel quun fichier texte ou un texte gnr par un script CGI, ASP, PHP ou Perl, et dfinit les valeurs des variables dans un niveau Flash Player. Vous pouvez galement utiliser cette fonction pour mettre jour les variables du fichier SWF actif laide de nouvelles valeurs. Le texte de lURL spcifie doit tre au format MIME standard application/x-www-formurlencoded (un format standard utilis par les scripts CGI). Tout nombre de variables peut tre spcifi. Par exemple, la squence suivante dfinit plusieurs variables :
company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com. Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Si vous souhaitez charger des variables dans un clip spcifique, utilisez loadVariables()au lieu de loadVariablesNum().
Exemple

Cet exemple charge des informations depuis un fichier texte vers des champs de texte dans le scnario principal du fichier SWF (niveau 0) de Flash Player. Les noms de variables des champs de texte doivent correspondre aux noms de variables du fichier donnes.txt.
on(release) { loadVariablesNum("donnees.txt", 0); } Consultez galement getURL(), loadMovie(), loadMovieNum(), loadVariables(), MovieClip.loadMovie, MovieClip.loadVariables()

Classe LoadVars
Disponibilit

Flash Player 6.
Description

La classe LoadVars constitue une alternative la fonction loadVariables() pour transfrer des variables entre une application Flash et un serveur.

Classe LoadVars

425

Vous pouvez utiliser cette classe pour obtenir la vrification du chargement russi des donnes, les indications de progression et les donnes de flux pendant le tlchargement. La classe LoadVars fonctionne de manire semblable Classe XML : elle utilise les mthodes load(), send() et sendAndLoad() pour communiquer avec un serveur. La principale diffrence entre la classe LoadVars et la classe XML est que LoadVars transfre des paires nom et valeur ActionScript, au lieu de larborescence DOM XML stocke dans lobjet XML. La classe LoadVars est soumise aux mmes restrictions de scurit que la classe XML. Rsum des mthodes de la classe LoadVars
Mthode Description

LoadVars.addRequestHeader() Ajoute ou modifie les en-ttes HTTP pour les oprations POST. LoadVars.getBytesLoaded()

Renvoie le nombre doctets tlchargs par LoadVars.load() ou


LoadVars.sendAndLoad().

LoadVars.getBytesTotal()

Renvoie le nombre total doctets tlchargs par une opration load ou une mthode sendAndLoad. Tlcharge des variables partir dune URL spcifie. Publie des variables dun objet LoadVars une URL. Publie les variables dun objet LoadVars une URL et tlcharge la rponse du serveur vers un objet cible. Renvoie une chane encode URL qui contient toutes les variables numrables de lobjet LoadVars.

LoadVars.load() LoadVars.send() LoadVars.sendAndLoad()

LoadVars.toString()

Rsum des proprits de la classe LoadVars


Proprit
LoadVars.contentType LoadVars.loaded

Description Indique le type MIME des donnes. Une valeur boolenne indiquant si une opration load ou sendAndLoad est termine.

Rsum des gestionnaires dvnement de la classe LoadVars


Gestionnaire dvnement
LoadVars.onData

Description Invoqu lorsque les donnes ont t compltement tlcharges du serveur ou lorsquune erreur se produit au cours de ce tlchargement. Invoqu lorsquune opration load ou sendAndLoad est termine.

LoadVars.onLoad

Constructeur pour la classe LoadVars


Disponibilit

Flash Player 6.

426

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage new LoadVars() Paramtres

Aucun.
Renvoie

Rien.
Description

Constructeur : cre un objet LoadVars Vous pouvez ensuite utiliser les mthodes de cet objet LoadVars pour envoyer et charger des donnes.
Exemple

Lexemple suivant cre un objet LoadVars nomm mes_lv :


var mes_lv = new LoadVars();

LoadVars.addRequestHeader()
Disponibilit

Flash Player 6.
Usage mon_lv.addRequestHeader(headerName, headerValue) mon_lv.addRequestHeader(["headerName_1", "headerValue_1" ... "nomDentte_n", "valeurDentte_n"]) Paramtres nomDentte

Un nom den-tte de requte HTTP. La valeur associe nomDentte.

valeurDentte Renvoie

Rien.
Description

Mthode : ajoute ou modifie les en-ttes de requte HTTP (telles que Content-type ou SOAPAction) envoys avec les actions POST. Dans la premire utilisation, vous transmettez deux chanes la mthode : nomDentte et valeurDentte. Dans la seconde utilisation, vous transmettez un tableau de chanes, alternant noms et valeurs den-ttes. Si des appels multiples sont dfinis pour un seul et mme nom den-tte, chaque valeur successive remplace la valeur dfinie dans le prcdent appel. Les en-ttes HTTP standard suivantes ne peuvent pas tre ajoutes ou modifies dans cette mthode : Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, ContentLocation, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning et WWW-Authenticate.

LoadVars.addRequestHeader()

427

Exemple

Cet exemple ajoute un en-tte HTTP personnalis nomm SOAPAction avec une valeur Foo lobjet mon_lv.
mon_lv.addRequestHeader("SOAPAction", "Foo");

Lexemple suivant cre un tableau nomm en-ttes contenant deux en-ttes secondaires et leurs valeurs associes. Le tableau est transmis en tant quargument addRequestHeader().
var en-ttes = ["Content-type", "texte/normal", "X-ClientAppVersion", "2.0"]; mon_lv.addRequestHeader(headers); Voir aussi XML.addRequestHeader()

LoadVars.contentType
Disponibilit

Flash Player 6.
Usage mes_lv.contentType Description

Proprit : le type MIME envoy au serveur lorsque vous appelez LoadVars.send() ou LoadVars.sendAndLoad(). La valeur par dfaut est application/x-www-urlform-encoded.
Consultez galement LoadVars.send(), LoadVars.sendAndLoad()

LoadVars.getBytesLoaded()
Disponibilit

Flash Player 6.
Usage mes_lv.getBytesLoaded() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le nombre doctets tlchargs par LoadVars.load() ou LoadVars.sendAndLoad(). Cette mthode renvoie undefined si aucune opration load nest en cours ou si une opration load na pas encore t initie.

428

Chapitre 12 : Dictionnaire ActionScript Prsentation

LoadVars.getBytesTotal()
Disponibilit

Flash Player 6.
Usage mes_lv.getBytesTotal() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le nombre total doctets tlchargs par LoadVars.load() ou LoadVars.sendAndLoad(). Cette mthode renvoie undefined si aucune opration load nest en cours ou si une opration load na pas encore t initie. Cette mthode renvoie galement undefined si le nombre total doctets ne peut pas tre dtermin (par exemple, si le tlchargement a t initi mais que le serveur na pas transmis de longueur de contenu HTTP).

LoadVars.load()
Disponibilit

Flash Player 6 ; comportement modifi dans Flash Player 7.


Usage mes_lv.load(url) Paramtres url LURL o se trouvent les variables tlcharger. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous. Renvoie

Une chane.
Description

Mthode : tlcharge des variables depuis lURL spcifie, analyse les donnes et place les variables rsultantes dans mes_lv. Les proprits de mes_lv avec les mmes noms que les variables tlcharges sont supprimes. Les proprits de mes_lv avec des noms diffrents des variables tlcharges ne sont pas supprimes. Il sagit dune action asynchrone. Les donnes tlcharges doivent tre au format de contenu MIME application/x-www-formurlencoded. Il sagit du mme format que celui utilis par loadVariables(). Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com.

LoadVars.load()

429

Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. De mme, dans des fichiers publis pour Flash Player 7, la sensibilit la casse (consultez Hauteur de casse, page 31) est prise en charge pour les variables externes charges laide de LoadVars.load(). Cette mthode est similaire XML.load().

LoadVars.loaded
Disponibilit

Flash Player 6.
Usage mes_lv.loaded Description

Proprit : undefined par dfaut. Lorsquune opration LoadVars.load() ou LoadVars.sendAndLoad() est initie, la proprit loaded est dfinie sur la valeur false ; lorsque lopration est termine, la proprit loaded est dfinie sur la valeur true. Si une opration de chargement nest pas encore termine ou a chou avec une erreur, la proprit loaded reste dfinie sur la valeur false. Cette proprit est similaire la proprit XML.loaded.

LoadVars.onData
Disponibilit

Flash Player 6.
Usage mon_lv.onData = function(src) { // vos instructions } Paramtres src Les donnes brutes (non analyses) partir de lappel dune mthode LoadVars.load() ou LoadVars.sendAndLoad(). Renvoie

Rien.

430

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Gestionnaire dvnement : invoqu lorsque les donnes ont t compltement tlcharges du serveur ou lorsquune erreur se produit au cours de ce tlchargement. Ce gestionnaire est invoqu avant lanalyse des donnes ; ainsi, il peut tre utilis pour appeler une routine danalyse personnalise au lieu dune routine intgre dans Flash Player. La valeur du paramtre src transmise la fonction affecte LoadVars.onData peut tre soit undefined, soit une chane contenant les paires nom-valeur encodes URL tlcharges depuis le serveur. Si la valeur renvoye est undefined, une erreur a eu lieu pendant le tlchargement partir du serveur. Limplmentation par dfaut de LoadVars.onData invoque LoadVars.onLoad. Vous pouvez craser cette implmentation par dfaut en affectant une fonction personnalise LoadVars.onData, mais LoadVars.onLoad ne sera plus appel moins que vous ne lappeliez dans votre implmentation de LoadVars.onData.

LoadVars.onLoad
Disponibilit

Flash Player 6.
Usage mon_lv.onLoad = function(success) { // vos instructions } Paramtres succs Le paramtre non (false). Renvoie

indique si lopration de chargement sest droule avec succs (true) ou

Une valeur boolenne.


Description

Gestionnaire dvnement : invoqu lorsquune opration LoadVars.load() ou LoadVars.sendAndLoad() est termine. Si lopration est russi, mes_lv est renseign par des variables tlcharges par lopration ; ces variables sont disponibles lorsque ce gestionnaire est invoqu. Par dfaut, ce gestionnaire nest pas dfini. Cette mthode est similaire XML.onLoad.

LoadVars.send()
Disponibilit

Flash Player 6.
Usage mes_lv.send(url [,cible, mthode] )

LoadVars.send()

431

Paramtres url cible mthode Renvoie

LURL laquelle tlcharger les variables. La fentre du navigateur dans laquelle les rponses seront affiches. La mthode GET ou POST du protocole HTTP.

Une chane.
Description

Mthode : envoie les variables de lobjet mes_lv lURL spcifie. Toutes les variables numrables dans mes_lv sont concatnes dans une chane au format application/x-www-formurlencoded par dfaut et la chane est envoye lURL laide de la mthode HTTP POST. Il sagit du mme format que celui utilis par laction loadVariables(). Le type de contenu MIME envoy dans les en-ttes de requte HTTP est la valeur mes_lv.contentType ou la valeur par dfaut application/x-www-form-urlencoded. La mthode POST est utilise si GET nest pas spcifie. Si le paramtre cible nest pas spcifi, la rponse du serveur est affiche dans la fentre nomme cible du navigateur. Si le paramtre cible est omis, la rponse du serveur nest pas prise en compte. Cette mthode est similaire XML.send.

LoadVars.sendAndLoad()
Disponibilit

Flash Player 6 ; comportement modifi dans Flash Player 7.


Usage mes_lv.sendAndLoad(url, objetCible[,mthode]) Paramtres url

LURL laquelle tlcharger les variables. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous.
objetCible mthode

Lobjet LoadVars qui reoit les variables charges.

La mthode GET ou POST du protocole HTTP.

Renvoie

Une chane.
Description

Mthode : envoie les variables de lobjet mes_lv lURL spcifie. La rponse du serveur est tlcharge, analyse en tant que donnes de variables, et les variables rsultantes sont places dans lobjet objetCible. Les variables sont envoyes de la mme faon que LoadVars.send(). Les variables sont tlcharges dans objetCible de la mme faon que LoadVars.load().

432

Chapitre 12 : Dictionnaire ActionScript Prsentation

Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com. Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Cette mthode est similaire XML.sendAndLoad.

LoadVars.toString()
Disponibilit

Flash Player 6.
Usage mes_lv.toString() Paramtres

Aucun.
Renvoie

Une chane.
Description

Mthode : renvoie une chane contenant toutes les variables numrables dans mes_lv, dans le contenu MIME encodant application/x-www-form-urlencoded.
Exemple var mesVars = new LoadVars(); mesVars.nom = "Gary"; mesVars.age = 26; trace (mesVars.toString()); // donnerait le rsultat //nom=Gary&age=26

Classe LocalConnection
Disponibilit

Flash Player 6.

Classe LocalConnection

433

Description

La classe LocalConnection permet de dvelopper des fichiers SWF pouvant changer des instructions sans lutilisation de fscommand() ou JavaScript. Les objets LocalConnection ne peuvent communiquer quentre des fichiers SWF excutes sur le mme ordinateur client, mais ils peuvent tre excuts dans deux applications diffrentes, par exemple, un fichier SWF excut dans un navigateur et un autre excut dans une projection. Vous pouvez utiliser les objets LocalConnection pour envoyer et recevoir des donnes au sein dun seul et mme fichier SWF, mais il ne sagit pas l dune implmentation standard ; tous les exemples contenus dans cette section illustrent la communication entre les diffrents fichiers SWF. Les principales mthodes utilises pour envoyer et recevoir des donnes sont LocalConnection.send() et LocalConnection.connect(). De la faon la plus simple, votre code implmente les commandes suivantes ; notez que les commandes LocalConnection.send() et LocalConnection.connect() spcifient le mme nom de connexion, nom_lc :
// Code dans lanimation de rception Rception_lc = new LocalConnection(); Rception_lc.methodToExecute = function(param1, param2) { // Code excuter } Rception_lc.connect("nom_lc"); // Code dans lanimation denvoi Envoi_lc = new LocalConnection(); Envoi_lc.send("nom_lc", "mthodeAExcuter", donne1, donne2)

La faon la plus simple dutiliser un objet LocalConnection est de nautoriser la communication quentre les objets LocalConnection situs dans le mme domaine, puisque vous naurez pas vous occuper des questions de scurit. Cependant, si vous devez autoriser la communication entre les domaines, vous disposez de plusieurs faons dimplmenter les mesures de scurit. Pour plus dinformations, consultez la discussion concernant le paramtre nomDeConnexion dans LocalConnection.send() et les entres LocalConnection.allowDomain et LocalConnection.domain(). Rsum des mthodes de la classe LocalConnection
Mthode
LocalConnection.close() LocalConnection.connect()

Description Ferme (dconnecte) lobjet LocalConnection. Prpare lobjet LocalConnection recevoir les commandes dune commande LocalConnection.send(). Renvoie une chane reprsentant le super-domaine de lemplacement du fichier SWF actuel. Invoque une mthode sur un objet LocalConnection spcifi.

LocalConnection.domain()

LocalConnection.send()

434

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des gestionnaires dvnement de la classe LocalConnection


Gestionnaire dvnement
LocalConnection.allowDomain

Description Invoque si lobjet actuel LocalConnection spcifi (de rception) reoit une requte pour invoquer une mthode partir dun objet denvoi LocalConnection. Invoqu si lobjet LocalConnection (de rception) actuel, qui se trouve dans un fichier SWF hberg dans un domaine utilisant un protocole scuris (HTTPS), reoit une requte pour invoquer une mthode partir de lobjet LocalConnection denvoi qui se trouve dans un fichier SWF hberg sur un protocole non scuris. Invoqu aprs quun objet denvoi LocalConnection ait essay denvoyer une commande un objet LocalConnection de rception.

LocalConnection.allowInsecureDomain

LocalConnection.onStatus

Constructeur pour la classe LocalConnection


Disponibilit

Flash Player 6.
Usage new LocalConnection() Paramtres

Aucun.
Renvoie

Rien.
Description

Constructeur : cre un objet LocalConnection.


Exemple

Lexemple suivant montre comment un fichier SWF denvoi et de rception cre des objets LocalConnnection. Notez que les deux fichiers SWF peuvent utiliser le mme nom ou des noms diffrents pour leurs objets LocalConnection respectifs. Dans cet exemple, ils utilisent le mme nom, ma_lc.
// Code dans le fichier SWF de rception ma_lc = new LocalConnection(); ma_lc.uneMthode = function() // Vos instructions } ma_lc.connect("nomDeConnexion"); // Code dans le fichier SWF denvoi ma_lc = new LocalConnection(); ma_lc.send("nomDeConnexion", "uneMthode");

Classe LocalConnection

435

Consultez galement LocalConnection.connect(), LocalConnection.send()

LocalConnection.allowDomain
Disponibilit

Flash Player 6 ; comportement modifi dans Flash Player 7.


Usage Rception_lc.allowDomain = function([DomaineDenvoi]) { // Vos instructions renvoient true ou false } Paramtres DomaineDenvoi

Un paramtre facultatif spcifiant le domaine du fichier SWF contenant lobjet denvoi LocalConnection. Rien.

Renvoie

Description

Gestionnaire dvnement : invoqu ds que Rception_lc reoit une requte pour invoquer une mthode partir dun objet denvoi LocalConnection. Flash attend le code que vous implmentez dans ce gestionnaire pour renvoyer une valeur boolenne true ou false. Si le gestionnaire ne revoie pas true, la requte de lobjet denvoi est ignore et la mthode nest pas invoque. Utilisez cette commande pour autoriser explicitement les objets LocalConnection des domaines spcifis, ou de tout domaine, excuter les mthodes de rception de lobjet LocalConnection. Si vous ne dclarez pas le paramtre DomaineDenvoi, vous aurez probablement accepter les commandes de tous les domaines ; le code de votre gestionnaire sera tout simplement return true. Si vous dclarez DomaineDenvoi, vous aurez probablement comparer la valeur de DomaineDenvoi avec les domaines dont vous voulez accepter les commandes. Les exemples suivants illustrent ces deux implmentations. Dans des fichiers excuts dans Flash Player 6, le paramtre DomaineDenvoi contient le superdomaine de lappelant. Dans des fichiers excuts dans Flash Player 7 ou ultrieur, le paramtre DomaineDenvoi contient le domaine exact de lappelant. Dans ce dernier cas, pour autoriser laccs par des fichiers SWF hbergs ladresse www.domaine.com ou store.domaine.com, vous devez autoriser explicitement laccs partir des deux domaines.
// Pour Flash Player 6 Rception_lc.allowDomain = function(DomaineDenvoi) { return(DomaineDenvoi=="domaine.com"); } // Commandes correspondantes pour autoriser laccs partir de fichiers SWF // excuts dans Flash Player 7 ou ultrieur Rception_lc.allowDomain = function(DomaineDenvoi) { return(DomaineDenvoi=="www.domaine.com"); DomaineDenvoi=="store.domaine.com"); }

436

Chapitre 12 : Dictionnaire ActionScript Prsentation

De mme, pour des fichiers excuts dans Flash Player 7 ou ultrieur, vous ne pouvez pas utiliser cette mthode pour autoriser des fichiers SWF hbergs laide dun protocole scuris (HTTPS) de permettre laccs partir de fichiers SWF hbergs par des protocoles non scuriss ; vous devez plutt utiliser le gestionnaire dvnement LocalConnection.allowInsecureDomain.
Exemple

Lexemple suivant montre comment un objet LocalConnection dans un fichier SWF de rception peut autoriser les fichiers SWF de tout domaine invoquer ses mthodes. Comparez ceci lexemple de LocalConnection.connect(), dans lequel seuls les fichiers SWF du mme domaine peuvent invoquer la mthode Trace dans le fichier SWF de rception. Pour une discussion concernant lutilisation du trait de soulignement (_) dans le nom de connexion, consultez LocalConnection.send().
var uneConnexionLocale = new LocalConnection(); uneConnexionLocale.Trace = function(uneChane) { unChampDeTexte = unChampDeTexte + uneChane + newline; } uneConnexionLocale.allowDomain = function() { // Tout domaine peut invoquer des mthodes sur cet objet LocalConnection renvoie true; } uneConnexionLocale.connect("_trace");

Dans lexemple suivant, le fichier SWF de rception naccepte que les commandes des fichiers SWF situs dans ceDomaine.fr ou ceDomaineLa.fr.
var uneConnexionLocale = new LocalConnection(); uneConnexionLocale.Trace = function(uneChane) { unChampDeTexte = unChampDeTexte + uneChane + newline; } uneConnexionLocale.allowDomain = function(domaineDenvoi) { return(domaineDenvoi=="ceDomaine.fr" || domaineDenvoi=="ceDomaineLa.fr"); } uneConnexionLocale.connect("_trace"); Consultez galement LocalConnection.connect(), LocalConnection.domain(), LocalConnection.send()

LocalConnection.allowInsecureDomain
Disponibilit

Flash Player 7.
Usage Rception_lc.allowInsecureDomain = function([DomaineDenvoi]) { // Vos instructions renvoient true ou false }

LocalConnection.allowInsecureDomain

437

Paramtres DomaineDenvoi Un paramtre facultatif spcifiant le domaine du fichier SWF contenant lobjet denvoi LocalConnection. Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu si Rception_lc, qui se trouve dans un fichier SWF hberg dans un domaine utilisant un protocole scuris (HTTPS), reoit une requte pour invoquer une mthode partir de lobjet LocalConnection denvoi qui se trouve dans un fichier SWF hberg sur un protocole non scuris. Flash attend le code que vous implmentez dans ce gestionnaire pour renvoyer une valeur boolenne true ou false. Si le gestionnaire ne revoie pas true, la requte de lobjet denvoi est ignore et la mthode nest pas invoque. Par dfaut, les fichiers SWF hbergs utilisant le protocole HTTPS ne sont accessibles que par dautres fichiers SWF hbergs utilisant le protocole HTTPS. Cette implmentation garantit lintgrit fournie par le protocole HTTPS. Lutilisation de cette mthode pour remplacer le comportement par dfaut nest pas recommande car elle compromet la scurit HTTPS. Vous pouvez devoir cependant lutiliser, par exemple, si vous devez autoriser laccs des fichiers HTTPS publis pour Flash Player 7 ou ultrieur partir de fichiers HTTP publis pour Flash Player 6. Un fichier SWF publi pour Flash Player 6 peut utiliser le gestionnaire dvnement LocalConnection.allowDomain pour autoriser un accs HTTP HTTPS. Cependant, tant donn que la scurit est implmente diffremment dans Flash Player 7, vous devez utiliser la mthode LocalConnection.allowInsecureDomain() pour autoriser un tel accs dans des fichiers SWF publis pour Flash Player 7 ou ultrieur.
Consultez galement LocalConnection.allowDomain, LocalConnection.connect()

LocalConnection.close()
Disponibilit

Flash Player 6.
Usage Rception_lc.close Paramtres

Aucun.
Renvoie

Rien.

438

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : ferme (dconnecte) un objet LocalConnection. Emettez cette commande lorsque vous ne voulez plus que lobjet accepte les commandes, par exemple, lorsque vous souhaitez mettre une commande LocalConnection.connect() laide du mme paramtre nomDeConnexion dans un autre fichier SWF.
Consultez galement LocalConnection.connect()

LocalConnection.connect()
Disponibilit

Flash Player 6.
Usage Rception_lc.connect(nomDeConnexion) Paramtres nomDeConnexion Une chane LocalConnection.send() qui Renvoie

qui correspond au nom de connexion spcifi dans la commande veut communiquer avec Rception_lc.

La valeur boolenne est true si aucun autre traitement en cours sur la mme machine client na dj mis cette commande laide de la mme valeur pour le paramtre nomDeConnexion ; dans le cas contraire, la valeur est false.
Description

Mthode : prpare un objet LocalConnection pour recevoir les commandes partir dune commande LocalConnection.send() (nomme objet denvoi LocalConnection ). Lobjet utilis avec cette commande est nomm objet de rception LocalConnection . Les objets de rception et denvoi doivent tre excuts sur la mme machine client. Assurez-vous de dfinir les mthodes lies Rception_lc avant dappeler cette mthode, comme indiqu dans les exemples de cette section. Par dfaut, Flash Player rsout nomDeConnexion en une valeur "superdomaine:nomDeConnexion", o super-domaine est le super-domaine du fichier SWF contenant la commande LocalConnection.connect(). Par exemple, si le fichier SWF contenant lobjet de rception LocalConnection est situ dans www.Domaine.com, nomDeConnexion indique "unDomain.com:nomDeConnexion". (Si un fichier SWF est situ sur lordinateur client, la valeur affecte super-domaine est "localhost".) Par dfaut galement, Flash Player permet lobjet de rception LocalConnection daccepter uniquement les commandes des objets denvoi LocalConnection dont le nom de connexion indique galement une valeur "super-domaine:nomDeConnexion". Ainsi, Flash facilite la communication entre les fichiers SWF situs dans le mme domaine. Si vous implmentez une communication seulement entre les fichiers SWF du mme domaine, spcifiez une chane pour nomDeConnexion qui ne commence pas par un trait de soulignement (_) et qui nindique aucun nom de domaine (par exemple "monDomaine:nomDeConnexion"). Utilisez la mme chane dans la commande LocalConnection.connect(nomDeConnexion).

LocalConnection.connect()

439

Si vous implmentez une communication entre des fichiers SWF situs dans diffrents domaines, consultez la section relative nomDeConnexion dans LocalConnection.send() et les entres LocalConnection.allowDomain et LocalConnection.domain().
Exemple

Lexemple suivant illustre comment un fichier SWF situ dans un domaine particulier peut invoquer une mthode nomme Trace dans un fichier SWF de rception du mme domaine. La rception dun fichier SWF fonctionne comme une fentre trace pour le fichier SWF denvoi ; elle contient deux mthodes que les autres fichiers SWF peuvent appeler Trace et Clear. Les boutons enfoncs dans les fichiers SWF denvoi appellent ces mthodes avec les paramtres spcifis.
// Fichier SWF de rception var uneConnexionLocale = new LocalConnection(); uneConnexionLocale.Trace = function(uneChane) { unChampDeTexte = unChampDeTexte + uneChane + newline; } uneConnexionLocale.allowDomain = function() { { unChampDeTexte = ""; } uneConnexionLocale.connect("trace"); stop();

Le fichier SWF 1 contient le code suivant li un bouton tiquet AppuyezIci. Lorsque vous appuyez sur le bouton, vous voyez apparatre la phrase Le bouton a t enfonc dans le fichier SWF de rception.
on (press) { var cl = new LocalConnection(); cl.send("trace", "Trace", "Le bouton a t enfonc."); delete cl; }

Le fichier SWF 2 contient un champ de texte de saisie avec un nom de variable monTexte et le code suivant associ un bouton nomm Copier. Lorsque vous tapez du texte puis enfoncez le bouton, vous voyez le texte tap apparatre dans le fichier SWF de rception.
on (press) { _parent.lc.send("trace", "Trace", _parent.monTexte); _parent.monTexte = ""; }

Le fichier SWF 3 contient le code suivant li un bouton tiquet Clear. Lorsque vous enfoncez le bouton, le contenu de la fentre trace dans le fichier SWF de rception est effac.
on (press) { var cl = new LocalConnection(); cl.send("trace", "Clear"); delete cl; } Consultez galement LocalConnection.send()

440

Chapitre 12 : Dictionnaire ActionScript Prsentation

LocalConnection.domain()
Disponibilit

Flash Player 6 ; comportement modifi dans Flash Player 7.


Usage ma_lc.domain() Paramtres

Aucun.
Renvoie

Une chane reprsentant le domaine de lemplacement du fichier SWF actuel ; pour plus de dtails, consultez la description ci-dessous.
Description

Mthode : renvoie une chane reprsentant le domaine de lemplacement du fichier SWF actuel. Dans des fichiers SWF publis pour Flash Player 6, la chane renvoye est le super-domaine du fichier SWF actuel. Par exemple, si le fichier SWF est situ sur www.macromedia.com, cette commande renvoie macromedia.com. Dans des fichiers SWF publis pour Flash Player 7 ou ultrieur, la chane renvoye est le domaine exact du fichier SWF actuel. Par exemple, si le fichier SWF est situ sur www.macromedia.com, cette commande renvoie "www.macromedia.com". Si le fichier SWF actuel est un fichier local rsidant sur lordinateur client, cette commande renvoie "localhost". La faon la plus courante dutiliser cette commande est dinclure le nom de domaine de lobjet denvoi LocalConnection comme paramtre dans la mthode que vous envisagez dinvoquer dans lobjet de rception LocalConnection, ou conjointement avec LocalConnection.allowDomain pour accepter les commandes dun domaine spcifique. Si vous activez la communication seulement entre des objets LocalConnection situs dans un mme domaine, vous naurez probablement pas besoin dutiliser cette commande.
Exemple

Dans lexemple suivant, un fichier SWF de rception accepte uniquement les commandes des fichiers SWF situs dans le mme domaine ou sur macromedia.com.
ma_lc = new LocalConnection(); ma_lc.allowDomain = function(domaineDenvoi) { return (domaineDenvoi==this.domain() || domaineDenvoi=="macromedia.com"); }

Dans lexemple suivant, un fichier SWF denvoi situ dans votreDomaine.com invoque une mthode dans un fichier SWF de rception situ sur monDomaine.com. Le fichier SWF denvoi inclut son nom de domaine en tant que paramtre dans la mthode quil invoque, de sorte que le fichier SWF de rception puisse renvoyer une valeur un objet LocalConnection dans le domaine correct. Le fichier SWF denvoi spcifie galement quil naccepte que les commandes des fichiers SWF de monDomaine.com. Les numros de ligne sont inclus pour rfrence. La squence des vnements est la suivante :

LocalConnection.domain()

441

Le fichier de rception se prpare recevoir les commandes sur une connexion nomme
"somme" (ligne 11). Flash Player correspond au nom de cette connexion "monDomaine.com:somme" (consultez LocalConnection.connect()).

Le fichier SWF denvoi se prpare recevoir une rponse sur lobjet LocalConnection nomm
"rsultat" (ligne 58). Il indique galement quil naccepte que les commandes des fichiers SWF de monDomaine.com (lignes 51 53). Le fichier SWF denvoi invoque la mthode uneSomme dune connexion nomme "monDomaine.com:somme" (ligne 59) et transmet les paramtres suivants : son domaine (lc.domain()), le nom de la connexion qui doit recevoir la rponse ("rsultat") et les valeurs utiliser par uneSomme (123 et 456). La mthode uneSomme (ligne 6) est invoque avec les valeurs suivantes : sender = "monDomaine.com:rsultat", replyMethod = "unRsultat", n1 = 123 et n2 = 456. Elle excute donc la ligne de code suivante : this.send("monDomaine.com:rsultat", "unRsultat", (123 + 456));

La mthode unRsultat (ligne 54) affiche la valeur renvoye par uneSomme (579).
// Le fichier SWF de rception sur http://www.monDomaine.com/rpertoire/ animation.swf // contient le code suivant 1 2 3 4 5 6 7 8 9 10 11 var uneConnexionLocale = new LocalConnection(); uneConnexionLocale.allowDomain = function() { // Autoriser les connexions de tous les domaines renvoie true; } uneConnexionLocale.uneSomme = function(sender, replyMethod, n1, n2) { this.send(sender, replyMethod, (n1 + n2)); } uneConnexionLocale.connect("somme");

// Le fichier SWF denvoi sur http://www.votreDomaine.com/rpertoire/ animation.swf // contient le code suivant 50 51 52 53 54 55 56 57 58 59 var cl = new LocalConnection(); cl.allowDomain = function(unDomaine) { // Nautoriser que les connexions partir de monDomaine.com return (unDomaine == "monDomaine.com"); } cl.unRsultat = function(unParam) { trace("La somme est" + unParam); } cl.connect("rsultat"); cl.send("monDomaine.com:somme", "uneSomme", cl.domain() + : + "rsultat", "unRsultat", 123, 456);

Consultez galement LocalConnection.allowDomain

442

Chapitre 12 : Dictionnaire ActionScript Prsentation

LocalConnection.onStatus
Disponibilit

Flash Player 6.
Usage Envoi_lc.onStatus = function(objetInfo) { // vos instructions } Paramtres objetInfo Un paramtre dfini selon le message dtat. Pour plus de dtails concernant ce paramtre, consultez la description ci-dessous. Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu aprs quun objet denvoi LocalConnection a essay denvoyer une commande un objet de rception LocalConnection. Si vous souhaitez rpondre ce gestionnaire dvnement, vous devez crer une fonction afin de traiter lobjet LocalConnection. Si lobjet dinformation renvoy par ce gestionnaire dvnement contient une valeur level "Etat", Flash parvient envoyer la commande un objet de rception LocalConnection. Cela ne signifie pas que Flash parvient invoquer la mthode spcifie de lobjet de rception LocalConnection, mais simplement quil a envoy la commande. Par exemple, la mthode nest pas invoque si lobjet de rception LocalConnection ne permet pas les connexions partir du domaine denvoi ou si la mthode nexiste pas. La seule faon de sassurer que la mthode a bien t invoque est de faire en sorte que lobjet de rception envoie une rponse lobjet denvoi. Si lobjet dinformation renvoy par ce gestionnaire contient une valeur level "Erreur", cela signifie que Flash na pas pu envoyer la commande un objet de rception LocalConnection, sans doute parce quil nexiste pas dobjet de rception LocalConnection connect dont le nom spcifi corresponde au nom spcifi dans la commande Envoi_lc.send() qui a invoqu ce gestionnaire. Outre ce gestionnaire onStatus, Flash propose galement une super fonction appele System.onStatus. Si onStatus est invoqu pour un objet particulier et quaucune fonction nest affecte pour lui rpondre, Flash traite une fonction affecte System.onStatus sil en existe une. Dans la plupart des cas, vous naurez implmenter ce gestionnaire que pour rpondre aux conditions derreur, comme indiqu dans lexemple suivant.
Exemple

Lexemple suivant affiche les informations concernant une connexion choue dans le panneau de sortie :
Envoi_lc = new LocalConnection(); Envoi_lc.onStatus = function(objetInfo) { if (objetInfo.level == "Erreur") {

LocalConnection.onStatus

443

trace("La connexion a chou."); } } Envoi_lc.send("Rception_lc", "nomDeMthode"); Consultez galement LocalConnection.send(), System.onStatus

LocalConnection.send()
Disponibilit

Flash Player 6.
Usage Envoi_lc.send (nomDeConnexion, mthode [, p1,...,pN]) Paramtres nomDeConnexion Une chane qui correspond au nom de connexion spcifi LocalConnection.connect() qui veut communiquer avec Envoi_lc. mthode

dans la commande

Une chane spcifiant le nom dune mthode invoquer dans lobjet de rception LocalConnection. Les noms de mthode suivants provoquent lchec de la commande : send, connect, close, domain, onStatus et allowDomain.
p1,...pN Renvoie

paramtres facultatifs devant tre transmis la mthode spcifie.

Une valeur boolenne true si Flash peut effectuer la requte : sinon, la valeur est false.
Remarque : Une valeur renvoye true ne signifie pas ncessairement que Flash a russi se connecter un objet de rception LocalConnection, mais simplement que la syntaxe de la commande est correcte. Pour dterminer si la connexion a russi, consultez LocalConnection.onStatus. Description

Mthode : invoque la mthode nomme method sur une connexion ouverte avec la commande LocalConnection.connect(nomDeConnexion) (appele objet de rception LocalConnection ). Lobjet utilis avec cette commande est nomm objet denvoi LocalConnection . Les fichiers SWF contenant les objets denvoi et de rception doivent tre excuts sur le mme ordinateur client. Il existe une limite en terme de quantit de donnes transmissibles en tant que paramtres cette commande. Si la commande renvoie false mais que votre syntaxe est correcte, essayez de sparer les requtes LocalConnection.send() en plusieurs commandes. Comme discut dans lentre LocalConnection.connect(), Flash ajoute le super-domaine actuel nomDeConnexion par dfaut. Si vous implmentez une communication entre diffrents domaines, vous devez dfinir nomDeConnexion dans les objets denvoi et de rception LocalConnection, de telle sorte que Flash najoute pas le super-domaine actuel nomDeConnexion. Il existe deux faons de faire :

444

Chapitre 12 : Dictionnaire ActionScript Prsentation

Utilisez un trait de soulignement (_) au dbut de la chane nomDeConnexion des objets denvoi
et de rception LocalConnection. Dans le fichier SWF contenant lobjet de rception, utilisez LocalConnection.allowDomain pour indiquer que les connexions partir de tous les domaines sont acceptes. Cette implmentation vous permet de stocker vos fichiers SWF denvoi et de rception dans tous les domaines. Incluez le super-domaine dans le nomDeConnexion de lobjet denvoi LocalConnection, par exemple monDomaine.com:monNomDeConnexion. Dans lobjet de rception, utilisez LocalConnection.allowDomain pour indiquer que les connexions partir du super-domaine spcifi seront acceptes (dans ce cas, monDomaine.com) ou que les connexions partir de tous les domaines seront acceptes.

Remarque : Il nest pas possible de spcifier un super-domaine dans la chane nomDeConnexion de lobjet de rception LocalConnection. Vous ne pouvez le faire que dans lobjet denvoi LocalConnection. Exemple

Pour un exemple de communication entre des objets LocalConnection situs dans le mme domaine, consultez LocalConnection.connect(). Pour un exemple de communication entre des objets LocalConnection situs dans tous les domaines, consultez LocalConnection.allowDomain. Pour un exemple de communication entre des objets LocalConnection situs dans des domaines spcifis, consultez LocalConnection.allowDomain et LocalConnection.domain().
Consultez galement LocalConnection.allowDomain, LocalConnection.connect(), LocalConnection.domain(), LocalConnection.onStatus

lt (infrieur spcifique aux chanes)


Disponibilit

Flash Player 4. Cet oprateur est dconseill dans Flash 5 et remplac par le nouvel oprateur <(infrieur ).
Usage expression1 lt expression2 Paramtres expression1, expression2 Description

Nombres, chanes ou variables.

Oprateur (comparaison) ; compare expression1 avec expression2 et renvoie true si expression1 est infrieure expression2 ; sinon, renvoie false.
Consultez galement <(infrieur )

lt (infrieur spcifique aux chanes)

445

Classe Math
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Description

La classe Math est une classe de premier niveau dont les mthodes et les proprits sont utilisables sans constructeur. Utilisez les mthodes et les proprits de cette classe pour accder aux constantes et aux fonctions mathmatiques et pour les manipuler. Toutes les proprits et mthodes de la classe Math sont statiques et doivent tre appeles en utilisant la syntaxe Math.mthode(paramtre) ou Math.constante. Dans ActionScript, les constantes sont dfinies avec le maximum de prcision des nombres virgule flottante double prcision IEEE-754. Plusieurs mthodes de la classe Math utilisent le radian dun angle comme paramtre. Vous pouvez utiliser lquation ci-dessous pour calculer les valeurs en radians, ou simplement transmettre lquation (en entrant une valeur pour les degrs) pour le paramtre de radian. Pour calculer une valeur en radians, utilisez cette formule :
radian = Math.PI/180 * degree

Lexemple suivant illustre la transmission de lquation comme paramtre pour calculer le sinus dun angle de 45 degrs :
Math.SIN(Math.PI/180 * 45)

est identique Math.SIN(.7854)

La classe Math est totalement prise en charge par Flash Player 5. Dans Flash Player 4, les mthodes de la classe Math fonctionnent, mais sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5. Mthodes de la classe Math
Mthode
Math.abs() Math.acos Math.asin() Math.atan() Math.atan2() Math.ceil() Math.cos Math.exp Math.floor Math.log()

Description Calcule une valeur absolue. Calcule le cosinus dun arc. Calcule le sinus dun arc. Calcule la tangente dun arc. Calcule un angle depuis laxe des x jusquau point. Arrondit un nombre lentier suprieur le plus proche. Calcule un cosinus. Calcule une valeur exponentielle. Arrondit un nombre lentier infrieur le plus proche. Calcule un logarithme naturel.

446

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthode
Math.max() Math.min() Math.pow() Math.random() Math.round() Math.sin() Math.sqrt() Math.tan()

Description Renvoie le plus grand des deux entiers. Renvoie le plus petit des deux entiers. Calcule x lev la puissance y. Renvoie un nombre pseudo-alatoire entre 0,0 et 1,0. Arrondit lentier le plus proche. Calcule un sinus. Calcule une racine carre. Calcule une tangente.

Rsum des proprits de la classe Math Toutes les proprits de la classe Math sont des constantes.
Proprit
Math.E Math.LN2 Math.LOG2E Math.LN2 Math.LOG10E Math.PI

Description Constante dEuler et base des logarithmes naturels (approximativement 2,718). Le logarithme naturel de 2 (approximativement 0,693). Le logarithme de base 2 de e (approximativement 1,442). Le logarithme naturel de 10 (approximativement 2,302). Le logarithme de base 10 de e (approximativement 0,434). Le rapport de la circonfrence dun cercle son diamtre (approximativement 3,14159). La rciproque de la racine carre de 1/2 (approximativement 0,707). La racine carre de 2 (approximativement 1,414).

Math.SQRT1_2 Math.SQRT2

Math.abs()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.abs(x) Paramtres x

Un nombre.

Renvoie

Nombre.

Math.abs()

447

Description

Mthode : calcule et renvoie une valeur absolue pour le nombre spcifi par le paramtre x.

Math.acos
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.acos(x) Paramtres x

Un nombre entre -1,0 et 1,0.

Renvoie

Rien.
Description

Mthode : calcule et renvoie le cosinus de larc du nombre spcifi par le paramtre x, en radians.

Math.asin()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.asin(x); Paramtres x

Un nombre entre -1,0 et 1,0.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie le sinus de larc du nombre spcifi par le paramtre x, en radians.

Math.atan()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.

448

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage Math.atan(x) Paramtres x

Un nombre.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie la tangente de larc pour le nombre spcifi par le paramtre x. La valeur renvoye se situe entre pi ngatif divis par 2 et pi positif divis par 2.

Math.atan2()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.atan2(y, x) Paramtres x y

Un nombre spcifiant la coordonne x du point. Un nombre spcifiant la coordonne y du point.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie la tangente de larc y/x, en radians. La valeur renvoye reprsente langle oppos dun triangle droit, o x est la longueur du ct adjacent et y est la longueur du ct oppos.

Math.ceil()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.ceil(x) Paramtres x

Un nombre ou expression.

Math.ceil()

449

Renvoie

Nombre.
Description

Mthode : renvoie le plafond du nombre ou de lexpression spcifis. Le plafond dun nombre est lentier le plus proche suprieur ou gal ce nombre.

Math.cos
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.cos(x) Paramtres x

Un angle mesur en radians.

Renvoie

Nombre.
Description

Mthode : renvoie le cosinus (une valeur entre -1.0 et 1.0) de langle spcifi par le paramtre x. Langle x doit tre spcifi en radians. Utilisez les informations surlignes dans lentre Classe Math afin de calculer un radian.

Math.E
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.E Paramtres

Aucun.
Renvoie

Rien.
Description

Constante ; une constante mathmatique pour la base des logarithmes naturels, exprime sous la forme e. La valeur approximative de e est 2.71828.

450

Chapitre 12 : Dictionnaire ActionScript Prsentation

Math.exp
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.exp(x) Paramtres x

Lexposant : un nombre ou une expression.

Renvoie

Nombre.
Description

Mthode : renvoie la valeur de la base du logarithme naturel (e), la puissance de lexposant spcifi dans le paramtre x. La constante Math.E peut fournir la valeur de e.

Math.floor
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.floor(x) Paramtres x

Un nombre ou expression.

Renvoie

Nombre.
Description

Mthode : renvoie le plancher du nombre ou de lexpression spcifis dans le paramtre x. Le plancher est lentier le plus proche infrieur ou gal au nombre ou lexpression spcifis.
Exemple

Le code suivant renvoie une valeur de 12 :


Math.floor(12.5);

Math.floor

451

Math.log()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.log(x) Paramtres x

Un nombre ou une expression avec une valeur suprieure 0.

Renvoie

Nombre.
Description

Mthode : renvoie le logarithme du paramtre x.

Math.LN2
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.LN2 Paramtres

Aucun.
Renvoie

Rien.
Description

Constante ; une constante mathmatique pour le logarithme naturel de 2, exprime sous la forme loge2, avec une valeur approximative de 0.69314718055994528623.

Math.LN10
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.LN10

452

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres

Aucun.
Renvoie

Rien.
Description

Constante : une constante mathmatique pour le logarithme naturel de 10, exprime sous la forme loge10, avec une valeur approximative de 2.3025850929940459011.

Math.LOG2E
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.LOG2E Paramtres

Aucun.
Renvoie

Rien.
Description

Constante : une constante mathmatique pour le logarithme de base 2 de la constante e (Math.E), exprime sous la forme log2e, avec une valeur approximative de 1.442695040888963387.

Math.LOG10E
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.LOG10E Paramtres

Aucun.
Renvoie

Rien.

Math.LOG10E

453

Description

Constante ; une constante mathmatique pour le logarithme de base 10 de la constante e (Math.E), exprime sous la forme log10e, avec une valeur approximative de 0.43429448190325181667.

Math.max()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.max(x , y) Paramtres x y

Un nombre ou expression. Un nombre ou une expression.

Renvoie

Nombre.
Description

Mthode : value x et y et renvoie la valeur la plus grande.

Math.min()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.min(x , y) Paramtres x y

Un nombre ou expression. Un nombre ou une expression.

Renvoie

Nombre.
Description

Mthode : value x et y et renvoie la valeur la plus petite.

454

Chapitre 12 : Dictionnaire ActionScript Prsentation

Math.PI
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.PI Paramtres

Aucun.
Renvoie

Rien.
Description

Constante ; une constante mathmatique pour le rapport de la circonfrence dun cercle son diamtre, exprime sous la forme pi, avec une valeur de 3.14159265358979.

Math.pow()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.pow(x , y) Paramtres x y

Un nombre lever une puissance. Un nombre spcifiant la puissance laquelle le paramtre x est lev.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie x la puissance de y: xy.

Math.random()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.

Math.random()

455

Usage Math.random() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : renvoie n, o 0 <= n <1.


Consultez galement random

Math.round()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.round(x) Paramtres x

Un nombre.

Renvoie

Nombre.
Description

Mthode : arrondit la valeur du paramtre x lentier infrieur ou suprieur le plus proche et renvoie la valeur.

Math.sin()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.sin(x) Paramtres x

Un angle mesur en radians.

456

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Nombre : le sinus de langle spcifi (entre -1,0 et 1,0).


Description

Mthode : calcule et renvoie le sinus de langle spcifi, en radians. Utilisez les informations surlignes dans lentre Classe Math afin de calculer un radian.

Math.sqrt()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.sqrt(x) Paramtres x

Un nombre ou une expression suprieur ou gal 0.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie la racine carre du nombre spcifi.

Math.SQRT1_2
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.SQRT1_2 Paramtres

Aucun.
Renvoie

Rien.
Description

Constante : une constante mathmatique pour la racine carre dun demi.

Math.SQRT1_2

457

Math.SQRT2
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.SQRT2 Paramtres

Aucun.
Renvoie

Rien.
Description

Constante ; une constante mathmatique pour la racine carre de 2, avec une valeur approximative de 1.414213562373.

Math.tan()
Disponibilit

Flash Player 5. Dans Flash Player 4, les mthodes et les proprits de la classe Math sont mules laide dapproximations et peuvent ne pas tre aussi prcises que les fonctions mathmatiques non mules prises en charge par Flash Player 5.
Usage Math.tan(x) Paramtres x

Un angle mesur en radians.

Renvoie

Nombre.
Description

Mthode : calcule et renvoie la tangente de langle spcifi. Pour calculer un radian, utilisez les informations indiques dans lintroduction de Classe Math.

maxscroll
Disponibilit

Flash Player 4. Cette fonction est dconseille et remplace par la proprit TextField.maxscroll.
Usage nomDeVariable.maxscroll

458

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit (lecture seule) : une proprit dconseille qui indique le numro de ligne de la premire ligne de texte visible dans un champ de texte lorsque la dernire ligne du champ est galement visible. La proprit maxscroll fonctionne avec la proprit scroll pour contrler laffichage des informations dans un champ de texte. Cette proprit peut tre rcupre mais pas modifie.
Consultez galement TextField.maxscroll, TextField.scroll

mbchr
Disponibilit

Flash Player 4. Cette fonction est dconseille et remplace par la mthode String.fromCharCode().
Usage mbchr(nombre) Paramtres nombre Renvoie

Le nombre convertir en caractre multioctet.

Une chane.
Description

Fonction de chane ; convertit un code ASCII en caractre multioctet.


Consultez galement String.fromCharCode()

mblength
Disponibilit

Flash Player 4. Cette fonction est dconseille et remplace par Classe String.
Usage mblength(chane) Paramtres chane Renvoie

Une chane.

Nombre.
Description

Fonction de chane ; renvoie la longueur de la chane de caractres multioctet.

mblength

459

mbord
Disponibilit

Flash Player 4. Cette fonction est dconseille dans Flash 5 ; utilisez plutt String.charCodeAt.
Usage mbord(caractre) Paramtres caractre Renvoie

Le caractre convertir en nombre multioctet.

Nombre.
Description

Fonction de chane ; convertit le caractre spcifi en nombre multioctet.


Consultez galement String.fromCharCode()

mbsubstring
Disponibilit

Flash Player 4. Cette fonction est dconseille dans Flash 5 ; utilisez plutt String.substr.
Usage mbsubstring(valeur, index, nombre) Paramtres valeur index nombre

La chane multioctet de laquelle extraire une nouvelle chane multioctet. Le numro du premier caractre extraire. Le nombre de caractres inclure dans la chane extraite, en excluant le caractre

dindex.
Renvoie

Une chane.
Description

Fonction de chane ; extrait une nouvelle chane de caractres multioctet dune chane de caractres multioctet.
Consultez galement String.substr

460

Chapitre 12 : Dictionnaire ActionScript Prsentation

Classe Microphone
Disponibilit

Flash Player 6.
Description

La classe Microphone permet de capturer du son partir dun microphone connect lordinateur sur lequel Flash Player est excut. La classe Microphone est essentiellement destine tre utilise avec Flash Communication Server, mais vous pouvez lutiliser de faon restreinte sans le serveur, par exemple, pour transmettre du son partir du microphone vers les haut-parleurs de votre systme local. Pour crer ou rfrencer un objet Microphone, utilisez la mthode Microphone.get(). Rsum des mthodes de la classe Microphone
Mthode
Microphone.get()

Description Renvoie un objet Microphone par dfaut ou spcifi, ou null si le microphone nest pas disponible. Spcifie le niveau damplification que le microphone doit appliquer au signal. Spcifie le taux dchantillonnage auquel le microphone doit capturer le son, en kHz. Spcifie le niveau sonore requis pour activer le microphone. lcho du codec audio.

Microphone.setGain()

Microphone.setRate()

Microphone.setSilenceLevel()

Microphone.setUseEchoSuppression() Spcifie lutilisation ou non de la fonction de suppression de

Rsum des proprits de la classe Microphone


Proprit (lecture seule)
Microphone.activityLevel Microphone.gain

Description Quantit de son dtecte par le microphone. Niveau damplification que le microphone applique au signal avant de le transmettre. Index du microphone actuel. Valeur boolenne indiquant si lutilisateur dispose de laccs autoris ou refus au microphone. Nom du priphrique de capture du son, tel que renvoy par le priphrique de capture du son. Proprit de classe : tableau de chanes contenant les noms de lensemble des priphriques de capture du son disponibles, y compris les cartes son et les microphones. Taux dchantillonnage du son, en kHz. Niveau sonore requis pour activer le microphone.

Microphone.index Microphone.muted

Microphone.name

Microphone.names

Microphone.rate Microphone.silenceLevel()

Classe Microphone

461

Proprit (lecture seule)


Microphone.silenceTimeout()

Description Nombre de millisecondes entre le moment o le microphone cesse de dtecter du son et le moment o Microphone.onActivity(false) est appel. Valeur boolenne spcifiant si la fonction de suppression de lcho est utilise.

Microphone.useEchoSuppression()

Gestionnaires dvnement de la classe Microphone


Gestionnaire dvnement
Microphone.onActivity

Description Invoqu lorsque le microphone commence ou arrte de dtecter du son. Invoqu lorsque lutilisateur autorise ou refuse laccs au microphone.

Microphone.onStatus

Constructeur pour la classe Microphone Pour plus dinformations, consultez Microphone.get().

Microphone.activityLevel
Disponibilit

Flash Player 6.
Usage MicrophoneActif.activityLevel Description

Proprit (lecture seule) : valeur numrique spcifiant le niveau sonore dtect par le microphone. Cette valeur est comprise entre 0 (aucun son nest dtect) et 100 (les sons trs puissants sont dtects). La valeur de cette proprit peut vous aider dterminer la valeur transmettre la mthode Microphone.setSilenceLevel(). Si le microphone est disponible mais quil nest pas encore utilis car Microphone.get() na pas encore t appel, cette proprit est dfinie sur -1.
Exemple

Lexemple suivant dfinit la variable niveau sur le niveau dactivit du microphone actuel, monMic.activityLevel.
var niveau = monMic.activityLevel; Consultez galement Microphone.setGain()

462

Chapitre 12 : Dictionnaire ActionScript Prsentation

Microphone.gain
Disponibilit

Flash Player 6.
Usage MicrophoneActif.gain Description

Proprit (lecture seule) : le niveau damplification que le microphone applique au signal. Les valeurs valides sont comprises entre 0 et 100. La valeur par dfaut est 50.
Exemple

Lexemple suivant est associ au curseur dune barre de rglage. Lorsque le clip est charg, Flash recherche la valeur de monMic.gain et utilise une valeur par dfaut si elle nest pas dfinie. La position _x sert ensuite dfinir le gain du microphone selon les prfrences de lutilisateur.
onClipEvent(load) { if (_root.monMic.gain == undefined) { _root.monMic.setGain = 75; } this._x = _root.monMic.gain; _root.txt_micgain = this._x; left = this._x; right = left+50; top = this._y; bottom = top; } on(press) { startDrag(this, false, gauche, haut, droit, bas); this._xscale = 100; this._yscale = 100; } on (release, releaseOutside) { stopDrag(); g = (this._x-50)*2; _root.monMic.setGain(g); _root.txt_micgain = g; this._xscale = 100; this._yscale = 100; } Consultez galement Microphone.setGain()

Microphone.get()
Disponibilit

Flash Player 6.

Microphone.get()

463

Usage Microphone.get([index]) Remarque : La syntaxe correcte est Microphone.get(). Pour affecter lobjet Microphone une variable, utilisez une syntaxe de type active_mic=Microphone.get(). Paramtres index Un entier de base rzo facultatif qui spcifie le microphone rcuprer, comme lindique le tableau contenu par Microphone.names. Pour rcuprer le microphone par dfaut (ce qui est recommand pour la plupart des applications), omettez ce paramtre. Renvoie

Si index nest pas spcifi, la mthode renvoie une rfrence au microphone par dfaut ou, sil
nest pas disponible, au premier microphone disponible. Si aucun microphone nest disponible ou install, la mthode renvoie null. Si index nest pas spcifi, la mthode renvoie une rfrence au microphone demand ou null sil nest pas disponible.

Description

Mthode : renvoie une rfrence lobjet Microphone afin de capturer du son. Pour rellement commencer capturer du son, vous devez associer lobjet Microphone un objet MovieClip (consultez MovieClip.attachAudio()). Contrairement aux objets crs laide du constructeur new, les appels multiples Microphone.get() font toujours rfrence au mme microphone. Si le script contient les lignes mic1=Microphone.get() et mic2=Microphone.get(), mic1 et mic2 font toujours rfrence au mme microphone (par dfaut). En gnral, il nest pas ncessaire de transmettre la valeur index ; il suffit dutiliser la mthode Microphone.get() pour renvoyer une rfrence au microphone par dfaut. Lutilisateur peut indiquer le microphone utiliser par dfaut dans le panneau Microphone des paramtres Flash Player (dcrit plus loin dans cette section). Si vous transmettez une valeur index, vous risquez de faire rfrence un microphone diffrent de celui que lutilisateur prfre. La valeur index peut servir dans quelques cas assez rares, par exemple, si votre application capture du son partir de deux microphones la fois. Lorsquun fichier SWF tente daccder au microphone renvoy par la mthode (par exemple, lorsque vous utilisez MovieClip.attachAudio()), Flash Player affiche une bote de dialogue Privacy permettant lutilisateur dautoriser ou de refuser laccs au microphone. (Vrifiez que la scne mesure au moins 215 x 138 pixels ; cest la taille minimale requise par Flash pour afficher la bote de dialogue.)
Microphone.get()

464

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lorsque lutilisateur rpond cette bote de dialogue, le gestionnaire dvnement Microphone.onStatus renvoie un objet information indiquant la rponse. Pour savoir si lutilisateur a autoris ou refus laccs la camera sans traiter le gestionnaire dvnement, utilisez Microphone.muted. Pour spcifier des paramtres de confidentialit permanents pour un domaine particulier, lutilisateur peut galement cliquer avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Contrle (Macintosh) pendant la lecture dun fichier SWF, puis choisir Paramtres, ouvrir le panneau Privacy, et slectionner Se rappeler.

Si Microphone.get() renvoie null, le microphone est utilis par une autre application ou aucun microphone nest install sur le systme. Pour savoir si des microphones sont installs, utilisez Microphones.names.length. Pour afficher le panneau Microphone des paramtres Flash Player, qui permet lutilisateur de choisir le microphone rfrenc par Microphone.get(), utilisez System.showSettings(2).

Exemple

Lexemple suivant permet lutilisateur de spcifier le microphone par dfaut, de capturer du son et de le restitue localement. Pour viter le retour, vous pouvez tester ce code en portant un casque.
System.showSettings(2); monMic = Microphone.get(); _root.attachAudio(monMic); Consultez galement Microphone.index, Microphone.muted, Microphone.names, Microphone.onStatus, MovieClip.attachAudio()

Microphone.index
Disponibilit

Flash Player 6.
Usage MicrophoneActif.index

Microphone.index

465

Description

Proprit (lecture seule) : un entier bas sur zro spcifiant lindex du microphone, tel que dans le tableau renvoy par Microphone.names.
Consultez galement Microphone.get(), Microphone.names

Microphone.muted
Disponibilit

Flash Player 6.
Usage MicrophoneActif.muted Description

Proprit (lecture seule) : valeur boolenne spcifiant si lutilisateur a refus laccs au microphone (true) ou la autoris (false). Lorsque cette valeur change, Microphone.onStatus est invoqu. Pour plus dinformations, consultez Microphone.get().
Exemple

Dans lexemple suivant, lorsque lutilisateur clique sur le bouton, Flash publie et lit un flux continu si le microphone nest pas dsactiv.
on (press) { // Si lutilisateur dsactive le microphone, afficher une notification. // Sinon, publier et lire un flux continu partir du microphone. if(monMic.muted) { _root.debugWindow+="Microphone dsactiv." + newline; } else { // Publier les donnes du microphone en appelant // la fonction racine pubLive(). _root.pubLive(); // Jouer ce qui est publi en appelant // la fonction racine playLive(). _root.playLive(); } } Consultez galement Microphone.get(), Microphone.onStatus

Microphone.name
Disponibilit

Flash Player 6.
Usage MicrophoneActif.name

466

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit (lecture seule) : une chane spcifiant le nom du priphrique de son actuel, tel que renvoy par le priphrique de capture du son.
Exemple

Lexemple suivant affiche le nom du microphone par dfaut dans le panneau de sortie.
monMic = Microphone.get(); trace("Le nom du microphone est : " + monMic.name); Consultez galement Microphone.get(), Microphone.names

Microphone.names
Disponibilit

Flash Player 6.
Usage Microphone.names Remarque : La syntaxe correcte est Microphone.names. Pour affecter la valeur de renvoi une variable, utilisez une syntaxe de type mic_array=Microphone.names. Pour connatre le nom du microphone actuel, utilisez MicrophoneActif.name. Description

Proprit de classe (lecture seule) : rcupre un tableau de chanes contenant les noms de tous les priphriques de capture de son disponibles sans afficher le panneau Privacy des paramtres Flash Player. Ce tableau se comporte comme tous les tableaux ActionScript : il fournit implicitement lindex bas sur zro de chaque priphrique de capture du son et indique le nombre total de priphriques de capture du son installs sur le systme ( laide de Microphone.names.length). Pour plus dinformations, consultez lentre Classe Array. La fonction Microphone.names implique une analyse dtaille du matriel ; la cration du tableau peut donc prendre quelques secondes. Dans la plupart des cas, il suffit dutiliser le microphone par dfaut.
Exemple

Le code suivant renvoie des informations sur le tableau des priphriques audio.
allMicNames_array = Microphone.names; _root.debugWindow += "Microphone.names a trouv le(s) priphrique(s) suivant(s) :" + newline; for(i=0; i < allMicNames_array.length; i++){ debugWindow += "[" + i + "]: " + allMicNames[i] + newline; }

Vous pouvez, par exemple, afficher les informations suivantes :


Microphone.names a trouv le(s) priphrique(s) suivant(s) : [0]: Crystal SoundFusion(tm) [1]: Priphrique audio USB

Microphone.names

467

Consultez galement

Classe Array, Microphone.name

Microphone.onActivity
Disponibilit

Flash Player 6.
Usage MicrophoneActif.onActivity = function(activit) { // vos instructions } Paramtres activit

Une valeur boolenne dfinie sur true lorsque le microphone commence dtecter du son et sur false lorsquil sarrte.

Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le microphone commence ou arrte de dtecter du son. Si vous souhaitez rpondre ce gestionnaire dvnement, vous devez crer une fonction afin de traiter sa valeur activit. Pour dterminer le niveau sonore requis pour invoquer Microphone.onActivity(true) et la dure du silence devant scouler avant dinvoquer Microphone.onActivity(false), utilisez Microphone.setSilenceLevel().
Exemple

Lexemple suivant affiche true ou false dans le panneau de sortie lorsque le microphone commence ou arrte de dtecter du son.
m = Microphone.get(); _root.attachAudio(m); m.onActivity = function(mode) { trace(mode); }; Consultez galement Microphone.onActivity, Microphone.setSilenceLevel()

Microphone.onStatus
Disponibilit

Flash Player 6.
Usage activeMicrophone.onStatus = function(infoObjet) {

468

Chapitre 12 : Dictionnaire ActionScript Prsentation

// vos instructions } Paramtres objetInfo Renvoie

Un paramtre dfini selon le message dtat.

Rien.
Description

Gestionnaire dvnement : invoqu lorsque lutilisateur autorise ou refuse laccs au microphone. Si vous voulez rpondre ce gestionnaire dvnement, vous devez crer une fonction pour traiter lobjet dinformation gnr par le microphone. Lorsquun fichier SWF tente daccder au microphone, Flash Player affiche une bote de dialogue Privacy permettant lutilisateur dautoriser ou de refuser laccs au microphone.

Si lutilisateur autorise laccs, la proprit Microphone.muted est dfinie sur la valeur false ;
ce gestionnaire dvnement est invoqu avec un objet information dont la proprit code est "Microphone.Unmuted" et dont la proprit niveau est "Etat". Si lutilisateur refuse laccs, la proprit Microphone.muted est dfinie sur la valeur true ; ce gestionnaire dvnement est invoqu avec un objet information dont la proprit code est "Microphone.Muted" et dont la proprit niveau est "Etat".

Pour savoir si lutilisateur a autoris ou refus laccs au microphone sans traiter le gestionnaire dvnement, utilisez Microphone.muted.
Remarque : Si lutilisateur choisit dautoriser ou de refuser dfinitivement laccs tous les fichiers SWF partir dun domaine spcifique, cette mthode nest pas invoque pour les fichiers SWF de ce domaine, moins que lutilisateur ne modifie ultrieurement les paramtres de confidentialit. Pour plus dinformations, consultez Microphone.get(). Exemple

Consultez lexemple relatif Camera.onStatus.


Consultez galement Microphone.get(), Microphone.muted

Microphone.rate
Disponibilit

Flash Player 6.
Usage MicrophoneActif.rate Description

Proprit (lecture seule) : le taux dchantillonnage auquel le microphone capture le son, en kHz. La valeur par dfaut est 8 kHz si le priphrique de capture du son supporte cette valeur. Sinon, la valeur par dfaut correspond au premier niveau de capture au-del de 8 kHz support par votre priphrique de capture du son. Il sagit gnralement de 11 kHz.

Microphone.rate

469

Pour dfinir cette valeur, utilisez Microphone.setRate().


Exemple

Lexemple suivant enregistre le taux actuel dans la variable original.


original = monMic.rate; Consultez galement Microphone.setRate()

Microphone.setGain()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.setGain(gain) Paramtres gain Un entier spcifiant le niveau damplification que le microphone doit appliquer au signal. Les valeurs valides sont comprises entre 0 et 100. La valeur par dfaut est 50, mais lutilisateur peut la modifier dans le panneau Microphone des paramtres Flash Player. Renvoie

Rien.
Description

Mthode : dfinit le gain du microphone, cest--dire le coefficient de multiplication que le microphone doit appliquer au signal avant de le transmettre. La valeur 0 multiplie le signal par zro ; cela signifie que le microphone ne transmet aucun son. Ce paramtre sapparente au bouton de rglage du volume dune chane hi-fi : 0 correspond aucun volume et 50 au volume normal ; une valeur infrieure 50 correspond un volume plus faible que le volume normal et une valeur suprieure 50 correspond un volume plus lev.
Exemple

Lexemple suivant veille ce que le paramtre de gain du microphone soit infrieur ou gal 55.
var monMic = Microphone.get(); if (monMic.gain > 55){ monMic.setGain(55); } Consultez galement Microphone.gain, Microphone.setUseEchoSuppression()

Microphone.setRate()
Disponibilit

Flash Player 6.

470

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage MicrophoneActif.setRate(kHz) Paramtres kHz Le taux dchantillonnage auquel le microphone capture le son, en kHz. Les valeurs valides sont 5, 8, 11, 22 et 44. La valeur par dfaut est 8 kHz si le priphrique de capture du son supporte cette valeur. Sinon, la valeur par dfaut correspond au premier niveau de capture au-del de 8 kHz support par votre priphrique de capture du son. Il sagit gnralement de 11 kHz. Renvoie

Rien.
Description

Mthode : dfinit le taux dchantillonnage, en kHz, auquel le microphone capture le son.


Exemple

Lexemple suivant dfinit le taux dchantillonnage conformment au choix de lutilisateur (affect la variable tauxUtilisateur) sil correspond lune des valeurs suivantes : 5, 8, 11, 22 ou 44. Si la valeur choisie par lutilisateur ne correspond pas, elle est arrondie la valeur supporte par le priphrique de capture du son la plus proche.
monMic.setRate(tauxUtilisateur); Consultez galement Microphone.rate

Microphone.setSilenceLevel()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.setSilenceLevel(niveau [, dlai]) Paramtres niveau Un entier spcifiant le niveau sonore requis pour activer le microphone et invoquer Microphone.onActivity(true). Les valeurs valides sont comprises entre 0 et 100. La valeur par

dfaut est 10. Un paramtre entier facultatif spcifiant le nombre de millisecondes dinactivit devant scouler pour que Flash considre que le son sest arrt et invoque Microphone.onActivity(false). La valeur par dfaut est 2 000 (2 secondes).
dlai Renvoie

Rien.
Description

Mthode : dfinit le niveau sonore minimum considr comme du son et (ventuellement) la dure de silence ncessaire pour considrer que le son est vraiment arrt.

Microphone.setSilenceLevel()

471

Pour que le microphone ne dtecte aucun son, affectez la valeur 100 au paramtre niveau ;
Microphone.onActivity

nest jamais invoqu.

Pour connatre le niveau sonore que le microphone dtecte actuellement, utilisez


Microphone.activityLevel.

La dtection de lactivit consiste surveiller les niveaux sonores pour dtecter lorsquune personne est en train de parler. Elle permet dconomiser de la bande passante en vitant denvoyer le flux audio lorsque personne ne parle. Ces informations peuvent galement servir de retour visuel pour indiquer aux utilisateurs quils (ou les autres utilisateurs) sont silencieux. Les valeurs de silence sont la rciproque directe des valeurs dactivit. Le silence complet correspond une valeur dactivit de 0. Un bruit fort et constant (aussi fort quil peut tre enregistr, daprs le gain actuel) correspond une valeur dactivit de 100. Une fois le gain correctement rgl, la valeur dactivit est infrieure la valeur de silence lorsque vous ne parlez pas ; lorsque vous parlez, la valeur dactivit est suprieure la valeur de silence. Cette mthode a le mme objectif que Camera.setMotionLevel() ; les deux mthodes permettent de dterminer quel moment le gestionnaire dvnement onActivity doit tre invoqu. Cependant, ces mthodes ont un impact trs diffrent sur la publication en flux continus :

est conu pour dtecter les mouvements et naffecte pas lutilisation de la bande passante. Mme lorsquun flux continu vido ne dtecte pas de mouvement, la vido est envoye. Microphone.setSilenceLevel() est conu pour optimiser la bande passante. Lorsquun flux continu audio est considr comme silencieux, aucune donne audio nest envoye. Un message unique est envoy, indiquant le dbut du silence.
Camera.setMotionLevel()

Exemple

Lexemple suivant permet lutilisateur de dterminer le niveau du silence. Le code suivant est affect au bouton :
on (press) { this.makeSilenceLevel(this.silenceLevel); }

La fonction makeSilenceLevel() appele par le bouton continue :


function makeSilenceLevel(s) { this.obj.setSilenceLevel(s); this.SyncMode(); this.silenceLevel= s; }

Pour plus dinformations, consultez lexemple relatif Camera.setMotionLevel().


Consultez galement Microphone.activityLevel, Microphone.onActivity, Microphone.setGain(), Microphone.silenceLevel(), Microphone.silenceTimeout()

472

Chapitre 12 : Dictionnaire ActionScript Prsentation

Microphone.setUseEchoSuppression()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.setUseEchoSuppression(supprimer) Paramtres supprimer Une valeur boolenne indiquant si la fonction de suppression de lcho doit tre utilise (true) ou non (false). Renvoie

Rien.
Description

Mthode : spcifie lutilisation ou non de la fonction de suppression de lcho du codec audio. La valeur par dfaut est false moins que lutilisateur ne slectionne ReduceEcho dans le panneau Microphone des paramtres Flash Player. La suppression de lcho permet de rduire les effets de bouclage audio qui se produisent lorsque le son mis par le haut-parleur est capt par le microphone sur le mme ordinateur. (A ne pas confondre avec la fonction dannulation de lcho, qui supprime totalement le retour.) Il est gnralement recommand dutiliser la suppression de lcho lorsque le son captur par le micro est diffus par des haut-parleurs (et non par un casque) sur le mme ordinateur. Si le fichier SWF permet aux utilisateurs de spcifier le priphrique de sortie audio, vous pouvez appeler Microphone.setUseEchoSuppression(true) sils utilisent conjointement les haut-parleurs et le microphone. Les utilisateurs peuvent galement rgler ces paramtres dans le panneau Microphone des paramtres Flash Player.
Exemple

Lexemple suivant active la suppression de lcho.


monmic.setUseEchoSuppression(true); Consultez galement Microphone.setGain(), Microphone.useEchoSuppression()

Microphone.silenceLevel()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.silenceLevel

Microphone.silenceLevel()

473

Description

Proprit (lecture seule) : un entier spcifiant le niveau sonore requis pour activer le microphone et invoquer Microphone.onActivity(true). La valeur par dfaut est 10.
Exemple

Consultez lexemple relatif Microphone.silenceTimeout().


Consultez galement Microphone.gain, Microphone.setSilenceLevel()

Microphone.silenceTimeout()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.silenceTimeout Description

Proprit (lecture seule) : valeur numrique reprsentant le nombre de millisecondes entre le moment o le microphone cesse de dtecter du son et le moment o Microphone.onActivity(false) est invoqu. La valeur par dfaut est 2 000 (2 secondes). Pour dfinir cette valeur, utilisez Microphone.setSilenceLevel().
Exemple

Lexemple suivant multiplie par deux la valeur actuelle du dlai dattente.


monMic.setSilenceLevel(monMic.silenceLevel, monMic.silenceTimeOut * 2); Consultez galement Microphone.setSilenceLevel()

Microphone.useEchoSuppression()
Disponibilit

Flash Player 6.
Usage MicrophoneActif.useEchoSuppression Description

Proprit (lecture seule) : valeur boolenne dfinie sur la valeur true si la suppression de lcho est active et sur la valeur false dans le cas contraire. La valeur par dfaut est false moins que lutilisateur ne slectionne ReduceEcho dans le panneau Microphone des paramtres Flash Player.
Exemple

Lexemple suivant vrifie ltat de la suppression de lcho et lactive si elle est dsactive.
_root.monMic.onActivity = function(active) { if (active == true) {

474

Chapitre 12 : Dictionnaire ActionScript Prsentation

if (_root.monMic.useEchoSuppression == false) { _root.monMic.setUseEchoSuppression(true); } } } Consultez galement Microphone.setUseEchoSuppression()

MMExecute()
Disponibilit

Flash Player 7.
Usage MMExecute("Commande API Flash JavaScript;") Paramtres Commande API Flash JavaScript

Toute commande que vous pouvez utiliser dans un fichier

Flash JavaScript (JSFL).


Renvoie

Le rsultat, le cas chant, est envoy par linstruction JavaScript.


Description

Fonction ; vous permet dmettre des commandes de lAPI Flash JavaScript partir dActionScript. LAPI Flash JavaScript (JSAPI) propose plusieurs objets, mthodes et proprits pour dupliquer ou muler des commandes quun utilisateur peut saisir dans lenvironnement de programmation. Grce JSAPI, vous pouvez crire des scripts qui tendent Flash de diverses manires : ajout de commandes aux menus, manipulation dobjets sur la scne, rptition de squences de commandes, etc. Un utilisateur excute gnralement un script JSAPI en slectionnant Commandes > Excuter la commande. Vous pouvez cependant utiliser cette fonction dans un script ActionScript pour appeler une commande JSAPI directement. Si vous utilisez MMExecute() dans un script sur limage 1 de votre fichier, la commande est excute lorsque le fichier SWF est charg. Pour plus dinformations sur JSAPI, consultez www.macromedia.com/go/jsapi_info_en.
Exemple

La commande suivante renvoie un tableau dobjets dans la bibliothque :


var libe:Array = MMExecute("fl.getDocumentDOM().library.items;"); trace(libe.length + " articles de la bibliothque");

Classe Mouse
Disponibilit

Flash Player 5.

Classe Mouse

475

Description

La classe Mouse est une classe de haut niveau : vous pouvez accder ses proprits et ses mthodes sans utiliser de constructeur. Utilisez les mthodes de la classe Mouse pour masquer et afficher le pointeur de la souris (curseur) dans le fichier SWF. Le pointeur est visible par dfaut, mais vous pouvez le masquer et implmenter un pointeur personnalis que vous crez avec un clip (consultez Cration dun pointeur de souris personnalis, page 98). Rsum des mthodes de la classe Mouse
Mthode
Mouse.addListener()

Description Enregistre un objet pour la rception de notifications onMouseDown, onMouseMove et onMouseUp. Masque le pointeur de la souris dans le fichier SWF. Supprime un objet enregistr avec addListener(). Affiche le pointeur de la souris dans le fichier SWF.

Mouse.hide() Mouse.removeListener() Mouse.show()

Rsum des couteurs de la classe Mouse


Mthode
Mouse.onMouseDown Mouse.onMouseMove Mouse.onMouseUp Mouse.onMouseWheel

Description Notifi lorsque le bouton de la souris est enfonc. Notifi lorsque la souris est dplace. Notifi lorsque le bouton de la souris est relch. Notifi lorsque lutilisateur manipule la molette de la souris.

Mouse.addListener()
Disponibilit

Flash Player 6.
Usage Mouse.addListener (nouvelEcouteur) Paramtres nouvelEcouteur Renvoie

Un objet.

Rien.
Description

Mthode : enregistre un objet pour la rception de notifications dcouteurs onMouseDown, onMouseMove et onMouseUp. Le paramtre nouvelEcouteur doit contenir un objet avec des mthodes dfinies pour les couteurs onMouseDown, onMouseMove et onMouseUp.

476

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lorsque le bouton de la souris est enfonc, que la souris est dplace ou que le bouton de la souris est relch, quel que soit le focus de saisie, la mthode onMouseDown, onMouseMove ou onMouseUp de tous les objets couteurs enregistrs avec cette mthode est invoque. Plusieurs objets peuvent attendre des notifications de souris. Si lcouteur nouvelEcouteur est dj enregistr, aucun changement na lieu.
Consultez galement Mouse.onMouseDown, Mouse.onMouseMove, Mouse.onMouseUp

Mouse.hide()
Disponibilit

Flash Player 5.
Usage Mouse.hide() Paramtres

Aucun.
Renvoie

Une valeur boolenne : true si le pointeur est visible et false dans le cas contraire.
Description

Mthode : masque le pointeur dans un fichier SWF. Le pointeur est visible par dfaut.
Exemple

Le code suivant, associ un clip du scnario principal, masque le pointeur standard et dfinit les positions x et y de loccurrence de clip PointeurPerso_mc aux positions x et y de la souris dans le scnario principal.
onClipEvent (enterFrame) { Mouse.hide(); PointeurPerso_mc._x = _root._xmouse; PointeurPerso_mc._y = _root._ymouse; } Consultez galement Mouse.show(), MovieClip._xmouse, MovieClip._ymouse

Mouse.onMouseDown
Disponibilit

Flash Player 6.
Usage unEcouteur.onMouseDown Paramtres

Aucun.

Mouse.onMouseDown

477

Renvoie

Rien.
Description

Ecouteur ; notifi lorsque le bouton de la souris est enfonc. Pour utiliser lcouteur onMouseDown, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onMouseDown et utiliser addListener() pour enregistrer lcouteur avec lobjet Mouse, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onMouseDown = function () { ... }; Mouse.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Mouse.addListener()

Mouse.onMouseMove
Disponibilit

Flash Player 6.
Usage unEcouteur.onMouseMove Paramtres

Aucun.
Renvoie

Rien.
Description

Ecouteur ; notifi lorsque la souris se dplace. Pour utiliser lcouteur onMouseMove, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onMouseMove et utiliser addListener() pour enregistrer lcouteur avec lobjet Mouse, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onMouseMove = function () { ... }; Mouse.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Mouse.addListener()

478

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mouse.onMouseUp
Disponibilit

Flash Player 6.
Usage unEcouteur.onMouseUp Paramtres

Aucun.
Renvoie

Rien.
Description

Ecouteur ; notifi lorsque le bouton de la souris est relch. Pour utiliser lcouteur onMouseUp, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onMouseUp et utiliser addListener() pour enregistrer lcouteur avec lobjet Mouse, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onMouseUp = function () { ... }; Mouse.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Mouse.addListener()

Mouse.onMouseWheel
Disponibilit

Flash Player 7 (Windows uniquement).


Usage unEcouteur.onMouseWheel = function ( [ delta , scrollTarget ]) { // vos instructions } Paramtres delta

Un nombre facultatif indiquant le nombre de lignes qui dfilent pour chaque cran de la molette de la souris que lutilisateur fait tourner. Une valeur delta positive indique que le dfilement se fait vers le haut ; une valeur ngative indique que le dfilement se fait vers le bas. Cette valeur se situe gnralement entre 1 et 3. Un dfilement plus rapide peut produire des valeurs plus grandes.

Si vous ne souhaitez pas spcifier de valeur pour delta mais que vous souhaitez en spcifier une pour scrollTarget, dfinissez null pour delta.
scrollTarget

La premire occurrence de clip sous le pointeur une fois la molette de la souris

tourne.

Mouse.onMouseWheel

479

Renvoie

Rien.
Description

Ecouteur : notifi lorsque lutilisateur manipule la molette de la souris. Pour utiliser lcouteur onMouseWheel, vous devez crer un objet dcoute. Vous pouvez ensuite dfinir une fonction pour onMouseWheel et utiliser addListener() pour enregistrer lcouteur avec lobjet Mouse.
Remarque : Les couteurs dvnement molette de souris sont disponibles uniquement dans les versions Windows de Flash Player. Exemple

Lexemple suivant montre comment crer un objet couteur qui ragit aux vnements de mollette de souris. Dans cet exemple, la coordonne x dun objet clip appel clip_mc (non illustr) change chaque fois que lutilisateur fait tourner la mollette de la souris.
EcouteurSouris = new Object(); EcouteurSouris.onMouseWheel = function(delta) { clip_mc._x += delta; } Mouse.addListener(EcouteurSouris); Consultez galement Mouse.addListener(), TextField.mouseWheelEnabled

Mouse.removeListener()
Disponibilit

Flash Player 6.
Usage Mouse.removeListener (couteur) Paramtres couteur Renvoie

Un objet.

Si lobjet couteur a t correctement retir, la mthode renvoie true. Si couteur na pas t correctement retir, par exemple si couteur napparaissait pas dans la liste des couteurs de lobjet Mouse, la mthode renvoie false.
Description

Mthode : supprime un objet prcdemment enregistr avec addListener().

Mouse.show()
Disponibilit

Flash Player 5.
Usage Mouse.show()

480

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : affiche le pointeur de la souris dans un fichier SWF. Le pointeur est visible par dfaut.
Consultez galement Mouse.show(), MovieClip._xmouse, MovieClip._ymouse

Classe MovieClip
Disponibilit

Flash Player 3.
Description

Les mthodes de la classe MovieClip fournissent les mmes fonctionnalits que les actions ciblant les clips. Il existe galement des mthodes supplmentaires qui nont pas daction quivalente dans la bote outils Actions du panneau Actions. Il nest pas ncessaire dutiliser une mthode de constructeur pour appeler les mthodes de la classe MovieClip ; faites rfrence aux occurrences de clips par leurs noms, avec la syntaxe suivante :
mon_mc.play(); mon_mc.gotoAndPlay(3);

Rsum des mthodes de la classe MovieClip


Mthode
MovieClip.attachAudio() MovieClip.attachMovie()

Description Capture et joue du son local partir dun microphone. Associe un fichier SWF dans la bibliothque.

MovieClip.createEmptyMovieClip() Cre un clip vide. MovieClip.createTextField() MovieClip.duplicateMovieClip MovieClip.getBounds

Cre un champ de texte vide. Duplique le clip spcifi. Renvoie les coordonnes x et y minimum et maximum dun fichier SWF dans un espace de coordonnes spcifi. Renvoie le nombre doctets chargs pour le clip spcifi. Renvoie la taille du clip, en octets. Renvoie la profondeur dun clip. Indique si une profondeur particulire est dj occupe par un clip.

MovieClip.getBytesLoaded() MovieClip.getBytesTotal() MovieClip.getDepth() MovieClip.getInstanceAtDepth()

Classe MovieClip

481

Mthode
MovieClip.getNextHighestDepth()

Description Indique une valeur de profondeur que vous pouvez transmettre dautres mthodes pour vous assurer que Flash effectue un rendu du clip devant tous les objets du clip actuel. Renvoie un entier indiquant la version deFlash Player pour laquelle le clip a t publi. Renvoie un objet TextSnapshot contenant le texte dans les champs de texte statiques du clip spcifi. Rcupre un document dune URL. Convertit lobjet de point des coordonnes de scne en coordonnes locales du clip spcifi. Envoie la tte de lecture vers une image spcifique du clip et lit le fichier SWF. Envoie la tte de lecture vers une image spcifique du clip et arrte le fichier SWF. Renvoie true si le cadre de dlimitation du clip spcifi croise le cadre de dlimitation du clip cible. Charge le fichier SWF spcifi dans le clip. Charge les variables depuis une URL ou un autre emplacement dans le clip. Convertit un objet de point des coordonnes locales du clip en coordonnes globales de scne. Envoie la tte de lecture limage suivante du clip. Excute le clip spcifi. Envoie la tte de lecture limage prcdente du clip. Supprime le clip du scnario sil a t cr avec duplicateMovieClip(), MovieClip.duplicateMovieClip ou MovieClip.attachMovie(). Spcifie un clip comme masque dun autre clip. Spcifie un clip comme dplaable et commence dplacer le clip. Arrte la lecture du fichier SWF actuel. Arrte le dplacement dun clip en cours de dplacement. Echange le niveau de profondeur de deux fichiers SWF. Supprime un fichier SWF charg avec loadMovie().

MovieClip.getSWFVersion()

MovieClip.getTextSnapshot()

MovieClip.getURL() MovieClip.globalToLocal()

MovieClip.gotoAndPlay()

MovieClip.gotoAndStop

MovieClip.hitTest()

MovieClip.loadMovie MovieClip.loadVariables()

MovieClip.localToGlobal()

MovieClip.nextFrame() MovieClip.play() MovieClip.prevFrame() MovieClip.removeMovieClip()

MovieClip.setMask() MovieClip.startDrag()

MovieClip.stop() MovieClip.stopDrag() MovieClip.swapDepths() MovieClip.unloadMovie()

482

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthodes de dessin de la classe MovieClip


Mthode
MovieClip.beginFill() MovieClip.beginGradientFill() MovieClip.clear()

Description Commence tracer un remplissage sur la scne. Commence tracer un remplissage en dgrad sur la scne. Supprime toutes les commandes de dessin associes une occurrence de clip. Dessine une ligne avec le style de trait le plus rcent. Termine le remplissage spcifi par beginFill() ou beginGradientFill(). Dfinit le trait des lignes cres avec les mthodes lineTo() et curveTo(). Dessine une ligne avec le style de trait actuel. Dplace la position de dessin actuelle aux coordonnes spcifies.

MovieClip.curveTo() MovieClip.endFill()

MovieClip.lineStyle()

MovieClip.lineTo() MovieClip.moveTo()

Rsum des proprits de la classe MovieClip


Proprit
MovieClip._alpha MovieClip._currentframe

Description La valeur de transparence dune occurrence de clip. Le numro de limage dans laquelle la tte de lecture est actuellement situe. Le chemin absolu (avec la syntaxe barre oblique) de loccurrence de clip sur laquelle un clip dplaable a t dpos. Indique si un clip de bouton est activ. Active un clip pour quil puisse recevoir le focus. Indique si un clip avec focus est encadr dun rectangle jaune. Le nombre dimages charges partir dun fichier SWF en flux continu. La hauteur dune occurrence de clip, en pixels. Dsigne un autre clip qui servira de zone active pour un clip de bouton. Dfinit la qualit du rendu dun fichier SWF. Associe un objet ContextMenu un clip. Le nom doccurrence dune occurrence de clip. Une rfrence au clip contenant le clip. Le degr de rotation dune occurrence de clip. Le nombre de secondes avant dun son ne dmarre en lecture continue.

MovieClip._droptarget

MovieClip.enabled MovieClip.focusEnabled MovieClip._focusrect MovieClip._framesloaded

MovieClip._height MovieClip.hitArea

MovieClip._highquality MovieClip.menu MovieClip._name MovieClip._parent MovieClip._rotation MovieClip._soundbuftime

Classe MovieClip

483

Proprit
MovieClip.tabChildren

Description Indique si les enfants dun clip sont inclus dans lordre de tabulation automatique. Indique si un clip est inclus dans lordre de tabulation. Indique lordre de tabulation dun objet. Le chemin cible dune occurrence de clip. Le nombre total dimages dune occurrence de clip. Indique si dautres boutons peuvent recevoir des vnements de relchement du bouton de la souris. LURL du fichier SWF do le clip a t tlcharg. Dtermine si le curseur de main est affich lorsque la souris passe au-dessus dun clip bouton. Une valeur boolenne dterminant si loccurrence dun clip est masque ou visible. La largeur dune occurrence de clip, en pixels. La coordonne x dune occurrence de clip. La coordonne x du pointeur de la souris dans une occurrence de clip. La valeur spcifiant le pourcentage de redimensionnement horizontal dun clip. La coordonne y dune occurrence de clip. La coordonne y du pointeur de la souris dans une occurrence de clip. La valeur spcifiant le pourcentage de redimensionnement vertical dun clip.

mon_mc.tabEnabled MovieClip.tabIndex MovieClip._target MovieClip._totalframes MovieClip.trackAsMenu

MovieClip._url MovieClip.useHandCursor

MovieClip._visible

MovieClip._width MovieClip._x MovieClip._xmouse

MovieClip._xscale

MovieClip._y MovieClip._ymouse

MovieClip._yscale

Rsum des gestionnaires dvnement de la classe MovieClip


Gestionnaire dvnement
MovieClip.onData

Description Invoqu lorsque toutes les donnes sont charges dans un clip. Invoqu lorsque le pointeur se trouve en dehors du bouton, le bouton de la souris est enfonc lintrieur, puis le pointeur sort de la zone du bouton. Invoqu lorsque le pointeur se trouve au-dessus du bouton, le bouton de la souris a t enfonc puis que le pointeur sort du bouton et ramen au-dessus du bouton. Invoqu de manire continue la cadence du fichier SWF. Les actions associes lvnement de clip enterFrame sont traites avant les actions associes aux images affectes.

MovieClip.onDragOut

MovieClip.onDragOver

MovieClip.onEnterFrame

484

Chapitre 12 : Dictionnaire ActionScript Prsentation

Gestionnaire dvnement
MovieClip.onKeyDown

Description Invoqu lorsquune touche est enfonce. Utilisez les mthodes Key.getCode() et Key.getAscii() pour rcuprer les informations concernant la dernire touche enfonce. Invoqu lorsquune touche est relche. Invoqu lorsque le focus est retir dun bouton. Invoqu lorsque le clip est instanci et apparat dans le scnario. Invoqu lorsque le bouton gauche de la souris est enfonc. Invoqu chaque fois que la souris est dplace. Invoqu lorsque le bouton gauche de la souris est relch. Invoqu lorsque le bouton de la souris est enfonc alors que le pointeur au-dessus dun bouton. Invoqu lorsque le bouton de la souris est relch alors que le pointeur au-dessus dun bouton. Invoqu lorsque la souris est relche alors que le pointeur se trouve au dehors du bouton aprs lenfoncement du bouton pendant que le pointeur est lintrieur du bouton. Invoqu lorsque le pointeur passe lextrieur dun bouton. Invoqu lorsque le pointeur de la souris passe au-dessus dun bouton. Invoqu lorsquun bouton a le focus de saisie et quune touche est relche. Invoqu dans la premire image aprs la suppression du clip du scnario. Les actions associes lvnement de clip Unload sont traites avant que des actions ne soient associes limage affecte.

MovieClip.onKeyUp MovieClip.onKillFocus MovieClip.onLoad

MovieClip.onMouseDown MovieClip.onMouseMove MovieClip.onMouseUp MovieClip.onPress

MovieClip.onRelease

MovieClip.onReleaseOutside

MovieClip.onRollOut MovieClip.onRollOver

MovieClip.onSetFocus

MovieClip.onUnload

MovieClip._alpha
Disponibilit

Flash Player 4.
Usage mon_mc._alpha Description

Proprit : la valeur de transparence alpha du clip spcifi par mon_mc. Les valeurs valides vont de 0 (transparence complte) 100 (opacit complte). La valeur par dfaut est 100. Les objets dun clip avec _alpha dfini sur 0 sont actifs, mme sils sont invisibles. Par exemple, vous pouvez cliquer sur un bouton dans un clip dont la proprit _alpha est dfinie sur 0.

MovieClip._alpha

485

Exemple

Le code suivant dfinit la proprit _alpha dun clip appel star_mc 30 % lorsque lutilisateur clique sur le bouton :
on(release) { star_mc._alpha = 30; } Consultez galement Button._alpha, TextField._alpha

MovieClip.attachAudio()
Disponibilit

Flash Player 6 ; la possibilit de joindre du son partir de fichiers Flash Video (FLV) a t ajoute dans Flash Player 7.
Usage mon_mc.attachAudio(source) Paramtres source Lobjet contenant le son jouer. Les valeurs valides sont un objet Microphone, un objet NetStream quun fichier FLV lit et false (arrte la lecture du son). Renvoie

Rien.
Description

Mthode : spcifie la source audio lire. Pour arrter la lecture de la source audio, affectez false source.
Exemple

Le code suivant associe un microphone un clip.


mon_mic = Microphone.get(); this.attachAudio(mon_mic);

Lexemple suivant montre comment vous pouvez utiliser un objet Sound pour contrler le son associ un fichier FLV.
// Clip est le nom doccurrence du clip // qui contient lobjet vido "ma_vido". _root.Clip.ma_vido.attachVideo(_root.myNetStream); _root.Clip.attachAudio(_root.myNetStream); var snd = new Sound("_root.Clip"); //Pour rgler le son : _root.snd.setVolume(100); Consultez galement

Classe Microphone, NetStream.play(), Classe Sound, Video.attachVideo()

486

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClip.attachMovie()
Disponibilit

Flash Player 5.
Usage mon_mc.attachMovie(nomIdentifiant, nouveauNom, profondeur [, objetInit]) Paramtres nomIdentifiant

Le nom de liaison du symbole de clip de la bibliothque associer un clip sur la scne. Il sagit du nom entr dans le champ Identifiant de la bote de dialogue Proprits de liaison.
nouveauNom profondeur

Un nom doccurrence unique pour le clip en cours dassociation avec le clip. Un entier spcifiant le niveau de profondeur auquel associer le fichier SWF.

objetInit (support par Flash Player 6 et ultrieur) Un objet contenant les proprits avec lesquelles remplir le clip nouvellement associ. Ce paramtre permet aux clips crs dynamiquement de recevoir des paramtres. Si objetInit nest pas un objet, il est ignor. Toutes les proprits de objetInit sont copies dans la nouvelle occurrence. Les proprits spcifies avec objetInit peuvent tre utilises par la fonction constructeur. Ce paramtre est facultatif. Renvoie

Une rfrence la nouvelle occurrence.


Description

Mthode : prend un symbole de la bibliothque et lassocie au fichier SWF spcifi par mon_mc sur la scne. Utilisez removeMovieClip() ou unloadMovie() pour supprimer un fichier SWF associ attachMovie().
Exemple

Lexemple suivant associe le symbole dont lidentifiant de liaison est un cercle loccurrence de clip qui se trouve sur la scne du fichier SWF.
on (release) { truc.attachMovie( "cercle", "cercle1", 2 ); } Consultez galement MovieClip.removeMovieClip(), MovieClip.unloadMovie(), Object.registerClass(), removeMovieClip()

MovieClip.beginFill()
Disponibilit

Flash Player 6.
Usage mon_mc.beginFill([rvb[, alpha]])

MovieClip.beginFill()

487

Paramtre rvb Une valeur chromatique hexadcimale (par exemple, le rouge correspond 0xFF0000, le bleu correspond 0x0000FF, etc.). Si cette valeur nest pas fournie ou si elle est indfinie, aucun remplissage nest cr. alpha Un entier compris entre 0100 spcifiant la valeur alpha du remplissage. Si cette valeur nest pas indique, 100 (uni) est utilis. Si la valeur est infrieure 0, Flash utilise 0. Si la valeur est suprieure 100, Flash utilise 100. Renvoie

Rien.
Description

Mthode : indique le dbut dun nouveau trajet de dessin. Si un chemin ouvert existe, cest--dire si la position de dessin actuelle nest pas gale la position prcdente spcifie dans une mthode moveTo(), et quun remplissage y est associ, ce chemin est ferm avec un trait, puis rempli. Cela est semblable ce qui se produit lappel de endFill(). Si aucun remplissage nest actuellement associ au chemin, endFill() doit tre appel pour appliquer le remplissage.
Consultez galement MovieClip.beginGradientFill(), MovieClip.endFill()

MovieClip.beginGradientFill()
Disponibilit

Flash Player 6.
Usage mon_mc.beginGradientFill(typeDeRemplissage, couleurs, alphas, rapports, matrice) Paramtre typeDeRemplissage couleurs alphas

La chane "linear" ou la chane "radial".

Un tableau des valeurs hexadcimales RVB utiliser dans le dgrad (par exemple, le rouge correspond 0xFF0000, le bleu correspond 0x0000FF, etc.).

Un tableau de valeurs alpha pour les couleurs correspondantes du tableau couleurs, les valeurs valides sont comprises entre 0100. Si la valeur est infrieure 0, Flash utilise 0. Si la valeur est suprieure 100, Flash utilise 100. Un tableau de rapports de distribution des couleurs, les valeurs valides tant 0255. Cette valeur dfinit le pourcentage de la largeur o la couleur est chantillonne 100 %.

rapports matrice

Une matrice de transformation qui est un objet avec lun des deux ensembles de proprits suivants. suivant :
a b c d e f g h i

a, b, c, d, e, f, g, h, i, qui peuvent tre utiliss pour dcrire une matrice 3x3 au format

488

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lexemple suivant utilise une mthode beginGradientFill() avec un paramtre matrice, qui est un objet avec ces proprits.
_root.createEmptyMovieClip( "dgrad", 1 ); with ( _root.dgrad ) { couleurs = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; rapports = [ 0, 0xFF ]; matrice = { a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1 }; beginGradientFill( "linear", couleurs, alphas, rapports, matrice ); moveto(100,100); lineto(100,300); lineto(300,300); lineto(300,100); lineto(100,100); endFill(); }

Si une proprit typeDeMatrice nexiste pas, les autres paramtres sont tous requis (la fonction choue sils ne sont pas tous prsents). Cette matrice redimensionne, traduit, pivote et incline le gradient unitaire qui est dfini (-1,-1) et (1,1).

typeDeMatrice, x, y, l, h, r.

Les proprits indiquent : typeDeMatrice est la chane "box", x est la position horizontale relative au point dalignement du clip parent pour le coin suprieur gauche du dgrad, y est la position verticale relative au point dalignement du clip parent pour le coin suprieur gauche du dgrad, l est la largeur du gradient, h est la hauteur du dgrad et r est la rotation du dgrad, en radians. Lexemple suivant utilise une mthode beginGradientFill() avec un paramtre matrice, qui est un objet avec ces proprits.
_root.createEmptyMovieClip( "dgrad", 1 ); with ( _root.dgrad ) { couleurs = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; rapports = [ 0, 0xFF ]; matrice = { typeDeMatrice:"box", x:100, y:100, l:200, h:200, r:(45/180)*Math.PI }; beginGradientFill( "linear", couleurs, alphas, rapports, matrice );

MovieClip.beginGradientFill()

489

moveto(100,100); lineto(100,300); lineto(300,300); lineto(300,100); lineto(100,100); endFill(); }

Si une proprit typeDeMatrice existe, elle doit tre gale "box" et les autres paramtres sont tous obligatoires. La fonction choue si une ou plusieurs de ces conditions ne sont pas remplies.

Renvoie

Rien.
Description

Mthode : indique le dbut dun nouveau trajet de dessin. Si le premier paramtre est undefined, ou si aucun paramtre nest transmis, le trajet na aucun remplissage. Si un chemin ouvert existe (si la position actuelle du dessin nest pas gale la position prcdente spcifie dans une mthode moveTo()) et quun remplissage y est associ, ce chemin est ferm avec un trait, puis rempli. Cela est semblable ce qui se produit lappel de endFill(). Cette mthode choue si une ou plusieurs des conditions suivantes existent :

Le nombre dlments dans les paramtres couleurs, alphas et rapports nest pas le mme. Le paramtre typeDeRemplissage nest ni "linear" ni "radial". Un ou plusieurs des champs de lobjet pour le paramtre matrice sont absents ou invalides.
Exemple

Le code suivant utilise les deux mthodes pour tracer deux rectangles empils avec un remplissage dgrad rouge-bleu et un trait vert de 5 points.
_root.createEmptyMovieClip("goober",1); with ( _root.goober ) { couleurs = [ 0xFF0000, 0x0000FF ]; alphas = [ 100, 100 ]; rapports = [ 0, 0xFF ]; lineStyle( 5, 0x00ff00 ); matrice = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1}; beginGradientFill( "linear", couleurs, alphas, rapports, matrice ); moveto(100,100); lineto(100,300); lineto(600,300); lineto(600,100); lineto(100,100);

490

Chapitre 12 : Dictionnaire ActionScript Prsentation

endFill(); matrice = { typeDeMatrice:"box", x:100, y:310, l:500, h:200, r:(0/ 180)*Math.PI }; beginGradientFill( "linear", couleurs, alphas, rapports, matrice ); moveto(100,310); lineto(100,510); lineto(600,510); lineto(600,310); lineto(100,310); endFill(); }

Consultez galement MovieClip.beginFill(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()

MovieClip.clear()
Disponibilit

Flash Player 6.
Usage mon_mc.clear() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : supprime tous les graphiques crs lexcution laide des mthodes de dessin de la classe MovieClip, y compris les styles de traits spcifis avec MovieClip.lineStyle(). Les formes et les lignes dessines main leve pendant la phase de programmation (avec les outils de dessin Flash) ne sont pas supprimes.

MovieClip.clear()

491

Consultez galement MovieClip.lineStyle()

MovieClip.createEmptyMovieClip()
Disponibilit

Flash Player 6.
Usage mon_mc.createEmptyMovieClip(nomDoccurrence, profondeur) Paramtres nomDoccurrence profondeur Renvoie

Une chane identifiant le nom doccurrence du nouveau clip.

Un entier spcifiant la profondeur du nouveau clip.

Une rfrence au nouveau clip.


Description

Mthode : cre un clip vide comme enfant dun clip existant. Cette mthode a le mme comportement que la mthode attachMovie(), mais vous navez pas besoin de fournir un nom de liaison externe pour le nouveau clip. Le point dalignement dun clip vide nouvellement cr se situe dans le coin suprieur gauche. Cette mthode choue si un ou plusieurs des paramtres sont absents.
Consultez galement MovieClip.attachMovie()

MovieClip.createTextField()
Disponibilit

Flash Player 6.
Usage mon_mc.createTextField(nomDoccurrence, profondeur, x, y, largeur, hauteur) Paramtres nomDoccurence profondeur x y

Une chane identifiant le nom doccurrence du nouveau champ de texte.

Un entier positif spcifiant la profondeur du nouveau champ de texte.

Un entier spcifiant la coordonne x du nouveau champ de texte. Un entier spcifiant la coordonne y du nouveau champ de texte. Un entier positif spcifiant la largeur du nouveau champ de texte. Un entier positif spcifiant la hauteur du nouveau champ de texte.

largeur hauteur

492

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Mthode : cre un champ de texte vide comme enfant du clip spcifi par mon_mc. Vous pouvez utiliser createTextField() pour crer des champs de texte lors de la lecture dun fichier SWF. Le champ de texte est plac (x, y) avec les dimensions largeur x hauteur. Les paramtres x et y sont relatifs au clip container et correspondent aux proprits _x et _y du champ de texte. Les paramtres largeur et hauteur correspondent aux proprits _width et _height du champ de texte. Les proprits par dfaut dun champ de texte sont les suivantes :
type = "dynamic" border = false background = false password = false multiline = false html = false embedFonts = false variable = null maxChars = null

Un champ de texte cr avec createTextField() reoit lobjet TextFormat par dfaut suivant :
font = "Times New Roman" size = 12 textColor = 0x000000 bold = false italic = false underline = false url = "" target = "" align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 bullet = false tabStops = [] (tableau vide) Exemple

Lexemple suivant cre un champ de texte avec une largeur de 300, une hauteur de 100, une coordonne x de 100, une coordonne y de 100, aucune bordure, texte rouge et soulign.
_root.createTextField("monTexte",1,100,100,300,100); monTexte.multiline = true; monTexte.wordWrap = true; monTexte.border = false; monFormat = new TextFormat(); monFormat.color = 0xff0000; monFormat.bullet = false; monFormat.underline = true; monTexte.text = "Ceci est mon premier test de texte dobjet de champ de texte"; monTexte.setTextFormat(monFormat);

MovieClip.createTextField()

493

Consultez galement

Classe TextFormat

MovieClip._currentframe
Disponibilit

Flash Player 4.
Usage mon_mc._currentframe Description

Proprit (lecture seule) : renvoie le numro de limage o se trouve la tte de lecture dans le scnario spcifi par mon_mc.
Exemple

Lexemple suivant utilise la proprit _currentframe pour faire avancer la tte de lecture du clip actionClip_mc de cinq images par rapport son emplacement actuel.
actionClip_mc.gotoAndStop(_currentframe + 5);

MovieClip.curveTo()
Disponibilit

Flash Player 6.
Usage mon_mc.curveTo(contrleX, contrleY, ancreX, ancreY) Paramtres contrleX Un entier spcifiant une position horizontale par rapport au point dalignement du clip parent du point de contrle. contrleY Un entier spcifiant une position verticale par rapport au point dalignement du clip parent du point de contrle. ancreX Un entier spcifiant une position horizontale par rapport au point dalignement du clip parent du point dancrage suivant. ancreY Un entier spcifiant une position verticale par rapport au point dalignement du clip parent du point dancrage suivant. Renvoie

Rien.

494

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : dessine une courbe avec le style de trait courant depuis la position de dessin actuelle (ancreX, ancreY), utilisant le point spcifi par (contrleX, contrleY). La position de dessin actuelle est alors dfinie sur (ancreX, ancreY). Si le clip dans lequel vous dessinez contient un contenu cr avec les outils de dessin Flash, les appels curveTo() sont dessins au-dessous de ce contenu. Si vous appelez curveTo() avant tout appel moveTo(), la position de dessin actuelle est par dfaut (0, 0). Cette mthode choue lorsque des paramtres sont absents et la position de dessin courante nest pas change.
Exemple

Lexemple suivant dessine un cercle avec un trait bleu trs fin et un remplissage uni rouge.
_root.createEmptyMovieClip( "cercle", 1 ); with ( _root.cercle ) { lineStyle( 0, 0x0000FF, 100 ); beginFill( 0xFF0000 ); moveTo( 500, 500 ); curveTo( 600, 500, 600, 400 ); curveTo( 600, 300, 500, 300 ); curveTo( 400, 300, 400, 400 ); curveTo( 400, 500, 500, 500 ); endFill(); } Consultez galement MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.moveTo()

MovieClip._droptarget
Disponibilit

Flash Player 4.
Usage mon_mc._droptarget Description

Proprit (lecture seule) : renvoie le chemin absolu avec la syntaxe barre oblique de loccurrence de clip sur laquelle mon_mc a t dpos. La proprit _droptarget renvoie toujours un chemin commenant par une barre oblique (/). Pour comparer la proprit _droptarget dune occurrence avec une rfrence, utilisez la fonction eval() pour convertir la valeur renvoye de la syntaxe barre oblique en une rfrence avec syntaxe point.
Remarque : Vous devez raliser cette conversion si vous utilisez ActionScript 2.0 qui ne prend pas en charge la syntaxe barre oblique.

MovieClip._droptarget

495

Exemple

Lexemple suivant value la proprit _droptarget de loccurrence de clip tasDeTrucs et utilise eval() pour la convertir dune syntaxe barre oblique en une rfrence avec syntaxe point. La rfrence tasDeTrucs est ensuite compare avec la rfrence loccurrence de clip poubelle. Si les deux rfrences sont quivalentes, la visibilit de tasDeTrucs est dfinie sur false. Si elles ne sont pas quivalentes, loccurrence tasDeTrucs est redfinie sur sa position dorigine.
if (eval(tasDeTrucs._droptarget) == _root.poubelle) { tasDeTrucs._visible = false; } else { tasDeTrucs._x = x_pos; tasDeTrucs._y = y_pos; }

Les variables x_pos et y_pos sont dfinies dans limage 1 du fichier SWF laide du script suivant :
x_pos = tasDeTrucs._x; y_pos = tasDeTrucs._y; Consultez galement startDrag()

MovieClip.duplicateMovieClip
Disponibilit

Flash Player 5.
Usage mon_mc.duplicateMovieClip(nouveauNom, profondeur [,objetInit]) Paramtres nouveauNom profondeur

Un identifiant unique pour le clip dupliqu. Un nombre unique indiquant la profondeur laquelle le fichier SWF spcifi doit

tre plac.
objetInit (Support par Flash Player 6 et ultrieur.) Un objet contenant les proprits avec lesquelles remplir le clip dupliqu. Ce paramtre permet aux clips crs dynamiquement de recevoir des paramtres. Si objetInit nest pas un objet, il est ignor. Toutes les proprits de objetInit sont copies dans la nouvelle occurrence. Les proprits spcifies avec objetInit peuvent tre utilises par la fonction constructeur. Ce paramtre est facultatif. Renvoie

Une rfrence au clip dupliqu.

496

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : cre une occurrence du clip spcifi pendant la lecture du fichier SWF. Les clips dupliqus commencent toujours partir de limage 1, quelle que soit limage sur laquelle se trouve lanimation originale lorsque la mthode duplicateMovieClip() est appele. Les variables du clip parent ne sont pas copies dans le clip dupliqu. Les clips qui ont t crs avec la mthode duplicateMovieClip() ne sont pas dupliqus si vous appelez la mthode duplicateMovieClip() pour leur parent. Si le clip parent est effac, le clip dupliqu lest galement.
Consultez galement duplicateMovieClip(), MovieClip.removeMovieClip()

MovieClip.enabled
Disponibilit

Flash Player 6.
Usage mon_mc.enabled Description

Proprit : valeur boolenne indiquant si un clip de bouton est activ. La valeur par dfaut de enabled est true. Si enabled est dfini sur la valeur false, les mthodes de rappel et les gestionnaires dvnement daction on du clip de bouton ne sont plus invoqus et les images Dessus, Bas et Haut sont dsactives. La proprit enabled naffecte pas le scnario du clip de bouton ; si un clip est en cours de lecture, cette lecture se poursuit. Le clip continue recevoir des vnements de clip (par exemple, mouseDown, mouseUp, keyDown et keyUp). La proprit enabled rgit uniquement les proprits de type bouton dun clip de bouton. Vous pouvez changer la proprit enabled tout moment, le clip de bouton modifi tant immdiatement activ ou dsactiv. La proprit enabled peut tre lue partir dun objet prototype. Si enabled est dfini sur false, lobjet nest pas inclus dans lordre de tabulation automatique.

MovieClip.endFill()
Disponibilit

Flash Player 6.
Usage mon_mc.endFill() Paramtres

Aucun.
Renvoie

Rien.

MovieClip.endFill()

497

Description

Mthode : applique un remplissage aux lignes et aux courbes ajoutes depuis le dernier appel de la mthode beginFill() ou beginGradientFill(). Flash utilise le remplissage spcifi lors de lappel prcdent de beginFill() ou beginGradientFill(). Si la position de dessin actuelle nest pas gale la position prcdente spcifie dans une mthode moveTo et quun remplissage est dfini, le trajet est ferm avec un trait, puis rempli.

MovieClip.focusEnabled
Disponibilit

Flash Player 6.
Usage mon_mc.focusEnabled Description

Proprit : si la valeur est undefined ou false, un clip ne peut pas recevoir le focus de saisie, moins quil ne sagisse dun clip de bouton. Si la proprit focusEnabled a pour valeur true, un clip peut recevoir le focus de saisie, mme sil ne sagit pas dun clip de bouton.

MovieClip._focusrect
Disponibilit

Flash Player 6.
Usage mon_mc._focusrect Description

Proprit : une valeur boolenne spcifiant si un rectangle jaune apparat autour du clip avec focus clavier. Cette proprit peut annuler la proprit _focusrect globale.

MovieClip._framesloaded
Disponibilit

Flash Player 4.
Usage mon_mc._framesloaded Description

Proprit (lecture seule) : le nombre dimages charges depuis un fichier SWF lu en flux continu. Cette proprit est utile pour dterminer si le contenu dune image spcifique, et de toutes les images avant elle, a t charg et est disponible localement dans le navigateur. Cette proprit est trs utile pour contrler le processus de tlchargement des fichiers SWF volumineux. Par exemple, il peut savrer utile dafficher un message aux utilisateurs leur indiquant que le fichier SWF est en cours de chargement jusqu ce quune image spcifique contenue dans le fichier SWF soit charge.

498

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant utilise la proprit _framesloaded pour dmarrer un fichier SWF lorsque toutes les images sont charges. Si toutes les images ne sont pas charges, la proprit _xscale de loccurrence de clip loader est accrue proportionnellement pour crer une barre de progrs.
if (_framesloaded >= _totalframes) { gotoAndPlay ("Squence 1", "start"); } else { _root.loader._xscale = (_framesloaded/_totalframes)*100; } Consultez galement

Classe MovieClipLoader

MovieClip.getBounds
Disponibilit

Flash Player 5.
Usage mon_mc.getBounds(espaceDeCoordonnesCible) Paramtres espaceDeCoordonnesCible Le chemin cible du scnario dont vous voulez utiliser le systme de coordonnes comme point de rfrence. Renvoie

Un objet avec les proprits xMin, xMax, yMin et yMax.


Description

Mthode : renvoie des proprits qui sont les valeurs minimum et maximum des coordonnes x et y de loccurrence spcifie par mon_mc pour le paramtre espaceDeCoordonnesCible.
Remarque : Utilisez MovieClip.localToGlobal() et MovieClip.globalToLocal() pour convertir les coordonnes locales du clip en coordonnes de scne ou, linverse, les coordonnes de scne en coordonnes locales. Exemple

Dans lexemple suivant, lobjet que renvoie la mthode getBounds() est affect lidentifiant limitesDeClip. Vous pouvez alors accder aux valeurs de chaque proprit et les utiliser dans un script. Dans ce script, une autre occurrence de clip, clip2, est place ct de clip.
limitesDeClip = clip.getBounds(_root); clip2._x = limitesDeClip.xMax; Consultez galement MovieClip.globalToLocal(), MovieClip.localToGlobal()

MovieClip.getBounds

499

MovieClip.getBytesLoaded()
Disponibilit

Flash Player 5.
Usage mon_mc.getBytesLoaded() Paramtres

Aucun.
Renvoie

Un entier indiquant le nombre doctets chargs.


Description

Mthode : renvoie le nombre doctets dj charg (transmis) pour le clip spcifi par mon_mc. Vous pouvez comparer cette valeur avec la valeur renvoye par MovieClip.getBytesTotal() pour dterminer quel pourcentage de clip a t charg.
Consultez galement MovieClip.getBytesTotal()

MovieClip.getBytesTotal()
Disponibilit

Flash Player 5.
Usage mon_mc.getBytesTotal() Paramtres

Aucun.
Renvoie

Un nombre entier indiquant la taille totale, en octets, de mon_mc.


Description

Mthode : renvoie la taille, en octets, du clip spcifi par mon_mc. Pour les clips externes (le fichier SWF racine ou un clip charg dans une cible ou un niveau), la valeur renvoye correspond la taille du fichier SWF.
Consultez galement MovieClip.getBytesLoaded()

MovieClip.getDepth()
Disponibilit

Flash Player 6.

500

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_mc.getDepth() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie la profondeur dune occurrence de clip. Pour plus dinformations, consultez Gestion des profondeurs de clip, page 133.
Consultez galement MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

MovieClip.getInstanceAtDepth()
Disponibilit

Flash Player 7.
Usage mon_mc.getInstanceAtDepth(profondeur) Paramtres profondeur Renvoie

Un nombre entier qui spcifie le niveau de profondeur interroger.

Une chane reprsentant le nom du clip situ la profondeur spcifie ou undefined si aucun clip ne se trouve cette profondeur.
Description

Mthode : vous permet de dterminer si une profondeur particulire est dj occupe par un clip. Vous pouvez utiliser cette mthode avant dutiliser MovieClip.attachMovie(), MovieClip.duplicateMovieClip ou MovieClip.createEmptyMovieClip() pour dterminer si le paramtre de profondeur transmettre lune de ces mthodes contient dj un clip. Pour plus dinformations, consultez Gestion des profondeurs de clip, page 133.
Consultez galement MovieClip.getDepth(), MovieClip.getNextHighestDepth(), MovieClip.swapDepths()

MovieClip.getNextHighestDepth()
Disponibilit

Flash Player 7.
Usage mon_mc.getNextHighestDepth()

MovieClip.getNextHighestDepth()

501

Paramtres

Aucun.
Renvoie

Un entier reprsentant le prochain ordre de profondeur disponible qui apparatra au-dessus de tous les autres objets au mme niveau et sur le mme calque dans mon_mc.
Description

Mthode : vous permet de dterminer une valeur de profondeur qui vous pouvez transmettre MovieClip.attachMovie(), MovieClip.duplicateMovieClip, ou MovieClip.createEmptyMovieClip() pour vrifier que le clip apparat au-dessus de tous les autres objets au mme niveau et sur le mme calque dans le clip actuel. La valeur renvoye est 0 ou plus (ainsi, les valeurs ngatives ne sont pas renvoyes). Pour plus dinformations, consultez Gestion des profondeurs de clip, page 133.
Consultez galement MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.swapDepths()

MovieClip.getSWFVersion()
Disponibilit

Flash Player 7.
Usage mon_mc.getSWFVersion() Paramtres

Aucun.
Renvoie

Un entier qui spcifie que la version de Flash Player cible lors du chargement du fichier SWF dans mon_mc tait publi.
Description

Mthode : renvoie un entier indiquant la version de Flash Player pour laquelle lobjet mon_mc a t publi. Si mon_mc est un fichier JPEG ou si une erreur se produit et que Flash ne peut pas dterminer la version SWF de mon_mc , -1 est renvoy.

MovieClip.getTextSnapshot()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage mon_mc.getTextSnapshot();

502

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres

Aucun.
Renvoie

Un objet TextSnapshot contenant le texte statique de mon_mc ou un chane vide si mon_mc ne contient pas de texte statique.
Description

Mthode : renvoie un objet TextSnapshot contenant le texte de tous les champs de texte statiques dans le clip spcifi ; le texte de clips enfant nest pas insr. Flash concatne le texte et le place dans lobjet TextSnapshot dans un ordre reprsentant lordre dindexation des champs de texte statiques dans le clip. Les champs de texte ne comportant pas de valeurs dindexation sont placs par ordre alatoire dans lobjet et prcdent le texte de champs comportant des valeurs dindexation. Aucun saut de ligne ou formatage nindique la fin dun champ et le dbut du suivant.
Remarque : Vous ne pouvez pas spcifier de valeur dindexation pour du texte statique dans Flash. Dautres produits le permettent, Macromedia FlashPaper par exemple.

Le contenu de lobjet TextSnapshot nest pas dynamique, cest--dire que, si le clip se dplace sur une autre image ou sil est modifi (si des objets du clip sont ajouts ou supprims, par exemple), lobjet TextSnapshot peut ne pas reprsenter le texte rel du clip. Pour sassurer que le contenu de lobjet est le contenu rel, mettez de nouveau cette commande si ncessaire.
Consultez galement

objet TextSnapshot

MovieClip.getURL()
Disponibilit

Flash Player 5.
Usage mon_mc.getURL(URL [,fentre, variables]) Paramtres URL

LURL o se trouve le document obtenir.

Un paramtre facultatif spcifiant le nom, limage ou lexpression qui dfinit la fentre ou le cadre HTML dans lequel le document est charg. Vous pouvez galement utiliser lun des noms cible rservs suivants : _self spcifie limage courante dans la fentre courante, _blank spcifie une nouvelle fentre, _parent spcifie le parent de limage courante et _top spcifie limage de premier niveau dans la fentre courante.
fentre variables Un paramtre facultatif spcifiant une mthode denvoi des variables associes au fichier SWF charger. Sil ny a pas de variables, omettez ce paramtre ; sinon, spcifiez si les variables doivent tre charges avec une mthode GET ou POST. GET ajoute les variables la fin de lURL et est utilise pour un petit nombre de variables. POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables.

MovieClip.getURL()

503

Renvoie

Rien.
Description

Mthode : charge un document depuis une URL spcifie dans la fentre spcifie. La mthode getURL peut galement tre utilise pour transmettre des variables une autre application dfinie lURL avec une mthode GET ou POST.
Consultez galement getURL()

MovieClip.globalToLocal()
Disponibilit

Flash Player 5.
Usage mon_mc.globalToLocal(point) Paramtres point Le nom ou lidentifiant dun objet cr avec la Classe Object gnrique. Lobjet dfinit les coordonnes x et y en tant que proprits. Renvoie

Rien.
Description

Mthode : convertit les coordonnes de scne (globales) de lobjet point en coordonnes de clip (locales).
Exemple

Lexemple suivant convertit les coordonnes x et y de lobjet point en coordonnes locales du clip.
onClipEvent(mouseMove) { point = new object(); point.x = _root._xmouse; point.y = _root._ymouse; globalToLocal(point); trace(_root._xmouse + " " + _root._ymouse); trace(point.x + " " + point.y); updateAfterEvent(); } Consultez galement MovieClip.getBounds, MovieClip.localToGlobal()

MovieClip.gotoAndPlay()
Disponibilit

Flash Player 5.

504

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_mc.gotoAndPlay(image) Paramtres image

Un nombre reprsentant le numro de limage ou une chane reprsentant ltiquette de limage vers laquelle la tte de lecture est envoye.

Renvoie

Rien.
Description

Mthode : dmarre la lecture du fichier SWF partir de limage spcifie. Si vous souhaitez spcifier une scne ainsi quune image, utilisez gotoAndPlay().

MovieClip.gotoAndStop
Disponibilit

Flash Player 5.
Usage mon_mc.gotoAndStop(image) Paramtres image Renvoie

Le numro de limage vers laquelle la tte de lecture est envoye.

Rien.
Description

Mthode : envoie la tte de lecture limage spcifie de ce clip et larrte.


Consultez galement gotoAndStop()

MovieClip._height
Disponibilit

Flash Player 4.
Usage mon_mc._height Description

Proprit : la hauteur du clip, en pixels.


Exemple

Lexemple de code suivant dfinit la hauteur et la largeur dun clip lorsque lutilisateur clique sur le bouton de la souris.

MovieClip._height

505

onClipEvent(mouseDown) { _width=200; _height=200; }

MovieClip._highquality
Disponibilit

Flash Player 6.
Usage mon_mc._highquality Description

Proprit (globale) : spcifie le niveau danti-aliasing appliqu au fichier SWF en cours. Spcifiez 2 (qualit maximum) pour appliquer une qualit leve avec le lissage bitmap toujours actif. Spcifiez 1 (qualit leve) pour appliquer lanti-aliasing ; cela permettra de lisser les bitmaps si le fichier SWF ne contient pas danimation. Spcifiez 0 (faible qualit) pour empcher lantialiasing. Cette proprit peut supplanter la proprit _highquality globale.
Exemple mon_mc._highquality = 2; Consultez galement _quality

MovieClip.hitArea
Disponibilit

Flash Player 6.
Usage mon_mc.hitArea Renvoie

Une rfrence un clip.


Description

Proprit : dsigne un autre clip qui servira de zone active pour un clip de bouton. Si la proprit hitArea nexiste pas ou est null ou undefined, le clip de bouton mme est utilis en tant que zone active. La valeur de la proprit hitArea peut tre une rfrence un objet de clip. Vous pouvez changer la proprit hitArea tout moment, le clip de bouton modifi prenant immdiatement le nouveau comportement. Le clip dsign comme zone active na pas besoin dtre visible, sa forme graphique, bien que non visible, tant soumise un test daccs. La proprit hitArea peut tre lue partir dun objet prototype.

506

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClip.hitTest()
Disponibilit

Flash Player 5.
Usage mon_mc.hitTest(x, y, baliseDeForme) mon_mc.hitTest(cible) Paramtres x y

La coordonne x de la zone ractive sur la scne. La coordonne y de la zone ractive sur la scne.

Les coordonnes x et y sont dfinies dans lespace de coordonnes global.


cible Le chemin cible de la zone ractive pouvant croiser ou chevaucher loccurrence spcifie par mon_mc. Le paramtre cible reprsente gnralement un bouton ou un champ de saisie de texte. baliseDeForme Valeur boolenne spcifiant sil faut valuer la forme entire de loccurrence spcifie (true) ou seulement le cadre de dlimitation (false). Ce paramtre ne peut tre spcifi que si la zone ractive est identifie avec les paramtres des coordonnes x et y. Renvoie

Une valeur boolenne true si mon_mc chevauche la zone ractive, false dans les autres cas.
Description

Mthode : value loccurrence spcifie par mon_mc pour voir si elle chevauche ou croise la zone ractive identifie par cible ou les paramtres des coordonnes x et y. Usage 1 : Compare les coordonnes x et y avec la forme ou le cadre de dlimitation de loccurrence spcifie, en fonction du paramtre baliseDeForme. Si baliseDeForme est dfini sur true, seule la zone occupe actuellement par loccurrence sur la scne est value, et si x et y se recouvrent, une valeur true est renvoye. Cela est utile pour dterminer si le clip se trouve dans une zone sensible spcifie. Usage 2 : Evalue les cadres de dlimitation de cible et de loccurrence spcifie et renvoie true sils se croisent ou se recouvrent en un point.
Exemple

Lexemple suivant utilise hitTest() avec les proprits x_mouse et y_mouse pour dterminer si la souris se trouve sur le cadre de dlimitation de la cible :
if (hitTest( _root._xmouse, _root._ymouse, false));

Lexemple suivant utilise hitTest() pour dterminer si le clip balle chevauche ou croise le clip carr :
if(_root.balle.hitTest(_root.carr)){ trace("balle croise carr"); }

MovieClip.hitTest()

507

Consultez galement MovieClip.getBounds, MovieClip.globalToLocal(), MovieClip.localToGlobal()

MovieClip.lineStyle()
Disponibilit

Flash Player 6.
Usage mon_mc.lineStyle ([paisseur[, rvb[, alpha]]]) Paramtres paisseur Un entier qui indique lpaisseur de la ligne en points, les valeurs valides allant de 0 255. Si aucun nombre nest spcifi ou si le paramtre est undefined, aucune ligne nest trace. Si une valeur infrieure 0 est transmise, Flash utilise 0. La valeur 0 indique une paisseur trs fine, lpaisseur maximum tant 255. Si une valeur suprieure 255 est transmise, linterprte de Flash utilise 255. rvb

Une valeur chromatique hexadcimale (par exemple, le rouge correspond 0xFF0000, le bleu correspond 0x0000FF, etc.) de la ligne. Si aucune valeur nest indique, Flash utilise 0x000000 (noir).

alpha Un entier indiquant la valeur alpha de la couleur du trait ; les valeurs valides sont comprises entre 0 et 100. Lorsquaucune valeur nest indique, Flash utilise 100 (uni). Si la valeur est infrieure 0, Flash utilise 0. Si la valeur est suprieure 100, Flash utilise 100. Renvoie

Rien.
Description

Mthode : spcifie un style de trait que Flash utilise pour les appels ultrieurs aux mthodes lineTo() et curveTo(), jusqu ce que vous appeliez lineStyle() avec des paramtres diffrents. Vous pouvez appeler la mthode lineStyle() au milieu dune opration de dessin dun chemin afin de spcifier diffrents styles pour diffrents segments de ligne au sein dun chemin.
Remarque : Les appels de clear rinitialisent la mthode lineStyle() undefined. Exemple

Le code suivant trace un triangle avec un trait magenta de 5 points et aucun remplissage.
_root.createEmptyMovieClip( "triangle", 1 ); with ( _root.triangle ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo(100,300); lineTo( 200, 200 ); }

508

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement MovieClip.beginFill(), MovieClip.beginGradientFill(), MovieClip.clear(), MovieClip.curveTo(), MovieClip.lineTo(), MovieClip.moveTo()

MovieClip.lineTo()
Disponibilit

Flash Player 6.
Usage mon_mc.lineTo(x, y) Paramtres x y

Un entier indiquant la position horizontale du clip parent par rapport au point dalignement. Un entier indiquant la position verticale du clip parent par rapport au point dalignement.

Renvoie

Rien.
Description

Mthode : dessine une ligne avec le style de trait courant de la position actuelle (x, y), la position de dessin actuelle tant alors dfinie (x, y). Si le clip dans lequel vous dessinez contient un contenu cr avec les outils de dessin de Flash, les appels lineTo() sont dessins au-dessous de ce contenu. Si vous appelez la mthode lineTo() avant tout appel la mthode moveTo(), la position actuelle du dessin est par dfaut (0, 0). Cette mthode choue lorsque des paramtres sont absents et la position de dessin courante nest pas change.
Exemple

Lexemple suivant trace un triangle sans trait et avec un remplissage bleu partiellement transparent.
_root.createEmptyMovieClip ("triangle", 1); with (_root.triangle){ beginFill (0x0000FF, 50); lineStyle (5, 0xFF00FF, 100); moveTo (200, 200); lineTo (300, 300); lineTo (100, 300); lineTo (200, 200); endFill(); } Consultez galement MovieClip.beginFill(), MovieClip.createEmptyMovieClip(), MovieClip.endFill(), MovieClip.lineStyle(), MovieClip.moveTo()

MovieClip.loadMovie
Disponibilit

Flash Player 5.

MovieClip.loadMovie

509

Usage mon_mc.loadMovie("url" [,variables]) Paramtres url

LURL absolue ou relative du fichier SWF ou JPEG charger. Un chemin relatif doit tre relatif au fichier SWF au niveau 0. Des URL absolues doivent inclure la rfrence au protocole, comme http:// ou file:///.

variables Un paramtre facultatif spcifiant une mthode HTTP denvoi ou de chargement des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.
Description

Mthode : charge des fichiers SWF ou JPEG dans un clip dans Flash Player pendant la lecture du fichier SWF dorigine.
Conseil : Si vous souhaitez suivre la progression du tlchargement, utilisez MovieClipLoader.loadClip() au lieu de cette fonction.

Sans la mthode loadMovie(), Flash Player affiche un seul fichier SWF avant de quitter. La mthode loadMovie() vous permet dafficher plusieurs fichiers SWF simultanment et de basculer entre les fichiers SWF sans charger un autre document HTML. Un fichier SWF ou une image charge dans un clip hrite des proprits de position, rotation et chelle de ce clip. Vous pouvez utiliser le chemin cible du clip pour cibler le fichier SWF charg. Utilisez la mthode unloadMovie() pour retirer les fichiers ou images SWF chargs avec la mthode loadMovie(). Utilisez la mthode loadVariables pour garder le fichier SWF actif et mettre les variables jour avec de nouvelles valeurs.
Consultez galement loadMovie(), loadMovieNum(), MovieClip.loadVariables(), MovieClip.unloadMovie(), unloadMovie(), unloadMovieNum()

MovieClip.loadVariables()
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.


Usage mon_mc.loadVariables("url", variables) Paramtres url

LURL absolue ou relative du fichier externe contenant les variables charger. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous.

510

Chapitre 12 : Dictionnaire ActionScript Prsentation

variables Un paramtre facultatif spcifiant une mthode HTTP denvoi des variables. Le paramtre doit tre la chane GET ou POST. Omettez ce paramtre si aucune variable ne doit tre envoye. La mthode GET ajoute les variables la fin de lURL et est utilise pour des petits nombres de variables. La mthode POST envoie les variables dans un en-tte HTTP distinct et est utilise pour les longues chanes de variables. Renvoie

Rien.
Description

Mthode : lit les donnes depuis un fichier externe et dfinit les valeurs pour les variables de mon_mc. Le fichier externe peut tre un fichier texte gnr par un script CGI, Active Server Page (ASP) ou un script PHP, et peut contenir nimporte quel nombre de variables. Cette mthode peut galement tre utilise pour mettre jour des variables dans le clip actif avec de nouvelles valeurs. Cette mthode ncessite que le texte de lURL soit au format standard MIME : application/xwww-form-urlencoded (format script CGI). Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com. Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198.
Consultez galement loadMovie(), loadVariables(), loadvariablesNum(), MovieClip.unloadMovie()

MovieClip.localToGlobal()
Disponibilit

Flash Player 5.
Usage mon_mc.localToGlobal(point) Paramtres point Le nom ou lidentifiant dun objet cr avec Classe Object, spcifiant les coordonnes x et y comme proprits. Renvoie

Rien.

MovieClip.localToGlobal()

511

Description

Mthode : convertit les coordonnes du clip (locales) de lobjet point en coordonnes de scne (globales).
Exemple

Lexemple suivant convertit les coordonnes x et y de lobjet point, des coordonnes du clip (locales) en coordonnes de scne (globales). Les coordonnes locales x et y sont spcifies laide des proprits _xmouse et _ymouse pour rcuprer les coordonnes x et y de la position du pointeur de la souris.
onClipEvent(mouseMove) { point = new object(); point.x = _xmouse; point.y = _ymouse; _root.out3 = point.x + " === " + point.y; _root.out = _root._xmouse + " === " + _root._ymouse; localToGlobal(point); _root.out2 = point.x + " === " + point.y; updateAfterEvent(); } Consultez galement MovieClip.globalToLocal()

MovieClip._lockroot
Disponibilit

Flash Player 7.
Usage mon_mc._lockroot Description

Proprit : spcifie la rfrence de _root lors du chargement dun fichier SWF dans un clip. La proprit _lockroot est undefined par dfaut. Vous pouvez dfinir cette proprit dans le fichier SWF en cours de chargement ou dans le gestionnaire qui charge le clip. Par exemple, supposons que vous possdiez un fichier nomm Jeux.fla qui permet un utilisateur de choisir un jeu et de le charger (par exemple, Echecs.swf ) dans le clip Jeux_mc. Vous souhaitez tre sr que, si _root est utilis dans Echecs.swf, il se rapporte toujours _root dans Echecs.swf aprs avoir t charg dans Jeux.swf. Si vous avez accs Echecs.fla et pouvez le publier dans Flash Player 7 ou ultrieur, vous pouvez y ajouter cette instruction :
this._lockroot = true;

Si vous navez pas accs Echecs.fla (par exemple, si vous chargez Echecs.swf depuis le site de quelquun dautre), vous pouvez dfinir ses proprits _lockroot lors de son chargement, comme indiqu ci-dessous. Dans ce cas, Echecs.swf peut tre publi avec nimporte quelle version de Flash Player, tant que Jeux.swf est publi pour FlashPlayer 7 ou ultrieur.
onClipEvent (load) { this._lockroot = true;

512

Chapitre 12 : Dictionnaire ActionScript Prsentation

} jeu_mc.loadMovie ("Echecs.swf");

Si vous nutilisez pas linstruction this._lockroot = true dans aucun des deux fichiers SWF, _root dans Echecs.swf fait rfrence _root dans Jeux.swf une fois que Echecs.swf est charg dans Jeux.swf.
Consultez galement _root, MovieClip.attachMovie(), MovieClip.loadMovie

MovieClip.menu
Disponibilit Flash Player 7.
Utilisation mon_mc.menu = contextMenu Paramtres contextMenu Description

Un objet ContextMenu.

Proprit : associe lobjet ContextMenu spcifi au clip mon_mc. La classe ContextMenu vous permet de modifier le menu contextuel qui apparat quand lutilisateur clique du bouton droit de la souris (Windows) ou enfonce la touche Commande (Macintosh) dans Flash Player.
Exemple

Lexemple suivant affecte lobjet ContextMenu menu_cm au clip content_mc. Lobjet ContextMenu contient une option de menu personnalise intitule Imprimer... dont le gestionnaire de rappel associ est nomm doPrint().
var menu_cm = new ContextMenu(); menu_cm.customItems.push(nouveau ContextMenuItem("Imprimer...", doPrint)); function doPrint(menu, obj) { // Code "Imprimer" ici } content_mc.menu = menu_cm; Voir aussi Button.menu, Classe ContextMenu, Classe ContextMenuItem, TextField.menu

MovieClip.moveTo()
Disponibilit

Flash Player 6.
Usage mon_mc.moveTo(x, y) Paramtres x

Un entier indiquant la position horizontale du clip parent par rapport au point dalignement.

MovieClip.moveTo()

513

Un entier indiquant la position verticale du clip parent par rapport au point dalignement.

Renvoie

Rien.
Description

Mthode : place la position de dessin actuelle (x, y). Cette mthode choue lorsque des paramtres sont absents et la position de dessin courante nest pas change.
Exemple

Cet exemple trace un triangle avec des lignes magenta de 5 points continues, sans remplissage. La premire ligne cre un clip vide pour commencer le dessin. Un type de ligne est dfini lintrieur de linstruction with, puis la position de dessin de dbut est indique par la mthode moveTo().
_root.createEmptyMovieClip( "triangle", 1 ); with ( _root.triangle ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo(100,300); lineTo( 200, 200 ); } Consultez galement MovieClip.createEmptyMovieClip(), MovieClip.lineStyle(), MovieClip.lineTo()

MovieClip._name
Disponibilit

Flash Player 4.
Usage mon_mc._name Description

Proprit : le nom doccurrence du clip spcifi par mon_mc.

MovieClip.nextFrame()
Disponibilit

Flash Player 5.
Usage mon_mc.nextFrame() Paramtres

Aucun.
Renvoie

Rien.

514

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : envoie la tte de lecture limage suivante et larrte.


Consultez galement nextFrame()

MovieClip.onData
Disponibilit

Flash Player 6.
Usage mon_mc.onData = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun clip reoit des donnes dun appel loadVariables() ou loadMovie(). Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu. Ce gestionnaire ne peut tre utilis quavec les clips dont vous possdez un symbole associ une classe dans la bibliothque. Si vous souhaitez quun gestionnaire dvnement soit appel lorsquun clip spcifique reoit des donnes, vous devez utiliser onClipEvent(data) la place de ce gestionnaire. Ce dernier est invoqu lorsquun clip reoit des donnes.
Exemple

Lexemple suivant montre comment utiliser correctement MovieClip.onData() et onClipEvent(data).


// symbol_mc est un symbole de clip dans la bibliothque. // Il est associ la classe MovieClip. // La fonction suivante est dclenche pour chaque occurrence de symbol_mc // lors de la rception de donnes. symbol_mc.onData = function() { trace("Le clip a reu des donnes"); } // dynamic_mc est un clip charg avec MovieClip.loadMovie(). // Ce code tente dappeler une fonction lorsque le clip est charg, // mais sans succs, car le fichier SWF charg nest pas un symbole contenu // dans la bibliothque et associ la classe MovieClip. function output() { trace("Ne sera pas appel."); } dynamic_mc.onData = output;

MovieClip.onData

515

dynamic_mc.loadMovie("remplacement.swf"); // La fonction suivante est appele pour tout clip // recevant des donnes, quil soit dans la bibliothque ou non. // Cette fonction est donc appele lorsque symbol_mc est instanci // et lorsque remplacement.swf est charg. OnClipEvent( data ) { trace("Le clip a reu des donnes"); } Consultez galement onClipEvent()

MovieClip.onDragOut
Disponibilit

Flash Player 6.
Usage mon_mc.onDragOut = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque vous cliquez sur le bouton de la souris et que le pointeur sort de lobjet. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onDragOut qui envoie une trace() action au panneau de sortie.
mon_mc.onDragOut = function () { trace ("onDragOut appel"); }; Consultez galement MovieClip.onDragOver

MovieClip.onDragOver
Disponibilit

Flash Player 6.
Usage mon_mc.onDragOver = function() {

516

Chapitre 12 : Dictionnaire ActionScript Prsentation

// vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le pointeur est sorti avant dtre repositionn audessus du clip. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onDragOver qui envoie une trace() action au panneau de sortie.
mon_mc.onDragOver = function () { trace ("onDragOver appel"); }; Consultez galement MovieClip.onDragOut

MovieClip.onEnterFrame
Disponibilit

Flash Player 6.
Usage mon_mc.onEnterFrame = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu continuellement la cadence du fichier SWF. Les actions associes lvnement de clip enterFrame sont traites avant les actions associes aux images affectes. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onEnterFrame qui envoie une action trace() au panneau de sortie.

MovieClip.onEnterFrame

517

mon_mc.onEnterFrame = function () { trace ("onEnterFrame appel"); };

MovieClip.onKeyDown
Disponibilit

Flash Player 6.
Usage mon_mc.onKeyDown = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun clip a le focus de saisie et quune touche est enfonce. Le gestionnaire dvnement onKeyDown est invoqu sans paramtres. Vous pouvez utiliser les mthodes Key.getAscii() et Key.getCode() pour dterminer quelle touche a t enfonce. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu. Le gestionnaire dvnement onKeyDown ne fonctionne que si le focus de saisie du clip est activ et dfini. Dabord, la proprit focusEnabled du clip doit tre dfinie sur la valeur true. Ensuite, le clip doit disposer dun focus. Pour cela, utilisez Selection.setFocus() ou dfinissez la touche tabulation pour naviguer vers le clip. Si vous utilisez Selection.setFocus(), le chemin du clip doit tre affect Selection.setFocus(). Dautres lments peuvent trs facilement reprendre que la souris est dplace.
Exemple

le focus une fois

Lexemple suivant dfinit une fonction pour la mthode onKeyDown() qui envoie une action trace() au panneau de sortie.
mon_mc.onKeyDown = function () { trace ("onKeyDown appel"); };

Lexemple suivant dfinit le focus de saisie.


MovieClip.focusEnabled = true; Selection.setFocus(MovieClip); Consultez galement MovieClip.onKeyUp

518

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClip.onKeyUp
Disponibilit

Flash Player 6.
Usage mon_mc.onKeyUp = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquune touche est relche. Le gestionnaire dvnement onKeyUp est invoqu sans paramtres. Vous pouvez utiliser les mthodes Key.getAscii() et Key.getCode() pour dterminer quelle touche a t enfonce. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu. Le gestionnaire dvnement onKeyUp ne fonctionne que si le focus de saisie du clip est activ et dfini. Dabord, la proprit focusEnabled du clip doit tre dfinie sur la valeur true. Ensuite, le clip doit disposer dun focus. Pour cela, utilisez Selection.setFocus() ou dfinissez la touche tabulation pour naviguer vers le clip. Si vous utilisez Selection.setFocus(), le chemin du clip doit tre affect Selection.setFocus(). Dautres lments peuvent trs facilement reprendre que la souris est dplace.
Exemple

le focus une fois

Lexemple suivant dfinit une fonction pour la mthode onKeyUp qui envoie une action trace() au panneau de sortie.
mon_mc.onKeyUp = function () { trace ("onKeyUp appel"); };

Lexemple suivant dfinit le focus de saisie :


MovieClip.focusEnabled = true; Selection.setFocus(MovieClip);

MovieClip.onKillFocus
Disponibilit

Flash Player 6.
Usage mon_mc.onKillFocus = function (nouveauFocus) { // vos instructions }

MovieClip.onKillFocus

519

Paramtres nouveauFocus Renvoie

Lobjet recevant le focus clavier.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun clip perd le focus clavier. La mthode onKillFocus reoit un paramtre, nouveauFocus, qui est un objet reprsentant le nouvel objet recevant le focus. Si aucun objet ne reoit le focus, nouveauFocus contient la valeur null.

MovieClip.onLoad
Disponibilit

Flash Player 6.
Usage mon_mc.onLoad = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le clip est instanci et apparat dans le scnario. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu. Ce gestionnaire ne peut tre utilis quavec les clips dont vous possdez un symbole associ une classe dans la bibliothque. Si vous souhaitez quun gestionnaire dvnement soit invoqu lorsquun clip spcifique est charg, par exemple lorsque vous utilisez MovieClip.loadMovie() pour charger dynamiquement un fichier SWF, vous devez utiliser onClipEvent(load) la place de ce gestionnaire. Ce dernier est invoqu lorsquun clip est charg.
Exemple

Lexemple suivant montre comment utiliser correctement MovieClip.onLoad() et onClipEvent(load).


// symbol_mc est un symbole de clip dans la bibliothque. // Il est associ la classe MovieClip. // La fonction suivante est dclenche pour chaque occurrence de symbol_mc // lorsquil est instanci et apparat dans le scnario. symbol_mc.onLoad = function() { trace("Le clip est charg"); } // dynamic_mc est un clip charg avec MovieClip.loadMovie(). // Ce code tente dappeler une fonction lorsque le clip est charg, // mais sans succs, car le fichier SWF charg nest pas un symbole contenu

520

Chapitre 12 : Dictionnaire ActionScript Prsentation

// dans la bibliothque et associ la classe MovieClip. function output() { trace("Ne sera pas appel."); } dynamic_mc.onLoad = output; dynamic_mc.loadMovie("remplacement.swf"); // La fonction suivante est appele pour tout clip // apparat dans le scnario, quil soit dans la bibliothque ou non. // Cette fonction est donc appele lorsque symbol_mc est instanci // et lorsque remplacement.swf est charg. OnClipEvent( load ) { trace("Le clip est charg"); } Consultez galement onClipEvent()

MovieClip.onMouseDown
Disponibilit

Flash Player 6.
Usage mon_mc.onMouseDown = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le bouton de la souris est enfonc. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onMouseDown qui envoie une action trace() au panneau de sortie.
mon_mc.onMouseDown = function () { trace ("onMouseDown appel"); }

MovieClip.onMouseMove
Disponibilit

Flash Player 6.

MovieClip.onMouseMove

521

Usage mon_mc.onMouseMove = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque la souris se dplace. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onMouseMove qui envoie une action trace() au panneau de sortie.
mon_mc.onMouseMove = function () { trace ("onMouseMove appel"); };

MovieClip.onMouseUp
Disponibilit

Flash Player 6.
Usage mon_mc.onMouseUp = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le bouton de la souris est relch. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onMouseUp qui envoie une action trace() au panneau de sortie.
mon_mc.onMouseUp = function () { trace ("onMouseUp appel"); };

522

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClip.onPress
Disponibilit

Flash Player 6.
Usage mon_mc.onPress = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque lutilisateur clique sur la souris alors que le pointeur est sur un clip. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onPress qui envoie une action trace() au panneau de sortie.
mon_mc.onPress = function () { trace ("onPress appel"); };

MovieClip.onRelease
Disponibilit

Flash Player 6.
Usage mon_mc.onRelease = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun clip de bouton est relch. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.

MovieClip.onRelease

523

Exemple

Lexemple suivant dfinit une fonction pour la mthode onPress qui envoie une action trace() au panneau de sortie.
mon_mc.onRelease = function () { trace ("onRelease appel"); };

MovieClip.onReleaseOutside
Disponibilit

Flash Player 6.
Usage mon_mc.onReleaseOutside = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque la souris est relche pendant que le pointeur se trouve au dehors du clip aprs lenfoncement du bouton pendant que le pointeur est lintrieur du clip. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onReleaseOutside qui envoie une action trace() au panneau de sortie.
mon_mc.onReleaseOutside = function () { trace ("onReleaseOutside appel"); };

MovieClip.onRollOut
Disponibilit

Flash Player 6.
Usage mon_mc.onRollOut = function() { // vos instructions } Paramtres

Aucun.

524

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le pointeur passe lextrieur de la zone dun clip. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onRollOut qui envoie une action trace() au panneau de sortie.
mon_mc.onRollOut = function () { trace ("onRollOut appel"); };

MovieClip.onRollOver
Disponibilit

Flash Player 6.
Usage mon_mc.onRollOver = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque le pointeur passe au-dessus de la zone dun clip. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode onRollOver qui envoie une trace() au panneau de sortie.
mon_mc.onRollOver = function () { trace ("onRollOver appel"); };

MovieClip.onSetFocus
Disponibilit

Flash Player 6.
Usage mon_mc.onSetFocus = function(ancienFocus){

MovieClip.onSetFocus

525

// vos instructions } Paramtres ancienFocus Renvoie

Lobjet devant perdre le focus.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun clip reoit le focus clavier. Le paramtre ancienFocus est lobjet perdant le focus. Par exemple, si lutilisateur appuie sur la touche Tab pour faire passer le focus de saisie dun clip un champ de texte, ancienFocus contient loccurrence de clip. Si aucun objet na prcdemment reu le focus, ancienFocus contient une valeur null.

MovieClip.onUnload
Disponibilit

Flash Player 6.
Usage mon_mc.onUnload = function() { // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu dans la premire image aprs la suppression du clip du scnario. Flash traite les actions associes au gestionnaire dvnement onUnload avant dassocier toute action limage affecte. Vous devez dfinir une fonction excute lorsque le gestionnaire dvnement est invoqu.
Exemple

Lexemple suivant dfinit une fonction pour la mthode MovieClip.onLoad qui envoie une action trace() au panneau de sortie.
mon_mc.onUnload = function () { trace ("onUnload appel"); };

MovieClip._parent
Disponibilit

Flash Player 5.

526

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_mc._parent.proprit _parent.proprit Description

Proprit : une rfrence au clip ou lobjet contenant le clip ou objet courant. Lobjet courant est lobjet contenant le code ActionScript faisant rfrence _parent. Utilisez la proprit _parent pour spcifier un chemin relatif aux clips ou objets qui se trouvent au-dessus du clip ou objet actuel. Vous pouvez utiliser _parent pour monter de plusieurs niveaux dans la liste daffichage, comme dans lexemple suivant :
_parent._parent._alpha = 20; Consultez galement Button._parent, _root, targetPath, TextField._parent

MovieClip.play()
Disponibilit

Flash Player 5.
Usage mon_mc.play() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : dplace la tte de lecture dans le clip.


Consultez galement play()

MovieClip.prevFrame()
Disponibilit

Flash Player 5.
Usage mon_mc.prevFrame() Paramtres

Aucun.

MovieClip.prevFrame()

527

Renvoie

Rien.
Description

Mthode : envoie la tte de lecture limage prcdente et larrte.


Consultez galement prevFrame()

MovieClip.removeMovieClip()
Disponibilit

Flash Player 5.
Usage mon_mc.removeMovieClip() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : renvoie une occurrence de clip cre avec duplicateMovieClip(), MovieClip.duplicateMovieClip, ou MovieClip.attachMovie().

MovieClip._rotation
Disponibilit

Flash Player 4.
Usage mon_mc._rotation Description

Proprit : la rotation du clip, en degrs, partir de son orientation dorigine. Les valeurs de 0 180 reprsentent une rotation dans le sens horaire ; les valeurs de 0 -180 reprsentent une rotation dans le sens antihoraire. Les valeurs en dehors de cette plage sont ajoutes ou soustraites de 360 pour obtenir une valeur comprise dans la plage. Par exemple, linstruction mon_mc._rotation = 450 est identique linstruction mon_mc._rotation = 90.
Consultez galement Button._rotation, TextField._rotation

528

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClip.setMask()
Disponibilit

Flash Player 6.
Usage mon_mc.setMask(masque_mc) Paramtres mon_mc

Le nom doccurrence dun clip masquer. Le nom doccurrence dun clip devant tre un masque.

masque_mc Renvoie

Rien.
Description

Mthode : transforme le clip du paramtre masque_mc en masque rvlant le clip spcifi par le paramtre mon_mc. Cette mthode permet des clips multi-images, avec un contenu complexe et multi-calques, dagir en tant que masques. Vous pouvez activer et dsactiver les masques lexcution. Cependant, vous ne pouvez pas utiliser le mme masque pour masquer plusieurs objets (ce qui est possible en utilisant des calques de masque). Les polices de priphrique prsentes dans un clip masqu sont traces mais pas masques. Vous ne pouvez pas dfinir un clip comme tant son propre masque, par exemple, mon_mc.setMask(mon_mc). Si vous crez un calque de masque qui contient un clip et que vous lui appliquez la mthode setMask(), lappel setMask() est prioritaire et son effet est irrversible. Par exemple, vous pourriez avoir un clip dans un calque de masque appel MasqueUI qui masque un autre calque contenant un autre clip appel MasquUI. Si, la lecture du fichier SWF, vous appelez MasqueurUI.setMask(MasqueUI), partir de ce moment-l, MasqueurUI est masqu par MasqueUI.
setMask().

Pour annuler un masque cr avec ActionScript, transmettez la valeur null la mthode Le code suivant annule le masque sans affecter le calque de masque dans le scnario.

MasqueurUI.setMask(null); Exemple

Lexemple de code suivant utilise le clip masqueCercle_mc pour masquer le clip leMasque_mc.
leMasqu_mc.setMask(masqueCercle_mc);

MovieClip._soundbuftime
Disponibilit

Flash Player 6.
Usage mon_mc._soundbuftime

MovieClip._soundbuftime

529

Description

Proprit (globale) : un entier spcifiant le nombre de secondes de mise en tampon dun son avant sa lecture en flux continu.

MovieClip.startDrag()
Disponibilit

Flash Player 5.
Usage mon_mc.startDrag([verrouiller, [gauche, haut, droite, bas]]) Paramtres

Une valeur boolenne spcifiant si le clip dplaable est verrouill au centre de la position de la souris (true) ou verrouill sur le point auquel lutilisateur a cliqu sur le clip (false). Ce paramtre est facultatif.
verrouiller gauche, haut, droite, bas Valeurs relatives aux coordonnes du parent du clip spcifiant un rectangle de contrainte pour le clip. Ces paramtres sont facultatifs. Renvoie

Rien.
Description

Mthode : permet lutilisateur de faire glisser le clip spcifi. Le clip reste dplaable jusqu ce quil soit explicitement arrt par un appel de MovieClip.stopDrag() ou quun autre clip devienne dplaable. On ne peut faire glisser quun seul clip la fois.
Consultez galement MovieClip._droptarget, startDrag(), MovieClip.stopDrag()

MovieClip.stop()
Disponibilit

Flash Player 5.
Usage mon_mc.stop() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : arrte la lecture du clip courant.

530

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement stop()

MovieClip.stopDrag()
Disponibilit

Flash Player 5.
Usage mon_mc.stopDrag() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : termine une mthode MovieClip.startDrag() Une animation rendue dplaable avec cette mthode reste dplaable jusqu lajout dune mthode stopDrag() ou jusqu ce quune autre animation devienne dplaable. On ne peut faire glisser quun seul clip la fois.
Consultez galement MovieClip._droptarget, MovieClip.startDrag(), stopDrag()

MovieClip.swapDepths()
Disponibilit

Flash Player 5.
Usage mon_mc.swapDepths(profondeur) mon_mc.swapDepths(cible) Paramtres profondeur cible

Un nombre spcifiant le niveau de profondeur auquel mon_mc doit tre plac.

Une chane spcifiant loccurrence de clip dont la profondeur est permute par loccurrence spcifie par mon_mc. Les deux occurrences doivent avoir le mme clip parent.

Renvoie

Rien.

MovieClip.swapDepths()

531

Description

Mthode : permute lordre dempilement, ou ordre z (niveau de profondeur), de loccurrence spcifie (mon_mc) avec le clip spcifi par le paramtre cible ou avec le clip occupant actuellement le niveau spcifi dans le paramtre profondeur. Les deux clips doivent avoir le mme clip parent. La permutation du niveau de profondeur des clips a pour effet de dplacer un clip devant ou derrire lautre. Si un clip est en cours dinterpolation lors de lappel de cette mthode, linterpolation est arrte. Pour plus dinformations, consultez Gestion des profondeurs de clip, page 133.
Consultez galement _level, MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth()

MovieClip.tabChildren
Disponibilit

Flash Player 6.
Usage mon_mc.tabChildren Description

Proprit : undefined par dfaut. Si tabChildren a pour valeur undefined ou true, les enfants du clip sont inclus dans lordre de tabulation automatique. Si la valeur de tabChildren est false, les enfants du clip ne sont pas inclus dans lordre de tabulation automatique.
Exemple

Un objet dinterface de zone de liste construit en tant que clip contient plusieurs lments. Lutilisateur peut cliquer sur chaque lment pour le slectionner, de sorte que chaque lment est un bouton. Cependant, seule la zone de liste mme devrait tre un arrt de tabulation. Les lments lintrieur de la zone de liste devraient tre exclus de lordre de tabulation. Pour ce faire, la proprit tabChildren de la zone de liste devrait tre dfinie sur false. La proprit tabChildren na aucun effet si la proprit tabIndex est utilise. La proprit tabChildren naffecte que lordre de tabulation automatique.
Consultez galement Button.tabIndex, mon_mc.tabEnabled, MovieClip.tabIndex, TextField.tabIndex

mon_mc.tabEnabled
Disponibilit

Flash Player 6.
Usage mon_mc.tabEnabled

532

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : spcifie si mon_mc est inclus dans lordre de tabulation automatique. Valeur undefined par dfaut. Si tabEnabled est undefined, lobjet est inclus dans lordre de tabulation automatique uniquement sil dfinit au moins un gestionnaire de boutons, par exemple MovieClip.onRelease. Si tabEnabled est true, lobjet est inclus dans lordre de tabulation automatique. Si la proprit tabIndex est galement dfinie avec une valeur, lobjet est galement inclus dans lordre de tabulation automatique. Si tabEnabled est false, lobjet nest pas inclus dans lordre de tabulation automatique ou personnalis, mme si la proprit tabIndex est dfinie. Toutefois, si MovieClip.tabChildren a pour valeur true, les enfants du clip peuvent rester inclus dans lordre de tabulation automatique, mme si tabEnabled est dfini sur la valeur false.
Consultez galement Button.tabEnabled, MovieClip.tabChildren, MovieClip.tabIndex, TextField.tabEnabled

MovieClip.tabIndex
Disponibilit

Flash Player 6.
Usage mon_mc.tabIndex Description

Proprit : permet de dfinir lordre de tabulation automatique des objets dune animation. La proprit tabIndex est undefined par dfaut. Vous pouvez dfinir tabIndex pour une occurrence de bouton, de clip ou de champ de texte. Si un objet du fichier SWF contient une proprit tabIndex, lordre de tabulation automatique est dsactiv et lordre de tabulation est calcul en fonction des proprits tabIndex des objets du fichier SWF. Lordre de tabulation personnalis ninclut que les objets possdant des proprits tabIndex. La proprit tabIndex doit tre un entier positif. Les objets sont placs dans lordre correspondant leurs proprits tabIndex, dans un ordre croissant. Un objet dont la valeur tabIndex est 1 prcde un objet dont la valeur tabIndex est de 2. Lordre de tabulation personnalis ignore les relations hirarchiques entre les objets dun fichier SWF. Tous les objets du fichier SWF munis de proprits tabIndex sont placs dans lordre de tabulation. Vous ne devriez pas utiliser la mme valeur tabIndex pour plusieurs objets.
Consultez galement Button.tabIndex, TextField.tabIndex

MovieClip.tabIndex

533

MovieClip._target
Disponibilit

Flash Player 4.
Usage mon_mc._target Description

Proprit (lecture seule) : renvoie le chemin cible de loccurrence de clip spcifi par mon_mc.

MovieClip._totalframes
Disponibilit

Flash Player 4.
Usage mon_mc._totalframes Description

Proprit (lecture seule) : renvoie le nombre total dimages de loccurrence de clip spcifie dans le paramtre mon_mc.

MovieClip.trackAsMenu
Disponibilit

Flash Player 6.
Usage mon_mc.trackAsMenu Description

Proprit : une proprit boolenne qui indique si dautres boutons ou clips peuvent recevoir des vnements de relchement de bouton de souris Cela vous permet de crer des menus. Vous pouvez dfinir la proprit trackAsMenu pour nimporte quel objet de bouton ou clip. Si la proprit trackAsMenu nexiste pas, le comportement par dfaut est false. Vous pouvez changer la proprit trackAsMenu tout moment, le clip de bouton modifi prenant immdiatement le nouveau comportement.
Consultez galement Button.trackAsMenu

MovieClip.unloadMovie()
Disponibilit

Flash Player 5.

534

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_mc.unloadMovie() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : renvoie le contenu dune occurrence de clip. Les proprits doccurrence et les gestionnaires de clip restent. Pour supprimer loccurrence, y compris ses proprits et les gestionnaires de clip, utilisez MovieClip.removeMovieClip().
Consultez galement MovieClip.attachMovie(), MovieClip.loadMovie, unloadMovie(), unloadMovieNum()

MovieClip._url
Disponibilit

Flash Player 4.
Usage mon_mc._url Description

Proprit (lecture seule) : rcupre lURL du fichier SWF do le clip a t tlcharg.

MovieClip.useHandCursor
Disponibilit

Flash Player 6.
Usage mon_mc.useHandCursor Description

Proprit : une valeur boolenne indiquant si le curseur en forme de main (main) apparat lorsque la souris passe au-dessus dun clip de bouton. La valeur par dfaut de useHandCursor est true. Si useHandCursor est dfini sur la valeur true, la main utilise pour les boutons saffiche lorsque la souris passe au-dessus dun clip de bouton. Si useHandCursor est false, cest le curseur de flche qui est utilis. Vous pouvez changer la proprit useHandCursor tout moment, le clip de bouton modifi prenant immdiatement le nouveau comportement. La proprit useHandCursor peut tre lue partir dun objet prototype.

MovieClip.useHandCursor

535

MovieClip._visible
Disponibilit

Flash Player 4.
Usage mon_mc._visible Description

Proprit : une valeur boolenne indiquant si le clip spcifi par mon_mc est visible. Les clips qui ne sont pas visibles (proprit _visible dfinie sur false) sont dsactivs. Par exemple, le bouton dun clip dont la proprit _visible est dfinie sur la valeur false ne peut pas tre cliqu.
Consultez galement Button._visible, TextField._visible

MovieClip._width
Disponibilit

Flash Player 4 en tant que proprit en lecture seule.


Usage mon_mc._width Description

Proprit : la largeur du clip, en pixels.


Exemple

Lexemple suivant dfinit les proprits de hauteur et de largeur dun clip lorsque lutilisateur clique sur la souris.
onclipEvent(mouseDown) { _width=200; _height=200; } Consultez galement MovieClip._height

MovieClip._x
Disponibilit

Flash Player 3.
Usage mon_mc._x

536

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : un entier dfinissant la coordonne x dun clip par rapport aux coordonnes locales du clip parent. Si un clip se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne comme (0, 0). Si le clip se trouve dans un clip qui a subi des transformations, le clip est dans le systme de coordonnes locales du clip imbriquant. Donc, pour un clip ayant pivot de 90 degrs dans le sens inverse des aiguilles dune montre, les enfants de ce clip hritent dun systme de coordonnes qui a pivot de 90 degrs dans le sens inverse des aiguilles dune montre. Les coordonnes du clip font rfrence la position du point dalignement.
Consultez galement MovieClip._xscale, MovieClip._y, MovieClip._yscale

MovieClip._xmouse
Disponibilit

Flash Player 5.
Usage mon_mc._xmouse Description

Proprit (lecture seule) : renvoie la coordonne x de la position de la souris.


Consultez galement

Classe Mouse, MovieClip._ymouse

MovieClip._xscale
Disponibilit

Flash Player 4.
Usage mon_mc._xscale Description

Proprit : dtermine lchelle horizontale (pourcentage) du clip telle quapplique partir du point dalignement du clip. Le point dalignement par dfaut est (0,0). Le redimensionnement du systme de coordonnes locales affecte les paramtres de proprit _x et _y, dfinis en pixels entiers. Par exemple, si le clip parent est dimensionn 50 %, la dfinition de la proprit _x bouge un objet du clip de la moiti du nombre de pixels dune animation 100 %.
Consultez galement MovieClip._x, MovieClip._y, MovieClip._yscale

MovieClip._xscale

537

MovieClip._y
Disponibilit

Flash Player 3.
Usage mon_mc._y Description

Proprit : dfinit la coordonne y du clip par rapport aux coordonnes locales du clip parent. Si un clip se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne comme (0, 0). Si le clip se trouve dans un clip qui a subi des transformations, le clip est dans le systme de coordonnes locales du clip imbriquant. Donc, pour un clip ayant pivot de 90 degrs dans le sens inverse des aiguilles dune montre, les enfants de ce clip hritent dun systme de coordonnes qui a pivot de 90 degrs dans le sens inverse des aiguilles dune montre. Les coordonnes du clip font rfrence la position du point dalignement.
Consultez galement MovieClip._x, MovieClip._xscale, MovieClip._yscale

MovieClip._ymouse
Disponibilit

Flash Player 5.
Usage mon_mc._ymouse Description

Proprit (lecture seule) : indique la coordonne y de la position de la souris.


Consultez galement

Classe Mouse, MovieClip._xmouse

MovieClip._yscale
Disponibilit

Flash Player 4.
Usage mon_mc._yscale Description

Proprit : dfinit lchelle verticale (pourcentage) du clip telle quapplique partir du point dalignement du clip. Le point dalignement par dfaut est (0,0).

538

Chapitre 12 : Dictionnaire ActionScript Prsentation

Le redimensionnement du systme de coordonnes locales affecte les paramtres de proprit _x et _y, dfinis en pixels entiers. Par exemple, si le clip parent est dimensionn 50 %, la dfinition de la proprit _x bouge un objet du clip de la moiti du nombre de pixels dune animation 100 %.
Consultez galement MovieClip._x, MovieClip._xscale, MovieClip._y

Classe MovieClipLoader
Disponibilit

Flash Player 7.
Description

Cette classe vous permet dimplmenter des rappels des couteurs offrant des informations dtat durant le chargement des fichiers SWF et JPEG (tlchargs) dans les clips. Pour utiliser les fonctionnalits MovieClipLoader, utilisez MovieClipLoader.loadClip() plutt que loadMovie() ou MovieClip.loadMovie() pour charger les fichiers SWF. Une fois la commande MovieClipLoader.loadClip() active, les vnements suivants se produisent, dans lordre spcifi :

Une fois les premiers octets du fichier tlcharg enregistrs sur disque, lcouteur
MovieClipLoader.onLoadStart()

est appel.

Si vous avez implment lcouteur MovieClipLoader.onLoadProgress(), ce dernier est


appel durant le processus de chargement.
Remarque : Vous pouvez appeler MovieClipLoader.getProgress() tout moment durant le processus de chargement.

Une fois le fichier tlcharg entier enregistr sur disque, lcouteur


MovieClipLoader.onLoadComplete() MovieClipLoader.onLoadInit()

est appel.

Une fois les premires actions dimage du fichier tlcharg effectues, lcouteur
est appel. Une fois MovieClipLoader.onLoadInit() appel, vous pouvez dfinir les proprits, utiliser les mthodes, ou bien interagir avec le clip charg. Si le chargement du fichier choue, lcouteur MovieClipLoader.onLoadError() est appel. Mthodes de la classe MovieClipLoader
Mthode
MovieClipLoader.addListener()

Description Enregistre un objet pour recevoir une notification lors de lappel dun gestionnaire dvnements MovieClipLoader. Renvoie le nombre doctets chargs et le nombre total doctets pour un fichier en cours de chargement laide de MovieClipLoader.loadClip(). Charge un fichier SWF ou JPEG dans un clip dans Flash Player, lors de la lecture du clip dorigine.

MovieClipLoader.getProgress()

MovieClipLoader.loadClip()

Classe MovieClipLoader

539

Mthode
MovieClipLoader.removeListener()

Description Supprime un objet enregistr laide de MovieClipLoader.addListener(). Supprime un clip charg via
MovieClipLoader.loadClip().

MovieClipLoader.unloadClip()

Ecouteurs de la classe MovieClipLoader


Ecouteur
MovieClipLoader.onLoadComplete()

Description Appel si un fichier charg laide de MovieClipLoader.loadClip() est entirement tlcharg. Appel si le chargement dun fichier charg laide de MovieClipLoader.loadClip() a chou. Appel si les actions sur la premire image du clip charges ont t excutes. Appel chaque fois que le contenu de chargement est enregistr sur disque durant le processus de chargement. Appel si un appel de MovieClipLoader.loadClip() a commenc le tlchargement dun fichier.

MovieClipLoader.onLoadError()

MovieClipLoader.onLoadInit()

MovieClipLoader.onLoadProgress()

MovieClipLoader.onLoadStart()

Constructeur de la classe MovieClipLoader


Disponibilit

Flash Player 7.
Usage new MovieClipLoader() Paramtres

Aucun.
Renvoie

Rien.
Description

Constructeur : cre un objet MovieClipLoader que vous pouvez utiliser pour implmenter un nombre dcouteurs pour rpondre aux vnements lors du tlchargement dun fichier SWF ou JPEG.
Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.addListener()

540

Chapitre 12 : Dictionnaire ActionScript Prsentation

MovieClipLoader.addListener()
Disponibilit

Flash Player 7.
Usage mon_mcl.addListener(objetDecoute) Paramtres objetDecoute

Un objet qui coute une notification de rappel partir des gestionnaires dvnements MovieClipLoader.

Renvoie

Rien.
Description

Mthode : enregistre un objet pour recevoir une notification lors de lappel dun gestionnaire dvnements MovieClipLoader.
Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.onLoadComplete(), MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadProgress(), MovieClipLoader.onLoadStart(), MovieClipLoader.removeListener()

MovieClipLoader.getProgress()
Disponibilit

Flash Player 7.
Usage mon_mcl.getProgress(cible_mc) Paramtres cible_mc Renvoie

Un fichier SWF ou JPEG charg via MovieClipLoader.loadClip().

Un objet qui a deux proprits intgres : bytesLoaded et bytesTotal.


Description

Mthode : renvoie le nombre doctets chargs et le nombre total doctets pour un fichier en cours de chargement laide de MovieClipLoader.loadClip() ; pour les clips compresss, ce nombre reflte le nombre doctets compresss. Cette mthode vous permet de demander explicitement ces informations, plutt que (ou en plus) denregistrer une fonction dcouteur MovieClipLoader.onLoadProgress().

MovieClipLoader.getProgress()

541

Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.onLoadProgress()

MovieClipLoader.loadClip()
Disponibilit

Flash Player 7.
Usage mon_mcl.loadMovie("url", cible ) Paramtres url

LURL absolue ou relative du fichier SWF ou JPEG charger. Un chemin relatif doit tre relatif au fichier SWF au niveau 0. Des URL absolues doivent inclure la rfrence au protocole, comme http:// ou file:///. Les noms de fichiers ne peuvent pas inclure de spcifications de disque dur. Le chemin cible dun clip, ou un nombre entier spcifiant le niveau, dans Flash Player, auquel ce clip sera charg. Le clip cible sera remplac par lanimation ou limage charge.

cible

Renvoie

Rien.
Description

Charge un fichier SWF ou JPEG dans un clip dans Flash Player, lors de la lecture du clip dorigine. La mthode loadMovie vous permet dafficher plusieurs animations en une fois et de basculer entre des animations sans charger un autre document HTML. Lutilisation de cette mthode au lieu de la mthode loadMovie() ou MovieClip.loadMovie() offre de nombreux avantages :

Le gestionnaire MovieClipLoader.onLoadStart() est appel au dmarrage du chargement. Le gestionnaire MovieClipLoader.onLoadError() est appel si le clip ne peut pas tre charg. Le gestionnaire MovieClipLoader.onLoadProgress() est appel durant le processus de
chargement. Le gestionnaire MovieClipLoader.onLoadInit() est appel une fois les actions sur la premire image du clip excutes, afin que vous puissiez commencer la manipulation du clip charg.

Une animation ou image charge dans un clip hrite de ses proprits de position, rotation et chelle. Vous pouvez utiliser le chemin cible du clip pour cibler lanimation charge. Vous pouvez utiliser cette mthode pour charger un ou plusieurs fichiers dans un mme clip ou un mme niveau ; les objets dcoute MovieClipLoader reoivent loccurrence de chargement du clip cible en tant que paramtre. Vous pouvez galement crer un objet MovieClipLoader diffrent pour chaque fichier charg.

542

Chapitre 12 : Dictionnaire ActionScript Prsentation

Utilisez MovieClipLoader.unloadClip() pour supprimer les clips ou les images charges via cette mthode, ou pour annuler une opration de chargement en cours.
Exemple

Lexemple suivant illustre lutilisation dune grande partie des mthodes MovieClipLoader et des couteurs.
// premier ensemble dcouteurs var mon_mcl = new MovieClipLoader(); monEcouteur = new Object(); monEcouteur.onLoadStart = function (cible_mc) { maTrace ("*********Premire occurrence de mon_mcl*********"); maTrace ("Votre chargement a commenc sur le clip . = " + cible_mc); var loadProgress = mon_mcl.getProgress(cible_mc); maTrace(loadProgress.bytesLoaded + " = octets chargs au dmarrage"); maTrace(loadProgress.bytesTotal + " = total des octets au dmarrage"); } monEcouteur.onLoadProgress = function (cible_mc, loadedBytes, totalBytes) { maTrace ("*********Progression de la premire occurrence de mon_mcl*********"); maTrace ("onLoadProgress() rappel sur clip " + cible_mc); maTrace(loadedBytes + " = octets chargs au rappel de progression " ); maTrace(totalBytes + " = total octets au rappel de progression \n"); } monEcouteur.onLoadComplete = function (cible_mc) { maTrace ("*********Premire occurrence de mon_mcl*********"); maTrace ("Votre chargement est effectu sur le clip = " + cible_mc); var loadProgress = mon_mcl.getProgress(cible_mc); maTrace(loadProgress.bytesLoaded + " = octets chargs la fin"); maTrace(loadProgress.bytesTotal + " = total des octets la fin"); } monEcouteur.onLoadInit = function (cible_mc) { maTrace ("*********Premire occurrence de mon_mcl*********"); maTrace ("Clip = " + cible_mc + " est maintenant initialis"); // vous pouvez maintenant effectuer tous les rglages requis, par exemple : cible_mc._width = 100; cible_mc._width = 100; } objetDecoute.onLoadError() = function (cible_mc, errorCode) { { maTrace ("*********Premire occurrence de mon_mcl*********"); maTrace ("CODE ERREUR = " + codeErreur); maTrace ("Votre chargement a chou sur le clip = " + cible_mc + "\n"); } mon_mcl.addListener(monEcouteur); //Charger maintenant les fichiers dans leurs emplacements cibles. // charge dans les clips - chanes utilises en tant que cibles mon_mcl.loadClip("http://www.undomaine.quelquepart.com/ unFichier.swf","_root.monMC"); mon_mcl.loadClip("http://www.undomaine.quelquepart.com/unAutreFichier.swf", "_level0.monMC2"); //chec du chargement mon_mcl.loadClip("http://www.undomaine.quelquepart.com/unFichier.jpg", _root.monMC5); // charge dans les clips - occurrence de clip utilise en tant que cible.

MovieClipLoader.loadClip()

543

mon_mcl.loadClip("http://www.undomaine.quelquepart.com/unAutreFichier.jpg", _level0.monMC3); // charge dans _level1 mon_mcl.loadClip("fichier:///C:/media/images/uneImage.jpg", 1); //Second ensemble dcouteurs var autre_mcl = new MovieClipLoader(); monEcouteur2 = new Object(); monEcouteur2.onLoadStart = function (cible_mc) { maTrace("*********Seconde occurrence mon_mcl*********"); maTrace ("Votre chargement a commenc sur le clip22. = " + cible_mc); var loadProgress = mon_mcl.getProgress(cible_mc); maTrace(loadProgress.bytesLoaded + " = octets chargs au dmarrage"); maTrace(loadProgress.bytesTotal + " = total des octets au dmarrage"); } monEcouteur2.onLoadComplete = function (cible_mc) { maTrace("*********Seconde occurrence mon_mcl*********"); maTrace ("Votre chargement est effectu sur le clip = " + cible_mc); var loadProgress = mon_mcl.getProgress(cible_mc); maTrace(loadProgress.bytesLoaded + " = octets chargs la fin"); maTrace(loadProgress.bytesTotal + " = total des octets la fin"); } monEcouteur2.onLoadError = function (cible_mc, codeErreur) { maTrace("*********Seconde occurrence mon_mcl*********"); maTrace ("CODE ERREUR = " + codeErreur); maTrace ("Votre chargement a chou sur le clip = " + cible_mc + "\n"); } autre_mcl.addListener(monEcouteur2); //Charger maintenant les fichiers dans leurs emplacements cibles ( laide de la seconde occurrence de MovieClipLoader) autre_mcl.loadClip("http://www.undomaine.quelquepart.com/ encoreUnAutreFichier.jpg", _root.monMC4); // Activer linstruction suivante une fois le tlchargement termin, // et une fois mon_mcl.onLoadInit appel. // mon_mcl.removeListener(monEcouteur) // mon_mcl.removeListener(monEcouteur2) Consultez galement MovieClipLoader.unloadClip()

MovieClipLoader.onLoadComplete()
Disponibilit

Flash Player 7.
Usage objetDecoute.onLoadComplete() = function (cible_mc) { // vos instructions } Paramtres objetDecoute

Un objet dcoute ajout via MovieClipLoader.addListener().

544

Chapitre 12 : Dictionnaire ActionScript Prsentation

cible_mc Renvoie

Le clip charg par une mthode MovieClipLoader.loadClip().

Rien.
Description

Ecouteur : appel si un fichier charg laide de MovieClipLoader.loadClip() est entirement tlcharg.


Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.addListener(), MovieClipLoader.onLoadStart(), MovieClipLoader.onLoadError()

MovieClipLoader.onLoadError()
Disponibilit

Flash Player 7.
Usage objetDecoute.onLoadError() = function(cible_mc, codeErreur) { // vos instructions } Paramtres objetDecoute cible_mc

Un objet dcoute ajout via MovieClipLoader.addListener().

Le clip charg par une mthode MovieClipLoader.loadClip(). Une chane qui explique la cause de lchec.

codeErreur Renvoie

Lune des deux chanes : URLNotFound ou LoadNeverCompleted .


Description

Ecouteur : appel en cas dchec du chargement dun fichier laide de MovieClipLoader.loadClip(). La chane URLNotFound est renvoye si ni lcouteur MovieClipLoader.onLoadStart(), ni lcouteur MovieClipLoader.onLoadComplete() ne sont appels. Par exemple, si un serveur est en panne ou si le fichier est introuvable, ces couteurs ne sont pas appels. La chane LoadNeverCompleted est renvoye si MovieClipLoader.onLoadStart() a t appel, mais pas MovieClipLoader.onLoadComplete(). Par exemple, si MovieClipLoader.onLoadStart() est appel mais que le tlchargement est interrompu en raison dune surcharge du serveur, une panne du serveur, et ainsi de suite, MovieClipLoader.onLoadComplete() nest pas appel.

MovieClipLoader.onLoadError()

545

Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().

MovieClipLoader.onLoadInit()
Disponibilit

Flash Player 7.
Usage objetDecoute.onLoadInit() = function (cible_mc) { // vos instructions } Paramtres objetDecoute cible_mc Renvoie

Un objet dcoute ajout via MovieClipLoader.addListener().

Le clip charg par une mthode MovieClipLoader.loadClip().

Rien.
Description

Appel si les actions sur la premire image du clip charges ont t excutes. Une fois MovieClipLoader.onLoadInit() appel, vous pouvez dfinir les proprits, utiliser les mthodes, ou bien interagir avec le clip charg.
Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.onLoadStart()

MovieClipLoader.onLoadProgress()
Disponibilit

Flash Player 7.
Usage objetDecoute.onLoadProgress() = function(cible_mc [, loadedBytes [, totalBytes ] ] ) { // vos instructions } Paramtres objetDecoute cible_mc

Un objet dcoute ajout via MovieClipLoader.addListener(). Le nombre doctets chargs au moment de lappel de lcouteur.

Le clip charg par une mthode MovieClipLoader.loadClip(). Le nombre total doctets contenus dans le fichier en cours de chargement.

loadedBytes totalBytes

546

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Ecouteur : appel chaque fois que le contenu de chargement est enregistr sur disque durant le processus de chargement ( savoir, entre MovieClipLoader.onLoadStart() et MovieClipLoader.onLoadComplete()). Vous pouvez utiliser cette mthode pour afficher des informations concernant la progression du tlchargement, laide des paramtres loadedBytes et totalBytes.
Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.getProgress()

MovieClipLoader.onLoadStart()
Disponibilit

Flash Player 7.
Usage objetDecoute.onLoadStart() = function (cible_mc) { // vos instructions } Paramtres objetDecoute cible_mc Renvoie

Un objet dcoute ajout via MovieClipLoader.addListener().

Le clip charg par une mthode MovieClipLoader.loadClip().

Rien.
Description

Ecouteur : appel si un appel de MovieClipLoader.loadClip() a commenc le tlchargement dun fichier.


Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().


Consultez galement MovieClipLoader.onLoadError(), MovieClipLoader.onLoadInit(), MovieClipLoader.onLoadComplete()

MovieClipLoader.removeListener()
Disponibilit

Flash Player 7.

MovieClipLoader.removeListener()

547

Usage mon_mcl.removeListener(objetDecoute) Paramtres objetDecoute Renvoie

Un objet dcoute ajout via MovieClipLoader.addListener().

Rien.
Description

Mthode : supprime un objet utilis pour recevoir une notification lors de lappel dun gestionnaire dvnements MovieClipLoader.
Exemple

Pour plus dinformations, consultez MovieClipLoader.loadClip().

MovieClipLoader.unloadClip()
Disponibilit

Flash Player 7.
Usage mon_mcl.unloadClip(cible) Paramtres cible La chane ou le mon_mcl.loadClip(). Renvoie

nombre entier passs dans lappel correspondant

Rien.
Description

Mthode : supprime un clip charg via MovieClipLoader.loadClip(). Si vous activez cette commande lors du chargement dun clip, MovieClipLoader.onLoadError() est appel.
Consultez galement MovieClipLoader.loadClip()

NaN
Disponibilit

Flash Player 5.
Usage NaN Description

Variable : une variable prdfinie avec la valeur IEEE-754 pour NaN (Not a Number). Pour dterminer si un nombre est NaN, utilisez isNaN().

548

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement isNaN(), Number.NaN

ne (pas gal spcifique aux chanes)


Disponibilit

Flash Player 4. Cet oprateur est dconseill et remplac par loprateur != (ingalit).
Usage expression1 ne expression2 Paramtres expression1, expression2 Renvoie

Nombres, chanes ou variables.

Une valeur boolenne.


Description

Oprateur (comparaison) : compare expression1 avec expression2 et renvoie true si expression1 nest pas gale expression2 ; sinon, renvoie false.
Consultez galement != (ingalit)

Classe NetConnection
Disponibilit

Flash Player 7.
Remarque : Cette classe est galement prise en charge dans Flash Player 6, dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Description

La classe NetConnection permet de lire des fichiers FLV en flux continu partir dun disque local ou dune adresse HTTP. Pour plus dinformations sur le flux vido, consultez Lecture dynamique des fichiers FLV externes, page 205. Rsum des mthodes de la classe NetConnection
Mthode
NetConnection.connect()

Description Ouvre une connexion locale qui vous permet de lire les fichiers vido (FLV) depuis une adresse HTTP ou depuis un systme de fichiers local.

Classe NetConnection

549

Constructeur pour la classe NetConnection


Disponibilit

Flash Player 7.
Remarque : Cette classe est galement prise en charge dans Flash Player 6, dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage new NetConnection() Paramtres

Aucun.
Renvoie

Rien.
Description

Constructeur : cre un objet NetConnection que vous pouvez utiliser pour lire les fichiers de diffusion en flux locaux (FLV). Aprs la cration de lobjet NetConnection, utilisez NetConnection.connect() pour effectuer la connexion relle. La lecture des fichiers FLV externes offre plusieurs avantages par rapport lintgration de vido dans un document Flash : performances et gestion de la mmoire amliores, indpendance des cadences vido et Flash. Pour plus dinformations, consultez Lecture dynamique des fichiers FLV externes, page 205.
Consultez galement

Classe NetStream, Video.attachVideo()

NetConnection.connect()
Flash Player7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_nc.connect(nul); Paramtres

Aucun (vous devez passer null).


Renvoie

Rien.
Description

Ouvre une connexion locale lqui vous permet de lire les fichiers vido (FLV) depuis une adresse HTTP ou depuis un systme de fichiers local.

550

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement

Classe NetStream

Classe NetStream
Disponibilit

Flash Player 7.
Remarque : Cette classe est galement prise en charge dans Flash Player 6, dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Description

La classe NetStream fournit des mthodes et des proprits permettant de lire des fichiers Flash Video (FLV) depuis le systme de fichiers local ou une adresse HTTP. Vous devez utiliser un objet NetStream pour diffuser en flux la vido via un objet NetConnection. La lecture des fichiers FLV externes offre plusieurs avantages par rapport lintgration de vido dans un document Flash : performances et gestion de la mmoire amliores, indpendance des cadences vido et Flash. Cette classe offre plusieurs mthodes et proprits que vous pouvez utiliser pour suivre la progression du fichier lors de son chargement et de sa lecture. Ces mthodes permettent en outre lutilisateur de contrler la lecture (arrt, pause, et ainsi de suite). Pour plus dinformations sur le flux vido, consultez Lecture dynamique des fichiers FLV externes, page 205. Rsum des mthodes de la classe NetStream Les mthodes et proprits suivantes des classes NetConnection et NetStream sont utilises pour contrler la lecture des fichiers FLV.
Mthode
NetStream.close() NetStream.pause() NetStream.play() NetStream.seek()

Objectif Ferme le flux mais ne supprime pas lobjet vido. Arrte ou relance la lecture dun flux vido. Commence la lecture dun fichier vido externe (FLV). Recherche une position spcifique dans le fichier FLV. dmarrage de laffichage du flux vido.

NetStream.setBufferTime() Spcifie la dure de la mise en mmoire tampon des donnes avant le

Rsum des proprits de la classe NetStream


Proprit
NetStream.bufferLength

Description Le nombre de secondes de donnes actuellement incluses dans la mmoire tampon. Lecture seule : le nombre de secondes assignes la mmoire tampon par NetStream.setBufferTime(). Lecture seule : le nombre doctets de donnes charges dans le lecteur.

NetStream.bufferTime

NetStream.bytesLoaded

Classe NetStream

551

Proprit
NetStream.bytesTotal

Description Lecture seule : la taille totale, en octets, du fichier en cours de chargement dans le lecteur. Le nombre dimages par seconde en cours daffichage. Lecture seule : la position de la tte de lecture, en secondes.

NetStream.currentFps NetStream.time

Rsum des gestionnaires dvnement de la classe NetStream


Gestionnaire dvnement Description
NetStream.onStatus

Appel chaque fois quun changement dtat ou une erreur est consign(e) pour lobjet NetStream.

Constructeur pour la classe NetStream


Disponibilit

Flash Player 7.
Remarque : Cette classe est galement prise en charge dans Flash Player 6, dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage new NetStream(mon_nc) Paramtres mon_nc Renvoie

Un objet NetConnection.

Rien.
Description

Constructeur : cre un flux vido utilisable pour la lecture des fichiers FLV via lobjet NetConnection spcifi.
Exemple

Le code suivant construit dans un premier temps un nouvel objet NetConnection, mon_nc, puis lutilise pour construire un nouvel objet NetStream nomm fluxVideo_ns.
mon_nc = new NetConnection(); mon_nc.connect(null); fluxVideo_ns = new NetStream(mon_nc); Consultez galement

Classe NetConnection, Classe NetStream, Video.attachVideo()

NetStream.bufferLength
Disponibilit

Flash Player 7.

552

Chapitre 12 : Dictionnaire ActionScript Prsentation

Remarque : Cette proprit est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.bufferLength Description

Le nombre de secondes de donnes actuellement incluses dans la mmoire tampon. Vous pouvez utiliser cette proprit en association avec NetStream.bufferTime pour valuer le degr de remplissage de la mmoire tampon (par exemple, pour afficher un retour lattention de lutilisateur qui attend les donnes charger dans la mmoire tampon).
Consultez galement NetStream.bytesLoaded

NetStream.bufferTime
Disponibilit

Flash Player 7.
Remarque : Cette proprit est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage monFlux.bufferTime Description

le nombre de secondes assignes la mmoire tampon par NetStream.setBufferTime(). La valeur par dfaut est .1 (un dizime de seconde). Pour dterminer le nombre de secondes restant actuellement dans la mmoire tampon, utilisez NetStream.bufferLength.
Consultez galement NetStream.time

NetStream.bytesLoaded
Disponibilit

Flash Player 7.
Usage mon_ns.bytesLoaded Description

Lecture seule : le nombre doctets de donnes charges dans le lecteur. Vous pouvez utiliser cette proprit en association avec NetStream.bytesTotal pour valuer le degr de remplissage de la mmoire tampon (par exemple, pour afficher un retour lattention de lutilisateur qui attend les donnes charger dans la mmoire tampon).

NetStream.bytesLoaded

553

Consultez galement NetStream.bufferLength

NetStream.bytesTotal
Disponibilit

Flash Player 7.
Usage mon_ns.bytesLoaded Description

Lecture seule : la taille totale, en octets, du fichier en cours de chargement dans le lecteur.
Consultez galement NetStream.bytesLoaded, NetStream.bufferTime

NetStream.close()
Disponibilit

Flash Player 7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.close() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : arrte la lecture des donnes sur le flux vido, dfinit la proprit NetStream.time sur 0, et rend le flux vido disponible pour une autre utilisation. Cette commande supprime en outre la copie locale du fichier FLV tlcharg via ladresse HTTP.
Exemple

La fonction onDisconnect() suivante ferme une connexion et supprime la copie temporaire du fichier someFile.flv stock sur le disque local.
mon_nc = new NetConnection(); mon_nc.connect(null); mon_ns = nouvel objet NetStream(mon_nc); mon_ns.play("http://www.someDomain.com/videos/someFile.flv"); function onDisconnect() {

554

Chapitre 12 : Dictionnaire ActionScript Prsentation

mon_ns.close() } Consultez galement NetStream.pause(), NetStream.play()

NetStream.currentFps
Disponibilit

Flash Player 7.
Remarque : Cette proprit est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.currentFps Description

Proprit (lecture seule) : le nombre dimages par seconde en cours daffichage. Si vous exportez des fichiers FLV lire sur plusieurs systmes, vous pouvez vrifier la valeur correspondante durant le test afin de dterminer le degr de compression appliquer lors de lexportation du fichier.

NetStream.onStatus
Disponibilit

Flash Player 7.
Remarque : Ce gestionnaire est galement pris en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.onStatus = function(objetInfo) { // Votre code ici } Paramtres objetInfo Un paramtre dfini en fonction du message dtat ou derreur. Pour plus dinformations concernant ce paramtre, consultez la section Description , ci-dessous. Renvoie

Rien.
Description

Appel chaque fois quun changement dtat ou une erreur est consign pour lobjet NetStream. Pour rpondre ce gestionnaire dvnements, vous devez crer une fonction pour le traitement de lobjet dinformations. Lobjet dinformations a une proprit de code contenant un chane dcrivant le rsultat du gestionnaire onStatus, ainsi quune proprit level contenant une chane "Status" ou "Error".

NetStream.onStatus

555

Outre ce gestionnaire onStatus, Flash propose galement une super fonction appele System.onStatus. Si onStatus est invoqu pour un objet particulier et quaucune fonction nest affecte pour lui rpondre, Flash traite une fonction affecte System.onStatus sil en existe une. Les vnements suivants vous informent lorsque certaines activits NetStream se produisent.
Proprit de code
NetStream.Buffer.Empty

Proprit de niveau Etat

Signification Les donnes ne sont pas reues suffisamment rapidement pour remplir la mmoire tampon. Le flux de donnes est interrompu jusqu ce que la mmoire tampon soit nouveau remplie ; un NetStream.Buffer.Full est alors envoy, et la lecture du flux vido reprend. La mmoire tampon est pleine, et la lecture du flux vido commence. La lecture a commenc. La lecture sest arrte. Le fichier FLV transmis par la mthode
play() est introuvable.

NetStream.Buffer.Full

Etat Etat Etat Erreur

NetStream.Play.Start NetStream.Play.Stop NetStream.Play.StreamNotFound

Exemple

Lexemple suivant enregistre les donnes relatives au flux vido dans un fichier-journal.
mon_ns.onStatus = function(info) { _root.log_stream += "Etat du flux vido.\n"; _root.log_stream += "Evnement : " + info.code + "\n"; _root.log_stream += "Type : " + info.level + "\n"; } Consultez galement System.onStatus

NetStream.pause()
Disponibilit

Flash Player 7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.pause( [ reprisePause ] )

556

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres reprisePause

Facultatif : une valeur boolenne spcifiant la mise en pause de la lecture (true) ou la reprise de la lecture (false). Si vous oubliez ce paramtre, NetStream.pause() fonctionne en tant que bascule : la premire fois que cette mthode est appele sur un flux vido spcifique, elle arrte la lecture, et, lors de lappel suivant, elle relance la lecture.

Renvoie

Rien.
Description

Mthode : arrte ou relance la lecture dun flux vido. La premire fois que vous appelez cette mthode (sans envoyer de paramtre), elle arrte la lecture ; la fois suivante, elle relance la lecture. Vous pouvez associer cette mthode un bouton sur lequel lutilisateur doit appuyer pour arrter ou relancer la lecture.
Exemple

Les exemples suivants illustrent certaines utilisations de cette mthode.


mon_ns.pause(); // arrte la lecture lors de la premire activation mon_ns.pause(); // relance la lecture mon_ns.pause(false); // aucun effet, la lecture continue mon_ns.pause(); // arrte la lecture Consultez galement NetStream.close(), NetStream.play()

NetStream.play()
Disponibilit

Flash Player 7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.play("nomDeFichier"); Paramtres nomDeFichier

Le nom dun fichier FLV lire, indiqu entre guillemets. Les deux formats http:// et file:// sont pris en charge ; lemplacement file:// est toujours relatif lemplacement du fichier SWF.

Renvoie

Rien.

NetStream.play()

557

Description

Mthode : commence la lecture dun fichier vido externe (FLV). Pour visualiser les donnes vido, vous devez appeler une mthode Video.attachVideo() ; le fichier audio diffus en flux avec la vido, ou un fichier FLV contenant uniquement des donnes audio, sont lus automatiquement.
MovieClip.attachAudio()

Pour contrler les donnes audio associes un fichier FLV, vous pouvez utiliser la mthode pour acheminer ces donnes vers le clip ; vous pouvez ensuite crer un objet Sound pour contrler certains aspects de ces donnes audio. Pour plus dinformations, consultez MovieClip.attachAudio().

Si le fichier FLV est introuvable, le gestionnaire dvnements NetStream.onStatus est appel. Pour arrter un flux vido en cours de lecture, utilisez NetStream.close(). Vous pouvez lire les fichiers FLV locaux stocks dans le mme dossier que le fichier SWF ou dans un sous-dossier ; vous ne pouvez pas naviguer dans un dossier de niveau suprieur. Par exemple, si le fichier SWF se trouve dans un dossier nomm /training, et que vous souhaitez lire un fichier vido stock dans le dossier /training/videos, vous devez utiliser la syntaxe suivante :
mon_ns.play("file://videos/nomVideo.flv");

Pour lire un fichier vido stock dans le dossier /training, vous devez utiliser la syntaxe suivante : mon_ns.play("file://nomVideo.flv");
Exemple

Lexemple suivant illustre certains modes dutilisation de la commande NetStream.play().


// Lire un fichier sur lordinateur de lutilisateur // le dossier utilisateur_joe est un sous-dossier du dossier // dans lequel le fichier SWF est stock mon_ns.play("fichier://utilisateur_joe/flash/videos/lectureJune26.flv"); // Lire un fichier sur un serveur mon_ns.play("http://unServeur.unDomaine.com/flash/video/orientation.flv"); Consultez galement MovieClip.attachAudio(), NetStream.close(), NetStream.pause(), Video.attachVideo()

NetStream.seek()
Disponibilit

Flash Player 7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.seek(nombreDeSecondes) Paramtres nombreDeSecondes

La valeur temporelle approximative, en secondes, atteindre dans un fichier FLV. La tte de lecture se dplace vers limage-cl la plus proche de nombreDeSecondes.

558

Chapitre 12 : Dictionnaire ActionScript Prsentation

Pour revenir au dbut du flux vido, dfinissez nombreDeSecondes sur 0. Pour rechercher plus loin partir du dbut du flux vido, indiquez le nombre de secondes
voulu. Par exemple, pour positionner la tte de lecture 15 secondes du dbut, utilisez monFlux.seek(15). Pour effectuer la recherche en fonction de la position courante, passez monFlux.time + n ou monFlux.time - n pour avancer ou reculer de n secondes, respectivement, par rapport la position courante. Par exemple, pour reculer de 20 secondes par rapport la position courante, utilisez mon_ns.seek(mon_ns.time - 20).

Renvoie

Rien.
Description

Mthode : recherche limage-cl la plus proche du nombre de secondes spcifi par rapport au dbut du flux vido. La lecture du flux vido reprend lorsque lemplacement spcifi est atteint.
Exemple

Lexemple suivant illustre certains modes dutilisation de la commande NetStream.seek().


// Revenir au dbut du flux vido mon_ns.seek(0); // Aller un emplacement situ 30 secondes du dbut du flux vido mon_ns.seek(30); //Reculer de trois minutes par rapport la position courante mon_ns.seek(mon_ns.time - 180); Consultez galement NetStream.play(), NetStream.time

NetStream.setBufferTime()
Disponibilit

Flash Player 7.
Remarque : Cette mthode est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.setBufferTime(nombreDeSecondes) Paramtres nombreDeSecondes

Le nombre de secondes de donnes enregistrer dans la mmoire tampon avant que Flash commence laffichage des donnes. La valeur par dfaut est .1 (un dizime de seconde).

NetStream.setBufferTime()

559

Description

Spcifie la dure de la mise en mmoire tampon des donnes avant le dbut de la lecture du flux vido. Par exemple, pour vrifier que les 15 premires secondes du flux vido sont lues sans interruption, dfinissez nombreDeSecondes sur 15 ; Flash commence la lecture du flux vido uniquement aprs lenregistrement dans la mmoire tampon de 15 secondes de donnes.
Consultez galement NetStream.bufferTime

NetStream.time
Disponibilit

Flash Player 7.
Remarque : Cette proprit est galement prise en charge dans Flash Player 6 dans le cadre dune utilisation avec Flash Communication Server. Pour plus dinformations, consultez la documentation de Flash Communication Server. Usage mon_ns.time Description

Proprit (lecture seule) : la position de la tte de lecture, en secondes.


Consultez galement NetStream.bufferLength, NetStream.bytesLoaded

new
Disponibilit

Flash Player 5.
Usage new constructeur() Paramtres constructeur Une fonction suivie de paramtres facultatifs entre parenthses. La fonction est gnralement le nom du type dobjet (par exemple, Array, Number ou Object) construire. Renvoie

Rien.
Description

Oprateur : cre un nouvel objet, initialement anonyme, et appelle la fonction identifie par le paramtre constructeur. Loprateur new transmet la fonction les paramtres facultatifs entre parenthses, ainsi que lobjet nouvellement cr, auquel il est fait rfrence laide du mot-cl this. La fonction constructeur peut ensuite utiliser this pour dfinir les variables de lobjet.

560

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant cre la fonction Livre(), puis utilise loprateur new pour crer les objets livre1 et livre2.
function Livre(nom, prix){ this.nom = nom; this.prix = prix; } livre1 = new Livre("Chteau de ma mre", 19,99); livre2 = new Livre("La rigolade", 10,99); Exemple

Lexemple suivant utilise loprateur new pour crer une occurrence de lobjet Array avec 18 lments :
parcoursGolf_array = new Array(18); Consultez galement [] (accs tableau), {} (initialisateur dobjet)

newline
Disponibilit

Flash Player 4.
Usage newline Paramtres

Aucun.
Renvoie

Rien.
Description

Constante : insre un caractre de retour chariot (\n) qui produit une ligne vierge dans le texte gnr par votre code. Utilisez newline pour faire de la place aux informations rcupres par une fonction ou une action de votre code.
Exemple

Lexemple suivant montre comment newline affiche la sortie de laction trace() sur plusieurs lignes.
var monNom:String = "Lisa", monAge:Number = 30; trace(monNom + monAge); trace(monNom + newline + monAge);

nextFrame()
Disponibilit

Flash 2.

nextFrame()

561

Usage nextFrame() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : envoie la tte de lecture vers limage suivante et larrte.


Exemple

Dans cet exemple, lorsquun utilisateur clique sur le bouton, la tte de lecture passe limage suivante et sarrte.
on (release) { nextFrame(); }

nextScene()
Disponibilit

Flash 2.
Usage nextScene() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : envoie la tte de lecture vers limage 1 de la squence suivante et larrte.


Exemple

Dans cet exemple, lorsquun utilisateur relche le bouton, la tte de lecture est envoye limage 1 de la squence suivante.
on(release) { nextScene(); } Consultez galement prevScene()

562

Chapitre 12 : Dictionnaire ActionScript Prsentation

not
Disponibilit

Flash Player 4. Cet oprateur est dconseill et remplac par loprateur ! (NOT logique).
Usage not expression Paramtres expression Description

Toute variable ou expression convertie en valeur boolenne.

Oprateur : effectue une opration NOT logique dans Flash 4 Player.


Consultez galement ! (NOT logique)

null
Disponibilit

Flash Player 5.
Usage null Paramtres

Aucun.
Renvoie

Rien.
Description

Constante : une valeur spciale qui peut tre affecte aux variables ou renvoye par une fonction si aucune donne na t fournie. Vous pouvez utiliser null pour reprsenter les valeurs absentes ou nayant pas de type de donnes dfini.
Exemple

Dans un contexte numrique, null est quivalant 0. Les tests dgalit peuvent tre effectus avec null. Dans cette instruction, un nud darborescence binaire ne possde pas denfant gauche, et le champ pour cet enfant gauche peut donc tre dfini sur null.
if (tree.left == null) { tree.left = new TreeNode(); }

null

563

Classe Number
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

La classe Number est un simple objet enveloppe pour le type de donnes Number. Vous pouvez manipuler des valeurs numriques primitives laide des mthodes et proprits associes la classe Number. Cette classe est identique la classe Number de JavaScript. Vous devez utiliser un constructeur lorsque vous appelez les mthodes dun objet Number, mais il nest pas ncessaire dutiliser le constructeur lorsque vous appelez les proprits dun objet Number. Les exemples suivants spcifient la syntaxe employer pour appeler les mthodes et proprits dun objet Number. Lexemple suivant appelle la mthode toString() de lobjet Number, qui renvoie la chane 1234 .
monNombre = new Number(1234); monNombre.toString();

Cet exemple appelle la proprit MIN_VALUE (galement appele constante ) dun objet Number :
plusPetit = Number.MIN_VALUE

Rsum des mthodes de la classe Number


Mthode
Number.toString() Number.valueOf

Description Renvoie la reprsentation chane dun objet Number. Renvoie la valeur primitive dun objet Number.

Rsum des proprits de la classe Number


Proprit
Number.MAX_VALUE

Description Constante reprsentant le plus grand nombre reprsentable (IEEE-754 double prcision). Ce nombre est approximativement 1.79E+308. Constante reprsentant le plus petit nombre reprsentable (IEEE-754 double prcision). Ce nombre est approximativement 5e-324. Constante reprsentant la valeur de Not a Number (NaN).

Number.MIN_VALUE

Number.NaN

Number.NEGATIVE_INFINITY Constante reprsentant la valeur pour linfini ngatif. Number.POSITIVE_INFINITY Constante reprsentant la valeur pour linfini positif. Cette valeur est identique la variable globale Infinity.

Constructeur pour la classe Number


Disponibilit

Flash Player 5.

564

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage new Number(valeur) Paramtres valeur Renvoie

La valeur numrique de lobjet Number cr ou une valeur convertir en nombre.

Rien.
Description

Constructeur : cre un nouvel objet Number. Vous devez utiliser le constructeur Number lors de lutilisation de Number.toString() et Number.valueOf. Il nest pas ncessaire dutiliser de constructeur lorsque vous utilisez les proprits dun objet Number. Le constructeur new Number est principalement utilis comme support. Un objet Number est diffrent de la fonction Number qui convertit un paramtre en valeur primitive.
Exemple

Le code suivant construit de nouveaux objets Number.


n1 = new Number(3.4); n2 = new Number(-10); Consultez galement Number

Number.MAX_VALUE
Disponibilit

Flash Player 5.
Usage Number.MAX_VALUE Description

Proprit : le plus grand nombre reprsentable (IEEE-754 double prcision). Ce nombre est approximativement 1.79E+308.

Number.MIN_VALUE
Disponibilit

Flash Player 5.
Usage Number.MIN_VALUE Description

Proprit : le nombre reprsentable le plus petit (IEEE-754 double prcision). Ce nombre est approximativement 5e-324.

Number.MIN_VALUE

565

Number.NaN
Disponibilit

Flash Player 5.
Usage Number.NaN Description

Proprit : la valeur IEEE-754 reprsentant Not A Number (NaN).


Consultez galement isNaN(), NaN

Number.NEGATIVE_INFINITY
Disponibilit

Flash Player 5.
Usage Number.NEGATIVE_INFINITY Description

Proprit : spcifie la valeur IEEE-754 reprsentant linfini ngatif. La valeur de cette proprit est identique celle de la constante -Infinity. Linfini ngatif est une valeur numrique spciale qui est renvoye lorsquune opration mathmatique ou une fonction renvoient une valeur ngative trop grande pour tre reprsente.

Number.POSITIVE_INFINITY
Disponibilit

Flash Player 5.
Usage Number.POSITIVE_INFINITY Description

Proprit : spcifie la valeur IEEE-754 reprsentant linfini positif. La valeur de cette proprit est identique celle de la constante Infinity. Linfini positif est une valeur numrique spciale qui est renvoye lorsquune opration mathmatique ou une fonction renvoient une valeur trop grande pour tre reprsente.

Number.toString()
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.

566

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage monNombre.toString(base) Paramtres base

Spcifie la base numrique (entre 2 et 36) utiliser pour la conversion dun nombre en chane. Si vous ne spcifiez pas le paramtre base, la valeur par dfaut est 10.

Renvoie

Une chane.
Description

Mthode : renvoie la reprsentation chane de lobjet Number spcifi (monNombre). Si monNombre nest pas dfini, la valeur renvoye est la suivante :

Dans les fichiers publis pour Flash Player 6 ou les versions antrieures, le rsultat est 0. Dans les fichiers publis pour Flash Player 7 ou les versions ultrieures, le rsultat est NaN.
Exemple

Lexemple suivant utilise les valeurs 2 et 8 pour le paramtre radix, et renvoie une chane contenant la reprsentation correspondante du chiffre 9.
monNombre = nouveau chiffre (9); trace(monNombre.toString(2)); / 1001 trace(monNombre.toString(8)); / 11 Consultez galement NaN

Number.valueOf
Disponibilit

Flash Player 5.
Usage monNombre.valueOf() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : renvoie le type de valeur primitif de lobjet Number spcifi.

Number
Disponibilit

Flash Player 4 ; comportement modifi dans Flash Player 7.

Number

567

Usage Number(expression) Paramtres expression Renvoie

Une expression convertir en nombre.

Un nombre ou NaN.
Description

Fonction : convertit le paramtre expression en nombre et renvoie une valeur comme suit :

Si expression est un nombre, la valeur renvoye est expression. Si expression est une valeur boolenne, la valeur renvoye est 1 si expression est true, 0 si
est false. Si expression est une chane, la fonction tente danalyser expression comme un nombre dcimal avec un exposant facultatif (1.57505e-3). Si expression est undefined, la valeur renvoye est la suivante : Dans les fichiers publis pour Flash Player 6 ou les versions antrieures, le rsultat est 0. Dans les fichiers publis pour Flash Player 7 ou les versions ultrieures, le rsultat est NaN.
expression

Cette fonction est utilise pour convertir les fichiers Flash 4 contenant des oprateurs dconseills imports dans lenvironnement auteur de Flash 5 ou dune version ultrieure. Pour plus dinformations, consultez & (Oprateur AND au niveau du bit).
Consultez galement NaN,

Classe Number

Classe Object
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

La classe Object est la base de la hirarchie des classes ActionScript. Cette classe contient un petit sous-ensemble des fonctionnalits fournies par la classe JavaScript Object. Rsum des mthodes de la classe Objet
Mthode
Object.addProperty() Object.registerClass() Object.toString() Object.unwatch()

Description Cre une proprit de lecture/dfinition pour un objet. Associe un symbole de clip une classe dobjet ActionScript. Convertit lobjet spcifi en chane et le renvoie. Supprime le point de surveillance que Object.watch() a cr.

568

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthode
Object.valueOf() Object.watch()

Description Renvoie la valeur primitive dun objet. Enregistre un gestionnaire dvnements appeler lorsquune proprit spcifique ou un objet ActionScript sont modifis.

Rsum des proprits de la classe Object


Proprit
Object.__proto__

Description Une rfrence la proprit prototype de la fonction constructeur de lobjet.

Constructeur pour la classe Object


Disponibilit

Flash Player 5.
Usage new Object([valeur]) Paramtres valeur

Un nombre, une valeur boolenne ou une chane convertir en objet. Ce paramtre est facultatif. Si vous ne spcifiez pas valeur, le constructeur cre un nouvel objet sans proprits dfinies. Rien.

Renvoie

Description

Constructeur : cre un nouvel objet Object.

Object.addProperty()
Disponibilit

Flash Player 6. Dans les fichiers de classe externes, vous pouvez utiliser get ou set plutt que cette mthode.
Usage monObjet.addProperty( prop, getFunc, setFunc ) Paramtres prop

Le nom de la proprit dobjet crer.

getFunc La fonction qui est invoque pour rcuprer la valeur de la proprit ; ce paramtre est un objet function.

La fonction qui est invoque pour dfinir la valeur de la proprit ; ce paramtre est un objet fonction. Si vous transmettez la valeur null pour ce paramtre, la proprit est en lecture seule.
setFunc

Object.addProperty()

569

Renvoie

Renvoie une valeur de true si la proprit est correctement cre ; sinon, renvoie false.
Description

Mthode : cre une proprit de lecture/dfinition. Lorsque Flash lit une proprit de lecture/ dfinition, il invoque la fonction get et la valeur renvoye par la fonction devient une valeur de prop. Lorsque Flash crit une proprit de lecture/dfinition, il invoque la fonction set et lui transmet la nouvelle valeur en tant que paramtre. Si une proprit portant le nom donn existe dj, la nouvelle proprit la remplace. Une fonction get est une fonction sans paramtre. La valeur renvoye peut tre de tout type. Son type peut changer dune invocation lautre. La valeur renvoye est considre comme la valeur actuelle de la proprit. Une fonction set est une fonction qui accepte un paramtre, qui est la nouvelle valeur de la proprit. Par exemple, si la proprit x est affecte par linstruction x = 1, le paramtre 1 de type nombre est transmis la fonction set. La valeur renvoye par la fonction set est ignore. Vous pouvez ajouter des proprit de lecture/dfinition des objets prototypes. Si vous ajoutez une proprit de lecture/dfinition un objet prototype, toutes les occurrences dobjet qui hritent de lobjet prototype hritent de la proprit de lecture/dfinition. Cela permet dajouter une proprit de lecture/dfinition un endroit, au niveau de lobjet prototype, et de la propager toutes les occurrences dune classe, tout comme lorsque vous ajoutez des mthodes des objets prototypes. Si une fonction de lecture/dfinition est invoque pour une proprit de lecture/ dfinition dun objet prototype hrit, la rfrence transmise la fonction de lecture/dfinition sera lobjet auquel il est fait rfrence lorigine, et non lobjet prototype. En cas dinvocation incorrecte, Object.addProperty() peut chouer et provoquer une erreur. Le tableau suivant dcrit les erreurs qui peuvent se produire :
Condition derreur
prop nest pas un nom de proprit valide ; par

Ce qui se produit Renvoie false et la proprit nest pas ajoute. Renvoie false et la proprit nest pas ajoute. Renvoie false et la proprit nest pas ajoute.

exemple, une chane vide.


getFunc nest pas un objet de fonction valide. setFunc nest pas un objet de fonction valide.

Exemple

Usage 1 : Un objet a deux mthodes internes, setQuantity() et getQuantity(). Une proprit, bookcount, peut tre utilise pour invoquer ces mthodes lorsquelle est dfinie ou rcupre. Une troisime mthode interne, getTitle(), renvoie une valeur en lecture seule associe la proprit bookname :
function Book() { this.setQuantity = function(numBooks) { this.books = numBooks; } this.getQuantity = function() { return this.books; } this.getTitle = function() {

570

Chapitre 12 : Dictionnaire ActionScript Prsentation

return "Lattrape-coeurs"; } this.addProperty("bookcount", this.getQuantity, this.setQuantity); this.addProperty("bookname", this.getTitle, null); } monLivre = new Book(); monLivre.bookcount = 5; commande = Vous avez command monLivre.bookname;

+ monLivre.bookcount +

exemplaires de +

Lorsquun script rcupre la valeur de monLivre.bookcount, linterprte dActionScript invoque automatiquement monLivre.getQuantity(). Lorsquun script modifie la valeur de monLivre.bookcount, linterprte invoque monObjet.setQuantity(). La proprit bookname ne spcifie pas une fonction set et les tentatives de modification de bookname sont donc ignores. Usage 2 : Lexemple de bookcount et bookname dcrit ci-dessus fonctionne, mais les proprits et bookname sont ajoutes chaque occurrence de lobjet Book. Cela signifie que le cot dutilisation des proprits est de deux emplacements de proprit pour chaque occurrence de lobjet. Un trop grand nombre de proprits comme bookcount et bookname dans une classe pourrait entraner une forte utilisation de mmoire. Pour viter ce problme, vous pouvez ajouter des proprits Book.prototype :
bookcount fonction Book () {} Book.prototype.setQuantity = function(numBooks) { this.books = numBooks; } Book.prototype.getQuantity = function() { return this.books; } Book.prototype.getTitle = function() { return "Lattrape-coeurs"; } Book.prototype.addProperty("bookcount", Book.prototype.getQuantity, Book.prototype.setQuantity); Book.prototype.addProperty("bookname", Book.prototype.getTitle, null); monLivre = new Book(); monLivre.bookcount = 5; commande = Vous avez command +monLivre.bookcount+ exemplaires de +monLivre.bookname;

Maintenant, les proprits bookcount et bookname se trouvent dans un endroit unique : lobjet Book.prototype. Cependant, le rsultat est le mme que pour le code indiqu dans Utilisation 1, qui a ajout directement bookcount et bookname chaque occurrence. Si bookcount ou bookname est obtenu dans une occurrence Book, la chane prototype est remonte et la proprit de lecture/dfinition de Book.prototype est dtecte. Usage 3 : Les proprits intgres TextField.scroll et TextField.maxscroll sont des proprits de lecture/dfinition. Lobjet TextField a les mthodes internes getScroll(), setScroll() et getMaxScroll(). Le constructeur TextField cre les proprits de lecture/ dfinition et les oriente vers les mthodes de lecture/dfinition internes, comme dans lexemple suivant :
this.addProperty("scroll", this.getScroll, this.setScroll); this.addProperty("maxscroll", this.getMaxScroll, null);

Object.addProperty()

571

Lorsquun script rcupre la valeur de monChampDeTexte.scroll, linterprte dActionScript invoque automatiquement monChampDeTexte.getScroll(). Lorsquun script modifie la valeur de monChampDeTexte.scroll, linterprte invoque monChampDeTexte.setScroll(). La proprit maxscroll ne spcifie pas une fonction set et les tentatives de modification de maxscroll sont donc ignores. Usage 4 : Mme si les proprits intgres TextField.scroll et TextField.maxscroll fonctionnent dans lexemple Usage 3, les proprits scroll et maxscroll sont ajoutes chaque occurrence de lobjet TextField. Cela signifie que le cot dutilisation des proprits est de deux emplacements de proprit pour chaque occurrence de lobjet. Un trop grand nombre de proprits comme scroll et maxscroll dans une classe pourrait entraner une forte consommation de mmoire. Au lieu de cela, vous pouvez ajouter les proprits scroll et maxscroll TextField.prototype :
TextField.prototype.addProperty("scroll", this.getScroll, this.setScroll); TextField.prototype.addProperty("maxscroll", this.getMaxScroll, null);

Les proprits scroll et maxscroll existent maintenant seulement en un endroit : lobjet TextField.prototype. Cependant, leffet est le mme que celui du code ci-dessus qui ajoutait scroll et maxscroll directement chaque occurrence. Si scroll ou maxscroll est obtenu dans une occurrence TextField, la chane de prototype est remonte et la proprit de lecture/dfinition de TextField.prototype est dtecte.

Object.__proto__
Disponibilit

Flash Player 5.
Usage monObjet.__proto__ Paramtres

Aucun.
Description

Proprit : fait rfrence la proprit prototype de la fonction constructeur qui a cr monObjet. La proprit __proto__ est automatiquement affecte tous les objets lors de leur cration. Linterprte dActionScript utilise la proprit __proto__ pour accder la proprit prototype de la fonction constructeur de lobjet, afin de dterminer quelles proprits et mthodes lobjet hrite de sa classe.

Object.registerClass()
Disponibilit

Flash Player 6. Si vous utilisez des fichiers de classe externes, vous pouvez utiliser le champ de classe ActionScript 2.0 de la bote de dialogue Proprits de liaison ou Proprits du symbole pour associer un objet une classe, plutt que dutiliser cette mthode.
Usage Object.registerClass(idDeSymbole, laClasse)

572

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres idDeSymbole

Lidentifiant de liaison du symbole de clip ou lidentifiant de chane pour la classe

ActionScript.
laClasse Une rfrence la fonction constructeur de la classe ActionScript ou null pour dsenregistrer le symbole. Renvoie

Si lenregistrement de classe russit, une valeur de true est renvoye ; sinon, false est renvoy.
Description

Mthode : associe un symbole de clip une classe dobjet ActionScript. Sil nexiste aucun symbole, Flash cre une association entre un identifiant de chane et une classe dobjet. Lorsquune occurrence du symbole de clip spcifi est place par le scnario, elle est enregistre dans la classe spcifie par le paramtre laClasse plutt que dans la classe MovieClip. Lorsquune occurrence du symbole de clip spcifi est cre laide de ou MovieClip.duplicateMovieClip, elle est enregistre dans la classe spcifie par le paramtre laClasse plutt que dans la classe MovieClip. Si laClasse est null, cette mthode supprime toute dfinition de classe ActionScript associe au symbole de clip ou lidentifiant de classe spcifi. Pour les symboles de clip, toute occurrence existante du clip reste inchange, mais les nouvelles occurrences du symbole sont associes la classe MovieClip par dfaut.
MovieClip.attachMovie()

Si un symbole est dj enregistr dans une classe, cette mthode le remplace par le nouvel enregistrement. Lorsquune occurrence de clip est place par le scnario ou cre laide de attachMovie() ou duplicateMovieClip(), ActionScript invoque le constructeur pour la classe approprie laide du mot-cl this pointant vers lobjet. La fonction constructeur est invoque sans paramtres. Si vous utilisez cette mthode pour enregistrer un clip dans une classe ActionScript autre que MovieClip, le symbole du clip nhrite pas des mthodes, des proprits et des vnements de la classe MovieClip intgre, sauf si vous nincluez la classe MovieClip dans la chane prototype de la nouvelle classe. Le code suivant cre une nouvelle classe ActionScript appele laClasse, qui hrite des proprits de la classe MovieClip :
laClasse.prototype = new MovieClip(); Consultez galement MovieClip.attachMovie(), MovieClip.duplicateMovieClip

Object.toString()
Disponibilit

Flash Player 5.
Usage monObjet.toString() Paramtres

Aucun.

Object.toString()

573

Renvoie

Une chane.
Description

Mthode : convertit lobjet spcifi en chane et le renvoie.

Object.unwatch()
Disponibilit

Flash Player 6.
Usage monObjet.unwatch (prop) Paramtres prop Renvoie

Le nom de la proprit dobjet qui ne doit plus tre surveille, comme une chane.

Une valeur boolenne.


Description

Mthode : supprime un point de surveillance que Object.watch() a cr. Cette mthode renvoie une valeur de true si le point de surveillance a t correctement retir ; sinon, elle renvoie une valeur de false.

Object.valueOf()
Disponibilit

Flash Player 5.
Usage monObjet.valueOf() Paramtres

Aucun.
Renvoie

La valeur primitive de lobjet spcifi ou lobjet lui-mme.


Description

Mthode : renvoie la valeur primitive de lobjet spcifi. Si lobjet ne possde pas de valeur primitive, il est lui-mme renvoy.

Object.watch()
Disponibilit

Flash Player 6.

574

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage monObjet.watch( prop, rappel [, donnesUtilisateur] ) Paramtres prop

Une chane indiquant le nom de la proprit dobjet surveiller.

rappel La fonction invoquer lorsque que la proprit surveille change. Ce paramtre est un objet de fonction, pas un nom de fonction sous forme de chane. La forme de callback est callback(prop, ancienneVal, nouvelleVal, donnesUtilisateur). donnesUtilisateur Une donne ActionScript arbitraire qui est transmise la mthode de rappel. Si le paramtre donnesUtilisateur est omis, undefined est transmis la mthode de

rappel. Ce paramtre est facultatif.


Renvoie

Une valeur true si le point de surveillance est correctement cr ; sinon, renvoie une valeur false.
Description

Enregistre un gestionnaire dvnements appeler lorsquune proprit spcifique ou un objet ActionScript est modifi(e). Lorsque la proprit change, la fonction de rappel est invoque avec monObjet comme objet contenant. Vous devez renvoyer la nouvelle valeur depuis la mthode object.watch ou bien une valeur undefined est affecte la proprit dobjet surveille. Un point de surveillance peut filtrer (ou annuler) laffectation de valeur, en renvoyant une nouvelleVal modifie (ou ancienneVal). Si vous supprimez une proprit pour laquelle un point de surveillance a t dfini, ce point de surveillance ne disparat pas. Si vous recrez ultrieurement la proprit, le point de surveillance est toujours en vigueur. Pour supprimer un point de surveillance, utilisez la mthode Object.unwatch. Il ne peut exister quun seul point de surveillance enregistr sur une proprit. Les appels ultrieurs de Object.watch() sur la mme proprit remplacent le point de surveillance original. La mthode Object.watch() se comporte de faon similaire la fonction Object.watch() de Netscape JavaScript version 1.2 et ultrieures. La principale diffrence est le paramtre donnesUtilisateur, qui est un ajout Flash Object.watch() non support par Netscape Navigator. Vous pouvez passer le paramtre donneesUtilisateur dans le gestionnaire dvnements et lutiliser dans ce dernier. La mthode Object.watch() ne peut pas surveiller les proprits de lecture/dfinition. Les proprits de lecture/dfinition fonctionnent par valuation passive la valeur de la proprit ntant pas dtermine tant que la proprit nest pas interroge. Une valuation passive est souvent rentable tant donn que la proprit nest pas constamment mise jour, mais simplement value lorsquil le faut. Cependant, Object.watch() a besoin dvaluer une proprit pour activer des point de surveillance sur celle-ci. Pour fonctionner avec une proprit de lecture/dfinition, Object.watch() a besoin dvaluer constamment la proprit, ce qui nest pas rentable. En gnral, les proprits ActionScript prdfinies, telles que _x, _y, _width et _height, sont des proprits de lecture/dfinition et ne peuvent donc pas tre surveilles avec Object.watch().

Object.watch()

575

Exemple

Cet exemple montre un composant CheckBox avec des mthodes qui dfinissent ltiquette ou la valeur de chaque occurrence de case cocher :
maCaseAcocher1.setValue(true); maCaseAcocher1.setLabel("nouvelle tiquette"); ...

Il est pratique de considrer la valeur et ltiquette dune case cocher comme des proprits. Il est possible dutiliser Object.watch() de manire ce que laccs la valeur et ltiquette ressemble plus un accs une proprit qu une invocation de mthode, comme dans lexemple suivant :
// dfinir un constructeur pour (et donc dfinir) la classe CheckBox function CheckBox() { ... this.watch(valeur, function (id, ancienneVal, nouvelleVal) { ... }); this.watch(tiquette, function(id, ancienneVal, nouvelleVal) { ... }); }

Lorsque la proprit de valeur ou dtiquette est modifie, la fonction spcifie par le composant est invoque pour accomplir toutes les tches ncessaires la mise jour de lapparence et de ltat du composant. Lexemple suivant invoque une mthode Object.watch() pour aviser le composant que la variable a chang et lui fait mettre jour sa reprsentation graphique.
maCaseAcocher1.value = false;

Cette syntaxe est plus concise que la prcdente :


maCaseAcocher1.setValue(false); Consultez galement Object.addProperty(), Object.unwatch()

Objet()
Disponibilit

Flash Player 5.
Usage Objet( [ valeur ] ) Paramtres valeur Renvoie

Un nombre, une chane ou une valeur boolenne.

Un objet.

576

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Fonction de conversion : cre un nouvel objet vide, ou convertit le nombre, la chane ou la valeur boolenne spcifis en un objet. Cette commande est quivalente la cration dun objet laide du constructeur Object (consultez Constructeur pour la classe Object, page 569).

on()
Disponibilit

Flash 2. Tous les vnements ne sont pas supports dans Flash 2.


Usage on(vnementSouris) { // vos instructions } Paramtres instruction(s)

Les instructions excuter lorsque vnementSouris survient.

Un vnementSouris est un dclenchement appel vnement . Lorsque lvnement a lieu, les instructions suivantes dans les accolades sont excutes. Nimporte laquelle des valeurs suivantes peut tre spcifie pour le paramtre vnementSouris

press

Le bouton de la souris est enfonc alors que le pointeur se trouve au-dessus du Le bouton de la souris est relch alors que le pointeur se trouve au-dessus du

bouton.
release

bouton.
releaseOutside Le bouton de la souris est relch alors que le pointeur se trouve en dehors du bouton aprs lenfoncement du bouton pendant que le pointeur est lintrieur du bouton. rollOut Le pointeur passe en dehors de la zone du bouton. rollOver Le pointeur de la souris passe au-dessus du bouton. dragOut Alors que le pointeur se trouve au-dessus du bouton, le bouton de la souris est enfonc, puis le pointeur sort de la zone du bouton. dragOver Alors que le pointeur se trouve au-dessus du bouton, le bouton de la souris a t enfonc, puis le pointeur sort du bouton et est ramen au-dessus du bouton. keyPress ("touche") La touche spcifie est enfonce. Spcifiez un code de touche ou une constante de touche pour la portion touche du paramtre. Pour obtenir la liste des codes de touche associs aux touches dun clavier standard, consultez Annexe C, Touches du clavier et valeurs de code correspondantes, page 781 ; pour obtenir la liste des constantes, consultez Rsum des proprits de la classe Key, page 409.

Description

Gestionnaire dvnement : spcifie lvnement souris ou touche qui dclenche une action.
Exemple

Dans le script suivant, laction startDrag() est excute lorsque lutilisateur clique avec la souris et le script conditionnel est excut lorsque le bouton et lobjet sont relchs :
on(press) { startDrag("lapin");

on()

577

} on(release) { trace(_root.lapin._y); trace(_root.lapin._x); stopDrag(); } Consultez galement onClipEvent()

onClipEvent()
Disponibilit

Flash Player 5.
Usage onClipEvent(vnementAnimation){ // vos instructions } Paramtres

Un evenementAnimation est un dclenchement appel vnement. Lorsque lvnement a lieu, les instructions suivantes dans les accolades sont excutes. Nimporte laquelle des valeurs suivantes peut tre spcifie pour le paramtre vnementAnimation :

Laction est initie ds que le clip est instanci et apparat dans le scnario. unload Laction est initie dans la premire image aprs la suppression du clip du scnario. Les actions associes lvnement de clip Unload sont traites avant que des actions ne soient associes limage affecte. enterFrame Laction est dclenche continuellement la cadence du clip. Les actions associes lvnement de clip enterFrame sont traites avant les actions associes aux images affectes. mouseMove Laction est initie chaque fois que la souris est dplace. Utilisez les proprits _xmouse et _ymouse pour dterminer la position actuelle de la souris. mouseDown Laction est initie lorsque le bouton gauche de la souris est enfonc. mouseUp Laction est initie lorsque le bouton gauche de la souris est relch. keyDown Laction est initie lorsquune touche est enfonce. Utilisez Key.getCode() pour obtenir des informations sur la dernire touche enfonce. keyUp Laction est initie lorsquune touche est relche. Utilisez la mthode Key.getCode() pour obtenir des informations sur la dernire touche enfonce. data Laction est initie lorsque des donnes sont reues dans une action loadVariables() ou loadMovie(). Lorsquil est spcifi avec une action loadVariables(), lvnement data ne survient quune seule fois, quand la dernire variable est charge. Lorsquil est spcifi avec une action loadMovie, lvnement data est rpt plusieurs fois, au fur et mesure que les sections de donnes sont rcupres.
load

Description

Gestionnaire dvnement : dclenche des actions dfinies pour une occurrence de clip spcifique.

578

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Linstruction suivante inclut le script provenant dun fichier externe lorsque le fichier SWF est export ; les actions du script inclus sont excutes au chargement du clip auquel elles sont associes.
onClipEvent(load) { #include "monScript.as" }

Lexemple suivant utilise onClipEvent() avec lvnement de clip keyDown. Lvnement danimation keyDown est gnralement utilis en conjonction avec une ou plusieurs mthodes et proprits associes lobjet Key. Le script ci-dessous utilise Key.getCode() pour dterminer la touche enfonce par lutilisateur : si la touche enfonce correspond la proprit Key.RIGHT, lanimation est envoye vers limage suivante ; si la touche enfonce correspond la proprit Key.LEFT, lanimation est envoye vers limage prcdente.
onClipEvent(keyDown) { if (Key.getCode() == Key.RIGHT) { _parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){ _parent.prevFrame(); } }

Lexemple suivant utilise onClipEvent() avec lvnement danimation mouseMove. Les proprits _xmouse et _ymouse suivent la position de la souris.
onClipEvent(mouseMove) { stageX=_root._xmouse; stageY=_root._ymouse; } Consultez galement

Classe Key, MovieClip._xmouse, MovieClip._ymouse, on(), updateAfterEvent()

onUpdate
Disponibilit

Flash Player 6.
Usage function onUpdate() { ...instructions...; } Paramtres

Aucun.
Renvoie

Rien.

onUpdate

579

Description

Gestionnaire dvnements : onUpdate est dfini pour une vido Live Preview utilise avec un composant. Lorsque loccurrence dun composant sur la scne a une animation Aperu en direct, le programme auteur invoque la fonction onUpdate de lanimation Aperu en direct chaque modification des paramtres dune occurrence de composant. La fonction onUpdate est invoque par le programme auteur sans paramtre et sa valeur renvoye est ignore. La fonction onUpdate doit tre dclare dans le scnario principal de lanimation Aperu en direct. La dfinition dune fonction onUpdate dans une animation Aperu en direct est facultative. Pour plus dinformations sur les animations Aperu en direct, consultez Utilisation des composants.
Exemple

La fonction onUpdate permet lanimation Aperu en direct de mettre jour son aspect visuel pour correspondre aux nouvelles valeurs des paramtres de composant. Lorsque lutilisateur modifie la valeur dun paramtre dans linspecteur de proprits des composants ou dans le panneau Paramtres de composant, onUpdate est invoqu. La fonction onUpdate excute galement sa propre mise jour. Par exemple, si le composant inclut un paramtre couleur, la fonction onUpdate peut altrer la couleur dun clip dans lAperu en direct pour reflter la nouvelle valeur du paramtre. En outre, elle peut stocker la nouvelle couleur dans une variable interne. Voici un exemple dutilisation de la fonction onUpdate pour transmettre les valeurs de paramtre au travers dun clip vide dans lanimation Aperu en direct. Supposons que vous avez un composant de bouton tiquet avec une variable couleurEtiquette, qui spcifie la couleur de ltiquette de texte. Le code suivant se trouve dans la premire image du scnario principal de lanimation de composant :
//Dfinissez la variable du paramtre textColor pour spcifier la couleur du texte de ltiquette du bouton. buttonLabel.textColor = couleurEtiquette;

Dans lanimation Aperu en direct, placez un clip vide nomm xch dans lanimation Aperu en direct. Placez ensuite le code suivant dans la premire image de lanimation Aperu en direct. Ajoutez xch au chemin de la variable couleurEtiquette, pour passer la variable dans le clip mon_mc :
//Ecrivez une fonction onUpdate, en ajoutant mon_mc. aux noms des variables de paramtre : function onUpdate (){ buttonLabel.textColor = mon_mc.couleurEtiquette; }

or
Disponibilit

Flash 4. Cet oprateur est dconseill et remplac par loprateur || (OR logique).
Usage condition1 or condition2 Paramtres condition1,2

Une expression qui dtermine true ou false.

580

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Oprateur : value condition1 et condition2 et, si une des expressions est true, lexpression entire est true.
Consultez galement || (OR logique), | (OR au niveau du bit)

ord
Disponibilit

Flash Player 4. Cette fonction est abandonne et remplace par les mthodes et proprits de la classe String.
Usage ord(caractre) Paramtres caractre Renvoie

Le caractre convertir en code ASCII.

Rien.
Description

Fonction de chane : convertit des caractres en code ASCII.


Consultez galement

Classe String

_parent
Disponibilit

Flash Player 5.
Usage _parent.proprit _parent._parent.proprit Description

Identifiant : spcifie ou renvoie une rfrence au clip ou objet contenant le clip ou objet courant. Lobjet courant est lobjet contenant le code ActionScript faisant rfrence _parent. Utilisez _parent pour spcifier un chemin relatif aux clips ou objets qui se trouvent au-dessus du clip ou objet actuel.

_parent

581

Exemple

Dans lexemple suivant, le clip desk est un enfant du clip salleDeClasse. Lorsque le script cidessous est excut dans le clip desk, la tte de lecture atteint limage 10 du scnario du clip salleDeClasse.
_parent.gotoAndStop(10); Consultez galement _root, targetPath

parseFloat()
Disponibilit

Flash Player 5.
Usage parseFloat(chane) Paramtres chane Renvoie

La chane lire et convertir en nombre virgule flottante.

Un nombre ou NaN.
Description

Fonction : convertit une chane en nombre virgule flottante. La fonction analyse et renvoie les nombres dune chane jusqu ce quelle atteigne un caractre qui nappartient pas au nombre initial. Si la chane ne commence pas par un nombre qui peut tre analys, parseFloat renvoie NaN. Les espaces prcdant les entiers valides sont ignors, tout comme les caractres non numriques droite.
Exemple

Les exemples suivants utilisent la fonction parseFloat pour valuer diffrents types de nombres.
parseFloat("-2")

renvoie -2 renvoie 2.5 renvoie 3.5e6 ou 3500000 renvoie NaN renvoie 3.75 renvoie 0

parseFloat("2.5")

parseFloat("3.5e6")

parseFloat("foobar") parseFloat(" 5.1")

renvoie 5.1

parseFloat("3.75math")

parseFloat("0tasDeTrucs") Consultez galement NaN

582

Chapitre 12 : Dictionnaire ActionScript Prsentation

parseInt
Disponibilit

Flash Player 5.
Usage parseInt(expression, [radix]) Paramtres expression

Une chane convertir en entier.

radix Optionnel ; un entier reprsentant le radical (base) du nombre analyser. Les valeurs lgales sont comprises entre 2 et 36. Renvoie

Un nombre ou NaN.
Description

Fonction : convertit une chane en entier. Si la chane spcifie dans les paramtres ne peut pas tre convertie en un nombre, la fonction renvoie NaN. Les chanes commenant par 0x sont interprtes comme des nombres hexadcimaux. Les entiers commenant par 0 ou spcifiant une base de 8 sont interprts comme des nombres octaux. Les espaces prcdant les entiers valides sont ignors, tout comme les caractres non numriques droite.
Exemple

Les exemples suivants utilisent la fonction parseInt pour valuer diffrents types de nombres.
parseInt("3.5") // renvoie 3 parseInt("chose") // renvoie NaN parseInt("4foo") // renvoie 4

Les exemples suivants illustrent les conversions hexadcimales :


parseInt("0x3F8") // renvoie 1016 parseInt("3E8", 16) // renvoie 1000

Lexemple suivant prsente une conversion binaire :


parseInt("1010", 2) // renvoie 10 (la reprsentation dcimale du binaire 1010)

Les exemples suivants prsentent une analyse de nombres octaux :


parseInt("0777") parseInt("777", 8) // renvoie 511 (la reprsentation dcimale de loctal 777)

parseInt

583

play()
Disponibilit

Flash 2.
Usage play() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : fait avancer la tte de lecture dans le scnario.


Exemple

Le code suivant utilise une instruction if pour vrifier la valeur dun nom entr par lutilisateur. Si lutilisateur entre Steve, laction play() est appele et la tte de lecture avance dans le scnario. Si lutilisateur entre autre chose que Steve, le fichier SWF nest pas lu et un champ de texte contenant le nom de variable alert est affich.
stop(); if (nom == "Steve") { play(); } else { alert="Vous ntes pas Steve !"; }

prevFrame()
Disponibilit

Flash 2.
Usage prevFrame() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : envoie la tte de lecture vers limage prcdente et larrte. Si limage actuelle est limage 1, la tte de lecture ne bouge pas.

584

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lorsque lutilisateur clique sur un bouton auquel le gestionnaire suivant est affect, la tte de lecture est envoye limage prcdente.
on(release) { prevFrame(); } Consultez galement MovieClip.prevFrame()

prevScene()
Disponibilit

Flash 2.
Usage prevScene() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : envoie la tte de lecture vers limage 1 de la squence prcdente et larrte.


Consultez galement nextScene()

print()
Disponibilit

Flash Player 4.20.


Remarque : Si vous utilisez Flash Player7 ou ultrieur, vous pouvez crer un objet PrintJob, qui vous permet (ainsi que lutilisateur) de mieux contrler le processus dimpression. Pour plus dinformations, consultez lentre Classe PrintJob. Usage print("cible", "rgionDimpression") Paramtres cible Le nom doccurrence dun clip imprimer. Par dfaut, toutes les images de loccurrence cible sont imprimes. Affectez une tiquette #p aux images que vous souhaitez imprimer dans ce clip. rgionDimpression Un modificateur qui dfinit la zone dimpression du clip. Mettez ce paramtre entre guillemets et spcifiez lune des valeurs suivantes :

print()

585

bmovie Dsigne le cadre de dlimitation dune image spcifique dans une animation comme zone dimpression de toutes les images imprimables de lanimation. Affectez une tiquette dimage #b limage dont vous souhaitez utiliser le cadre de dlimitation comme rgion dimpression. bmax Dsigne un composite de tous les cadres de dlimitation de lensemble des images imprimables comme zone dimpression. Spcifiez le paramtre bmax lorsque la taille des images de votre animation varie. bframe Indique que le cadre de dlimitation de chaque image imprimable est utilis comme zone dimpression pour cette image. Cela modifie la rgion dimpression pour chaque image et modifie la taille des objets pour quils correspondent la rgion dimpression. Utilisez bframe si vous avez des objets de tailles diverses dans chaque image et si vous souhaitez que chaque objet remplisse la page imprime.

Renvoie

Aucun.
Description

Fonction : imprime le clip cible en fonction des limites spcifies dans le paramtre (bmovie, bmax ou bframe). Affectez une tiquette #p aux images que vous souhaitez imprimer dans le clip cible. Bien que print() fournisse des impressions de meilleure qualit que printAsBitmap(), elle ne peut pas tre utilise pour imprimer des clips utilisant les transparences alpha ou des effets de couleur spciaux. Si vous utilisez bmovie pour le paramtre rgionDimpression, mais que vous naffectez pas dtiquette #b une image, la zone dimpression est dtermine par la taille de scne de la vido charge. Lanimation nhrite pas de la taille de scne de lanimation principale. Tous les lments imprimables dune animation doivent tre compltement chargs avant de commencer limpression. La fonction dimpression de Flash Player supporte les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.
Exemple

Lexemple suivant imprime toutes les images imprimables du clip mon_mc selon la zone dimpression dfinie par le cadre de dlimitation de limage portant ltiquette dimage #b :
print(mon_mc,"bmovie");

Lexemple suivant imprime toutes les images imprimables de mon_mc avec une zone dimpression dfinie par le cadre de dlimitation de chaque image :
print(mon_mc,"bframe"); Consultez galement printAsBitmap(), printAsBitmapNum,

Classe PrintJob, printNum()

printAsBitmap()
Disponibilit

Flash Player 4.20.

586

Chapitre 12 : Dictionnaire ActionScript Prsentation

Remarque : Si vous utilisez Flash Player7 ou ultrieur, vous pouvez crer un objet PrintJob, qui vous permet (ainsi que lutilisateur) de mieux contrler le processus dimpression. Pour plus dinformations, consultez lentre Classe PrintJob. Usage printAsBitmap(cible, "rgionDimpression") Paramtres cible Le nom doccurrence dun clip imprimer. Par dfaut, toutes les images de lanimation sont imprimes. Affectez une tiquette #p aux images que vous souhaitez imprimer dans cette animation. rgionDimpression Un modificateur qui dfinit la zone dimpression de lanimation. Mettez ce paramtre entre guillemets et spcifiez lune des valeurs suivantes :

bmovie Dsigne le cadre de dlimitation dune image spcifique dans une animation comme zone dimpression de toutes les images imprimables de lanimation. Affectez une tiquette dimage #b limage dont vous souhaitez utiliser le cadre de dlimitation comme rgion dimpression. bmax Dsigne un composite de tous les cadres de dlimitation de lensemble des images imprimables comme zone dimpression. Spcifiez le paramtre bmax lorsque la taille des images de votre animation varie. bframe Indique que le cadre de dlimitation de chaque image imprimable est utilis comme zone dimpression pour cette image. Cela modifie la rgion dimpression pour chaque image et modifie la taille des objets pour quils correspondent la rgion dimpression. Utilisez bframe si vous avez des objets de tailles diverses dans chaque image et si vous souhaitez que chaque objet remplisse la page imprime.

Renvoie

Rien.
Description

Fonction : imprime le clip cible en tant que bitmap, en fonction des contours spcifis dans le paramtre (bmovie, bmax, ou bframe). Utilisez printAsBitmap() pour imprimer des animations contenant des images avec des objets qui utilisent des transparences ou des effets de couleur. Laction printAsBitmap() imprime avec la rsolution la plus leve possible sur limprimante pour conserver la dfinition et la qualit les plus leves possibles. Si votre animation ne contient aucune transparence alpha ou effet de couleur, Macromedia vous recommande dutiliser print() pour obtenir des rsultats de meilleure qualit. Si vous utilisez bmovie pour le paramtre rgionDimpression, mais que vous naffectez pas dtiquette #b une image, la zone dimpression est dtermine par la taille de scne de la vido charge. Lanimation nhrite pas de la taille de scne de lanimation principale. Tous les lments imprimables dune animation doivent tre compltement chargs avant de commencer limpression. La fonction dimpression de Flash Player supporte les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.
Consultez galement print(), printAsBitmapNum,

Classe PrintJob, printNum()

printAsBitmap()

587

printAsBitmapNum
Disponibilit

Flash Player 5.
Remarque : Si vous utilisez Flash Player7 ou ultrieur, vous pouvez crer un objet PrintJob, qui vous permet (ainsi que lutilisateur) de mieux contrler le processus dimpression. Pour plus dinformations, consultez lentre Classe PrintJob. Usage printAsBitmapNum(niveau, "rgionDimpression") Paramtres niveau Le niveau de Flash Player imprimer. Par dfaut, toutes les images du niveau sont imprimes. Affectez une tiquette #p aux images que vous souhaitez imprimer dans ce niveau. rgionDimpression Un modificateur qui dfinit la zone dimpression de lanimation. Mettez ce paramtre entre guillemets et spcifiez lune des valeurs suivantes :

bmovie Dsigne le cadre de dlimitation dune image spcifique dans une animation comme zone dimpression de toutes les images imprimables de lanimation. Affectez une tiquette dimage #b limage dont vous souhaitez utiliser le cadre de dlimitation comme rgion dimpression. bmax Dsigne un composite de tous les cadres de dlimitation de lensemble des images imprimables comme zone dimpression. Spcifiez le paramtre bmax lorsque la taille des images de votre animation varie. bframe Indique que le cadre de dlimitation de chaque image imprimable est utilis comme zone dimpression pour cette image. Cela modifie la rgion dimpression pour chaque image et modifie la taille des objets pour quils correspondent la rgion dimpression. Utilisez bframe si vous avez des objets de tailles diverses dans chaque image et si vous souhaitez que chaque objet remplisse la page imprime.

Renvoie

Aucun.
Description

Fonction : imprime un niveau dans Flash Player en tant que bitmap, en fonction des contours spcifis dans le paramtre (bmovie, bmax, ou bframe). Utilisez printAsBitmapNum() pour imprimer des animations contenant des images avec des objets qui utilisent des effets de transparence ou de couleur. Laction printAsBitmapNum() imprime dans la rsolution la plus leve sur limprimante pour prserver autant de dfinition et de qualit que possible. Pour calculer la taille de fichier imprimable dune image imprimer en bitmap, multipliez la largeur en pixels par la hauteur en pixels par la rsolution de limprimante. Si votre animation ne contient pas de transparences alpha ou deffets de couleur, il est recommand dutiliser printNum() pour un rsultat de meilleure qualit. Si vous utilisez bmovie pour le paramtre rgionDimpression, mais que vous naffectez pas dtiquette #b une image, la zone dimpression est dtermine par la taille de scne de la vido charge. Lanimation nhrite pas de la taille de scne de lanimation principale.

588

Chapitre 12 : Dictionnaire ActionScript Prsentation

Tous les lments imprimables dune animation doivent tre compltement chargs avant de commencer limpression. La fonction dimpression de Flash Player supporte les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.
Consultez galement print(), printAsBitmap(),

Classe PrintJob, printNum()

Classe PrintJob
Disponibilit

Flash Player 7.
Description

La classe PrintJob vous permet de crer un contenu et de limprimer sur une ou plusieurs pages. Cette classe, en plus doffrir des fonctions dimpression amliores disponibles avec la mthode print(), permet de rendre le contenu dynamique hors cran, dinviter les utilisateurs laide dune seule bote de dialogue dimpression et dimprimer un document non mis lchelle dans des proportions qui correspondent aux proportions du contenu. Cette fonctionnalit est particulirement utile pour rendre et imprimer un contenu dynamique externe, comme le contenu et le texte dynamique dune base de donnes. En outre, grce aux proprits renseignes par PrintJob.start(), votre document peut accder aux paramtres de limprimante utilisateur, tels que la hauteur, la largeur et lorientation de la page, et vous pouvez configurer le document pour quil formate dynamiquement le contenu Flash adapt aux paramtres de limprimante. Rsum des mthodes de la classe PrintJob Vous devez utiliser les mthodes de la classe PrintJob dans lordre spcifi dans le tableau suivant.
Mthode
PrintJob.start()

Description Affiche les botes de dialogue dimpression du systme dexploitation et dmarre la mise en attente. Ajoute une page au spouleur dimpression. Envoie les pages mises en attente vers limprimante.

PrintJob.addPage() PrintJob.send()

Constructeur pour la classe PrintJob


Disponibilit

Flash Player 7.
Usage ma_pj = new PrintJob() Paramtres

Aucun.

Classe PrintJob

589

Renvoie

Rien.
Description

Constructeur : cre un objet PrintJob que vous pouvez utiliser pour imprimer une ou plusieurs pages. Pour implmenter une tche dimpression, utilisez ces mthodes dans la squence indique :
// crer un objet PrintJob ma_pj = new PrintJob(); // afficher la bote de dialogue dimpression ma_pj.start(); dimpression // instantier lobjet // initialiser la tche

// ajouter la zone spcifie la tche dimpression // rpter une fois pour chaque page imprimer ma_pj.addPage([params]); // envoyer la(les) page(s) au spouleur ma_pj.addPage([params]); ma_pj.addPage([params]); ma_pj.addPage([params]); // envoyer des pages du spouleur vers limprimante ma_pj.send(); // imprimer page(s) // nettoyer delete ma_pj; // supprimer lobjet

Dans votre propre implmentation des objets PrintJob, vrifiez les valeurs renvoyes par PrintJob.start() et PrintJob.addPage() avant de poursuivre limpression. Consultez les exemples pour PrintJob.addPage(). Vous ne pouvez pas crer dobjet PrintJob tant que tous les objets PrintJob dj crs nont pas t dsactivs ( savoir, quils ont russi ou chou). Si vous tentez de crer un second objet PrintJob (en appelant new PrintJob()) tandis que le premier objet PrintJob est encore actif, le second objet PrintJob nest pas cr.
Exemple

Pour plus dinformations, consultez PrintJob.addPage().


Consultez galement PrintJob.addPage(), PrintJob.send(), PrintJob.start()

PrintJob.addPage()
Disponibilit

Flash Player 7.
Usage ma_pj.addPage(target [, printArea] [, options ] [, frameNumber])

590

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres target Le niveau ou le nom de loccurrence du clip imprimer. Dfinissez un nombre pour spcifier un niveau (par exemple, 0 est lanimation _root) ou une chane (entre guillemets) pour spcifier le nom de loccurrence dun clip. printArea

Un objet facultatif qui spcifie la zone imprimer, au format suivant :

{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}

Les coordonnes que vous spcifiez pour printArea reprsentent les pixels dcran par rapport au point dalignement de lanimation _root (si target=0) ou du niveau ou clip spcifi par target. Vous devez fournir les quatre coordonnes. Les valeurs de largeur (xMax-xMin) et de hauteur (yMax-yMin) doivent chacune tre suprieure 0. Les points sont des units de mesure dimpression, et les pixels sont des units de mesure dcrans. Un point quivaut un pixel en termes de taille. Vous pouvez utiliser les quivalences suivantes pour convertir les pouces ou les centimtres en twips, en pixels ou en points (un twip quivaut 1/20 de pixel) :

1 pixel = 1 point = 1/72 pouce = 20 twips 1 pouce = 72 pixels = 72 points = 1 440 twips 1 cm = 567 twips
Remarque : Si vous avez prcdemment utilis print(), printAsBitmap(), printAsBitmapNum ou printNum() pour imprimer depuis Flash, vous avez utilis une tiquette dimage #b pour spcifier la zone imprimer. Lorsque vous utilisez la mthode addPage(), vous devez utiliser le paramtre printArea pour spcifier la zone dimpression ; les tiquettes dimage #b sont ignores.

Si vous omettez le paramtre printArea ou sil nest pas correctement dfini, la totalit de la zone target est imprime. Si vous ne souhaitez pas spcifier une valeur pour printArea mais voulez en spcifier une pour options ou frameNumber, dfinissez null pour printArea.
options

Un paramtre facultatif qui indique si limpression est effectue au format vectoriel ou bitmap, de la manire suivante :

{printAsBitmap:Boolean}

Par dfaut, les pages sont imprimes au format vectoriel. Pour imprimer target au format bitmap, dfinissez true pour printAsBitmap. La valeur par dfaut est false, ce qui reprsente une demande dimpression vectorielle. Tenez compte des suggestions suivantes lors de la dtermination de la valeur utiliser :

Si le contenu en cours dimpression comprend une image bitmap, utilisez


pour inclure les transparences et les effets de couleur. Si le contenu ne comprend pas dimage bitmap, omettez ce paramtre ou utilisez {printAsBitmap:false} pour imprimer le contenu sous forme de graphiques vectoriels afin de bnficier dune qualit dimage leve.
{printAsBitmap:true}

Si options est omis ou dfini de manire incorrecte, limpression vectorielle est implmente. Si vous ne souhaitez pas spcifier une valeur pour options mais souhaitez en spcifier une pour frameNumber, dfinissez null pour options.
frameNumber

Un nombre optionnel qui vous permet de spcifier limage imprimer ; notez quaucun paramtre ActionScript dfini sur limage nest appel. Si vous omettez ce paramtre, limage actuelle de target est imprime.

PrintJob.addPage()

591

Remarque : Si vous avez prcdemment utilis print(), printAsBitmap(), printAsBitmapNum ou printNum() pour imprimer depuis Flash, vous avez peut-tre utilis une tiquette dimage #p sur plusieurs images pour spcifier les images imprimer. Pour utiliser PrintJob.addPage() afin dimprimer plusieurs images, vous devez mettre une commande PrintJob.addPage() pour chaque image ; les tiquettes dimage #p sont ignores. Pour savoir comment programmer cette opration, consultez lexemple figurant plus bas dans cette entre. Renvoie

Une valeur boolenne true si la page a t envoye avec succs vers le spouleur dimpression, false dans les autres cas.
Description

Mthode : envoie le niveau ou le clip spcifi sous la forme dune page unique au spouleur. Avant dutiliser cette mthode, vous devez utiliser PrintJob.start() ; aprs avoir appel PrintJob.addPage() une ou plusieurs fois pour une tche dimpression, vous devez utiliser PrintJob.send() pour envoyer les pages mises en attente vers limprimante. Si cette mthode renvoie false (par exemple, si vous navez pas appel PrintJob.start() ou si lutilisateur a annul la tche dimpression), les appels ultrieurs de PrintJob.addPage() choueront. Toutefois, si les appels antrieurs PrintJob.addPage() ont russi, la commande PrintJob.send() finale envoie les pages traites par le spouleur limprimante. Si vous avez dfini une valeur pour printArea, les coordonnes xMin et yMin correspondent langle suprieur gauche (coordonnes 0,0) de la zone imprimable de la page ; cette zone est dtermine par les proprits pageHeight et pageWidth dfinies par PrintJob.start(). La sortie dimprimante salignant avec langle suprieur gauche de la zone imprimable de la page, elle est attache droite et/ou en bas si la zone dfinie dans printArea est plus grande que la zone imprimable de la page. Si vous navez pas transmis de valeur pour printArea et que la scne est plus grande que la zone imprimable, le mme type de dcoupage est effectu. Si vous souhaitez mettre lchelle un clip avant de limprimer, dfinissez ses proprits MovieClip._xscale et MovieClip._yscale avant dappeler cette mthode, puis redfinissez-les sur leurs valeurs dorigine aprs lappel. Lchelle dun clip na aucun rapport avec printArea. En dautres termes, si vous spcifiez que vous imprimez une zone de dimensions 50 x 50 pixels, 2 500 pixels sont imprims. Si vous avez mis le clip lchelle, ces mmes 2 500 pixels sont imprims, mais aux nouvelles dimensions. La fonction dimpression de Flash Player supporte les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.
Exemple

Lexemple suivant permet dmettre la commande addPage() de diffrentes manires :


mon_btn.onRelease = function () { var pageCount = 0; var ma_pj = new PrintJob(); if (ma_pj.start()) { // Imprimer la totalit de limage actuelle de lanimation _root au format vectoriel if (ma_pj.addPage(0)) {

592

Chapitre 12 : Dictionnaire ActionScript Prsentation

pageCount++; // En dmarrant 0,0, imprimer une zone de 400 pixels de large et 500 pixels de haut // de limage actuelle de lanimation _root au format vectoriel if (ma_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500})) { pageCount++; // En dmarrant 0,0, imprimer une zone de 400 pixels de large et 500 pixels de haut // de limage 1 de lanimation _root au format bitmap if (ma_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}, {printAsBitmap:true}, 1)); { pageCount++; // // // if { En dmarrant avec 50 pixels droite de 0,0 et 70 pixels en bas, imprimer une zone de 500 pixels de large et 600 pixels de haut de limage 4 du niveau 5 au format vectoriel (ma_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670},null, 4)) pageCount++; // En commenant 0,0, imprimer une zone de 400 pixels de largeur // et 400 pixels de hauteur de la page 3 du clip "danse_mc" // au format bitmap if (ma_pj.addPage("danse_mc", {xMin:0,xMax:400,yMin:0,yMax:400},{printAsBitmap:true}, 3)) { pageCount++; // En commenant 0,0, imprimer une zone de 400 pixels de largeur // et 600 pixels de hauteur de la page 3 du clip "danse_mc" // au format vectoriel, 50 % de sa taille relle var x = Danse_mc._xscale; var y = clipDeDanse._yscale; Danse_mc._xscale = 50; Danse_mc._yscale = 50; if (ma_pj.addPage("danse_mc", {xMin:0,xMax:400,yMin:0,yMax:600},null, 3)) { pageCount++; } Danse_mc._xscale = x; Danse_mc._yscale = y; } } } } } } if (pageCount) { ma_pj.send(); }

PrintJob.addPage()

593

delete ma_pj; } Consultez galement PrintJob.send(), PrintJob.start()

PrintJob.send()
Disponibilit

Flash Player 7.
Usage ma_pj.send() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : est utilise aprs PrintJob.start() et PrintJob.addPage() pour envoyer des pages mises en attente vers limprimante.
Exemple

Pour plus dinformations, consultez PrintJob.addPage().


Consultez galement PrintJob.addPage(), PrintJob.start()

PrintJob.start()
Disponibilit

Flash Player 7.
Usage ma_pj.start() Paramtres

Aucun.
Renvoie

Une valeur boolenne true si lutilisateur clique sur OK laffichage des bote de dialogue dimpression ou false si lutilisateur clique sur Annuler ou si une erreur se produit.

594

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : affiche les botes de dialogue dimpression du systme dexploitation et dmarre la mise en attente. Les botes de dialogue dimpression permettent lutilisateur de modifier les paramtres dimpression, puis de charger les proprits en lecture seule suivantes (notez que 1 point quivaut 1 pixel) :
Proprit
PrintJob.paperHeight PrintJob.paperWidth PrintJob.pageHeight

Caractres Number Number Number

Units Points Points Points

Remarques Hauteur gnrale du papier Largeur gnrale du papier Hauteur de la zone imprimable relle sur la page ; toutes les marges dfinies par lutilisateur sont ignores Largeur de la zone imprimable relle sur la page ; toutes les marges dfinies par lutilisateur sont ignores

PrintJob.pageWidth

Number

Points

PrintJob.orientation

String

sans objet Portrait ou Paysage

Une fois que lutilisateur a cliqu sur OK dans la bote de dialogue dimpression, le lecteur commence mettre en attente une tche dimpression dans le systme dexploitation. Vous devez activer toutes les commandes ActionScript qui affectent limpression, avant de commencer utiliser les commandes PrintJob.addPage() pour dmarrer lenvoi des pages au spouleur. Si vous le souhaitez, vous pouvez utiliser les proprits de largeur, de hauteur et dorientation renvoyes par cette mthode pour dterminer le formatage de limpression. Etant donn que lutilisateur reoit des informations telles que Impression de la page 1 immdiatement aprs avoir cliqu sur OK, vous devez appeler les commandes PrintJob.addPage() et PrintJob.send() ds que possible. Si cette mthode renvoie false (par exemple, si lutilisateur clique sur Annuler au lieu de OK), les appels ultrieurs PrintJob.addPage() et PrintJob.send() chouent. Cependant, si vous testez cette valeur renvoye et nenvoyez pas les commandes PrintJob.addPage(), vous devrez encore supprimer lobjet PrintJob pour vous assurer que le spouleur dimpression est nettoy, comme dans lexemple ci-dessous.
var ma_pj = new PrintJob(); var myResult = ma_pj.start(); if(monRsultat){ // instructions addPage() et send() ici } delete ma_pj; Exemple

Pour plus dinformations, consultez PrintJob.addPage().


Consultez galement PrintJob.addPage(), PrintJob.send()

PrintJob.start()

595

printNum()
Disponibilit

Flash Player 5.
Remarque : Si vous utilisez Flash Player7 ou ultrieur, vous pouvez crer un objet PrintJob, qui vous permet (ainsi que lutilisateur) de mieux contrler le processus dimpression. Pour plus dinformations, consultez lentre Classe PrintJob. Usage printNum (niveau, "rgionDimpression") Paramtres niveau

Le niveau de Flash Player imprimer. Par dfaut, toutes les images du niveau sont imprimes. Affectez une tiquette #p aux images que vous souhaitez imprimer dans ce niveau.

rgionDimpression Un modificateur qui dfinit la zone dimpression de lanimation. Mettez ce paramtre entre guillemets et spcifiez lune des valeurs suivantes :

bmovie Dsigne le cadre de dlimitation dune image spcifique dans une animation comme zone dimpression de toutes les images imprimables de lanimation. Affectez une tiquette dimage #b limage dont vous souhaitez utiliser le cadre de dlimitation comme rgion dimpression. bmax Dsigne un composite de tous les cadres de dlimitation de lensemble des images imprimables comme zone dimpression. Spcifiez le paramtre bmax lorsque la taille des images de votre animation varie. bframe Indique que le cadre de dlimitation de chaque image imprimable est utilis comme zone dimpression pour cette image. Cela modifie la rgion dimpression pour chaque image et modifie la taille des objets pour quils correspondent la rgion dimpression. Utilisez bframe si vous avez des objets de tailles diverses dans chaque image et si vous souhaitez que chaque objet remplisse la page imprime.

Renvoie

Rien.
Description

Fonction : imprime le niveau de Flash Player en fonction des limites spcifies dans le paramtre regionDimpression ("bmovie", "bmax", "bframe"). Affectez une tiquette #p aux images que vous souhaitez imprimer dans le clip cible. Bien que lutilisation de printNum() offre des impressions de meilleure qualit que lutilisation de printAsBitmapNum(), vous ne pouvez pas utiliser printNum() pour imprimer des animations contenant des transparences alpha ou des effets de couleur spciaux. Si vous utilisez bmovie pour le paramtre rgionDimpression, mais que vous naffectez pas dtiquette #b une image, la zone dimpression est dtermine par la taille de scne de la vido charge. Lanimation nhrite pas de la taille de scne de lanimation principale. Tous les lments imprimables dune animation doivent tre compltement chargs avant de commencer limpression. La fonction dimpression de Flash Player supporte les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps.

596

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement print(), printAsBitmap(), printAsBitmapNum,

Classe PrintJob

private
Disponibilit

Flash Player 6.
Usage class nomClasse{ private var nom; private function nom() { // vos instructions } } Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres nom

Le nom de la variable ou de la fonction spcifier en tant que variable ou fonction prive.

Description

Mot-cl : spcifie quune variable ou une fonction est disponible uniquement pour la classe qui la dclare ou la dfinit, ou pour les sous-classes de cette dernire. Par dfaut, une variable ou une fonction est disponible pour toutes les classes qui lappellent. Utilisez ce mot-cl pour restreindre laccs une variable ou une fonction. Pour plus dinformations, consultez Contrle de laccs des membres, page 170. Vous pouvez uniquement utiliser ce mot-cl dans les dfinitions de classes, et non dans les dfinitions dinterfaces.
Consultez galement public, static

public
Flash Player6
Usage class NomClasse{ public var nom; public function nom() { // vos instructions } } Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions.

public

597

Paramtres nom

Le nom de la variable ou de la fonction spcifier en tant que variable ou fonction prive.

Description

Mot-cl : spcifie quune variable ou une fonction est disponible pour toutes les classes qui lappellent. Les variables et les fonctions tant publiques par dfaut, ce mot-cl est utilis principalement pour des raisons stylistiques. Par exemple, vous pouvez utiliser ce mot-cl dans un but dhomognisation dans un bloc de code qui contient galement des variables prives ou statiques.
Exemple

Les deux blocs de code suivants sont fonctionnellement identiques.


private var age:Number; public var nom:String; static var naissance:Date; private var age:Number; var nom:String; static var naissance:Date;

Pour plus dinformations, consultez Contrle de laccs des membres, page 170.
Consultez galement private, static

_quality
Disponibilit

Flash Player 5.
Usage _quality Description

Proprit (globale) : dfinit ou rcupre la qualit de rendu utilise pour une animation. Les polices de priphrique sont toujours aliases et ne sont donc pas affectes par la proprit _quality. La proprit _quality peut tre dfinie avec les valeurs suivantes :

Qualit de rendu minimum. Les graphiques ne sont pas anti-aliass et les bitmaps ne sont pas lisss. MEDIUM Qualit de rendu moyenne. Les graphiques sont anti-aliass avec une grille 2x2, en pixels, mais les bitmaps ne sont pas lisss. Convient aux animations ne contenant pas de texte. HIGH Qualit de rendu leve. Les graphiques sont anti-aliass avec une grille 4x4, en pixels, et les bitmaps sont lisss si lanimation est statique. Il sagit du paramtre de qualit de rendu par dfaut utilis par Flash. "BEST" Qualit de rendu trs leve. Les graphiques sont anti-aliass avec une grille 4x4, en pixels, et les bitmaps sont toujours lisss.
LOW

598

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant dfinit la qualit de rendu sur LOW


_quality = "LOW"; Consultez galement _highquality, toggleHighQuality()

random
Disponibilit

Flash Player 4. Cette fonction est dconseille dans Flash 5 ; utilisez plutt Math.random().
Usage random(valeur) Paramtres valeur Renvoie

Un entier.

Un entier.
Description

Fonction : renvoie un entier alatoire entre 0 et un de moins que lentier spcifi dans le paramtre valeur.
Exemple

Lutilisation suivante de random() renvoie une valeur 0, 1, 2, 3 ou 4 :


random(5); Consultez galement Math.random()

removeMovieClip()
Disponibilit

Flash Player 4.
Usage removeMovieClip(cible) Paramtres

Le chemin cible dune occurrence de clip cr avec duplicateMovieClip() ou le nom doccurrence dun clip cr avec MovieClip.attachMovie() ou MovieClip.duplicateMovieClip.
cible Renvoie

Aucun.

removeMovieClip()

599

Description

Fonction : supprime le clip spcifi.


Consultez galement duplicateMovieClip(), MovieClip.duplicateMovieClip, MovieClip.attachMovie(), MovieClip.removeMovieClip()

return
Disponibilit

Flash Player 5.
Usage return[expression] Paramtres expression Une chane, un nombre, un tableau ou un objet valuer et renvoyer comme valeur de la fonction. Ce paramtre est facultatif. Renvoie

Le paramtre expression valu, si fourni.


Description

Instruction : spcifie la valeur renvoye par une fonction. Laction return value expression et renvoie le rsultat en tant que valeur de la fonction dans laquelle elle est excute. Laction return entrane larrt de la fonction et son remplacement par la valeur renvoye. Si linstruction return est utilise seule, elle renvoie null. Vous ne pouvez pas renvoyer plusieurs valeurs. Si vous tentez de le faire, seule la dernire valeur est renvoye. Dans lexemple suivant, c est renvoy :
renvoyer a, b, c ; Exemple

Lexemple suivant utilise laction return lintrieur du corps de la fonction somme() pour renvoyer la valeur de la somme des trois paramtres. La ligne de code suivante appelle la fonction somme() et affecte la valeur renvoye la variable nouvelleValeur :
function somme(a, b, c){ return a + b + c; } nouvelleValeur = somme(4, 32, 78); trace(nouvelleValeur); // envoie 114 dans le panneau de sortie Consultez galement function

600

Chapitre 12 : Dictionnaire ActionScript Prsentation

_root
Disponibilit

Flash Player 5.
Usage _root.clip _root.action _root.proprit Paramtres clip action

Le nom doccurrence dun clip. Une action ou une mthode. Une proprit de lobjet MovieClip.

proprit Description

Proprit : spcifie ou renvoie une rfrence au scnario de lanimation principale. Si une animation possde plusieurs niveaux, le scnario principal de lanimation se situe dans le niveau contenant le script en cours dexcution. Par exemple, si un script de niveau 1 est valu comme _root, _level1 est renvoy. La spcification de _root est identique lutilisation de la notation barre oblique (/) pour spcifier un chemin absolu au sein du niveau courant.
Remarque : Si une animation contenant _root est charge dans une autre animation, _root fait rfrence au scnario de lanimation en cours de chargement et non au scnario contenant _root. Si vous souhaitez vrifier que _root fait rfrence au scnario de lanimation charge mme si elle est charge dans une autre animation, utilisez MovieClip._lockroot. Exemple

Lexemple suivant arrte le scnario du niveau contenant le script en cours dexcution :


_root.stop();

Lexemple suivant envoie le scnario dans le niveau actuel limage 3 :


_root.gotoAndStop(3); Consultez galement MovieClip._lockroot, _parent, targetPath

scroll
Disponibilit

Flash Player 4.
Usage nomDeVariableDeChampDeTexte.scroll = x

scroll

601

Description

Proprit : une proprit maintenant dconseille qui contrle laffichage des informations dun champ de texte associ une variable. La proprit scroll dfinit lendroit o le champ de texte commence afficher le contenu ; aprs lavoir dfinie, le Flash Player la met jour au fur et mesure que lutilisateur fait dfiler le champ de texte. La proprit scroll est utile pour diriger les utilisateurs vers un paragraphe spcifique dans un long passage, ou pour crer des champs de texte dfilants. Cette proprit peut tre rcupre et modifie.
Exemple

Le code suivant est associ un bouton Haut qui fait dfiler le champ de texte monTexte :
on (release) { monTexte.scroll = monTexte.scroll + 1; } Consultez galement TextField.maxscroll, TextField.scroll

Classe Selection
Disponibilit

Flash Player 5.
Description

La classe Selection vous permet de dfinir et de contrler le champ de texte dans lequel est situ le point dinsertion, cest--dire, le champ qui a le focus. Les index de la plage de slection sont bass sur zro (par exemple, la premire position est 0, la deuxime est 1, et ainsi de suite). Il nexiste aucune fonction du constructeur pour la classe Selection, car il ne peut y avoir quun seul champ de texte avec focus la fois. Rsum des mthodes de la classe Selection
Mthode
Selection.addListener

Description Enregistre un objet pour la rception de la notification lorsque onSetFocus est invoqu. Renvoie lindex au dbut de la plage de slection. Renvoie -1 sil ny a pas dindex ou de champ slectionn courant. Renvoie la position courante du point dinsertion dans la plage de slection avec focus. Renvoie -1 sil ny a pas de position de point dinsertion ou de plage de slection avec focus. Renvoie lindex de la fin de la plage de slection. Renvoie -1 sil ny a pas dindex ou de champ slectionn courant. Renvoie le nom de la variable pour le champ de texte avec focus. Renvoie null sil nexiste aucun champ de texte avec focus. Supprime un objet enregistr avec addListener().

Selection.getBeginIndex()

Selection.getCaretIndex()

Selection.getEndIndex()

Selection.getFocus()

Selection.removeListener

602

Chapitre 12 : Dictionnaire ActionScript Prsentation

Mthode
Selection.setFocus() Selection.setSelection()

Description Rgle le champ de texte associ la variable spcifie. Dfinit les index de dbut et de fin de la plage de slection.

Rsum des couteurs de la classe Selection


Ecouteur
Selection.onSetFocus

Description Notifi lorsque le focus de saisie change.

Selection.addListener
Disponibilit

Flash Player 6.
Usage Selection.addListener(nouvelEcouteur) Paramtres nouvelEcouteur Renvoie

Un objet avec une mthode onSetFocus.

Aucun.
Description

Mthode : enregistre un objet pour la rception de notifications de changement de focus clavier. Lorsque le focus change (par exemple, lorsque Selection.setFocus() est invoqu), la mthode onSetFocus de tous les objets lcoute enregistrs avec addListener() est invoque. Plusieurs objets peuvent attendre des notifications de changement de focus. Si lcouteur nouvelEcouteur est dj enregistr, aucun changement na lieu.

Selection.getBeginIndex()
Disponibilit

Flash Player 5.
Usage Selection.getBeginIndex() Paramtres

Aucun.
Renvoie

Un entier.

Selection.getBeginIndex()

603

Description

Mthode : renvoie lindex du dbut de la plage de slection. Si aucun index nexiste ou si aucun champ de texte courant na le focus, la mthode renvoie -1. Les index de la plage de slection sont bass sur zro (par exemple, la premire position est 0, la deuxime est 1, et ainsi de suite).

Selection.getCaretIndex()
Disponibilit

Flash Player 5.
Usage Selection.getCaretIndex() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie lindex de la position du point dinsertion clignotant (caret). Si aucun point dinsertion clignotant nest affich, la mthode renvoie -1. Les index de la plage de slection sont bass sur zro (par exemple, la premire position est 0, la deuxime est 1, etc.).

Selection.getEndIndex()
Disponibilit

Flash Player 5.
Usage Selection.getEndIndex() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie lindex de fin de la zone de slection avec le focus courant. Si aucun index nexiste ou sil ny a aucune plage de slection avec le focus, la mthode renvoie -1. Les index de la plage de slection sont bass sur zro (par exemple, la premire position est 0, la deuxime est 1, et ainsi de suite).

604

Chapitre 12 : Dictionnaire ActionScript Prsentation

Selection.getFocus()
Disponibilit

Flash Player 5. Les noms doccurrence des boutons et des champs de texte fonctionnent dans Flash Player 6 et ultrieur.
Usage Selection.getFocus() Paramtres

Aucun.
Renvoie

Une chane ou null.


Description

Mthode : renvoie le nom de variable du champ de texte ayant le focus. Si aucun champ de texte na le focus, la mthode renvoie null. Si le focus actuel est un bouton et que le bouton est un objet Button, getFocus() renvoie le chemin cible sous forme de chane. Si le focus actuel est un champ de texte et que le champ de texte est un objet TextField, getFocus() renvoie le chemin cible sous forme de chane. Si un clip de bouton est le bouton o se trouve actuellement le focus, Selection.getFocus() renvoie le chemin cible du clip de bouton. Si un champ de texte avec un nom doccurrence a actuellement le focus, Selection.getFocus() renvoie le chemin cible de lobjet TextField. Sinon, il renvoie le nom de variable du champ de texte.

Selection.onSetFocus
Disponibilit

Flash Player 6.
Usage unEcouteur.onSetFocus = function(ancienFocus, nouveauFocus){ instructions; } Description

Ecouteur : notifi lorsque le focus de saisie change. Pour utiliser onSetFocus, vous devez crer un objet dcoute. Vous pouvez alors dfinir une fonction pour onSetFocus et utiliser la mthode addListener pour enregistrer lcouteur avec lobjet Selection, comme dans lexemple suivant :
unEcouteur = new Object(); unEcouteur.onSetFocus = function () { ... }; Selection.addListener(unEcouteur);

Les couteurs permettent diffrents morceaux de code de cooprer tant donn que plusieurs couteurs peuvent recevoir une notification concernant un seul vnement.
Consultez galement Selection.addListener

Selection.onSetFocus

605

Selection.removeListener
Disponibilit

Flash Player 6.
Usage Selection.removeListener(couteur) Paramtres couteur Renvoie

Lobjet qui ne reoit plus de notification de focus.

Si lcouteur a t correctement retir de la mthode renvoie true. Si lcouteur na pas t correctement retir, par exemple si lcouteur napparaissait pas dans la liste des couteurs de lobjet Selection, la mthode renvoie false.
Description

Mthode : supprime un objet prcdemment enregistr avec addListener().

Selection.setFocus()
Disponibilit

Flash Player 5. Les noms doccurrence des boutons et des clips ne fonctionnent que dans Flash Player 6 et ses versions ultrieures.
Usage Selection.setFocus("nomDoccurrence") Paramtres nomDoccurrence Chane spcifiant le chemin vers le nom doccurrence dun bouton, dun clip ou dun champ de texte. Renvoie

Un vnement.
Description

Mthode : donne le focus au champ de texte, bouton ou clip slectionnable (modifiable) spcifi par nomDoccurrence. Le paramtre instanceName doit tre une chane littrale du chemin de cette occurrence. Vous pouvez utiliser la notation point ou la notation barre oblique pour spcifier le chemin. Vous pouvez galement utiliser un chemin relatif ou absolu. Si vous utilisez ActionScript 2.0, vous devez utiliser la notation en points. Si null est transmis, le focus actuel est retir.
Exemple

Lexemple suivant donne le focus un champ de texte associ maVar, sur le scnario principal. Etant donn que le paramtre nomDoccurrence est un chemin absolu, vous pouvez appeler laction partir de tout scnario.
Selection.setFocus("_root.maVar");

606

Chapitre 12 : Dictionnaire ActionScript Prsentation

Dans lexemple suivant, le champ de texte associ maVar est dans un clip appel monClip dans le scnario principal. Vous pouvez utiliser lun ou lautre des deux chemins suivants pour dfinir le focus, le premier tant relatif, le deuxime absolu.
Selection.setFocus("monClip.maVar"); Selection.setFocus("_root.monClip.maVar");

Selection.setSelection()
Disponibilit

Flash Player 5.
Usage Selection.setSelection(dbut, fin) Paramtres dbut fin Renvoie

Lindex de dbut de la plage de slection. Lindex de fin de la plage de slection.

Rien.
Description

Mthode : dfinit la plage de slection du champ de texte avec focus. La nouvelle plage de slection commencera lindex spcifi dans le paramtre dbut et finira lindex spcifi dans le paramtre fin. Les index de la plage de slection sont bass sur zro (par exemple, la premire position est 0, la deuxime est 1, et ainsi de suite). Cette mthode na aucun effet si aucun champ de texte na le focus.

set
Disponibilit

Flash Player 6.
Usage function set propriete(nomVar) { // vos instructions } Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres propriete nomVar

Mot utilis en rfrence la proprit laquelle la commande set accde ; cette valeur doit tre identique celle utilise dans la commande get correspondante. La variable locale qui dfinit la valeur en cours daffectation.

set

607

Renvoie

Rien.
Description

Mot-cl : permet une "dfinition" implicite des proprits associes aux objets, en fonction des classes dfinies dans les fichiers de classes externes. Lutilisation de mthodes de dfinition implicites vous permet daccder aux proprits des objets, sans accder directement ces objets. Les mthodes get/set implicites sont des abrviations syntaxiques de la mthode Object.addProperty() dans ActionScript 1. Pour plus dinformations, consultez Mthodes get/set implicites, page 179.
Consultez galement get, Object.addProperty()

Variable set
Disponibilit

Flash Player 4.
Usage set(variable, expression) Paramtres variable expression Renvoie

Un identifiant devant contenir la valeur du paramtre de lexpression. Une valeur affecte la variable.

Rien.
Description

Instruction : affecte une valeur une variable. Une variable est un conteneur dinformations. Le conteneur reste toujours le mme, cest le contenu qui peut varier. La modification de la valeur dune variable pendant la lecture du fichier SWF permet denregistrer les informations relatives aux actions de lutilisateur, denregistrer les valeurs modifies pendant la lecture du fichier SWF ou dvaluer si une condition est true ou false. Les variables peuvent contenir nimporte quel type de donnes (par exemple, Chane, Nombre, Boolen, Objet ou Clip). Le scnario de chaque fichier SWF et clip possde son propre jeu de variables et chaque variable possde sa propre valeur indpendante des variables des autres scnarios. La saisie stricte des donnes nest pas autorise au sein dune instruction set. Si vous utilisez cette instruction pour dfinir une variable sur une valeur dont le type de donnes est diffrent du type associ la variable dun fichier de classe, aucune erreur de compilation nest renvoye.
Exemple

Cet exemple dfinit une variable appele orig_x_pos qui stocke la position originale de laxe x du clip vaisseau afin de pouvoir le rinitialiser sa position de dbut ultrieurement dans le fichier SWF.

608

Chapitre 12 : Dictionnaire ActionScript Prsentation

on(release) { set("pos_x_orig", getProperty ("vaisseau", _x )); }

Le code prcdent donne le mme rsultat que le suivant :


on(release) { pos_x_orig = vaisseau._x; } Consultez galement var, call()

setInterval()
Disponibilit

Flash Player 6.
Usage setInterval(NomDeFonction, intervalle [, param1, param2, ..., paramN]) Paramtres NomDeFonction intervalle Le nomDeFonction.

Un nom de fonction ou une rfrence une fonction anonyme. temps en millisecondes qui scoule entre les appels du paramtre Paramtres facultatifs transmis la fonction ou au paramtre

param1, param2, ..., paramN NomDeMthode. Renvoie

Un identifiant dintervalle que vous pouvez transmettre clearInterval pour annuler lintervalle.
Description

Fonction : appelle une fonction, une mthode ou un objet intervalles priodiques pendant la lecture dun fichier SWF. Vous pouvez utiliser une fonction dintervalle pour mettre jour des variables dune base de donnes ou mettre jour un temps affich. Si intervalle est infrieur la cadence du fichier SWF (par exemple, 10 images par seconde est gal 100 millisecondes), la fonction dintervalle est appele aussi prs que possible de intervalle. Vous devez utiliser la fonction updateAfterEvent() pour assurer une actualisation de lcran une frquence approprie. Si intervalle est suprieur la cadence du fichier SWF, la fonction dintervalle est uniquement appele chaque fois que la tte de lecture entre dans une image, afin de minimiser limpact de chaque actualisation de lcran.
Exemple

Usage 1 : Lexemple suivant appelle une fonction anonyme toutes les 1000 millisecondes (toutes les secondes).
setInterval( function(){ trace("intervalle appel"); }, 1000 );

setInterval()

609

Usage 2 : Lexemple suivant dfinit deux gestionnaires dvnements, et appelle chacun deux. Les deux appels de setInterval() envoient la chane intervalle appel vers le panneau de sortie toutes les 1 000 millisecondes. Le premier appel de setInterval() appelle la fonction callback1(), qui contient une action trace(). Le deuxime appel de setInterval() transmet la chane "intervalle appel" la fonction callback2() en tant que paramtre.
function callback1() { trace("intervalle appel"); } function callback2(param) { trace(param); } setInterval( callback1, 1000 ); setInterval( callback2, 1000, "intervalle appel" );

Usage 3 : Cet exemple utilise une mthode dun objet. Vous devez utiliser cette syntaxe lorsque vous voulez appeler une mthode qui est dfinie pour un objet.
obj = new Object(); obj.interval = function() { trace("fonction dintervalle appele"); } setInterval( obj, "interval", 1000 ); obj2 = new Object(); obj2.interval = function(s) { trace(s); } setInterval( obj2, "interval", 1000, "fonction dintervalle appele" );

Vous devez utiliser la deuxime forme de la syntaxe setInterval() pour appeler la mthode dun objet, comme suit :
setInterval( obj2, "interval", 1000, "fonction dintervalle appele" ); Consultez galement clearInterval(), updateAfterEvent()

setProperty()
Disponibilit

Flash Player 4.
Usage setProperty("cible", propriete, valeur/expression) Paramtres cible

Le chemin daccs au nom dinstance du clip dont la proprit est dfinir. La proprit dfinir. Une quation qui quivaut la nouvelle valeur de la proprit. La nouvelle valeur littrale de la proprit.

proprit valeur

expression

610

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Fonction : modifie la valeur dune proprit de clip pendant la lecture de lanimation.


Exemple

Cette instruction dfinit la proprit _alpha du clip nomm toile sur 30 % lorsque le bouton est cliqu :
on(release) { setProperty("toile", _alpha, "30"); } Consultez galement getProperty

Classe SharedObject
Disponibilit

Flash Player 6.
Description

Les objets partags sont trs puissants : ils permettent de partager des donnes en temps rel entre les objets persistants situs sur lordinateur de lutilisateur. Les objets locaux partags sont parfois appels cookies . Vous pouvez utiliser les objets locaux partags afin de maintenir une persistance locale. Il sagit de la manire la plus simple dutiliser un objet partag. Par exemple, vous pouvez appeler SharedObject.getLocal() pour crer un objet partag, tel quun calculateur avec mmoire, dans le lecteur. Comme lobjet partag est localement persistant, Flash enregistre ses attributs de donnes sur lordinateur de lutilisateur la fin du fichier SWF. Lors de la prochaine excution du fichier SWF, le calculateur contiendra les valeurs quil contenait la fin du fichier SWF. En outre, si vous dfinissez les proprits de lobjet partag sur null avant la fin du fichier SWF, le calculateur souvre sans aucune valeur pralable lors de la prochaine excution du fichier SWF. Pour crer un objet local partag, utilisez la syntaxe suivante :
// Crer un objet local partag so = SharedObject.getLocal("machin");

Considrations sur lespace disque local Les objets locaux partags sont toujours persistants sur le client, dans la limite de mmoire et despace disque disponibles.

Classe SharedObject

611

Par dfaut, Flash peut enregistrer localement les objets distants partags persistants jusqu une taille de 100 K. Lorsque vous tentez denregistrer un objet plus volumineux, le lecteur Flash affiche la bote de dialogue Enregistrement local, qui permet lutilisateur daccepter ou de refuser un stockage local pour le domaine qui demande laccs. Vrifiez que votre scne mesure au moins 215 x 138 pixels : la taille minimale ncessaire pour que Flash affiche cette bote de dialogue.

Si lutilisateur clique sur Autoriser, lobjet est enregistr et SharedObject.onStatus est appel avec une proprit de code de SharedObject.Flush.Success. Si lutilisateur clique sur Refuser, lobjet nest pas enregistr et SharedObject.onStatus est appel avec une proprit de code de SharedObject.Flush.Failed. Pour spcifier les paramtres de stockage local permanent pour un domaine spcifique, lutilisateur peut galement cliquer avec le bouton droit de la souris (Windows) ou tout en appuyant sur la touche Contrle (Macintosh) lors de la lecture dun fichier SWF, choisir Paramtres, puis ouvrir le panneau Stockage local.

La liste suivante rsume linteraction entre les choix despace disque de lutilisateur et les objets partags :

Si lutilisateur slectionne Jamais, les objets ne sont jamais enregistrs localement et toutes les
commandes SharedObject.flush() appeles pour lobjet renvoie la valeur false. Si lutilisateur slectionne Illimit (en dplaant le curseur au maximum vers la droite), les objets sont enregistrs localement jusqu la limite de lespace disque disponible. Si lutilisateur slectionne Aucun (en dplaant le curseur au maximum vers la gauche), toutes les commandes SharedObject.flush() mises pour lobjet renvoient en attente et le lecteur demande lutilisateur si un espace disque supplmentaire peut tre affect pour faire de la place lobjet, comme expliqu ci-dessus. Si lutilisateur slectionne 10 Ko, 100 Ko, 1 Mo ou 10 Mo, les objets sont enregistrs localement et SharedObject.flush() renvoie la valeur true si lobjet entre dans lespace indiqu. Si davantage despace est ncessaire, SharedObject.flush() renvoie en attente et le lecteur demande lutilisateur si un espace disque supplmentaire peut tre affect pour faire de la place lobjet, comme indiqu ci-dessus.

612

Chapitre 12 : Dictionnaire ActionScript Prsentation

De plus, si lutilisateur slectionne une valeur infrieure la quantit despace disque actuellement utilis pour des donnes persistantes localement, le lecteur avertit lutilisateur que tout objet partag localement et enregistr est supprim.

Remarque : Dans Flash Player, aucune limite de taille nexiste pour lenvironnement auteur.

Rsum des mthodes de la classe SharedObject


Mthode
SharedObject.clear()

Description Purge toutes les donnes de lobjet partag et supprime lobjet partag du disque. Ecrit immdiatement un objet persistant partag localement dans un fichier local. Renvoie une rfrence un objet persistant partag localement disponible uniquement pour le client actuel. Obtient la taille actuelle de lobjet partag, en octets.

SharedObject.flush()

SharedObject.getLocal()

SharedObject.getSize()

Rsum des proprits de la classe SharedObject


Proprit (lecture seule)
SharedObject.data

Description La collecte des attributs affects la proprit data de lobjet ; ces attributs peuvent tre partags et/ou stocks.

Rsum des gestionnaires dvnement de la classe SharedObject


Gestionnaire dvnement
SharedObject.onStatus

Description Invoqu chaque fois quun message derreur, un avertissement ou des informations sont envoys pour un objet partag.

Constructeur pour la classe SharedObject Pour plus dinformations sur la cration dobjets partags localement, consultez
SharedObject.getLocal().

SharedObject.clear()
Disponibilit

Flash Player 7.
Usage mon_so.clear()

SharedObject.clear()

613

Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : purge toutes les donnes issues de lobjet partag et supprime lobjet partag du disque. La rfrence mon_so est toujours active et mon_so est actuellement vide.

SharedObject.data
Disponibilit

Flash Player 6.
Usage monObjetLocalPartag.data Description

Proprit (lecture seule) : la collecte des attributs affects la proprit data de lobjet ; ces attributs peuvent tre partags et/ou stocks. Chaque attribut peut tre lobjet de nimporte quel type ActionScript ou JavaScript de base : Tableau, Nombre, Boolen, etc. Par exemple, les lignes suivantes affectent des valeurs diffrents aspects dun objet partag :
itemsArray = new Array(101,346,483); currentUserIsAdmin = true; currentUserName = "Raymonde" ; so.data.itemNumbers = itemsArray ; so.data.adminPrivileges = currentUserIsAdmin ; so.data.userName = currentUserName ;

Tous les attributs de la proprit data dun objet partag sont enregistrs si lobjet est persistant.
Remarque : Naffectez pas de valeurs directement la proprit data dun objet partag, comme dans so.data=uneValeur ; Flash ignore ces affectations.

Pour supprimer les attributs dobjets locaux partags localement, utilisez un code comme delete so.data.attributeName ; dfinir un attribut sur nul ou undefined pour un objet local partag nentrane pas sa suppression. Pour crer des valeurs prives pour un objet partag (des valeurs disponibles uniquement pour loccurrence de client alors que lobjet est en cours dutilisation et non stockes avec lobjet lorsquil est ferm), crez des proprits qui ne sont pas appeles data pour les stocker, comme indiqu dans lexemple suivant.
so.favoriteColor = "bleu"; so.favoriteNightClub = "The Bluenote Tavern"; so.favoriteSong = "My World is Blue"; Exemple

Lexemple suivant dfinit le flux actuel vers la slection de lutilisateur.


curStream = _root.so.data.msgList[selected].streamName;

614

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement

Classe Sound

SharedObject.flush()
Disponibilit

Flash Player 6.
Usage monObjetLocalPartag.flush([espaceDisqueMin]) Paramtres espaceDisqueMin Nombre entier facultatif prcisant le nombre doctets qui doivent tre affects pour cet objet. La valeur par dfaut est 0. Renvoie

Une valeur boolenne true ou false ou une valeur de chane en attente .

Si lutilisateur a autoris le stockage dinformations locales pour les objets de ce domaine et si la


quantit despace affect est suffisante pour stocker lobjet, cette mthode renvoie true. (Si vous avez spcifi une valeur pour espaceDisqueMin, la quantit despace affecte doit tre au moins gale la valeur true renvoyer). Si lutilisateur a autoris le stockage dinformations locales pour des objets de ce domaine, mais si la quantit despace affecte nest pas suffisante pour stocker lobjet, cette mthode renvoie en attente . Si lutilisateur a toujours refus le stockage dinformations locales pour des objets de ce domaine ou si Flash est incapable denregistrer lobjet pour une raison quelconque, cette mthode renvoie false.

Description

Mthode : crit immdiatement un objet persistant partag localement dans un fichier local. Si vous nutilisez pas cette mthode, Flash crit lobjet partag dans un fichier lorsque la session de lobjet partag se termine (cest--dire lorsque le fichier SWF est ferm, lorsque lobjet partag est dpos dans la corbeille car il ne possde plus aucune rfrence ou lorsque vous appelez SharedObject.data). Si cette mthode renvoie en attente , Flash Player affiche une bote de dialogue demandant lutilisateur daugmenter la quantit despace disque disponible pour les objets de ce domaine. Pour que lespace occup par lobjet partag puisse grandir lors dun prochain enregistrement, en vitant ainsi des valeurs de retour en attente , dfinissez une valeur espaceDisqueMin. Lorsque Flash tente dcrire le fichier, il recherche le nombre doctets dfinis pour espaceDisqueMin, plutt que de rechercher un espace juste suffisant pour enregistrer lobjet partag sa taille actuelle. Par exemple, si lon prvoit quun objet partag va atteindre la taille maximale de 500 octets, mme sil peut tre plus petit au dpart, dfinissez 500 pour espaceDisqueMin. Si Flash demande lutilisateur daffecter un espace disque pour lobjet partag, il demandera 500 octets. Une fois la quantit despace ncessaire alloue par lutilisateur, Flash na plus besoin de demander despace supplmentaire lors des prochaines tentatives pour purger lobjet (tant que sa taille ne dpasse pas500 octets).

SharedObject.flush()

615

Une fois que lutilisateur a rpondu la bote de dialogue, cette mthode est rappele et renvoie true ou false. De plus, SharedObject.onStatus est invoqu avec une proprit de code SharedObject.Flush.Success ou SharedObject.Flush.Failed. Pour plus dinformations, consultez Considrations sur lespace disque local, page 611.
Exemple

La fonction suivante obtient un objet partag SO et remplit les proprits enregistrables laide des paramtres fournis par lutilisateur. Finalement, flush() est appel pour enregistrer les paramtres et affecter un minimum de 1 000 octets despace disque.
this.SyncSettingsCore=function(nomso, craser, paramtres) { var SO=SharedObject.getLocal(nomso, "http://www.mondomaine.fr/app/sys"); // index de la liste des paramtres var i; // Pour chaque valeur spcifie dans les paramtres : // Si lcrasement renvoie true, dfinissez le paramtre persistant sur la valeur fournie. // Si lcrasement renvoie false, cherchez le paramtre persistant, sauf sil // ny en a pas, auquel cas, dfinissez-le sur la valeur fournie. for (i in settings) { if (override || (SO.data[i] == null)) { SO.data[i]= settings[i]; } else { settings[i]= SO.data[i]; } } SO.flush(1000); }

SharedObject.getLocal()
Disponibilit

Flash Player 6.
Usage SharedObject.getLocal(nomObjet [, cheminLocal]) Remarque : La syntaxe correcte est SharedObject.getLocal. Pour affecter un objet une variable, utilisez une syntaxe telle que monObjetLocalPartag=SharedObject.getLocal. Paramtres nomObjet adresses

Nom de lobjet. Le nom peut inclure des barres obliques (/) ; par exemple, travail/ est un nom lgal. Les espaces ne sont pas autoriss dans un nom dobjet partag, ni les caractres suivants :
" , < > ? #

~ % & \ ; : cheminLocal

Un paramtre de chane facultatif qui prcise le chemin complet ou partiel vers le fichier SWF qui a cr lobjet partag et qui dtermine o lobjet partag est stock localement. La valeur par dfaut est le chemin complet.

616

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Une rfrence un objet partag qui est localement persistant et disponible uniquement pour le client actuel. Si Flash ne peut pas crer ni trouver lobjet partag (par exemple, si cheminLocal a t spcifi mais si aucun rpertoire de ce type nexiste), cette mthode renvoie null.
Description

Mthode : renvoie une rfrence un objet partag qui est localement persistant et disponible uniquement pour le client actuel. Pour viter les collisions de nom, Flash repre lemplacement du fichier SWF qui cre lobjet partag. Par exemple, si un fichier SWF sur www.maSociete.fr/apps/stockwatcher.swf cre un objet partag appel portefeuille, cet objet partag nentre pas en conflit avec un autre objet appel portefeuille cr par un fichier SWF sur www.votreSociete.fr/photoshoot.swf, car les fichiers SWF proviennent de deux rpertoires diffrents.
Exemple

Lexemple suivant enregistre la dernire image entre par un utilisateur dans un objet kookie partag localement.
// Obtenir kookie so = sharedobject.getlocal("kookie"); // Obtenir lutilisateur de kookie et atteindre le numro dimage enregistr pour cet utilisateur. si (so.data.user != undefined) { this.user = so.data.user; this.gotoAndStop(so.data.frame); }

Le bloc de code suivant est plac sur chaque image du fichier SWF.
// Sur chaque image, appelez la fonction rememberme pour enregistrer le numro dimage. fonction rememberme() { so.data.frame=this._currentFrame; so.data.user="John"; }

SharedObject.getSize()
Disponibilit

Flash Player 6.
Usage monObjetLocalPartag.getSize() Paramtres

Aucun.
Renvoie

Valeur numrique indiquant la taille de lobjet partag, en octets.


Description

Mthode : obtenir la taille actuelle de lobjet partag, en octets.

SharedObject.getSize()

617

Flash calcule la taille dun objet partag en passant en revue chacune de ses proprits de donnes ; plus lobjet possde de proprits de donnes, plus il faut de temps pour estimer sa taille. Pour cette raison, lestimation de la taille de lobjet peut engendrer un cot de traitement important. Par consquent, vous voulez peut-tre viter dutiliser cette mthode, sauf besoin particulier.
Exemple

Lexemple suivant donne la taille de lobjet partag so.


var tailleObjPart= this.so.getSize();

SharedObject.onStatus
Disponibilit

Flash Player 6.
Usage monObjetLocalPartag.onStatus = function(objetInfo) { // vos instructions } Paramtres objetInfo Renvoie

Un paramtre dfini selon le message dtat.

Rien.
Description

Gestionnaire dvnement : invoqu chaque fois quun message derreur, un avertissement ou des informations sont envoys pour un objet partag. Si vous souhaitez rpondre ce gestionnaire dvnement, vous devez crer une fonction pour traiter lobjet dinformation gnr par lobjet partag. Lobjet dinformations a une proprit de code contenant un chane dcrivant le rsultat du gestionnaire onStatus, ainsi quune proprit level contenant une chane "Status" ou "Error". Outre ce gestionnaire onStatus, Flash propose galement une super fonction appele System.onStatus. Si onStatus est invoqu pour un objet particulier et quaucune fonction nest affecte pour lui rpondre, Flash traite une fonction affecte System.onStatus sil en existe une.

618

Chapitre 12 : Dictionnaire ActionScript Prsentation

Les vnements suivants vous informent lorsque certaines activits SharedObject se produisent.
Proprit de code
SharedObject.Flush.Failed

Proprit de niveau Error

Signification Une commande SharedObject.flush() qui renvoie "pending" a chou (lutilisateur na pas allou despace disque supplmentaire pour lobjet partag lorsque Flash Player a affich la bote de dialogue Stockage local). Une commande SharedObject.flush() renvoyant en attente a russi (lutilisateur a affect un espace disque supplmentaire pour lobjet partag).

SharedObject.Flush.Success

Etat

Consultez galement SharedObject.getLocal(), System.onStatus

Classe Sound
Disponibilit

Flash Player 5.
Description

La classe Sound vous permet de contrler le son dans une animation. Vous pouvez ajouter des sons un clip partir de la bibliothque pendant la lecture de lanimation et contrler ces sons. Si vous ne spcifiez pas de cible (cible) lorsque vous crez un nouvel objet Sound, vous pouvez utiliser les mthodes pour contrler le son de toute lanimation. Vous devez utiliser le constructeur new Sound pour crer un objet Sound avant dappeler les mthodes de la classe Sound. Rsum des mthodes de la classe Sound
Mthode
Sound.attachSound()

Description Attache le son spcifi dans le paramtre.

Sound.getBytesLoaded() Renvoie le nombre doctets chargs pour le son spcifi. Sound.getBytesTotal() Sound.getPan() Sound.getTransform() Sound.getVolume() Sound.loadSound Sound.setPan Sound.setTransform

Renvoie la taille du son, en octets. Renvoie la valeur de lappel setPan() prcdent. Renvoie la valeur de lappel setTransform() prcdent. Renvoie la valeur de lappel setVolume() prcdent. Charge un fichier MP3 dans Flash Player. Dfinit la balance gauche/droite du son. Dfinit la quantit de chaque canal, gauche et droite, lire dans chaque haut-parleur.

Classe Sound

619

Mthode
Sound.setVolume Sound.start()

Description Dfinit le niveau du volume pour un son. Dmarre la lecture dun son depuis le dbut ou, en option, depuis un point dfini dans le paramtre. Arrte le son spcifi ou tous les sons en cours de lecture.

Sound.stop

Rsum des proprits de la classe Sound


Proprit
Sound.duration Sound.ID3 Sound.position

Description Dure dun son, en millisecondes. Donne accs aux mtadonnes qui font partie dun fichier MP3. Nombre de millisecondes de lecture du son.

Rsum des gestionnaires dvnement de la classe Sound


Gestionnaire dvnement
Sound.onID3 Sound.onLoad Sound.onSoundComplete

Description Invoqu chaque fois que de nouvelles donnes ID3 sont disponibles. Invoqu au chargement dun son. Invoqu la fin de la lecture dun son.

Constructeur pour la classe Sound


Disponibilit

Flash Player 5.
Usage new Sound([cible]) Paramtres cible Renvoie

Loccurrence de clip sur laquelle agit lobjet Sound. Ce paramtre est facultatif.

Rien.
Description

Constructeur : cre un nouvel objet Sound pour un clip spcifi. Si vous ne spcifiez pas doccurrence cible, lobjet Sound contrle tous les sons de lanimation.
Exemple

Lexemple suivant cre un nouvel objet Sound nomm son_global. La deuxime ligne appelle la mthode setVolume() et rgle le volume de tous les sons de lanimation 50 %.
son_global = new Sound(); son_global.setVolume(50);

620

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lexemple suivant cre une nouvelle occurrence de lobjet Sound, lui transmet le clip cible mon_mc et appelle la mthode start, qui dmarre tous les sons de mon_mc.
animation_sound = new Sound(mon_mc); animation_sound.start();

Sound.attachSound()
Disponibilit

Flash Player 5.
Usage mon_sound.attachSound("NomId") Paramtres NomId

Lidentifiant dun son export dans la bibliothque. Lidentifiant est situ dans la bote de dialogue Proprits de liaison. Rien.

Renvoie

Description

Mthode : associe le son spcifi par le paramtre nomIdentifiant lobjet Sound spcifi. Le son doit se trouver dans la bibliothque du fichier SWF actuel et tre spcifi pour lexportation dans la bote de dialogue Proprits de liaison. Vous devez appeler Sound.start() pour dmarrer la lecture du son. Pour tre sr de pouvoir contrler le son partir de toute scne du fichier SWF, placez-le dans le scnario principal du fichier SWF.

Sound.duration
Disponibilit

Flash Player 6.
Usage mon_sound.duration Description

Proprit (lecture seule) : la dure dun son, en millisecondes.

Sound.getBytesLoaded()
Disponibilit

Flash Player 6.
Usage mon_sound.getBytesLoaded()

Sound.getBytesLoaded()

621

Paramtres

Aucun.
Renvoie

Un entier indiquant le nombre doctets chargs.


Description

Mthode : renvoie le nombre doctets chargs (en flux continu) pour lobjet Sound spcifi. Vous pouvez comparer la valeur de getBytesLoaded avec celle de getBytesTotal pour dterminer le pourcentage dun son qui a t charg.
Consultez galement Sound.getBytesTotal()

Sound.getBytesTotal()
Disponibilit

Flash Player 6.
Usage mon_sound.getBytesTotal() Paramtres

Aucun.
Renvoie

Un entier indiquant la taille totale, en octets, de lobjet Sound spcifi.


Description

Mthode : renvoie la taille, en octets, de lobjet Sound spcifi.


Consultez galement Sound.getBytesLoaded()

Sound.getPan()
Disponibilit

Flash Player 5.
Usage mon_sound.getPan(); Paramtres

Aucun.
Renvoie

Un entier.

622

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Mthode : renvoie le niveau de balance dfini dans le dernier appel setPan sous la forme dun entier compris entre -100 (gauche) et 100 (droite). 0 rgle le canal gauche et le canal droit au mme niveau. Le paramtre de panoramique contrle la balance gauche-droite des sons actuels et futurs dun fichier SWF. Cette mthode est cumulable avec les mthodes setVolume() ou setTransform().
Consultez galement Sound.setPan

Sound.getTransform()
Disponibilit

Flash Player 5.
Usage mon_sound.getTransform(); Paramtres

Aucun.
Renvoie

Un objet avec des proprits qui contiennent les valeurs de pourcentage de canal pour lobjet son spcifi.
Description

Mthode : renvoie les informations de transformation de son pour lobjet Sound spcifi dfini avec le dernier appel Sound.setTransform.

Sound.getVolume()
Disponibilit

Flash Player 5.
Usage mon_sound.getVolume() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie le niveau du volume du son sous la forme dun entier compris entre 0 et 100, avec 0 pour teint et 100 pour volume maximum. Le paramtre par dfaut est 100.

Sound.getVolume()

623

Consultez galement Sound.setVolume

Sound.ID3
Disponibilit

Flash Player 6 ; comportement mis jour dans Flash Player 7.


Usage mon_sound.ID3 Description

Proprit (lecture seule) : donne accs aux mtadonnes qui font partie dun fichier MP3. Les fichiers son MP3 peuvent contenir des balises ID3, qui fournissent des mtadonnes sur le fichier. Si un son MP3 que vous chargez laide de Sound.attachSound() ou Sound.loadSound contient des balises ID3, vous pouvez effectuer une requte sur ces proprits. Les balises ID3 utilisant le jeu de caractres UTF-8 sont les seules tre supportes. Flash Player 6 version 40 et les versions ultrieures utilisent la proprit Sound.id3 pour traiter les balises ID3 1.0 et ID3 1.1. Flash Player 7 prend galement en charge les balises ID3 2.0, notamment les balises 2.3 et 2.4. Pour la compabilit amont, les balises Sound.id3 et Sound.ID3 sont prises en charge. Les conseils de code sont uniquement pris en charge pour lutilisation des minuscules dans les balises id3 (consultez Utilisation de conseils de code, page 66). Le tableau suivant rpertorie les balises ID3 standard et le type de contenu correspondant ; vous pouvez les demander au format mon_sound.ID3.COMM, mon_sound.ID3.TIME, etc. Les fichiers MP3 sont susceptibles de contenir des balises non rpertories dans ce tableau ; Sound.ID3 permet galement dy accder.
Proprit
COMM TALB TBPM TCOM TCON TCOP TDAT TDLY TENC TEXTE TFLT HEURE TIT1

Description Commentaire Album/animation/titre du spectacle Battements par minute Compositeur Type de contenu Message de copyright Date Cadence de la liste musicale Encod par Parolier/auteur Type de fichier Heure Description gnrique du contenu

624

Chapitre 12 : Dictionnaire ActionScript Prsentation

Proprit
TIT2 TIT3 TKEY TLAN TLEN TMED TOAL TOFN TOLY TOPE TORY TOWN TPE1 TPE2 TPE3 TPE4 TPOS TPUB TRCK TRDA TRSN TRSO TSIZ TSRC

Description Titre/nom de la chanson/description du contenu Sous-titre/qualit description Note initiale Langages Longueur Type de mdia Album/animation/titre du spectacle dorigine Nom de fichier dorigine Paroliers/auteurs dorigine Artistes/interprtes dorigine Anne originelle de parution Propritaire du fichier/titulaire de la licence Principaux interprtes/solistes Groupe/orchestre/accompagnement Chef dorchestre/qualit interprte Interprt, remix ou modifi par Partie dune srie Editeur Numro de piste/emplacement dans la srie Dates des enregistrements Nom de la station de radio sur Internet Propritaire de la station de radio sur Internet Taille ISRC (international standard recording code - code international normalis des enregistrements) Logiciel/matriel et paramtres utiliss pour lencodage Anne Image de lien URL

TSSE TYER WXXX

Sound.ID3

625

Flash Player 6 prenait en charge plusieurs balises ID31.0. Si ces balises ne se trouvent pas dans le fichier MP3, mais que ce fichier contient les balises ID3 2.0 correspondantes, les balises ID3 2.0 sont copies dans les proprits ID3 1.0, tel que le montre le tableau suivant. Ce processus offre une compatibilit amont avec les scripts dj enregistrs qui lisent les proprits ID3 1.0.
Balise ID3 2.0
COMM TALB TCON TIT2 TPE1 TRCK TYER

Proprit ID3 1.0 correspondante


Sound.id3.comment Sound.id3.album Sound.id3.genre Sound.id3.songname Sound.id3.artist Sound.id3.track Sound.id3.year

Exemple

Consultez Sound.onID3 pour obtenir un exemple dutilisation de cette proprit.


Consultez galement Sound.attachSound(), Sound.loadSound

Sound.loadSound
Disponibilit

Flash Player 6.
Usage mon_sound.loadSound("url", isStreaming) Paramtres url

Lemplacement dun fichier son MP3 sur un serveur.

isStreaming Valeur boolenne qui indique si le son est lu en flux continu (true) ou sil sagit dun son dvnement (false). Renvoie

Rien.
Description

Mthode : charge un fichier MP3 dans un objet Sound. Vous pouvez utiliser le paramtre isStreaming pour indiquer si le son est lu en flux continu ou sil sagit dun son dvnement. Les sons dvnement sont compltement chargs avant dtre lus. Ils sont grs par la classe Sound dActionScript et rpondent toutes les mthodes et proprits de cette classe. Les sons en flux continu sont lus pendant leur tlchargement. La lecture commence lorsque suffisamment de donnes ont t reues pour dmarrer le dcompresseur. Tous les MP3 (vnement ou en continu) chargs laide de cette mthode sont enregistrs dans le cache du navigateur sur le systme de lutilisateur.

626

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Lexemple suivant charge un son dvnement :


mon_sound.loadSound( "http://cheminDuServeur:port/nomDuFichierMp3", false);

Lexemple suivant charge un son en flux continu :


mon_sound.loadSound( "http://cheminDuServeur:port/nomDuFichierMp3", false); Consultez galement Sound.onLoad

Sound.onID3
Disponibilit

Flash Player 7.
Usage mon_sound.onID3 = function(){ // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu chaque fois que de nouvelles donnes ID3 sont disponibles pour un fichier MP3 que vous chargez en utilisant Sound.attachSound() ou Sound.loadSound. Ce gestionnaire permet daccder aux donnes ID3 sans procder une interrogation. Si les balises ID3 1.0 et ID3 2.0 sont prsentes dans un fichier, ce gestionnaire est appel deux reprises.
Exemple

Lexemple suivant renvoie les proprits ID3 de chanson.mp3 dans le panneau Sortie.
mon_sound = new Sound(); mon_sound.onID3 = function(){ for( var prop in mon_sound.ID3 ){ trace( prop + " : "+ mon_sound.ID3[prop] ); } } mon_sound.loadSound("chanson.mp3", false); Consultez galement Sound.attachSound(), Sound.ID3, Sound.loadSound

Sound.onID3

627

Sound.onLoad
Disponibilit

Flash Player 6.
Usage mon_sound.onLoad = function(succs){ // vos instructions } Paramtres succs

Une valeur boolenne true si mon_sound a t correctement charg, false dans le cas

contraire.
Renvoie

Rien.
Description

Gestionnaire dvnement : automatiquement invoqu au chargement dun son. Vous devez crer une fonction excute lorsque ce gestionnaire est invoqu. Vous pouvez utiliser une fonction anonyme ou une fonction nomme (pour un exemple de chaque, consultez Sound.onSoundComplete). Ce gestionnaire doit tre dfini avant lappel de mon_sound.loadSound().
Consultez galement Sound.loadSound

Sound.onSoundComplete
Disponibilit

Flash Player 6.
Usage mon_sound.onSoundComplete = function(){ // vos instructions } Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : automatiquement invoqu la fin de la lecture dun son. Vous pouvez utiliser ce gestionnaire pour dclencher des vnements dans un fichier SWF au terme de la lecture dun son. Vous devez crer une fonction excute lorsque ce gestionnaire est invoqu. Vous pouvez utiliser une fonction anonyme ou une fonction nomme.

628

Chapitre 12 : Dictionnaire ActionScript Prsentation

Exemple

Usage 1 : Lexemple suivant utilise une fonction anonyme :


mon_sound = new Sound(); mon_sound.attachSound("monIDSon"); mon_sound.onSoundComplete = function() { trace("monIDSon est termin"); } mon_sound.start();

Usage 2 : Lexemple suivant utilise une fonction nomme :


function callback1() { trace("monIDSon est termin"); } mon_sound = new Sound(); mon_sound.attachSound("monIDSon"); mon_sound.onSoundComplete = rappel1; mon_sound.start(); Consultez galement Sound.onLoad

Sound.position
Disponibilit

Flash Player 6.
Usage mon_sound.position Description

Proprit (lecture seule) : renvoie le nombre de millisecondes coules depuis le dbut de la lecture dun son. Si le son est lu en boucle, la position est remise 0 au dbut de chaque boucle.

Sound.setPan
Disponibilit

Flash Player 5.
Usage mon_sound.setPan(balance); Paramtres balance

Un entier spcifiant la balance gauche-droite dun son. Les valeurs correctes sont comprises entre -100 et 100, avec -100 pour le canal de gauche, 100 pour le canal de droite et 0 pour rpartir le son dune manire uniforme entre les deux canaux.

Renvoie

Un entier.

Sound.setPan

629

Description

Mthode : dtermine la faon dont le son est rparti dans les canaux droit et gauche (hautparleurs). Pour les sons mono, balance dtermine le haut-parleur (gauche ou droit) par lequel passe le son.
Exemple

Lexemple suivant cre une occurrence de lobjet Sound appel mon_sound et associe un son lidentifiant L7 de la bibliothque. Il appelle galement les mthodes setVolume() et setPan() pour contrler le son L7.
onClipEvent(mouseDown) { // crer un objet Sound mon_sound = new Sound(this); // associer un son de la bibliothque mon_sound.attachSound("L7"); // dfinir le volume 50 % mon_sound.setVolume(50); // dsactiver le son dans le canal droit mon_sound.setPan(-100); // dmarrer partir de 30 secondes et lire le son 5 fois mon_sound.start(30, 5); Consultez galement Sound.attachSound(), Sound.setPan, Sound.setTransform, Sound.setVolume, Sound.start()

Sound.setTransform
Disponibilit

Flash Player 5.
Usage mon_sound.setTransform(objetDeTransformationDeSon) Paramtres objetDeTransformationDeSon

Un objet cr laide du constructeur de la classe gnrique

Object.
Renvoie

Rien.
Description

Mthode : dfinit les informations de transformation (balance) du son pour un objet Sound. Le paramtre objetDeTransformationDeSon est un objet cr laide de la mthode constructeur de la classe gnrique Object avec des paramtres spcifiant la manire dont le son est rparti dans les canaux gauche et droit (haut-parleurs). Les sons utilisent un espace disque et une mmoire considrables. Les sons stro utilisant deux fois plus de donnes que les sons mono, il est gnralement conseill dutiliser des sons mono de 6 bits et 22 kHz. Vous pouvez utiliser la mthode setTransform() pour lire les sons mono en stro, les sons stro en mono et pour ajouter des effets sonores intressants.

630

Chapitre 12 : Dictionnaire ActionScript Prsentation

Les paramtres de objetDeTransformationDeSon sont les suivants :


11 Une valeur de pourcentage spcifiant la quantit de lentre gauche lire dans le haut-parleur gauche (0100). 1r Une valeur de pourcentage spcifiant la quantit de lentre droite lire dans le haut-parleur gauche. rr

Une valeur de pourcentage spcifiant la quantit de lentre droite lire dans le haut-parleur

droit.
rl Une valeur de pourcentage spcifiant la quantit de lentre gauche lire dans le hautparleur droit.

Le rsultat net de ces paramtres est reprsent par la formule suivante :


sortieGauche = entre_gauche * ll + entre_droite * lr sortieDroite = entre_droite * rr + entre_gauche * rl

Les valeurs de entre_gauche ou entre_droite sont dtermines par le type de son (mono ou stro) du fichier SWF. Les sons stro divisent lentre de son de manire gale entre les haut-parleurs droit et gauche et ont les paramtres de transformation par dfaut suivants :
ll lr rr rl = = = = 100 0 100 0

Les sons mono sont lus dans le haut-parleur gauche et ont les paramtres de transformation par dfaut suivants :
ll lr rr rl = = = = 100 100 0 0

Exemple

Lexemple suivant illustre un rsultat pouvant tre obtenu avec la mthode setTransform(), mais pas avec les mthodes setVolume() ou setPan(), mme associes. Le code suivant cre un objet monObjetDeTransformationDeSon et dfinit ses proprits de manire ce que le son des deux canaux soit lu uniquement dans le canal gauche.
monObjetDeTransformationDeSon = new Object; monObjetDeTransformationDeSon.ll = 100; monObjetDeTransformationDeSon.lr = 100; monObjetDeTransformationDeSon.rr = 0; monObjetDeTransformationDeSon.rl = 0;

Pour appliquer lobjet monObjetDeTransformationDeSon un objet Sound, vous devez alors transmettre lobjet lobjet Sound laide de la mthode setTransform(), comme suit :
mon_sound.setTransform(monObjetDeTransformationDeSon);

Lexemple suivant lit un son stro en mono ; les paramtres de lobjet monObjetDeTransformationDeSonMono sont les suivants :
monObjetDeTransformationDeSonMono = new Object; monObjetDeTransformationDeSonMono.ll = 50; monObjetDeTransformationDeSonMono.lr = 50;

Sound.setTransform

631

monObjetDeTransformationDeSonMono.rr = 50; monObjetDeTransformationDeSonMono.rl = 50; mon_sound.setTransform(monObjetDeTransformationDeSonMono);

Cet exemple lit le canal gauche la moiti de sa capacit et ajoute le reste du canal gauche dans le canal droit ; les paramtres de lobjet monObjetDeTransformationDeSonMoiti sont les suivants :
monObjetDeTransformationDeSonMoiti = new Object; monObjetDeTransformationDeSonMoiti.ll = 50; monObjetDeTransformationDeSonMoiti.lr = 0; monObjetDeTransformationDeSonMoiti.rr = 100; monObjetDeTransformationDeSonMoiti.rl = 50; mon_sound.setTransform(monObjetDeTransformationDeSonMoiti); Consultez galement

Classe Object

Sound.setVolume
Disponibilit

Flash Player 5.
Usage mon_sound.setVolume(volume) Paramtres volume

Un nombre compris entre 0 et 100 et correspondant au niveau du volume. 100 est le volume maximum et 0 le volume nul. Le paramtre par dfaut est 100. Rien.

Renvoie

Description

Mthode : dfinit le volume pour lobjet Sound.


Exemple

Lexemple suivant dfinit le volume sur 50 % et transfre progressivement le son du haut-parleur gauche vers le droit :
onClipEvent(load) { i = -100; mon_sound = new Sound(); mon_sound.setVolume(50); } onClipEvent (enterFrame) { if (i <= 100) { mon_son.setPan(i++); } } Consultez galement Sound.setPan, Sound.setTransform

632

Chapitre 12 : Dictionnaire ActionScript Prsentation

Sound.start()
Disponibilit

Flash Player 5.
Usage mon_sound.start([dcalageSecondes, boucle]) Paramtres dcalageSecondes

Un paramtre facultatif permettant de dmarrer la lecture du son un point spcifique. Par exemple, si vous avez un son de 30 secondes et que vous souhaitez dmarrer la lecture du son au milieu, spcifiez 15 pour le paramtre dcalageSecondes. Le son nest pas retard de 15 secondes, la lecture dmarrant la seconde 15.
boucle

Un paramtre facultatif permettant de spcifier le nombre de rptitions du son.

Renvoie

Rien.
Description

Mthode : dmarre la lecture du dernier son associ, depuis le dbut si aucun paramtre nest spcifi, ou lendroit du son spcifi dans le paramtre dcalageSecondes.
Consultez galement Sound.stop

Sound.stop
Disponibilit

Flash Player 5.
Usage mon_sound.stop(["nomIdentifiant"]) Paramtres nomIdentifiant nomIdentifiant Renvoie

Un paramtre facultatif spcifiant un son spcifique arrter. Le paramtre doit se trouver entre guillemets (" ").

Rien.
Description

Mthode : arrte tous les sons en cours de lecture si aucun paramtre nest spcifi, ou uniquement le son spcifi dans le paramtre nomIdentifiant.
Consultez galement Sound.start()

Sound.stop

633

_soundbuftime
Disponibilit

Flash Player 4.
Usage _soundbuftime = entier Paramtres entier Description

Le nombre de secondes prcdant le dmarrage de la lecture en continu du fichier SWF.

Proprit (globale) : tablit le nombre de secondes de mise en tampon dun son en flux continu. La valeur par dfaut est de 5 secondes.

Classe Stage
Disponibilit

Flash Player 6.
Description

La classe Stage est une classe de premier niveau dont les mthodes, les proprits et les gestionnaires sont accessibles sans constructeur. Les mthodes et les proprits de cette classe permettent daccder aux informations sur les limites dun fichier SWF et de les manipuler. Rsum des mthodes de la classe Stage
Mthode
Stage.addListener

Description Ajoute un objet dcoute permettant de dtecter le redimensionnement dun fichier SWF. Supprime un objet dcoute de lobjet Stage.

Stage.removeListener

Rsum des proprits de la classe Stage


Proprit
Stage.align Stage.height Stage.scaleMode Stage.showMenu

Description Alignement du fichier SWF dans le lecteur ou dans le navigateur. Hauteur de la scne, en pixels. Echelle actuelle du fichier SWF. Affiche ou masque les lments par dfaut du menu contextuel Flash Player. Largeur de la scne, en pixels.

Stage.width

634

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des gestionnaires dvnement de la classe Stage


Gestionnaire dvnement
Stage.onResize

Description Invoqu lorsque Stage.scaleMode a pour valeur "noScale" et que le fichier SWF est redimensionn.

Stage.addListener
Disponibilit

Flash Player 6.
Usage Stage.addListener(monEcouteur) Paramtres monEcouteur Un Stage.onResize. Renvoie

objet qui attend une notification de rappel de la part de lvnement

Rien.
Description "noScale").

Mthode : dtecte le redimensionnement dun fichier SWF (uniquement si Stage.scaleMode = La mthode addListener() ne fonctionne pas avec le paramtre dchelle danimation par dfaut ("showAll"), ni avec dautres paramtres dchelle ("exactFit" et "noBorder").

Pour utiliser addListener(), vous devez dabord crer un objet couteur. Les objets dcoute de Stage reoivent une notification envoye par Stage.onResize.
Exemple

Cet exemple cre un objet dcoute appel monEcouteur. Il utilise ensuite monEcouteur pour appeler onResize et dfinir une fonction qui sera appele lorsque onResize sera dclench. Enfin, le code ajoute lobjet monEcouteur la liste de rappel de lobjet Stage. Les objets dcoute permettent plusieurs objets dattendre des notifications de redimensionnement.
monEcouteur = new Object(); monEcouteur.onResize = function () { ... } Stage.scaleMode = "noScale" Stage.addListener(monEcouteur); Consultez galement Stage.onResize, Stage.removeListener

Stage.align
Disponibilit

Flash Player 6.

Stage.align

635

Usage Stage.align Description

Proprit : indique lalignement actuel du fichier SWF dans le lecteur ou dans le navigateur. Le tableau suivant rpertorie les valeurs de la proprit align. Les valeurs ne figurant pas dans le tableau centrent le fichier SWF dans la zone du lecteur ou du navigateur.
Value
"T" "B" "L" "R" "TL" "TR" "BL" "BR"

Vertical top bottom center center top top bottom bottom

Horizontal center center left right left right left right

Stage.height
Disponibilit

Flash Player 6.
Usage Stage.height Description

Proprit (lecture seule) : indique la hauteur actuelle, en pixels, de la scne. Lorsque la valeur de Stage.scaleMode est "noScale", la proprit height reprsente la hauteur du lecteur. Lorsque la valeur de Stage.scaleMode nest pas "noScale", height reprsente la hauteur du fichier SWF.
Consultez galement Stage.align, Stage.scaleMode, Stage.width

Stage.onResize
Disponibilit

Flash Player 6.
Usage monEcouteur.onResize = fonction (){ // vos instructions }

636

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres

Aucun.
Paramtres

Aucun.
Renvoie

Rien.
Description

Gestionnaire dvnement : invoqu lorsque Stage.scaleMode a pour valeur "noScale" et que le fichier SWF est redimensionn. Vous pouvez utiliser ce gestionnaire dvnement pour crire une fonction qui dispose les objets sur la scne lorsquun fichier SWF est redimensionn.
Exemple

Lexemple suivant affiche un message dans le panneau de sortie lorsque la scne est redimensionne.
Stage.scaleMode = "noScale" monEcouteur = new Object(); monEcouteur.onResize = fonction () { trace("La taille de la scne est maintenant" + Stage.width + " par " + Stage.height); } Stage.addListener(monEcouteur); // plus tard, appel de Stage.removeListener(monEcouteur) Consultez galement Stage.addListener, Stage.removeListener

Stage.removeListener
Disponibilit

Flash Player 6.
Usage Stage.removeListener(monEcouteur) Paramtres monEcouteur Renvoie

Un objet ajout la liste de rappel laide de la mthode addListener().

Une valeur boolenne.


Description

Mthode : retire un objet dcoute cr avec addListener().


Consultez galement Stage.addListener

Stage.removeListener

637

Stage.scaleMode
Disponibilit

Flash Player 6.
Usage Stage.scaleMode = "valeur" Description

Proprit : indique lchelle actuelle du fichier SWF sur la scne. La proprit scaleMode oblige le fichier SWF adopter un mode de redimensionnement spcifique. Par dfaut, le fichier SWF utilise les paramtres HTML dfinis dans la bote de dialogue Paramtres de publication. La proprit scaleMode peut utiliser les valeurs "exactFit", "showAll", "noBorder" et "noScale". Toute autre valeur dfinit la proprit scaleMode la valeur par dfaut de "showAll".

Stage.showMenu
Disponibilit

Flash Player 6.
Usage Stage.showMenu Description

Proprit (lecture-criture) : indique si les lments par dfaut du menu contextuel Flash Player sont affichs ou masqus. Si showMenu est dfini sur la valeur true (valeur par dfaut), toutes les options du menu contextuel saffichent. Si showMenu est dfini sur la valeur false, seule loption Paramtres saffiche.
Consultez galement

Classe ContextMenu, Classe ContextMenuItem

Stage.width
Disponibilit

Flash Player 6.
Usage Stage.width Description

Proprit (lecture seule) : indique la largeur actuelle, en pixels, de la scne. Lorsque la valeur de Stage.scaleMode est "noScale", le proprit width reprsente la largeur du lecteur. Lorsque la valeur de Stage.scaleMode nest pas "noScale", width reprsente la largeur du fichier SWF.
Consultez galement Stage.align, Stage.height, Stage.scaleMode

638

Chapitre 12 : Dictionnaire ActionScript Prsentation

startDrag()
Disponibilit

Flash Player 4.
Usage startDrag(cible,[verrouiller ,gauche, haut, droite, bas]) Paramtres cible

Le chemin cible du clip dplacer.

Une valeur boolenne spcifiant si le clip dplaable est verrouill au centre de la position de la souris (true) ou verrouill sur le point auquel lutilisateur a cliqu sur le clip (false). Ce paramtre est facultatif.
verrouiller gauche, haut, droite, bas Valeurs relatives aux coordonnes du parent du clip spcifiant un rectangle de contrainte pour le clip. Ces paramtres sont facultatifs. Renvoie

Rien.
Description

Fonction : autorise le dplacement du clip cible pendant la lecture de lanimation. Vous ne pouvez dplacer quun seul clip la fois. Une fois lopration startDrag() excute, le clip reste dplaable jusqu ce quil soit explicitement arrt par stopDrag() ou jusqu ce quune action startDrag soit appele pour un autre clip.
Exemple

Pour crer un clip que lutilisateur pourra positionner nimporte quel endroit, associez les actions startDrag() et stopDrag() un bouton dans le clip.
on(press) { startDrag(this,true); } on(release) { stopDrag(); } Consultez galement MovieClip._droptarget, MovieClip.startDrag(), stopDrag()

static
Disponibilit

Flash Player 6.
Usage class NomClasse{ static var nom; static function nom() { // vos instructions } }

static

639

Remarque : Pour utiliser ce mot-cl, vous devez dfinir ActionScript 2.0 et Flash Player 6 ou version ultrieure dans longlet Flash de la bote de dialogue Paramtres de publication de votre fichier FLA. Ce mot-cl nest support que lorsquil est utilis dans des fichiers de scripts externes et non dans des scripts crits dans le panneau Actions. Paramtres nom

Le nom de la variable ou fonction que vous souhaitez dfinir comme statique.

Description

Mot cl : indique la cration dune seule variable ou fonction par classe au lieu dune cration dans chaque objet partir de cette classe. Pour plus dinformations, consultez Membres doccurrence et de classe, page 171. Vous pouvez utiliser ce mot cl dans les dfinitions de classe uniquement, pas dans les dfinitions dinterface.
Consultez galement private, public

stop()
Disponibilit

Flash 2.
Usage stop() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : interrompt la lecture du fichier SWF actuel. Lutilisation la plus frquente de cette action sert contrler les clips laide de boutons.

stopAllSounds()
Disponibilit

Flash Player 3.
Usage stopAllSounds() Paramtres

Aucun.
Renvoie

Rien.

640

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Fonction : arrte tous les sons en cours de lecture dans un fichier SWF sans arrter la tte de lecture. La lecture des sons dfinis en flux continu reprendra lorsque la tte de lecture passera dans les images o ils se trouvent.
Exemple

Le code suivant peut tre appliqu un bouton qui, lorsque lutilisateur clique dessus, arrte tous les sons du fichier SWF.
on(release) { stopAllSounds(); } Consultez galement

Classe Sound

stopDrag()
Disponibilit

Flash Player 4.
Usage stopDrag() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : interrompt lopration de dplacement en cours.


Exemple

Cette instruction arrte laction de dplacement de loccurrence mon_mc lorsque lutilisateur relche le bouton de la souris :
on(press) { startDrag("mon_mc"); } on(release) { stopDrag(); } Consultez galement MovieClip._droptarget, MovieClip.stopDrag(), startDrag()

" " (dlimiteur de chane)


Disponibilit

Flash Player 4.

" " (dlimiteur de chane)

641

Usage "texte" Paramtres texte Renvoie

Un caractre.

Rien.
Description

Dlimiteur de chane : lorsquils sont utiliss avant et aprs des caractres, les guillemets droits indiquent que les caractres ont une valeur littrale et sont considrs comme une chane (pas une variable, ni une valeur numrique, ni un autre lment ActionScript).
Exemple

Cette exemple utilise des guillemets pour indiquer que la valeur de la variable devinette est la chane littrale Prince Edward Island et non le nom dune variable. La valeur de province est une variable, et non une valeur littrale ; pour dterminer la valeur de province, la valeur de devinette doit tre localise.
devinette = "Prince Edward Island"; on(release) { province = devinette; trace(province); } // affiche Prince Edward Island dans le panneau de sortie Consultez galement

Classe String, String

Classe String
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

La classe String est une enveloppe pour le type de donnes primitives de la chane et contient les mthodes et les proprits permettant de manipuler les types de valeurs de chane primitives. Vous pouvez convertir la valeur de nimporte quel objet en chane avec la fonction String(). Toutes les mthodes de la classe String, lexception de concat(), fromCharCode(), slice() et substr(), sont gnriques. Cela signifie que les mthodes appellent elles-mmes this.toString() avant deffectuer leurs oprations et que vous pouvez utiliser ces mthodes avec des objets autres que String. Tous les index de chane tant bass sur zro, lindex du dernier caractre de toute chane x est
x.length - 1.

642

Chapitre 12 : Dictionnaire ActionScript Prsentation

Vous pouvez appeler nimporte quelle mthode de la classe String en utilisant la mthode constructeur new String ou en utilisant une valeur de chane littrale. Si vous spcifiez une chane littrale, linterprte dActionScript la convertit automatiquement en objet String temporaire, appelle la mthode puis supprime lobjet String temporaire. Vous pouvez galement utiliser la proprit String.length avec une chane littrale. Ne confondez pas une chane littrale avec un objet String. Dans lexemple suivant, la premire ligne de code cre la chane littrale s1 et la seconde ligne de code cre une occurrence de lobjet String s2.
s1 = "machin" s2 = new String("machin")

Utilisez des chanes littrales, moins que vous nayez spcifiquement besoin dutiliser un objet String. Rsum des mthodes de la classe String
Mthode
String.charAt String.charCodeAt

Description Renvoie le caractre situ un endroit spcifique dans une chane. Renvoie la valeur du caractre situ lindex donn sous la forme dun entier 16 bits compris entre 0 et 65535. Combine le texte de deux chanes et renvoie une nouvelle chane. paramtres.

String.concat()

String.fromCharCode() Renvoie une chane constitue des caractres spcifis dans les

String.indexOf String.lastIndexOf String.slice String.split

Renvoie la position de la premire occurrence dune sous-chane spcifie. Renvoie la position de la dernire occurrence dune sous-chane spcifie. Extrait une section dune chane et renvoie une nouvelle chane. Scinde un objet String en tableau de chanes en sparant la chane en sous-chanes. Renvoie un nombre spcifique de caractres dans une chane en commenant un endroit donn. Renvoie les caractres entre deux index dans une chane. Convertit la chane en minuscules et renvoie le rsultat ; ne change pas le contenu de lobjet dorigine. Convertit la chane en majuscules et renvoie le rsultat ; ne change pas le contenu de lobjet dorigine.

String.substr

String.substring String.toLowerCase

String.toUpperCase

Rsum des proprits de la classe String


Proprit
String.length

Description Un entier diffrent de zro indique le nombre de caractres dans lobjet String spcifi.

Classe String

643

Constructeur pour la classe String


Disponibilit

Flash Player 5.
Usage new String(valeur) Paramtres valeur Renvoie

La valeur initiale du nouvel objet String.

Rien.
Description

Constructeur : cre un nouvel objet String.


Consultez galement String, " " (dlimiteur de chane)

String.charAt
Disponibilit

Flash Player 5.
Usage ma_str.charAt(index) Paramtres index

Un entier spcifiant la position dun caractre dans la chane. Le premier caractre est indiqu par 0 et le dernier caractre est indiqu par ma_str.length-1. Un caractre.

Renvoie

Description

Mthode : renvoie le caractre la position spcifie par le paramtre index. Si index nest pas un nombre compris entre 0 et ma_str.length - 1, une chane vide est renvoye. Cette mthode est semblable String.charCodeAt sauf que la valeur renvoye est un caractre et non un code de caractre entier 16 bits.
Exemple

Dans lexemple suivant, cette mthode est appele sur la premire lettre de la chane "Chris".
ma_str = new String("Chris"); i = ma_str.charCodeAt(0); // i = "C"

644

Chapitre 12 : Dictionnaire ActionScript Prsentation

String.charCodeAt
Disponibilit

Flash Player 5.
Usage ma_str.charCodeAt(index) Paramtres index

Un entier spcifiant la position dun caractre dans la chane. Le premier caractre est indiqu par 0 et le dernier caractre est indiqu par ma_str.length-1. Un entier.

Renvoie

Description

Mthode : renvoie un entier de 16 bits, compris entre 0 et 65535, qui reprsente le caractre spcifi par index. Si index nest pas un nombre compris entre 0 et string.length - 1, NaN est renvoy. Cette mthode est semblable String.charAt sauf que la valeur renvoye est un code de caractre entier 16 bits, pas un caractre.
Exemple

Dans lexemple suivant, cette mthode est appele sur la premire lettre de la chane "Chris".
ma_str = new String("Chris"); i = ma_str.charCodeAt(0); // i = 67

String.concat()
Disponibilit

Flash Player 5.
Usage ma_str.concat(valeur1,...valeurN) Paramtres valeur1,...valeurN Renvoie

Zro ou plusieurs valeurs concatner.

Une chane.
Description

Mthode : combine la valeur de lobjet String aux paramtres et renvoie la nouvelle chane, la valeur dorigine (ma_str) restant inchange.

String.concat()

645

String.fromCharCode()
Disponibilit

Flash Player 5.
Usage String.fromCharCode(c1,c2,...cN) Paramtres c1,c2,...cN Renvoie

Entiers dcimaux qui reprsentent des valeurs ASCII.

Une chane.
Description

Mthode : renvoie une chane constitue des caractres reprsents par les valeurs ASCII des paramtres.
Exemple

Cet exemple utilise la mthode fromCharCode() pour insrer un caractre @ dans ladresse lectronique.
adresse = "chien" + String.fromCharCode(64) + "niche.net"; trace(adresse); // chien@niche.net

String.indexOf
Disponibilit

Flash Player 5.
Usage ma_str.indexOf(sousChane, [indexDbut]) Paramtres sousChane indexDbut

Un entier ou une chane spcifiant la sous-chane rechercher dans ma_str.

Un entier facultatif spcifiant le point de dbut dans ma_str partir duquel effectuer la recherche de la sous-chane.

Renvoie

La position de la premire occurrence de la sous-chane spcifie ou -1.


Description

Mthode : recherche la chane et renvoie la position de la premire occurrence de sousChane trouve au niveau de ou aprs indexDbut dans la chane appelante. Si sousChane nest pas trouve, la mthode renvoie -1.
Consultez galement String.lastIndexOf

646

Chapitre 12 : Dictionnaire ActionScript Prsentation

String.lastIndexOf
Disponibilit

Flash Player 5.
Usage ma_str.lastIndexOf(sousChane, [indexDbut]) Paramtres sousChane indexDbut Renvoie

Un entier ou une chane spcifiant la chane rechercher. Un entier facultatif spcifiant le point de dpart de la recherche de la sousChane.

La position de la dernire occurrence de la sous-chane spcifie ou -1.


Description

Mthode : recherche la chane, de droite gauche, et renvoie lindex de la dernire occurrence de sousChane trouve avant indexDbut dans la chane appelante. Si sousChane nest pas trouve, la mthode renvoie -1.
Consultez galement String.indexOf

String.length
Disponibilit

Flash Player 5.
Usage ma_str.length Description

Proprit : un entier diffrent de zro indiquant le nombre de caractres dans lobjet String spcifi. Tous les index de chane tant bass sur zro, lindex du dernier caractre de toute chane x est x.length - 1.

String.slice
Disponibilit

Flash Player 5.
Usage ma_str.slice(dbut, [fin]) Paramtres debut

Un nombre spcifiant lindex du point de dbut de la section. Si dbut est un nombre ngatif, le point de dbut est dtermin partir de la fin de la chane, -1 tant le dernier caractre.

String.slice

647

Un entier qui est gal 1+ lindex du point de fin de la section. Le caractre index par le paramtre fin nest pas inclus dans la chane extraite. Si ce paramtre est omis, string.length est utilis. Si fin est un nombre ngatif, le point de fin est dtermin en dcomptant depuis la fin de la chane, -1 tant le dernier caractre.
fin Renvoie

Une sous-chane de la chane spcifie.


Description

Mthode : renvoie une chane qui inclut le caractre dbut et tous les caractres jusquau caractre fin (qui est exclus). Lobjet String dorigine nest pas modifi. Si le paramtre fin nest pas spcifi, la fin de la sous-chane est la fin de la chane. Si la valeur de dbut est suprieure ou gale la valeur de fin, la mthode renvoie une chane vide.
Exemple

Lexemple suivant dfinit une variable, texte, cre une occurrence de lobjet String, ma_str et lui transmet la variable texte. La mthode slice() extrait une section de la chane contenue dans la variable et trace() lenvoie vers la fentre Sortie. Lexemple suivant illustre lutilisation dune valeur positive et ngative pour le paramtre fin.
texte = "Lexington"; ma_str = new String( texte ); trace(ma_str.slice( 1, 3 )); // "ex" trace(ma_str.slice( 1, -6 )); // "ex" Consultez galement String.substr, String.substring

String.split
Disponibilit

Flash Player 5.
Usage ma_str.split("dlimiteur", [limite]) Paramtres dlimiteur limite Renvoie

Le caractre ou la chane au niveau duquel ma_str est scinde.

Le nombre dlments placer dans le tableau. Ce paramtre est facultatif.

Un tableau contenant les sous-chanes de ma_str.


Description

Mthode : scinde un objet String en sous-chanes lendroit o se trouve le paramtre dlimiteur et renvoie les sous-chanes dans un tableau. Si vous utilisez une chane vide ("") comme dlimiteur, chaque caractre de la chane est plac en tant qulment dans le tableau, comme dans le code suivant.
ma_str = "Joe";

648

Chapitre 12 : Dictionnaire ActionScript Prsentation

i = ma_str.split(""); trace (i);

La fentre Sortie affiche le contenu suivant :


J, o, e

Si le paramtre delimiter est undefined, la chane tout entire est place dans le premier lment du tableau renvoy.
Exemple

Lexemple suivant renvoie un tableau avec cinq lments.


ma_str = "P, A, T, S, Y"; ma_str.split(",");

Cet exemple renvoie un tableau avec deux lments, "P" et "A".


ma_str.split(",", 2);

String.substr
Disponibilit

Flash Player 5.
Usage ma_str.substr(dbut, [longueur]) Paramtres dbut

Un entier indiquant la position du premier caractre de ma_str utiliser lors de la cration de la sous-chane. Si dbut est un nombre ngatif, la position de dbut est dtermine depuis la fin de la chane, -1 tant le dernier caractre. Le nombre de caractres dans la sous-chane cre. Si longueur nest pas spcifi, la sous-chane inclut tous les caractres du dbut jusqu la fin de la chane.

longueur

Renvoie

Une sous-chane de la chane spcifie.


Description

Mthode : renvoie les caractres dune chane depuis lindex spcifi par le paramtre dbut jusquau nombre de caractres spcifi dans le paramtre longueur. La mthode substr ne modifie pas la chane spcifie par ma_str ; elle renvoie une nouvelle chane.

String.substring
Disponibilit

Flash Player 5.
Usage ma_str.substring(dbut, [fin])

String.substring

649

Paramtres dbut Un entier indiquant la position du premier caractre de ma_str utilis pour crer la souschane. Les valeurs valides pour dbut sont comprises entre 0 et String.length - 1. Si dbut est une valeur ngative, 0 est utilis. fin Un entier tant gal 1+ lindex du dernier caractre de ma_str devant tre extrait. Les valeurs valides pour fin sont comprises entre 1 et string.length. Le caractre index par le paramtre fin nest pas inclus dans la chane extraite. Si ce paramtre est omis, string.length est utilis. Si ce paramtre est une valeur ngative, 0 est utilis. Renvoie

Une chane.
Description

Mthode : renvoie une chane constitue des caractres contenus entre les points spcifis par les paramtres dbut et fin. Si le paramtre fin nest pas spcifi, la fin de la sous-chane est la fin de la chane. Si la valeur de dbut est gale la valeur de fin, la mthode renvoie une chane vide. Si la valeur de dbut est suprieure la valeur de fin, les paramtres sont automatiquement permuts avant lexcution de la fonction et la valeur dorigine reste inchange.

String.toLowerCase
Disponibilit

Flash Player 5.
Usage ma_str.toLowerCase() Paramtres

Aucun.
Renvoie

Une chane.
Description

Mthode : renvoie une copie de lobjet String, les caractres majuscules tant convertis en minuscules. La valeur dorigine reste inchange.

String.toUpperCase
Disponibilit

Flash Player 5.
Usage ma_str.toUpperCase() Paramtres

Aucun.

650

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Une chane.
Description

Mthode : renvoie une copie de lobjet String, les caractres minuscules tant convertis en majuscules. La valeur dorigine reste inchange.

String
Disponibilit

Flash Player 4 ; comportement modifi dans Flash Player 7.


Usage String(expression) Paramtres expression Renvoie

Une expression convertir en chane.

Une chane.
Description

Fonction : renvoie une reprsentation chane du paramtre spcifi, comme suit : Si expression est un nombre, la chane renvoye est une reprsentation texte du nombre. Si expression est une chane, la chane renvoye est expression. Si expression est un objet, la valeur renvoye est la reprsentation sous forme de chane de lobjet, gnre par lappel de la proprit String de lobjet ou par lappel de Object.toString() si une telle proprit nexiste pas. Si expression est undefined, les valeurs renvoyes sont les suivantes :

Dans les fichiers publis pour Flash Player 6 ou une version antrieure, le rsultat est une
chane vide (""). Dans les fichiers publis pour Flash Player 7 ou une version ultrieure, le rsultat est undefined.

Si expression est une valeur boolenne, la chane renvoye "true" ou "false". Si expression est un clip, la valeur renvoye est le chemin cible du clip en notation barre oblique (/).
Remarque : La notation barre oblique nest pas supporte par ActionScript 2.0. Consultez galement Number.toString(), Object.toString(),

Classe String, " " (dlimiteur de chane)

String

651

substring
Disponibilit

Flash Player 4. Cette fonction est abandonne et remplace par String.substr.


Usage substring("chane", index, nombre) Paramtres chane index nombre

La chane partir de laquelle seffectue lextraction de la nouvelle chane. Le numro du premier caractre extraire. Le nombre de caractres inclure dans la chane extraite, en excluant le caractre

dindex.
Renvoie

Rien.
Description

Fonction de chane : extrait une portion dune chane. Cette fonction est base sur un, tandis que les mthodes de lobjet String sont bases sur zro.
Consultez galement String.substr

super
Disponibilit

Flash Player 6.
Usage super.mthode([param1, ..., paramN]) super([param1, ..., paramN]) Paramtres mthode

La mthode invoquer dans la superclasse.

param1 Paramtres facultatifs transmis la version superclasse de la mthode (syntaxe 1) ou la fonction constructeur de la superclasse (syntaxe 2). Renvoie

Les deux formes invoquent une fonction. La fonction peut renvoyer nimporte quelle valeur.
Description

Oprateur : le premier style de syntaxe peut tre utilis dans le corps dune mthode dobjet pour invoquer la version superclasse dune mthode, et peut en option transmettre des paramtres (param1 ... paramN) la mthode de superclasse. Ceci est utile pour crer des mthodes de sousclasse qui ajoutent un comportement supplmentaire aux mthodes superclasse, mais qui invoquent galement les mthodes superclasse pour remplir leur comportement dorigine.

652

Chapitre 12 : Dictionnaire ActionScript Prsentation

Le deuxime style de syntaxe peut tre utilis dans le corps dune fonction constructeur pour invoquer la version superclasse de la fonction constructeur, et peut en option lui transmettre des paramtres. Ceci est utile pour crer une sous-classe qui effectue une initialisation supplmentaire, mais qui invoque galement le constructeur de superclasse pour effectuer une initialisation de superclasse.

switch
Disponibilit

Flash Player 4.
Usage switch (expression){ clauseDeCas: [clauseParDfaut:] } Paramtres expression clauseDeCas

Toute expression.

Un mot-cl case, suivi dune expression, de deux points et dun groupe dinstructions excuter si lexpression correspond au paramtre expression avec une galit stricte (===).

clauseParDfaut Un mot-cl default, suivi dinstructions excuter si aucune des expressions de cas ne correspond au paramtre expression par galit stricte (===). Renvoie

Rien.
Description

Instruction : cre une structure de branchement pour des instructions ActionScript. Comme laction if, laction switch teste une condition et excute des instructions si la condition renvoie une valeur de true.
Exemple

Dans lexemple suivant, si le paramtre nombre est 1, laction trace() qui suit case 1 est excute ; si le paramtre nombre est 2, laction trace() qui suit case 2 est excute, et ainsi de suite. Si aucune expression case ne correspond au paramtre nombre, laction trace() qui suit le mot-cl default est excute.
switch (nombre) { case 1: trace ("case 1 est true"); break case 2: trace ("case 2 est true"); break case 3: trace ("case 3 est true"); break default trace ("aucun cas nest true") }

switch

653

Dans lexemple suivant, il ny a aucune rupture dans le premier groupe de cas ; donc, si le nombre est 1, A et B sont tous deux envoys la fentre Sortie.
switch (nombre) { case 1: trace ("A"); case 2: trace ("B"); break default trace ("D") } Consultez galement === (galit stricte), break, case, default,

Classe System
Disponibilit

Flash Player 6.
Description

Il sagit dune classe de haut niveau qui contient lobjet capabilities (consultez Objet System.capabilities), lobjet de scurit (consultez Objet System.security), ainsi que les mthodes, proprits et gestionnaires dvnement rpertoris ci-dessous. Rsum des mthodes de la classe System
Mthode
System.setClipboard()

Description Remplace le contenu du presse-papiers du systme par une chane de texte. Affiche un panneau Paramtres Flash Player.

System.showSettings()

Rsum des proprits de la classe System


Mthode
System.exactSettings

Description Spcifie lutilisation des rgles de correspondance de superdomaines ou de domaines exacts lors de laccs aux paramtres locaux. Indique Flash Player sil doit utiliser Unicode ou la page de code classique du systme dexploitation excutant le lecteur pour interprter des fichiers texte externes.

System.useCodepage

Rsum des gestionnaires dvnement de la classe System


Mthode
System.onStatus

Description Fournit un super gestionnaire dvnement pour un certain nombre dobjets

654

Chapitre 12 : Dictionnaire ActionScript Prsentation

System.exactSettings
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage System.exactSettings Description

Proprit : spcifie lutilisation des rgles de correspondance de superdomaines ou de domaines exacts lors de laccs aux paramtres locaux (par exemple, les autorisations daccs aux camras ou aux microphones) ou aux donnes persistantes localement (objets partags). La valeur par dfaut est true pour les fichiers publis pour Flash Player 7 ou une version ultrieure et false pour les fichiers publis pour Flash Player 6. Si cette valeur est dfinie sur true, les paramtres et les donnes dun fichier SWF hberg sur ici.xyz.com sont stocks sur ici.xyz.com, les paramtres et les donnes dun fichier SWF hberg sur la.xyz.com sont stocks sur la.xyz.com et ainsi de suite. Si cette valeur est dfinie sur false, les paramtres et les donnes des fichiers SWF hbergs sur ici.xyz.com, la.xyz.com et xyz.com sont partags et sont tous stocks sur xyz.com. Si une partie de vos fichiers dfinit cette proprit sur false et dautres sur true, les fichiers SWF dans diffrents sous-domaines peuvent partager des paramtres et des donnes. Par exemple, si cette proprit est false dans un fichier SWF hberg sur ici.xyz.com et true dans un fichier SWF hberg sur xyz.com, les deux fichiers utilisent les mmes paramtres et donnes - cest-dire, ceux situs sur xyz.com. Si ce nest pas le comportement que vous souhaitez, vrifiez que vous dfinissez cette proprit dans chaque fichier pour reprsenter correctement lemplacement o les paramtres et les donnes doivent tre stocks. Si vous souhaitez modifier cette proprit partir de sa valeur par dfaut, mettez la commande System.exactSettings = false dans la premire image de votre document. Il est impossible de changer la proprit aprs une activit ncessitant un accs aux paramtres locaux, par exemple System.ShowSettings() ou SharedObject.getLocal(). Si vous utilisez loadMovie(), MovieClip.loadMovie ou MovieClipLoader.loadClip() pour charger un fichier SWF dans un autre, tous les fichiers publis pour Flash Player 7 partagent une valeur unique pour System.exactSettings et tous les fichiers publis pour Flash Player 6 partagent une valeur unique pour System.exactSettings. Par consquent, si vous spcifiez une valeur pour cette proprit dans un fichier publi pour une version particulire de Flash Player, vous devez le faire dans tous les fichiers que vous envisagez de charger. Si vous chargez plusieurs fichiers, le paramtre spcifi dans le dernier fichier charg supplante tout paramtre prcdemment spcifi. Pour plus dinformations sur limplmentation de la correspondance des domaines dans Flash, consultez Fonctions de scurit de Flash Player, page 196.
Consultez galement SharedObject.getLocal(), System.showSettings()

System.exactSettings

655

System.onStatus
Disponibilit

Flash Player 6.
Description

Gestionnaire dvnement : fournit un super gestionnaire dvnement pour un certain nombre dobjets. Les objets LocalConnection, NetStream et SharedObject fournissent un gestionnaire dvnement onStatus qui utilise un objet dinformation pour dlivrer des informations, un tat ou des messages derreur. Pour rpondre ce gestionnaire dvnement, vous devez crer une fonction pour traiter lobjet dinformation et vous devez connatre le format et le contenu de lobjet dinformation renvoy. Outre les mthodes onStatus spcifiques fournies pour les objets rpertoris ci-dessus, Flash propose galement une super fonction appele System.onStatus. Si onStatus est invoqu pour un objet particulier avec une proprit level de "erreur" et quaucune fonction nest affecte pour lui rpondre, Flash traite une fonction affecte System.onStatus sil en existe une.
Remarque : Les classes Camera et Microphone ont aussi des gestionnaires onStatus, mais ne transmettent pas des objets dinformation avec une proprit level de "erreur". Par consquent, System.onStatus nest pas appel si vous ne spcifiez pas de fonction pour ces gestionnaires.

Lexemple suivant illustre la manire de crer des fonctions gnriques et spcifiques pour traiter les objets dinformation envoys par la mthode onStatus.
// Crez une fonction gnrique System.onStatus = function(genericError) { // Votre script a plus de sens dans ce cas trace("Une erreur sest produite. Veuillez essayer de nouveau."); } // // // // Crez une fonction pour lobjet NetStream Si lobjet NetStream renvoie un objet dinformation diffrent de celui rpertori ci-dessous, avec une proprit level de "erreur", System.onStatus sera invoqu

videoStream_ns.onStatus = function(objetInfo) { si (objetInfo.code == "NetStream.Play.StreamNotFound") { trace("Fichier vido introuvable."); } } Consultez galement Camera.onStatus, LocalConnection.onStatus, Microphone.onStatus, NetStream.onStatus, SharedObject.onStatus

System.setClipboard()
Disponibilit

Programmation : Flash MX 2004.

656

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage System.setClipboard(chane) Paramtres chane Une chane de caractres de texte ordinaire placer sur le presse-papiers du systme, remplaant son contenu actuel (sil y en a un). Si vous affectez une chane littrale, par opposition une variable de type chane, mettez cette chane littrale entre guillemets. Renvoie

Une valeur boolenne : true si le texte a t plac avec succs dans le presse-papiers, false dans les autres cas.
Description

Mthode : remplace le contenu du presse-papiers du systme par une chane de texte spcifique.

System.showSettings()
Disponibilit

Flash Player 6.
Usage System.showSettings([panneau]) Paramtres panneau

Un nombre facultatif spcifiant le panneau Paramtres Flash Player afficher, conformment au tableau suivant :
Valeur transmise pour
panneau

Panneau de paramtres affich Nimporte quel panneau ouvert la dernire fois que lutilisateur a ferm le panneau Paramtres Flash Player Confidentialit Stockage local Microphone Camera

Aucun (paramtre omis) ou valeur non supporte 0 1 2 3 Renvoie

Rien.
Description

Mthode : affiche le panneau Paramtres Flash Player spcifi permettant aux utilisateurs de procder aux actions suivantes :

Autoriser ou refuser laccs la camra et au microphone

System.showSettings()

657

Spcifier lespace disponible sur le disque local pour les objets partags Slectionner une camra et un microphone par dfaut Spcifier les paramtres du microphone et de la fonction de suppression de lcho
Par exemple, si votre application ncessite lutilisation dune camra, vous pouvez dire lutilisateur de slectionner Autoriser dans le panneau Paramtres de confidentialit, pour ensuite donner la commande System.showSettings(0). (Assurez-vous que la scne mesure au moins 215 x 138 pixels ; il sagit de la taille minimale requise pour que Flash puisse afficher le panneau.)
Consultez galement Camera.get(), Microphone.get(), SharedObject.getLocal()

System.useCodepage
Disponibilit

Flash Player 6.
Usage System.useCodepage Description

Proprit : une valeur boolenne indiquant Flash Player sil faut utiliser Unicode ou la page de code classique du systme dexploitation excutant le lecteur pour interprter les fichiers texte externes. La valeur par dfaut de system.useCodepage est false.

Lorsque la proprit est dfinie sur false, Flash Player interprte les fichiers texte externes au
format Unicode. (Ces fichiers doivent tre encods au format Unicode lorsque vous les enregistrez.) Lorsque la proprit est dfinie sur la valeur true, Flash Player interprte les fichiers texte externes laide de la page de code classique du systme dexploitation excutant le lecteur.

Le texte que vous incluez ou chargez en tant que fichier externe (grce la commande #include, aux actions loadVariables() ou getURL ou aux objets LoadVars ou XML) doit tre encod au format Unicode lorsque vous enregistrez le fichier texte afin que Flash Player puisse le reconnatre en tant quUnicode. Afin dencoder les fichiers externes au format Unicode, enregistrez-les dans une application prenant en charge Unicode, comme Notepad sous Windows 2000. Si vous incluez ou chargez des fichiers texte externes qui ne sont pas au format Unicode, vous devez dfinir system.useCodepage sur la valeur true. Ajoutez le code suivant en tant que premire ligne de code dans la premire image du fichier SWF qui charge les donnes :
system.useCodepage = true;

Avec ce code, Flash Player interprte le texte externe en utilisant la page de code classique du systme dexploitation qui excute Flash Player. En rgle gnrale, il sagit du jeu de caractres CP1252 pour un systme dexploitation Windows anglais et du jeu de caractres Shift-JIS pour un systme dexploitation japonais. Si vous dfinissez system.useCodepage sur la valeur true, Flash Player 6 ou version ultrieure considre le texte de la mme faon que Flash Player 5. (Flash Player 5 considrait tous les textes comme sils taient au format de la page de code traditionnelle du systme dexploitation excutant le lecteur.)

658

Chapitre 12 : Dictionnaire ActionScript Prsentation

Si vous dfinissez system.useCodepage sur la valeur true, rappelez-vous que la page de code traditionnelle du systme dexploitation excutant le lecteur doit inclure les caractres utiliss dans votre fichier texte externe pour pouvoir afficher le texte. Par exemple, si vous chargez un fichier texte externe contenant des caractres chinois, ceux-ci ne saffichent pas sur un systme qui utilise le jeu de caractres CP1252, cette page de code nincluant pas les caractres chinois. Afin de vous assurer que les utilisateurs de toutes les plates-formes peuvent visualiser les fichiers texte externes utiliss dans vos fichiers SWF, vous devez encoder tous les fichiers texte externes au format Unicode et laisser System.useCodepage sur la valeur false par dfaut. De cette manire, Flash Player 6 et ultrieure interprte le texte en tant que Unicode.

Objet System.capabilities
Disponibilit

Flash Player 6.
Description

Vous pouvez utiliser lobjet System.capabilities pour dterminer les capacits du systme et du lecteur hbergeant un fichier SWF. Ceci vous permet dadapter le contenu diffrents formats. Par exemple, lcran dun tlphone cellulaire (noir et blanc, 100 pixels carrs) est diffrent de lcran couleur de 1000 pixels carrs dun ordinateur. Pour fournir un contenu appropri au plus grand nombre possible dutilisateurs, vous pouvez utiliser lobjet System.capabilities pour dterminer le type de priphrique dont dispose un utilisateur. En fonction des capacits du priphrique, vous pouvez indiquer au serveur denvoyer des fichiers SWF diffrents ou indiquer au fichier SWF de modifier sa prsentation. Vous pouvez envoyer des informations sur les capacits en utilisant une mthode HTTP GET ou POST. Lexemple suivant est un exemple dune chane de serveur pour un priphrique qui noffre pas de support MP3 et dispose dun cran de 400 x 200 pixels, 8 x 4 centimtres :
"A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2 C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Window s%20XP&L=en&PT=External&AVD=f&LFD=f"

Rsum des proprits de lobjet System.capabilities


Proprit Description Chane du serveur
AVD

System.capabilities.avHardwareDisable

Lecture seule : indique si la camra et le microphone de lutilisateur sont activs ou dsactivs. Indique si le systme excutant le lecteur supporte la communication entre Flash Player et les aides daccessibilit. Indique si le systme excutant le lecteur possde des capacits audio. Indique si le lecteur sexcute sur un systme pouvant encoder un flux audio tel que celui provenant dun microphone.

System.capabilities.hasAccessibility

ACC

System.capabilities.hasAudio

A
AE

System.capabilities.hasAudioEncoder

Objet System.capabilities

659

Proprit

Description

Chane du serveur
EV

System.capabilities.hasEmbeddedVideo

Indique si le systme excutant le lecteur supporte la vido intgre. Indique si le systme excutant le lecteur est quip dun dcodeur MP3. Indique si le lecteur fonctionne avec un systme supportant limpression.

System.capabilities.hasMP3

MP3

System.capabilities.hasPrinting

PR

System.capabilities.hasScreenBroadcast

SB Indique si le lecteur supporte le dveloppement dapplications de diffusion lcran lancer via le serveur de communication Flash. SP Indique si le lecteur supporte la lecture dapplications de diffusion lcran lances via le serveur de communication Flash.

System.capabilities.hasScreenPlayback

System.capabilities.hasStreamingAudio

Indique si le lecteur est capable de lire des donnes audio en continu. Indique si le lecteur est capable de lire des donnes vido en continu. Indique si le lecteur peut encoder un flux vido tel que celui provenant dune webcam. Indique si le lecteur est une version officielle ou une version de dbogage spciale. Indique la langue du systme excutant le lecteur. tenter de lire les fichiers (y compris le premier fichier SWF ayant servi au lancement du lecteur) stocks sur le disque dur de lutilisateur.

SA

System.capabilities.hasStreamingVideo

SV

System.capabilities.hasVideoEncoder

VE

System.capabilities.isDebugger

DEB

System.capabilities.language

System.capabilities.localFileReadDisable Lecture seule : indique si le lecteur doit

LFD

System.capabilities.manufacturer System.capabilities.os

Indique le fabricant de Flash Player. Indique le systme dexploitation hbergeant Flash Player. Indique le rapport largeur/hauteur, en pixels, de lcran. Indique le type de lecteur : autonome, externe, plug-in ou ActiveX. Indique si lcran est en couleur, noir et blanc ou nuances de gris. Indique le nombre de points par pouce de la rsolution de lcran, en pixels.

M OS

System.capabilities.pixelAspectRatio

AR

System.capabilities.playerType

PT

System.capabilities.screenColor

COL

System.capabilities.screenDPI

DP

660

Chapitre 12 : Dictionnaire ActionScript Prsentation

Proprit

Description

Chane du serveur
R R

System.capabilities.screenResolutionX System.capabilities.screenResolutionY System.capabilities.serverString

Indique la taille horizontale de lcran. Indique la taille verticale de lcran.

Une chane dURL encode qui spcifie les N/A valeurs pour chaque proprit System.capabilities. Une chane contenant la version de Flash Player et les informations de plate-forme.
V

System.capabilities.version

System.capabilities.avHardwareDisable
Disponibilit

Flash Player 7.
Usage System.capabilities.avHardwareDisable Description

Proprit (lecture seule) : une valeur boolenne indiquant si la camra et le microphone de lutilisateur sont activs ou dsactivs.
Consultez galement Camera.get(), Microphone.get(), System.showSettings()

System.capabilities.hasAccessibility
Disponibilit

Flash Player 6 version 65.


Usage System.capabilities.hasAccessibility Description

Proprit : une valeur boolenne qui indique si le lecteur fonctionne sur un environnement supportant la communication entre Flash Player et les aides daccessibilit. La chane du serveur est ACC.
Consultez galement Accessibility.isActive(), Accessibility.updateProperties(), _accProps

System.capabilities.hasAudio
Disponibilit

Flash Player 6.

System.capabilities.hasAudio

661

Usage System.capabilities.hasAudio Description

Proprit : une valeur boolenne indiquant si le systme excutant le lecteur possde des capacits audio. La chane du serveur est A.

System.capabilities.hasAudioEncoder
Disponibilit

Flash Player 6.
Usage System.capabilities.hasAudioEncoder Description

Proprit : une valeur boolenne indiquant si le lecteur peut encoder un flux audio, tel que celui provenant dun microphone. La chane du serveur est AE.

System.capabilities.hasEmbeddedVideo
Disponibilit

Flash Player 6.
Usage System.capabilities.hasEmbeddedVideo Description

Proprit : une valeur boolenne indiquant si le systme excutant le lecteur supporte la vido intgre. La chane du serveur est EV.

System.capabilities.hasMP3
Disponibilit

Flash Player 6.
Usage System.capabilities.hasMP3 Description

Proprit : une valeur boolenne indiquant si le systme excutant le lecteur est quip dun dcodeur MP3. La chane du serveur est MP3.

System.capabilities.hasPrinting
Disponibilit

Flash Player 6.

662

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage System.capabilities.hasPrinting Description

Proprit : une valeur boolenne indiquant si le lecteur fonctionne avec un systme prenant en charge limpression. La chane du serveur est PR.

System.capabilities.hasScreenBroadcast
Disponibilit

Flash Player 6.
Usage System.capabilities.hasScreenBroadcast Description

Proprit : une valeur boolenne indiquant si le lecteur prend en charge le dveloppement dapplications de diffusion lcran excutes via Flash Communication Server. La chane du serveur est SB.

System.capabilities.hasScreenPlayback
Disponibilit

Flash Player 6.
Usage System.capabilities.hasScreenPlayback Description

Proprit : une valeur boolenne indiquant si le lecteur prend en charge la lecture dapplications de diffusion lcran excutes via Flash Communication Server. La chane du serveur est SP.

System.capabilities.hasStreamingAudio
Disponibilit

Flash Player 6.
Usage System.capabilities.hasStreamingAudio Description

Proprit : une valeur boolenne indiquant si le lecteur est capable de lire des donnes audio en continu. La chane du serveur est SA.

System.capabilities.hasStreamingVideo
Disponibilit

Flash Player 6.

System.capabilities.hasStreamingVideo

663

Usage System.capabilities.hasStreamingVideo Description

Proprit : une valeur boolenne indiquant si le lecteur est capable de lire des donnes vido en continu. La chane du serveur est SV.

System.capabilities.hasVideoEncoder
Disponibilit

Flash Player 6.
Usage System.capabilities.hasVideoEncoder Description

Proprit : une valeur boolenne indiquant si le lecteur peut encoder un flux vido, tel que celui provenant dune webcam. La chane du serveur est VE.

System.capabilities.isDebugger
Disponibilit

Flash Player 6.
Usage System.capabilities.isDebugger Description

Proprit : une valeur boolenne indiquant si le lecteur est une version officielle (false) ou une version spciale de dbogage (true). La chane du serveur est DEB.

System.capabilities.language
Disponibilit

Flash Player 6.
Usage System.capabilities.language

664

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : indique la langue du systme excutant le lecteur. Cette proprit se prsente sous la forme dun code de langue constitu de deux lettres minuscules, conformment la norme ISO 639-1, et dun code de pays facultatif constitu de deux lettres majuscules, conformment la norme ISO 3166. Les codes reprsentent la langue du systme excutant le lecteur. Les langues sont dsignes par les balises en anglais. Par exemple, fr signifie franais.
Langue Tchque Danois Hollandais Anglais Finlandais Franais Allemand Hongrois Italien Japonais Coren Norvgien Autre/inconnu Polonais Portugais Russe Chinois simplifi Espagnol Sudois Chinois traditionnel Turc Balise
cs da nl en fi fr de hu it ja ko no

Pays et balises supports

xu
pl pt ru zh es sv zh tr

Rpublique populaire de Chine (chinois simplifi) zh-CN

Tawan (chinois traditionnel) zh-TW

System.capabilities.localFileReadDisable
Disponibilit

Flash Player 7.
Usage System.capabilities.localFileReadDisable

System.capabilities.localFileReadDisable

665

Description

Proprit (lecture seule) : une valeur boolenne indiquant si Flash Player doit tenter de lire les fichiers (y compris le premier fichier SWF ayant servi au lancement de Flash Player) stocks sur le disque dur de lutilisateur.

System.capabilities.manufacturer
Disponibilit

Flash Player 6.
Usage System.capabilities.manufacturer Description

Proprit : une chane indiquant le fabricant de Flash Player au format MacromedianomSE (nomSE pouvant tre Windows , Macintosh , Linux ou autre nomSE ). La chane du serveur est M.

System.capabilities.os
Disponibilit

Flash Player 6.
Usage System.capabilities.os Description

Proprit : une chane indiquant le systme dexploitation en cours dutilisation. La proprit os peut renvoyer les chanes suivantes : Windows XP , Windows 2000 , Windows NT , Windows 98/ME , Windows 95 , Windows CE (disponible uniquement dans le SDK Flash Player, pas dans la version de bureau), Linux et MacOS . La chane du serveur est OS.

System.capabilities.pixelAspectRatio
Disponibilit

Flash Player 6.
Usage System.capabilities.pixelAspectRatio Description

Proprit : un entier indiquant le rapport largeur/hauteur, en pixels, de lcran. La chane du serveur est AR.

System.capabilities.playerType
Disponibilit

Flash Player 7.

666

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage System.capabilities.playerType Description

Proprit : une chane indiquant le type de lecteur. Cette proprit peut avoir la valeur "StandAlone", "External", "PlugIn" ou "ActiveX". La chane du serveur est PT.

System.capabilities.screenColor
Disponibilit

Flash Player 6.
Usage System.capabilities.screenColor Description

Proprit : indique si lcran est en couleur (color), nuances de gris (gray) ou noir et blanc (bw). La chane du serveur est COL.

System.capabilities.screenDPI
Disponibilit

Flash Player 6.
Usage System.capabilities.screenDPI Description

Proprit : indique la rsolution en points par pouce (ppp) de lcran, en pixels. La chane du serveur est DP.

System.capabilities.screenResolutionX
Disponibilit

Flash Player 6.
Usage System.capabilities.screenResolutionX Description

Proprit : un entier indiquant la rsolution horizontale maximum de lcran. La chane du serveur est R (qui renvoie la fois la largeur et la hauteur de lcran).

System.capabilities.screenResolutionY
Disponibilit

Flash Player 6.

System.capabilities.screenResolutionY

667

Usage System.capabilities.screenResolutionY Description

Proprit : un entier indiquant la rsolution verticale maximum de lcran. La chane du serveur est R (qui renvoie la fois la largeur et la hauteur de lcran).

System.capabilities.serverString
Disponibilit

Flash Player 6.
Usage System.capabilities.serverString Description

Proprit : une chane dURL encode spcifiant les valeurs pour chaque proprit System.capabilities, comme dans cet exemple :
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2C 0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Windows%20 XP&L=en&PT=External&AVD=f&LFD=f

System.capabilities.version
Disponibilit

Flash Player 6.
Usage System.capabilities.version Description

Proprit : une chane contenant les informations sur la version et la plate-forme de Flash Player, par exemple "WIN 7,0,0,231". La chane du serveur est V.

Objet System.security
Disponibilit

Flash Player 6.
Description

Cet objet contient des mthodes permettant de spcifier comment les fichiers SWF de domaines diffrents peuvent communiquer entre eux.

668

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des mthodes pour lobjet System.security


Mthode
System.security.allowDomain()

Description Permet aux fichiers SWF des domaines identifis daccder aux objets et aux variables du fichier SWF appelant ou de tout autre fichier SWF issu du mme domaine que le fichier SWF appelant. daccder aux objets et aux variables du fichier SWF appelant, qui est hberg laide du protocole HTTPS.

System.security.allowInsecureDomain() Permet aux fichiers SWF des domaines identifis

System.security.allowDomain()
Disponibilit

Flash Player 6 ; comportement modifi dans Flash Player 7.


Usage System.security.allowDomain("domaine1", "domaine2, ... domaineN") Paramtres domaine1, domaine2, ... domaineN

Chanes prcisant les domaines qui ont accs aux objets et aux variables dans le fichier contenant lappel System.Security.allowDomain(). Les domaines peuvent tre aux formats suivants :
domaine.com http://domaine.com http://adresseIP

Description

Mthode : permet aux fichiers SWF des domaines identifis daccder aux objets et aux variables du fichier SWF appelant ou de tout autre fichier SWF issu du mme domaine que le fichier SWF appelant Dans les fichiers lus dans Flash Player 7 ou version ultrieure, les paramtres affects doivent suivre les rgles dappellation des domaines exacts. Par exemple, pour permettre laccs des fichiers SWF hbergs sur www.domaine.com ou sur store.domaine.com, les deux noms de domaines doivent tre transmis :
// Pour Flash Player 6 System.security.allowDomain("domaine.com"); // Commandes correspondantes pour autoriser laccs partir de fichiers SWF // excuts dans Flash Player 7 ou ultrieur System.security.allowDomain("www.domaine.com". "store.domaine.com");

De plus, pour les fichiers excuts dans Flash Player 7 ou version ultrieure, vous ne pouvez pas utiliser cette mthode pour permettre aux fichiers SWF hbergs laide dun protocole scuris (HTTPS) dautoriser laccs depuis des fichiers SWF hbergs dans des protocoles non scuriss : vous devez plutt utiliser System.security.allowInsecureDomain().

System.security.allowDomain()

669

Exemple

Le fichier SWF situ ladresse http://www.macromedia.com/MovieA.swf contient les lignes suivantes.


System.security.allowDomain("www.shockwave.com"); loadMovie("http://www.shockwave.com/MovieB.swf", _root.mon_mc);

Comme MovieA contient la commande allowDomain(), MovieB peut accder aux objets et aux variables de MovieA. Si MovieA ne contenait pas cette commande, la scurit Flash empcherait MovieA daccder aux objets et aux variables de MovieB.

System.security.allowInsecureDomain()
Disponibilit

Flash Player 7.
Usage System.Security.allowInsecureDomain("domaine") Paramtres domaine

Un nom de domaine exact, par exemple, www.monNomDeDomaine.com ou store.monNomDeDomaine.com .

Renvoie

Rien.
Description

Mthode : permet aux fichiers SWF des domaines identifis daccder aux objets et aux variables du fichier SWF appelant, qui est hberg laide du protocole HTTPS. Par dfaut, les fichiers SWF hbergs utilisant le protocole HTTPS ne sont accessibles que par dautres fichiers SWF hbergs utilisant le protocole HTTPS. Cette implmentation garantit lintgrit fournie par le protocole HTTPS. Macromedia dconseille lutilisation de cette mthode pour remplacer le comportement par dfaut car elle compromet la scurit HTTPS. Toutefois, vous pouvez le faire, par exemple, si vous devez autoriser laccs aux fichiers HTTPS publis pour Flash Player 7 ou version ultrieure partir des fichiers HTTP publis pour Flash Player 6. Un fichier SWF publi pour Flash Player 6 peut utiliser System.security.allowDomain() pour autoriser laccs de HTTP HTTPS. Cependant, la scurit tant implmente de manire diffrente dans Flash Player 7, vous devez utiliser System.Security.allowInsecureDomain() pour autoriser un tel accs aux fichiers SWF publis pour Flash Player 7 ou une version ultrieure.
Exemple

Dans cet exemple, vous hbergez un test de mathmatiques sur un domaine scuris de telle sorte que seuls les tudiants enregistrs peuvent y accder. Vous avez galement dvelopp un certain nombre de fichiers SWF qui illustrent certains concepts, que vous hbergez sur un domaine non scuris. Vous voulez que les tudiants accdent au test partir du fichier SWF contenant des informations sur un concept.
// Ce fichier SWF est situ ladresse https:// monSiteEducatif.quelquepart.com/testMath.swf

670

Chapitre 12 : Dictionnaire ActionScript Prsentation

// Les fichiers des concepts se trouvent sur http://mon SiteEducatif.quelquepart.com System.Security.allowInsecureDomain("monSiteEducatif.quelquepart.com") Consultez galement System.security.allowDomain(), System.exactSettings

targetPath
Disponibilit

Flash Player 5.
Usage targetpath(objetClip) Paramtres objetClip

Rfrence (par exemple, _root ou _parent) au clip dont le chemin cible est en cours de rcupration.

Renvoie

Une chane contenant le chemin cible du clip spcifi.


Description

Fonction : renvoie une chane contenant le chemin cible de objetClip. Le chemin cible est renvoy avec la notation point. Pour rcuprer le chemin cible dans la notation barre oblique, utilisez la proprit _target.
Exemple

Cet exemple affiche le chemin cible dun clip ds son chargement.


onClipEvent(load) { trace(cheminCible(this)); } Consultez galement eval()

tellTarget
Disponibilit

Flash Player 3. (Dconseill dans Flash 5 ; lutilisation de la notation point et de laction with est recommande.)
Usage tellTarget("cible") { instruction(s); } Paramtres cible

Une chane spcifiant le chemin cible du scnario contrler.

tellTarget

671

instruction(s) Renvoie

Les instructions excuter si la condition est value comme true.

Rien.
Description

Action dconseille : applique les instructions spcifies dans le paramtre instructions au scnario spcifi dans le paramtre cible. Laction tellTarget est utile pour les contrles de navigation. Affectez tellTarget aux boutons qui arrtent ou dmarrent les clips nimporte o sur la scne. Vous pouvez galement envoyer les clips une image particulire de ce clip. Par exemple, vous pouvez affecter tellTarget aux boutons qui arrtent ou dmarrent les clips sur la scne ou qui envoient les clips dans une image particulire. Dans Flash 5 ou version ultrieure, vous pouvez utiliser la notation point au lieu de laction tellTarget. Vous pouvez utiliser laction with pour communiquer plusieurs actions au mme scnario. Vous pouvez utiliser laction with pour cibler nimporte quel objet, alors que laction tellTarget ne peut cibler que des clips.
Exemple

Cette instruction tellTarget contrle loccurrence de clip balle du scnario principal. Limage 1 de loccurrence balle est vide et possde une action stop() invisible sur la scne. Lorsque lutilisateur clique sur le bouton avec laction suivante, tellTarget indique la tte de lecture du clip balle datteindre limage 2 o commence lanimation.
on(release) { tellTarget("balle") { gotoAndPlay(2); } }

Lexemple suivant utilise la notation point pour obtenir les mmes rsultats.
on(release) { balle.gotoAndPlay(2); }

Si vous avez besoin de communiquer plusieurs commandes loccurrence balle, vous pouvez utiliser laction with, comme dans linstruction suivante.
on(release) { with(balle) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } } Consultez galement with

Classe TextField
Disponibilit

Flash Player 6.

672

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Tous les champs de texte dynamique et de saisie dun fichier SWF sont des occurrences de la classe TextField. Vous pouvez donner un nom doccurrence un champ de texte dans linspecteur des proprits et utiliser les mthodes et les proprits de la classe TextField pour le manipuler avec ActionScript. Les noms doccurrence TextField sont affichs dans lexplorateur danimations et dans la bote de dialogue Insrer un chemin cible du panneau Actions. La classe TextField hrite de la Classe Object. Pour crer un champ de texte de manire dynamique, vous pouvez utiliser MovieClip.createTextField(). Rsum des mthodes de la classe TextField
Mthode
TextField.addListener()

Description Enregistre un objet pour la rception de la notification lorsque les vnements onChanged et onScroller sont invoqus. Renvoie les noms des polices sur le systme hte du lecteur sous forme de tableau. Renvoie la profondeur dun champ de texte. insr.

TextField.getFontList

TextField.getDepth()

TextField.getNewTextFormat() Lit le format de texte par dfaut affect au texte nouvellement

TextField.getTextFormat()

Renvoie un objet TextFormat contenant des informations de format sur une partie ou sur lensemble du texte contenu dans un champ de texte. Supprime un objet dcoute. Supprime un champ de texte cr avec MovieClip.createTextField(). Remplace la slection actuelle. Dfinit un objet TextFormat pour le texte insr par un utilisateur ou par une mthode. Dfinit un objet TextFormat pour une plage de texte spcifie dans un champ de texte.

TextField.removeListener TextField.removeTextField()

TextField.replaceSel() TextField.setNewTextFormat

TextField.setTextFormat

Rsum des proprits de la classe TextField


Proprit
TextField._alpha TextField.autoSize

Description La valeur de transparence dune occurrence de champ de texte. Contrle le dimensionnement et lalignement automatique des champs de texte. Indique si le champ de texte a un remplissage darrire-plan. Indique la couleur du remplissage darrire-plan. Indique si le champ de texte a une bordure.

TextField.background TextField.backgroundColor TextField.border

Classe TextField

673

Proprit
TextField.borderColor TextField.bottomScroll TextField.embedFonts

Description Indique la couleur de la bordure. La dernire ligne visible dans un champ de texte. Lecture seule. Indique si le champ de texte utilise des polices vectorielles intgres ou des polices de priphrique. La hauteur dune occurrence de champ de texte, en pixels. Cela naffecte que le cadre de dlimitation du champ de texte, pas lpaisseur de la bordure ou la taille du texte. Indique la qualit de rendu du fichier SWF. Indique la valeur de dfilement horizontal dun champ de texte. Indique la position de dfilement maximum actuelle dun champ de texte. Contient la reprsentation HTML du contenu dun champ de texte. Le nombre de caractres dun champ de texte. Lecture seule. La quantit maximum de caractres quun champ de texte peut contenir. La valeur maximum de TextField.hscroll. Lecture seule. La valeur maximum de TextField.scroll. Lecture seule. Associe un objet ContextMenu un champ de texte. Indique si Flash Player doit automatiquement faire dfiler les champs de texte de plusieurs lignes lorsque le pointeur de la souris se trouve sur un champ de texte et que lutilisateur actionne la molette de la souris. Indique si le champ de texte contient plusieurs lignes. Le nom doccurrence dune occurrence de champ de texte. Une rfrence loccurrence parent de cette occurrence ; de type Button ou MovieClip. Indique si un champ de texte masque les caractres saisis. Indique la qualit du rendu dun fichier SWF. Le jeu de caractres quun utilisateur peut rentrer dans un champ de texte. Le degr de rotation dune occurrence de champ de texte. Indique la position de dfilement actuelle dun champ de texte. Indique si un champ de texte est slectionnable. La dure ncessaire de mise en tampon dun son avant sa lecture en flux continu. Indique si un clip est inclus dans lordre de tabulation automatique. Indique lordre de tabulation dun objet.

TextField._height

TextField._highquality TextField.hscroll TextField.html

TextField.htmlText TextField.length TextField.maxChars

TextField.maxhscroll TextField.maxscroll TextField.menu TextField.mouseWheelEnabled

TextField.multiline TextField._name TextField._parent

TextField.password TextField._quality TextField.restrict

TextField._rotation TextField.scroll TextField.selectable TextField._soundbuftime

TextField.tabEnabled TextField.tabIndex

674

Chapitre 12 : Dictionnaire ActionScript Prsentation

Proprit
TextField._target

Description Le chemin cible de loccurrence de champ de texte spcifie. Lecture seule. Le texte du champ de texte. La couleur du texte dun champ de texte. La hauteur du cadre de dlimitation du champ de texte. La largeur du cadre de dlimitation du champ de texte. Indique si un champ de texte est un champ de saisie ou un champ de texte dynamique. LURL du fichier SWF crateur de loccurrence de champ de texte. Lecture seule. Le nom de variable associ au champ de texte. Une valeur boolenne dterminant si loccurrence dun champ de texte est masque ou visible. La largeur dune occurrence de champ de texte, en pixels. Cela naffecte que le cadre de dlimitation du champ de texte, pas lpaisseur de la bordure ou la taille du texte. Indique si le texte du champ de texte passe automatiquement la ligne. La coordonne x dune occurrence de champ de texte. La coordonne x du pointeur par rapport une occurrence de champ de texte. Lecture seule. La valeur spcifiant le pourcentage de redimensionnement horizontal dune occurrence de champ de texte. La coordonne y dune occurrence de champ de texte. La coordonne y du pointeur par rapport une occurrence de champ de texte. Lecture seule. La valeur spcifiant le pourcentage de redimensionnement vertical dune occurrence de champ de texte.

TextField.text TextField.textColor TextField.textHeight TextField.textWidth TextField.type

TextField._url

TextField.variable TextField._visible

TextField._width

TextField.wordWrap

TextField._x TextField._xmouse

TextField._xscale

TextField._y TextField._ymouse

TextField._yscale

Rsum des gestionnaires dvnement de la classe TextField


Gestionnaire dvnement
TextField.onChanged TextField.onKillFocus TextField.onScroller

Description Invoqu lorsque le contenu du champ de texte change. Invoqu lorsquun champ de texte perd le focus. Invoqu lorsque lune des proprits de dfilement du champ de texte change. Invoqu lorsquun champ de texte reoit le focus.

TextField.onSetFocus

Classe TextField

675

Rsum des couteurs de la classe TextField


Mthode
TextField.onChanged TextField.onScroller

Description Notifi lorsque le contenu du champ de texte change. Notifi lorsque la proprit scroll ou maxscroll dun champ de texte change.

TextField.addListener()
Disponibilit

Flash Player 6.
Usage mon_txt.addListener(couteur) Paramtres couteur Renvoie

Un objet avec un gestionnaire dvnement onChanged ou onScroller.

Rien.
Description

Mthode : enregistre un objet pour la rception de la notification lorsque les gestionnaires dvnements onChanged et onScroller sont invoqus. Lorsquun champ de texte change ou dfile, les gestionnaires dvnement TextField.onChanged et TextField.onScroller sont invoqus, suivis des gestionnaires dvnement onChanged et onScroller de tous les objets enregistrs en tant qucouteurs. Les objets multiples peuvent tre enregistrs en tant qucouteurs. Pour supprimer un objet dcoute dun champ de texte, appelez TextField.removeListener. Une rfrence loccurrence du champ de texte est affecte en tant que paramtre aux gestionnaires dvnement onScroller et onChanged par la source de lvnement. Vous pouvez capturer ces donnes en plaant un paramtre dans la mthode du gestionnaire dvnement. Par exemple, le code suivant utilise txt en tant que paramtre affect au gestionnaire dvnement onScroller. Puis, le paramtre est utilis dans une instruction trace afin denvoyer le nom de loccurrence du champ de texte vers le panneau de sortie.
monChampDeTexte.onScroller = function (txt) { trace (txt._nom + " a chang"); }; Exemple

Lexemple suivant dfinit un gestionnaire onChange pour le champ de texte de saisie monTexte. Il dfinit un nouvel objet dcoute, monEcouteur, et un gestionnaire onChanged pour ce mme objet. Ce gestionnaire est invoqu lorsque le champ de texte monTexte est chang. La dernire ligne de code appelle TextField.addListener afin denregistrer lobjet dcoute monEcouteur avec le champ de texte monTexte de manire notifier les changements de monTexte.
monTexte.onChanged = function (txt) { trace (txt._nom + " a chang");

676

Chapitre 12 : Dictionnaire ActionScript Prsentation

}; monEcouteur = new Object(); monEcouteur.onChanged = function (txt) { trace(txt._nom + " a chang et notifi monEcouteur"); }; monTexte.addListener(monEcouteur); Consultez galement TextField.onChanged, TextField.onScroller, TextField.removeListener

TextField._alpha
Disponibilit

Flash Player 6.
Usage mon_txt._alpha Description

Proprit : dfinit et rcupre la transparence alpha (valeur) du champ de texte spcifi par mon_txt. Les valeurs valides vont de 0 (transparence complte) 100 (opacit complte). La valeur par dfaut est 100.
Exemple

Le code suivant dfinit la proprit _alpha dun champ de texte nomm text1_txt sur 30 % lorsque lutilisateur clique sur le bouton :
on(release) { texte1_txt._alpha = 30; } Consultez galement Button._alpha, MovieClip._alpha

TextField.autoSize
Disponibilit

Flash Player 6.
Usage mon_txt.autoSize Description

Proprit : contrle le dimensionnement et lalignement automatique des champs de texte. Les valeurs acceptables pour autoSize sont "none" (valeur par dfaut), "left", "right" et "center". Lorsque vous paramtrez la proprit autoSize, true est synonyme de "left" et false est synonyme de "none".

TextField.autoSize

677

Les valeurs dautoSize, multiline et wordWrap dterminent lagrandissement ou la rduction dun champ de texte vers la gauche, la droite ou le bas. Vous pouvez utiliser le code suivant et entrer des valeurs diffrentes pour autoSize, multiline et wordWrap pour voir comment le champ est redimensionn lorsque ces valeurs changent.
createTextField("mon_txt", 1, 0, 0, 200, 20); with (mon_txt) { border = true; borderColor = 0x000000; multiline = false wordWrap = false; autoSize = "none"; text = "Une grande partie du texte ne rentre pas dans le champ "; } Exemple

Les instructions suivantes dfinissent la proprit autosize du champ de texte mon_txt sur "center".
mon_txt.autosize = "center";

TextField.background
Disponibilit

Flash Player 6.
Usage mon_txt.background Description

Proprit : si true, le champ de texte a un remplissage darrire-plan. Si false, le champ de texte na pas de remplissage darrire-plan.

TextField.backgroundColor
Disponibilit

Flash Player 6.
Usage mon_txt.backgroundColor Description

Proprit : la couleur darrire-plan du champ de texte. La valeur par dfaut est 0xFFFFFF (blanc). Cette proprit peut tre rcupre ou dfinie, mme sil ny a actuellement aucun arrire-plan, mais la couleur est seulement visible si le champ de texte a une bordure.
Consultez galement TextField.background

678

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField.border
Disponibilit

Flash Player 6.
Usage mon_txt.border Description

Proprit : si true, le champ de texte a une bordure. Si false, le champ de texte na pas de bordure.

TextField.borderColor
Disponibilit

Flash Player 6.
Usage mon_txt.borderColor Description

Proprit : la couleur de bordure du champ de texte (la valeur par dfaut est 0x000000 le noir). Cette proprit peut tre rcupre ou dfinie, mme sil ny a actuellement aucune bordure.
Consultez galement TextField.border

TextField.bottomScroll
Disponibilit

Flash Player 6.
Usage mon_txt.bottomScroll Description

Proprit (lecture seule) : un entier (index bas sur 1) qui indique la dernire ligne actuellement visible dans mon_txt. Considrez le champ de texte comme une fentre sur un bloc de texte. La proprit TextField.scroll est lindex bas sur 1 de la premire ligne visible dans la fentre. Tout le texte entre les lignes TextField.scroll et TextField.bottomScroll est actuellement visible dans le champ de texte.

TextField.condenseWhite
Disponibilit

Flash Player 6.

TextField.condenseWhite

679

Usage mon_txt.condenseWhite Description

Proprit : une valeur boolenne indiquant si les espaces blancs ajouts (espaces, sauts de ligne, etc.) un champ de texte HTML doivent tre supprims lors du rendu de ce dernier dans un navigateur. La valeur par dfaut est false. Si vous dfinissez cette valeur sur true, vous devez utiliser des commandes HTML standard (par exemple, <BR> et <P>) pour insrer des sauts de ligne dans le champ de texte. Si mon_txt.html est dfinie sur false, cette proprit est ignore.
Consultez galement TextField.html

TextField.embedFonts
Disponibilit

Flash Player 6.
Usage mon_txt.embedFonts Description

Proprit : une valeur boolenne qui, lorsque true, rend le champ de texte avec des polices vectorielles intgres. Si false, le champ de texte est rendu avec les polices de priphriques.

TextField.getDepth()
Disponibilit

Flash Player 6.
Usage mon_txt.getDepth() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie la profondeur dun champ de texte.

TextField.getFontList
Disponibilit

Flash Player 6.

680

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage TextField.getFontList() Paramtres

Aucun.
Renvoie

Un tableau.
Description

Mthode : une mthode statique de la Classe TextField globale. Lorsque vous appelez cette mthode, vous ne spcifiez pas un champ de texte prcis (tel que mon_txt). Cette mthode renvoie les noms des polices sur le systme hte du lecteur sous forme de tableau. (Elle ne renvoie pas les noms de toutes les polices dans les fichiers SWF actuellement chargs.) Les noms sont de type chane.
Exemple

Le code suivant affiche une liste des polices renvoye par getFontList().
polices_array = TextField.getFontList(); for( i in polices_array){ trace(polices_array[i]); }

TextField.getNewTextFormat()
Disponibilit

Flash Player 6.
Usage mon_txt.getNewTextFormat() Paramtres

Aucun.
Renvoie

Un objet TextFormat.
Description

Mthode : renvoie un objet TextFormat contenant une copie de lobjet de format de texte du champ de texte. Lobjet de format de texte est le format que reoit le texte nouvellement insr, tel que le texte insr par la mthode replaceSel() ou le texte entr par un utilisateur. Lorsque getNewTextFormat() est invoqu, lobjet TextFormat est retourn avec toutes ses proprits dfinies. Aucune proprit nest null.

TextField.getTextFormat()
Disponibilit

Flash Player 6.

TextField.getTextFormat()

681

Usage mon_txt.getTextFormat() mon_txt.getTextFormat(index) mon_txt.getTextFormat(indexDbut, indexFin) Paramtres index

Un entier spcifiant un caractre dune chane. Entiers indiquant les emplacements de dbut et de fin dune plage de

indexDbut, indexFin

texte dans mon_txt.


Renvoie

Un objet.
Description

Mthode : Usage 1 : renvoie un objet TextFormat contenant des informations de format sur lensemble du texte contenu dans un champ de texte. Seules les proprits qui sont communes tout le texte du champ de texte sont dfinies dans lobjet TextFormat rsultant. Toute proprit qui est mixte, ce qui signifie quelle a diffrentes valeurs diffrents points du texte, a sa valeur dfinie sur null. Usage 2 : Renvoie un objet TextFormat contenant une copie du format de texte du champ de texte index. Usage 3 : Renvoie un objet TextFormat contenant des informations de format pour la plage de texte allant de indexDbut indexFin.
Consultez galement TextField.getNewTextFormat(), TextField.setNewTextFormat, TextField.setTextFormat

TextField._height
Disponibilit

Flash Player 6.
Usage mon_txt._height Description

Proprit : la hauteur du champ de texte, en pixels.


Exemple

Lexemple de code suivant dfinit la hauteur et la largeur dun champ de texte.


mon_txt._width = 200; mon_txt._height = 200;

682

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField._highquality
Disponibilit

Flash Player 6.
Usage mon_txt._highquality Description

Proprit (globale) : spcifie le niveau danti-aliasing appliqu au fichier SWF en cours. Spcifiez 2 (qualit maximum) pour appliquer une qualit leve avec le lissage bitmap toujours actif. Spcifiez 1 (qualit leve) pour appliquer lanti-aliasing ; cela permettra de lisser les bitmaps si le fichier SWF ne contient pas danimation. Spcifiez 0 (faible qualit) pour empcher lantialiasing.
Consultez galement _quality

TextField.hscroll
Disponibilit

Flash Player 6.
Usage mon_txt.hscroll Renvoie

Un entier.
Description

Proprit : indique la position de dfilement horizontal actuelle. Si la proprit hscroll a pour valeur 0, le texte ne dfile pas horizontalement. Pour plus dinformations sur le texte dfilant, consultez Cration de texte dfilant, page 158.
Exemple

Lexemple suivant fait dfiler le texte horizontalement.


on (release) { mon_txt.hscroll += 1; } Consultez galement TextField.maxhscroll, TextField.scroll

TextField.html
Disponibilit

Flash Player 6.

TextField.html

683

Usage mon_txt.html Description

Proprit : une valeur indiquant si le champ de texte contient une reprsentation HTML. Si la proprit html est true, le champ de texte est un champ de texte html. Si html est false, le champ de texte nest pas un champ de texte html.
Consultez galement TextField.htmlText

TextField.htmlText
Disponibilit

Flash Player 6.
Usage mon_txt.htmlText Description

Proprit : si le champ de texte est un champ de texte HTML, cette proprit contient la reprsentation HTML du contenu du champ de texte. Si le champ de texte nest pas un champ de texte HTML, elle se comporte de faon identique la proprit text. Vous pouvez indiquer quun champ de texte est un champ de texte HTML dans linspecteur des proprits, ou en dfinissant la proprit html du champ de texte sur true.
Exemple

Dans lexemple suivant, le texte du champ de texte texte2 est rendu en gras.
texte2.html = true; texte2.htmlText = "<b> ceci est du texte en gras </b>"; Consultez galement TextField.html

TextField.length
Disponibilit

Flash Player 6.
Usage mon_txt.length Renvoie

Nombre.
Description

Proprit (lecture seule) : indique le nombre de caractres dun champ de texte. Cette proprit renvoie la mme valeur que text.length, mais elle est plus rapide. Un caractre tel que tab ( \t ) compte comme un seul caractre.

684

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField.maxChars
Disponibilit

Flash Player 6.
Usage mon_txt.maxChars Description

Proprit : indique la quantit maximum de caractres quun champ de texte peut contenir. Un script peut insrer plus de texte que maxChars ne le permet : la proprit maxChars nindique que la quantit de texte quun utilisateur peut entrer. Si la valeur de cette proprit est null, il ny a pas de limite sur la quantit de texte quun utilisateur peut entrer.

TextField.maxhscroll
Disponibilit

Flash Player 6.
Usage mon_txt.maxhscroll Description

Proprit (lecture seule) : indique la valeur maximum de TextField.hscroll.

TextField.maxscroll
Disponibilit

Flash Player 6.
Usage monChampDeTexte.maxscroll Description

Proprit (lecture seule) : indique la valeur maximale de TextField.scroll. Pour plus dinformations sur le texte dfilant, consultez Cration de texte dfilant, page 158.

TextField.menu
Disponibilit

Flash Player 7.
Utilisation mon_txt.menu = contextMenu Paramtres menuContextuel

Un objet ContextMenu.

TextField.menu

685

Description

Proprit : associe lobjet contextMenu au champ de texte mon_txt. La classe ContextMenu vous permet de modifier le menu contextuel qui apparat quand lutilisateur clique du bouton droit de la souris (Windows) ou enfonce la touche Commande (Macintosh) dans Flash Player. Cette proprit fonctionne uniquement avec les champs de texte slectionnables (modifiables) ; elle na aucun effet sur les champs de texte non slectionnables.
Exemple

Lexemple suivant attribue lobjet ContextMenu menu_cm au champ de texte news_txt. Lobjet ContextMenu contient une option de menu personnalise intitule Imprimer avec un gestionnaire de rappel associ nomm doPrint(), permettant deffectuer les oprations dimpression (masqu) :
var menu_cm = new ContextMenu(); menu_cm.customItems.push(nouveau ContextMenuItem("Imprimer...", doPrint)); function doPrint(menu, obj) { // Code "Imprimer" ici } news_txt.menu = menu_cm; Voir aussi Button.menu, Classe ContextMenu, Classe ContextMenuItem, MovieClip.menu

TextField.mouseWheelEnabled
Disponibilit

Flash Player 7.
Usage mon_txt.mouseWheelEnabled Description

Proprit : une valeur boolenne indiquant si Flash Player doit automatiquement faire dfiler les champs de texte de plusieurs lignes lorsque le pointeur de la souris se trouve sur un champ de texte et que lutilisateur actionne la molette de la souris. Par dfaut, cette valeur est true. Cette proprit est utile si vous voulez viter de faire dfiler les champs de texte avec la molette ou mettre en uvre votre propre dfilement des champs de texte.
Consultez galement Mouse.onMouseWheel

TextField.multiline
Disponibilit

Flash Player 6.
Usage mon_txt.multiline

686

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : indique si le champ de texte est un champ de texte multiligne. Si la valeur est true, le champ de texte est multiligne ; si la valeur est false, le champ de texte est un champ de texte ligne unique.

TextField._name
Disponibilit

Flash Player 6.
Usage mon_txt._name Description

Proprit : le nom de loccurrence du champ de texte spcifi par mon_txt.

TextField.onChanged
Disponibilit

Flash Player 6.
Usage mon_txt.onChanged = function(){ // vos instructions } Paramtres

Aucun.
Renvoie

Le nom de loccurrence du champ de texte.


Description

Gestionnaire dvnement : invoqu lorsque le contenu dun champ de texte change. Par dfaut, il est undefined ; vous pouvez le dfinir dans un script. Une rfrence loccurrence du champ de texte est affecte en tant que paramtre au gestionnaire onChanged. Vous pouvez capturer ces donnes en plaant un paramtre dans la mthode du gestionnaire dvnement. Par exemple, le code suivant utilise txt en tant que paramtre affect au gestionnaire dvnement onChanged. Puis, le paramtre est utilis dans une instruction trace() afin denvoyer le nom de loccurrence du champ de texte vers le panneau de sortie.
monChampDeTexte.onChanged = function (txt) { trace (txt._nom + " chang"); };

TextField.onKillFocus
Disponibilit

Flash Player 6.

TextField.onKillFocus

687

Usage mon_txt.onKillFocus = function(nouveauFocus){ // vos instructions } Paramtres nouveauFocus Renvoie

Lobjet recevant le focus.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun champ de texte perd le focus clavier. La mthode onKillFocus reoit un paramtre, nouveauFocus, qui est un objet reprsentant le nouvel objet recevant le focus. Si aucun objet ne reoit le focus, nouveauFocus contient la valeur null.

TextField.onScroller
Disponibilit

Flash Player 6.
Usage mon_txt.onScroller = function(occurrenceDeChampDeTexte){ // vos instructions } Paramtres occurrenceDeChampDeTexte

t modifie.
Renvoie

Une rfrence lobjet TextField dont la position de dfilement a

Rien.
Description

Gestionnaire dvnement : invoqu lorsque lune des proprits de dfilement du champ de texte change. Une rfrence loccurrence du champ de texte est affecte en tant que paramtre au gestionnaire onScroller. Vous pouvez capturer ces donnes en plaant un paramtre dans la mthode du gestionnaire dvnement. Par exemple, le code suivant utilise txt en tant que paramtre affect au gestionnaire dvnement onScroller. Puis, le paramtre est utilis dans une instruction trace() afin denvoyer le nom de loccurrence du champ de texte vers le panneau de sortie.
monChampDeTexte.onScroller = function (txt) { trace (txt._nom + " dfil"); }; Consultez galement TextField.hscroll, TextField.maxhscroll, TextField.maxscroll, TextField.scroll

688

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField.onSetFocus
Disponibilit

Flash Player 6.
Usage mon_txt.onSetFocus = function(ancienFocus){ // vos instructions } Paramtres ancienFocus Renvoie

Lobjet devant perdre le focus.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun champ de texte reoit le focus clavier. Le paramtre ancienFocus est lobjet perdant le focus. Par exemple, si lutilisateur appuie sur la touche Tab pour faire passer le focus de saisie dun bouton un champ de texte, ancienFocus contient loccurrence de champ de texte. Si aucun objet na prcdemment reu le focus, ancienFocus contient une valeur null.

TextField._parent
Disponibilit

Flash Player 6.
Usage mon_txt._parent.proprit _parent.proprit Description

Proprit : une rfrence au clip ou lobjet contenant le champ de texte ou lobjet actuel. Lobjet courant est celui contenant le code ActionScript faisant rfrence _parent.
_parent permet de spcifier un chemin relatif aux clips ou objets se trouvant au-dessus du champ de texte actuel. Vous pouvez utiliser _parent pour monter de plusieurs niveaux dans la liste daffichage, comme dans lexemple suivant : _parent._parent._alpha = 20; Consultez galement Button._parent, MovieClip._parent, _root, targetPath

TextField.password
Disponibilit

Flash Player 6.

TextField.password

689

Usage mon_txt.password Description

Proprit : si la valeur password est true, le champ de texte est un champ de texte de mot de passe dont le contenu est masqu. Si false, le champ de texte nest pas un champ de mode passe.

TextField._quality
Disponibilit

Flash Player 6.
Usage mon_txt._quality Description

Proprit (globale) : dfinit ou rcupre la qualit de rendu utilise pour un fichier SWF. Les polices de priphrique sont toujours aliases et ne sont donc pas affectes par la proprit _quality.
Remarque : Mme si vous pouvez spcifier cette proprit pour un objet TextField, il sagit en fait dune proprit globale et vous pouvez en spcifier la valeur simplement en tant que _quality. Pour plus dinformations, consultez _quality.

TextField.removeListener
Disponibilit

Flash Player 6.
Usage mon_txt.removeListener(couteur) Paramtres couteur Lobjet qui ne TextField.onScroller. Renvoie

recevra plus de notifications de TextField.onChanged ou de

Si couteur a t correctement supprim, la mthode renvoie une valeur true. Si couteur na pas t correctement supprim, par exemple, si couteur napparaissait pas dans la liste des couteurs de lobjet TextField, la mthode renvoie une valeur false.
Description

Mthode : retire un objet dcoute prcdemment enregistr pour une occurrence de champ de texte avec TextField.addListener().

TextField.removeTextField()
Disponibilit

Flash Player 6.

690

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_txt.removeTextField() Description

Mthode : supprime le champ de texte spcifi par mon_txt. Cette opration peut uniquement tre ralise sur un champ de texte cr avec MovieClip.createTextField(). Lorsque vous appelez cette mthode, le champ de texte est supprim. Cette mthode est similaire MovieClip.removeMovieClip().

TextField.replaceSel()
Disponibilit

Flash Player 6.
Usage mon_txt.replaceSel(texte) Paramtres texte Renvoie

Une chane.

Rien.
Description

Mthode : remplace la slection actuelle par le contenu du paramtre texte. Le texte est insr la place de la slection actuelle, en utilisant le format de caractre par dfaut et le format de paragraphe par dfaut actuellement en vigueur. Le texte nest pas considr comme HTML, mme si le champ de texte est un champ de texte HTML. Vous pouvez utiliser la mthode replaceSel() pour insrer et supprimer du texte sans perturber le format des caractres et des paragraphes du reste du texte. Vous devez utiliser Selection.setFocus() pour cibler le champ avant dmettre cette commande.
Consultez galement Selection.setFocus()

TextField.replaceText()
Disponibilit

Flash Player 7.
Usage mon_txt.replaceText(indexDbut, indexFin, texte) Description

Mthode : remplace une srie de caractres, spcifi par les paramtres indexDbut et indexFin, dans le champ de texte spcifi avec le contenu du paramtre texte.

TextField.replaceText()

691

TextField.restrict
Disponibilit

Flash Player 6.
Usage mon_txt.restrict Description

Proprit : indique le jeu de caractres quun utilisateur peut rentrer dans le champ de texte. Si la valeur de la proprit restrict est null, vous pouvez entrer nimporte quel caractre. Si la valeur de la proprit restrict est une chane vide, vous ne pouvez entrer aucun caractre. Si la valeur de la proprit restrict est une chane de caractres, vous ne pouvez entrer que les caractres de la chane dans le champ de texte. La chane est lue de gauche droite. Une plage peut tre spcifie en utilisant un tiret (-). Ceci limite seulement linteraction avec lutilisateur, un script pouvant mettre nimporte quel texte dans le champ de texte. Cette proprit ne se synchronise pas avec les cases cocher de polices vectorielles intgres de linspecteur des proprits. Si la chane commence par un caret (^), tous les caractres sont initialement accepts et les caractres suivants de la chane sont exclus du jeu de caractres accepts. Si la chane ne commence pas par un caret (^), aucun caractre nest initialement accept et les caractres suivants de la chane sont inclus dans le jeu de caractres accepts.
Exemple

Lexemple suivant permet seulement que des caractres majuscules, des espaces et des nombres soient entrs dans un champ de texte :
mon_txt.restrict = "A-Z 0-9";

Lexemple suivant comprend tous les caractres, mais exclut les lettres minuscules :
mon_txt.restrict = "^a-z";

Vous pouvez utiliser une barre oblique inverse pour entrer un ^ ou - textuellement. Les squences de barre oblique inverse acceptes sont \-, \^ ou \\. La barre oblique inverse doit tre effectivement un caractre de la chane ; aussi, pour le spcifier dans ActionScript, une double barre oblique inverse doit tre utilise. Par exemple, le code suivant inclut uniquement le tiret (-) et le caret (^) :
mon_txt.restrict = "\\-\\^";

Le caret (^) peut tre utilis nimporte o dans la chane pour alterner entre linclusion de caractres et lexclusion de caractres. Le code suivant inclut seulement les lettres majuscules, mais exclut la lettre majuscule Q :
mon_txt.restrict = "A-Z^Q";

Vous pouvez utiliser la squence dchappement \u pour construire des chanes restrict. Le code suivant inclut seulement les caractres compris entre le code ASCII 32 (espace) et le code ASCII 126 (tilde).
mon_txt.restrict = "\u0020-\u007E";

692

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField._rotation
Disponibilit

Flash Player 6.
Usage mon_txt._rotation Description

Proprit : la rotation du champ de texte, en degrs, partir de son orientation dorigine. Les valeurs de 0 180 reprsentent une rotation dans le sens horaire ; les valeurs de 0 -180 reprsentent une rotation dans le sens antihoraire. Les valeurs en dehors de cette plage sont ajoutes ou soustraites de 360 pour obtenir une valeur comprise dans la plage. Par exemple, linstruction mon_txt._rotation = 450 est la mme que mon_txt._rotation = 90.
Consultez galement Button._rotation, MovieClip._rotation

TextField.scroll
Disponibilit

Flash Player 6.
Usage mon_txt.scroll Description

Proprit : dfinit la position verticale du texte dans un champ de texte. La proprit scroll est utile pour diriger les utilisateurs vers un paragraphe spcifique dans un long passage, ou pour crer des champs de texte dfilants. Cette proprit peut tre rcupre et modifie. Pour plus dinformations sur le texte dfilant, consultez Cration de texte dfilant, page 158.
Exemple

Le code suivant est associ un bouton Haut qui fait dfiler le champ de texte mon_txt.
on (release) { mon_txt.scroll = monTexte.scroll + 1; } Consultez galement TextField.hscroll, TextField.maxscroll

TextField.selectable
Disponibilit

Flash Player 6.
Usage mon_txt.selectable

TextField.selectable

693

Description

Proprit : une valeur boolenne indiquant si le champ de texte est slectionnable (modifiable). La valeur true indique que le texte est slectionnable.

TextField.setNewTextFormat
Disponibilit

Flash Player 6.
Usage mon_txt.setNewTextFormat(formatDeTexte) Paramtres formatDeTexte Renvoie

Une occurrence de lobjet TextFormat.

Rien.
Description

Mthode : dfinit un objet TextFormat pour le texte nouvellement insr, tel que le texte insr par la mthode replaceSel() ou le texte entr par un utilisateur dans un champ de texte. Chaque champ de texte a un nouveau format de texte. Lorsque du texte est insr, le nouveau format est appliqu au nouveau texte. Le format de texte est dfini dans un nouvel objet TextFormat. Contient des informations de format de caractres et de paragraphes. Les informations de format des caractres dcrivent lapparence des diffrents caractres, telles que le nom de la police, la taille de la police, la couleur du texte et lURL associe. Les informations de format des paragraphes dcrivent lapparence des paragraphes, telles que la marge gauche, la marge droite, lindentation de la premire ligne et lalignement gauche, droite, au centre ou justifi.
Consultez galement TextField.getNewTextFormat(), TextField.getTextFormat(), TextField.setTextFormat

TextField.setTextFormat
Disponibilit

Flash Player 6.
Usage mon_txt.setTextFormat (formatDeTexte) mon_txt.setTextFormat (index, formatDeTexte) mon_txt.setTextFormat (indexDbut, indexFin, formatDeTexte) Paramtres formatDeTexte index

Un objet TextFormat contenant des informations sur le format des caractres et des paragraphes. Un entier spcifiant un caractre dans mon_txt. Un entier.
indexDbut

694

Chapitre 12 : Dictionnaire ActionScript Prsentation

indexFin Renvoie

Un entier indiquant le premier caractre suivant la plage de texte souhaite.

Rien.
Description

Mthode : dfinit un objet TextFormat pour une plage de texte spcifie dans un champ de texte. Vous pouvez affecter un format de texte chaque caractre dun champ de texte. Le format du premier caractre dun paragraphe est examin pour effectuer le formatage de paragraphe sur tout le paragraphe. La mthode setTextFormat() modifie le format de texte appliqu chaque caractre, des groupes de caractres ou lensemble du corps de texte dun champ de texte. Le format de texte est dfini dans un nouvel objet TextFormat. Contient des informations de format de caractres et de paragraphes. Les informations de format des caractres dcrivent lapparence des diffrents caractres, telles que le nom de la police, la taille de la police, la couleur du texte et lURL associe. Les informations de formatage des paragraphes dcrivent laspect des paragraphes, par exemple la marge gauche, la marge droite, lindentation de la premire ligne et lalignement gauche, droite, au centre ou justifi. Usage 1 : Applique les proprits de formatDeTexte tout le texte du champ de texte. Usage 2 : Applique les proprits de formatDeTexte au caractre la position index. Usage 3 : Applique les proprits du paramtre formatDeTexte la plage de texte allant du paramtre indexDbut au paramtre indexFin. Notez que tout texte insr manuellement par lutilisateur, ou remplac au moyen de ne prend pas le format spcifi dans un appel de setTextFormat(). Pour dfinir le format par dfaut dun objet champ de texte, utilisez TextField.setNewTextFormat.
TextField.replaceSel(), Exemple

Cet exemple cre un objet TextFormat appel monFormatDeTexte et dfinit sa proprit bold sur true. Il appelle ensuite la mthode setTextFormat() et applique le nouveau format de texte au champ de texte mon_txt.
monFormatDeTexte = new TextFormat(); monFormatDeTexte.bold = true; mon_txt.setTextFormat(monFormatDeTexte); Consultez galement TextField.setNewTextFormat, Classe TextFormat

TextField._soundbuftime
Disponibilit

Flash Player 6.
Usage mon_txt._soundbuftime

TextField._soundbuftime

695

Description

Proprit (globale) : un entier spcifiant le nombre de secondes de mise en tampon dun son avant sa lecture en flux continu.

Classe TextField.StyleSheet
Disponibilit

Flash Player 7.
Description

La classe TextField.StyleSheet permet de crer un objet feuille de style contenant des rgles de format de texte, telles que la taille, la couleur et autres styles de format. Vous pouvez ensuite appliquer les styles dfinis par une feuille un objet TextField contenant du texte au format HTML ou XML. Le texte contenu dans lobjet TextField est ensuite automatiquement format selon le style des balises dfini dans lobjet feuille de style. Les styles de texte permettent de dfinir de nouvelles balises de formatage, de redfinir les balises HTML intgres ou de crer des classes de style pouvant tre appliques certaines balises HTML. Pour appliquer des styles un objet TextField, affectez lobjet feuille de style la proprit styleSheet dun objet TextField. Pour plus dinformations, consultez Formatage de texte avec les feuilles de style en cascade, page 143. Rsum des mthodes de la classe TextField.StyleSheet
Mthode
TextField.StyleSheet.getStyle()

Description Renvoie une copie de lobjet feuille de style associ au nom de style spcifi. enregistrs dans lobjet feuille de style.

TextField.StyleSheet.getStyleNames() Renvoie un tableau contenant les noms de tous les styles

TextField.StyleSheet.load()

Commence charger un fichier CSS dans lobjet feuille de style. Analyse une chane de texte CSS et cre le style spcifi. Ajoute un nouveau style lobjet feuille de style.

TextField.StyleSheet.parseCSS() TextField.StyleSheet.setStyle()

Rsum des gestionnaires dvnement de la classe TextField.StyleSheet


L

Mthode
TextField.StyleSheet.onLoad

Description Gestionnaire de rappel invoqu lorsquune opration TextField.StyleSheet.load() est termine.

Constructeur pour la classe TextField.StyleSheet


Disponibilit

Flash Player 7.

696

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage new TextField.StyleSheet() Renvoie

Rien.
Description

Constructeur : cre un objet TextField.StyleSheet.

TextField.StyleSheet.getStyle()
Disponibilit

Flash Player 7.
Usage feuilleDeStyle.getStyle(nomDeStyle) Paramtres nomDeStyle Renvoie

Une chane qui spcifie le nom du style rcuprer.

Un objet.
Description

Mthode : renvoie une copie de lobjet style associ au style nomm nomDeStyle. Sil nexiste pas dobjet style associ au nomDeStyle, null est renvoy.
Exemple

Supposez quun objet feuille de style nomm stylesDeTexte charge un fichier de feuille de style externe nomm styles.css contenant un seul style nomm heading, dfinissant les proprits font-family, font-size et font-weight, comme indiqu ci-dessous.
// Dans styles.css heading { font-family: Arial; font-size: 24px; font-weight: bold; }

Le code suivant charge les styles partir du fichier CSS et affiche ensuite chaque nom de proprit et sa valeur dans le panneau de sortie.
var feuilleDeStyle = new TextField.styleSheet(); feuilleDeStyle.load("styles.css"); var styleDeSection = styleSheet.getStyle("heading"); for(proprit dans sectionStyle) { var nomProp = property; var ValeurProp = sectionStyle[proprit]; trace(nomProp + " : " + ValeurProp); }

Le panneau de sortie affiche alors les informations suivantes :


fontfamily : Arial

TextField.StyleSheet.getStyle()

697

fontsize : 24px fontweight : gras Consultez galement TextField.StyleSheet.setStyle()

TextField.StyleSheet.getStyleNames()
Disponibilit

Flash Player 7.
Usage feuilleDeStyle.getStyleNames() Paramtres

Aucun.
Renvoie

Un tableau.
Description

Mthode : renvoie un tableau contenant les noms (sous forme de chanes) de tous les styles enregistrs dans la feuille de style.
Exemple

Cet exemple cre un objet feuille de style nomm feuilleDeStyle contenant deux styles, heading et bodyText. Il invoque ensuite la mthode getStyleNames() de lobjet feuille de style, affecte le rsultat au tableau noms_array et affiche son contenu dans le panneau de sortie.
var feuilleDeStyle= new TextField.StyleSheet(); feuilleDeStyle.setStyle("heading", { fontsize: 24px }); styleSheet.setStyle("bodyText", { fontsize: 12px }); var noms_tableau = feuilleDeStyle.getStyleNames(); trace(names.join("\n"));

Le rsultat suivant apparat dans le panneau de sortie :


bodyText heading Consultez galement TextField.StyleSheet.getStyle()

TextField.StyleSheet.load()
Disponibilit

Flash Player 7.

698

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage feuilleDeStyle.load(url) Paramtres url LURL dun fichier CSS charger. LURL doit se trouver dans le mme domaine que lURL sur laquelle rside le fichier SWF. Renvoie

Rien.
Description

Mthode : commence charger le fichier CSS dans feuilleDeStyle. Lopration de chargement est asynchrone ; utilisez le gestionnaire de rappel TextField.StyleSheet.onLoad afin de dterminer quel moment le chargement du fichier se termine. Le fichier CSS doit rsider exactement dans le mme domaine que le fichier SWF qui le charge. Pour plus dinformations sur les restrictions de chargement de donnes dans tous les domaines, consultez Fonctions de scurit de Flash Player, page 196.
Exemple

Lexemple suivant charge le fichier CSS nomm styles.css (masqu) dans lobjet la feuille de style objStyle. Lorsque le fichier est correctement charg, lobjet feuille de style sapplique un objet TextField nomm news_txt.
var objStyle = new TextField.StyleSheet(); objStyle.load("styles.css"); objStyle.onLoad = function (success) { if (success) { news_txt.styleSheet = objStyle; } } Consultez galement TextField.StyleSheet.onLoad

TextField.StyleSheet.onLoad
Disponibilit

Flash Player 7.
Usage feuilleDeStyle.onLoad = function (success) {} Paramtres success Renvoie

Une valeur boolenne indiquant si le fichier CSS a t correctement charg.

Rien.

TextField.StyleSheet.onLoad

699

Description

Gestionnaire de rappel : invoqu lorsquune opration TextField.StyleSheet.load() est acheve. Si la feuille de style est correctement charge, le paramtre success est true. Si le document na pas t reu, ou si une erreur est survenue lors de la rception de la rponse du serveur, le paramtre success est false.
Exemple

Lexemple suivant charge le fichier CSS nomm styles.css (masqu) dans lobjet la feuille de style objStyle. Lorsque le fichier est correctement charg, lobjet feuille de style sapplique un objet TextField nomm news_txt.
var objStyle = new TextField.StyleSheet(); objStyle.load("styles.css"); objStyle.onLoad = function (success) { if (success) { news_txt.styleSheet = objStyle; } } Consultez galement TextField.StyleSheet.load()

TextField.StyleSheet.parseCSS()
Disponibilit

Flash Player 7.
Usage feuilleDeStyle.parseCSS(TexteCss) Paramtres texteCss Renvoie

Le texte CSS analyser (une chane).

Une valeur boolenne indiquant si le texte a t analys correctement (true) ou non (false).
Description

Mthode : analyse le CSS dans texteCss et charge la feuille de style. Si un style dans texteCss existe dj dans feuilleDeStyle, les proprits de feuilleDeStyle restent les mmes et seules celles de texteCss sont ajoutes/modifies dans feuilleDeStyle. Pour tendre la capacit danalyse CSS native, vous pouvez annuler cette mthode en crant une sous-classe de la classe TextField.StyleSheet. Pour plus dinformations, consultez Cration de sousclasses, page 169.

TextField.StyleSheet.setStyle()
Disponibilit

Flash Player 7.

700

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage feuilleDeStyle.setStyle(nom, style) Paramtres nom style Renvoie

Une chane spcifiant le nom du style ajouter dans la feuille de style. Un objet dcrivant le style, ou null.

Rien.
Description

Mthode : ajoute un nouveau style avec le nom spcifi lobjet feuille de style. Si le style nomm nexiste pas dj dans la feuille de style, il est ajout. Sil existe dj dans la feuille de style, il est remplac. Si le paramtre style est null, le style nomm est supprim. Flash Player cre une copie de lobjet style que vous transmettez cette mthode.
Exemple

Le code suivant ajoute un style nomm emphasized la feuille de style maFeuilleDeStyle. Le style inclut deux proprits de style : color et fontWeight. Lobjet style est dfini laide de loprateur {}.
maFeuilleDeStyle.setStyle("emphasized", {color:#000000,fontWeight:bold});

Vous pouvez galement crer un objet style laide dune occurrence de la classe Object, puis transmettre cet objet en tant que paramtre style, comme indiqu dans lexemple suivant.
var objStyle = new Object(); objStyle.color = #000000; objStyle.fontWeight = bold; maFeuilleDeStyle.setStyle("emphasized", styleObj); delete styleObj; Remarque : La dernire ligne de code (delete styleObj) supprime lobjet style dorigine transmis setStyle(). Cette tape est facultative, mais permet de librer de la mmoire, car Flash Player cre une copie de lobjet style transmis setStyle(). Consultez galement {} (initialisateur dobjet)

TextField.styleSheet
Disponibilit

Flash Player 7.
Usage mon_txt.styleSheet = TextField StyleSheet Description

Proprit : lie une feuille de style un champ de texte spcifi par mon_txt. Pour plus dinformations sur la cration des feuilles de style, consultez lentre Classe TextField.StyleSheet et Formatage de texte avec les feuilles de style en cascade, page 143.

TextField.styleSheet

701

TextField.tabEnabled
Disponibilit

Flash Player 6.
Usage mon_txt.tabEnabled Description

Proprit : spcifie si mon_txt est inclus dans lordre de tabulation automatique. Valeur undefined par dfaut. Si la proprit tabEnabled est undefined ou true, lobjet est inclus dans lordre de tabulation automatique. Si la proprit tabIndex est galement dfinie avec une valeur, lobjet est galement inclus dans lordre de tabulation automatique. Si tabEnabled est false, lobjet nest pas inclus dans lordre de tabulation automatique ou personnalis, mme si la proprit tabIndex est dfinie.
Consultez galement Button.tabEnabled, mon_mc.tabEnabled

TextField.tabIndex
Disponibilit

Flash Player 6.
Usage mon_txt.tabIndex Paramtres

Aucun.
Renvoie

Rien.
Description

Proprit : permet de personnaliser lordre de tabulation des objets dun fichier SWF. Vous pouvez dfinir la proprit tabIndex, qui est undefined par dfaut, pour une occurrence de bouton, clip ou champ de texte. Si lun des objets affichs dans le fichier SWF contient une proprit tabIndex, lordre de tabulation automatique est dsactiv, et lordre de tabulation est alors calcul en fonction des proprits tabIndex des objets du fichier SWF. Lordre de tabulation personnalis ninclut que les objets possdant des proprits tabIndex. La proprit tabIndex doit tre un entier positif. Les objets sont placs dans lordre correspondant leurs proprits tabIndex, dans un ordre croissant. Un objet dont la valeur de proprit tabIndex est 1 prcde un objet dont la valeur de proprit tabIndex est 2. Si deux objets ont la mme valeur tabIndex, celui qui prcde lautre dans lordre de tabulation est undefined.

702

Chapitre 12 : Dictionnaire ActionScript Prsentation

Lordre de tabulation personnalis dfini par la proprit tabIndex est flat. Cela signifie que la relation hirarchique des objets du fichier SWF na pas importance. Tous les objets du fichier SWF possdant des proprits tabIndex sont placs dans lordre de tabulation, qui est dtermin par lordre des valeurs tabIndex. Si deux objets ont la mme valeur tabIndex, celui qui prcde lautre dans lordre de tabulation est undefined. Vous ne devriez pas utiliser la mme valeur tabIndex pour plusieurs objets.
Consultez galement Button.tabIndex, MovieClip.tabIndex

TextField._target
Disponibilit

Flash Player 6.
Usage mon_txt._target Description

Proprit (lecture seule) : le chemin cible dune occurrence de champ de texte spcifie par mon_txt.

TextField.text
Disponibilit

Flash Player 6.
Usage mon_txt.text Description

Proprit : indique le texte dun champ de texte. Les lignes sont spares par le caractre de retour chariot ( \r , ASCII 13). Cette proprit contient le texte normal, non format, sans balises HTML, mme si le champ de texte est en HTML.
Consultez galement TextField.htmlText

TextField.textColor
Disponibilit

Flash Player 6.
Usage mon_txt.textColor Description

Proprit : indique la couleur du texte dun champ de texte.

TextField.textColor

703

TextField.textHeight
Disponibilit

Flash Player 6.
Usage mon_txt.textHeight Description

Proprit : indique la hauteur du texte.

TextField.textWidth
Disponibilit

Flash Player 6.
Usage mon_txt.textWidth Description

Proprit : indique la largeur du texte.

TextField.type
Disponibilit

Flash Player 6.
Usage mon_txt.type Description

Proprit : spcifie le type du champ de texte. Il y a deux valeurs : "dynamic", qui spcifie un champ de texte dynamique ne pouvant pas tre modifi par lutilisateur et "input", qui spcifie un champ de texte de saisie.
Exemple mon_txt.type = "dynamic";

TextField._url
Disponibilit

Flash Player 6.
Usage mon_txt._url Description

Proprit (lecture seule) : rcupre lURL du fichier SWF crateur de ce champ de texte.

704

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField.variable
Disponibilit

Flash Player 6.
Usage mon_txt.variable Description

Proprit : le nom de la variable laquelle le champ de texte est associ. Le type de cette proprit est String.

TextField._visible
Disponibilit

Flash Player 6.
Usage mon_txt._visible Description

Proprit : une valeur boolenne indiquant si le champ de texte mon_txt est visible. Les champs de texte qui ne sont pas visibles (proprit _visible dfinie sur false) sont dsactivs.
Consultez galement Button._visible, MovieClip._visible

TextField._width
Disponibilit

Flash Player 6.
Usage mon_txt._width Description

Proprit : la largeur du champ de texte, en pixels.


Exemple

Lexemple suivant dfinit les proprits de hauteur et de largeur dun champ de texte :
mon_txt._width=200; mon_txt._height=200; Consultez galement MovieClip._height

TextField._width

705

TextField.wordWrap
Disponibilit

Flash Player 6.
Usage mon_txt.wordWrap Description

Proprit : une valeur boolenne indiquant si le contenu du champ de texte passe automatiquement la ligne. Si la valeur de wordWrap est true, le champ de texte passe automatiquement la ligne ; si la valeur est false, le champ de texte ne passe pas automatiquement la ligne.

TextField._x
Disponibilit

Flash Player 6.
Usage mon_txt._x Description

Proprit : un entier dfinissant la coordonne x du champ de texte par rapport aux coordonnes locales du clip parent. Si un champ de texte se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne, comme (0, 0). Si le champ de texte se trouve dans un clip qui a subi des transformations, le champ de texte est dans le systme de coordonnes local du clip le contenant. Donc, pour un clip ayant pivot de 90 dans le sens inverse des aiguilles dune montre, le champ de texte inclus hrite dun systme de coordonnes qui a pivot de 90 dans le sens inverse des aiguilles dune montre. Les coordonnes du champ de texte font rfrence la position du point dalignement.
Consultez galement TextField._xscale, TextField._y, TextField._yscale

TextField._xmouse
Disponibilit

Flash Player 6.
Usage mon_txt._xmouse Description

Proprit (lecture seule) : renvoie la coordonne x de la position de la souris par rapport au champ de texte.
Consultez galement TextField._ymouse

706

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextField._xscale
Disponibilit

Flash Player 6.
Usage mon_txt._xscale Description

Proprit : dtermine lchelle horizontale (exprime en pourcentage) du champ de texte telle quelle est applique partir du point dalignement du champ de texte. Le point dalignement par dfaut est (0,0).
Consultez galement TextField._x, TextField._y, TextField._yscale

TextField._y
Disponibilit

Flash Player 6.
Usage mon_txt._y Description

Proprit : la coordonne y du champ de texte par rapport aux coordonnes locales du clip parent. Si un champ de texte se trouve dans le scnario principal, son systme de coordonnes fait rfrence au coin suprieur gauche de la scne, comme (0, 0). Si le champ de texte se trouve dans un autre clip qui a subi des transformations, le champ de texte est dans le systme de coordonnes local du clip le contenant. Donc, pour un clip ayant pivot de 90 dans le sens inverse des aiguilles dune montre, le champ de texte inclus hrite dun systme de coordonnes qui a pivot de 90 dans le sens inverse des aiguilles dune montre. Les coordonnes du champ de texte font rfrence la position du point dalignement.
Consultez galement TextField._x, TextField._xscale, TextField._yscale

TextField._ymouse
Disponibilit

Flash Player 6.
Usage mon_txt._ymouse Description

Proprit (lecture seule) : indique la coordonne y de la position de la souris par rapport au champ de texte.

TextField._ymouse

707

Consultez galement TextField._xmouse

TextField._yscale
Disponibilit

Flash Player 6.
Usage mon_txt._yscale Description

Proprit : chelle verticale (exprime en pourcentage) du champ de texte telle quelle est applique partir du point dalignement du champ de texte. Le point dalignement par dfaut est (0,0).
Consultez galement TextField._x, TextField._xscale, TextField._y

Classe TextFormat
Disponibilit

Flash Player 6.
Description

La classe TextFormat donne les informations sur les format des caractres. Vous devez utiliser le constructeur new TextFormat() pour crer un objet TextFormat avant den appeler les mthodes. Vous pouvez dfinir les paramtres de TextFormat sur null pour indiquer quils ne sont pas dfinis. Lorsque vous appliquez un objet TextFormat un champ de texte laide de TextField.setTextFormat, seules ses proprits dfinies sont appliques, comme dans lexemple suivant :
mon_fmt = new TextFormat(); mon_fmt.bold = true; mon_txt.setTextFormat(mon_fmt);

Ce code cre dabord un objet TextFormat vide, avec toutes ses proprits non dfinies, puis applique la proprit bold une valeur dfinie. Le code mon_txt.setTextFormat(mon_fmt) ne modifie que la proprit bold du format de texte par dfaut du champ de texte, tant donn que la proprit bold est la seule qui soit dfinie dans mon_fmt. Tous les autres aspects du format de texte par dfaut du champ de texte restent inchangs. Lorsque TextField.getTextFormat() est invoqu, un objet TextFormat est renvoy avec toutes ses proprits dfinies, aucune proprit ne restant null.

708

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des mthodes de la classe TextFormat


Mthode Description chane de texte.

TextFormat.getTextExtent() Renvoie les informations relatives aux mesures du texte dans une

Rsum des proprits de la classe TextFormat


Proprit
TextFormat.align TextFormat.blockIndent TextFormat.bold TextFormat.bullet TextFormat.color TextFormat.font TextFormat.indent

Description Indique lalignement dun paragraphe. Indique lindentation dun bloc, en points. Indique si le texte apparat en gras. Indique si le texte fait partie dune liste puces. Indique la couleur du texte. Indique le nom de la police du texte avec ce format. Indique lindentation, de la marge gauche au premier caractre du paragraphe. Indique si le texte apparat en italique. Indique le nombre despaces verticaux (espacement) entre les lignes. Indique la marge gauche du paragraphe, en points. Indique la marge droite du paragraphe, en points. Indique la taille du texte, en points. Spcifie des taquets de tabulation personnaliss. Indique la fentre de navigateur dans laquelle un hyperlien est affich. Indique si le texte est soulign. Indique lURL laquelle le texte est li.

TextFormat.italic TextFormat.leading TextFormat.leftMargin TextFormat.rightMargin TextFormat.size TextFormat.tabStops TextFormat.target TextFormat.underline TextFormat.url

Constructeur pour la classe TextFormat


Disponibilit

Flash Player 6.
Usage new TextFormat([police, [taille, [couleur, [gras, [italique, [soulign, [url, [cible, [alignement, [margeGauche, [margeDroite, [indentation, [espacement]]]]]]]]]]]]]) Paramtres police taille

Le nom dune police pour le texte, sous forme de chane. Un entier indiquant la taille en points.

Classe TextFormat

709

couleur gras

La couleur du texte utilisant ce format de texte. Un nombre contenant trois composants RVB 8 bits ; par exemple, 0xFF0000 est le rouge, 0x00FF00 est le vert. Une valeur boolenne indiquant si le texte apparat en gras. Une valeur boolenne indiquant si le texte apparat en italique. Une valeur boolenne indiquant si le texte apparat soulign.

italique soulign url

LURL laquelle le texte de ce format est li. Si url est une chane vide, le texte na pas dhyperlien.

cible La fentre cible dans laquelle est affich lhyperlien. Si la fentre cible est une chane vide, le texte est affich dans la fentre cible par dfaut, _self. Si le paramtre url est dfini sur une chane vide ou sur la valeur null, vous pouvez rcuprer ou dfinir cette proprit, mais elle naura aucun effet.

Lalignement du paragraphe, reprsent sous forme de chane. Si "left", le paragraphe est align gauche. Si "center", le paragraphe est centr. Si "right", le paragraphe est align droite.
alignement margeGauche margeDroite indentation

Indique la marge gauche du paragraphe, en points. Indique la marge droite du paragraphe, en points. Un entier indiquant lindentation de la marge gauche au premier caractre du Un nombre indiquant lespace sparant les lignes.

paragraphe.
espacement Renvoie

Rien.
Description

Constructeur : cre un objet TextFormat avec les proprits spcifies. Vous pouvez ensuite changer les proprits de lobjet TextFormat pour changer le formatage des champs de texte. Nimporte quel paramtre peut tre dfini sur la valeur null pour indiquer quil nest pas dfini. Tous les paramtres sont facultatifs, tous les paramtres omis tant considrs comme null.

TextFormat.align
Disponibilit

Flash Player 6.
Usage mon_fmt.align Description

Proprit : indique lalignement du paragraphe, reprsent sous forme de chane. Lalignement du paragraphe, reprsent sous forme de chane. Si "left", le paragraphe est align gauche. Si "center", le paragraphe est centr. Si "right", le paragraphe est align droite. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

710

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextFormat.blockIndent
Disponibilit

Flash Player 6.
Usage mon_fmt.blockIndent Description

Proprit : un nombre qui indique lindentation dun bloc, en points. Lindentation de bloc est applique un bloc de texte entier ; cest--dire, toutes les lignes du texte. A linverse, lindentation normale (TextFormat.indent) affecte seulement la premire ligne de chaque paragraphe. Si cette proprit est null, lobjet TextFormat ne spcifie pas dindentation de bloc.

TextFormat.bold
Disponibilit

Flash Player 6.
Usage mon_fmt.bold Description

Proprit : une valeur boolenne indiquant si le texte apparat en gras. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.bullet
Disponibilit

Flash Player 6.
Usage mon_fmt.bullet Description

Proprit : une valeur boolenne indiquant si le texte fait partie dune liste puces. Dans une liste puces, chaque paragraphe de texte est indent. Un symbole de puce est affich gauche de la premire ligne de chaque paragraphe. La valeur par dfaut est null.

TextFormat.color
Disponibilit

Flash Player 6.
Usage mon_fmt.color

TextFormat.color

711

Description

Proprit : indique la couleur du texte. Un nombre contenant trois composants RVB 8 bits ; par exemple, 0xFF0000 est le rouge, 0x00FF00 est le vert.

TextFormat.font
Disponibilit

Flash Player 6.
Usage mon_fmt.font Description

Proprit : le nom de la police pour le texte dans ce format de texte, sous forme de chane. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.getTextExtent()
Disponibilit

Flash Player 6. Le paramtre facultatif width est support dans Flash Player 7.
Usage mon_fmt.getTextExtent(texte, [largeur]) Paramtres texte

Une chane.

largeur

Un nombre facultatif reprsentant la largeur, en pixels, partir de laquelle le texte spcifi doit faire un retour la ligne.

Renvoie

Un objet avec les proprits width, height, ascent, descent, textFieldHeight et textFieldWidth.
Description

Mthode : renvoie les informations concernant les mesures du texte de la chane de texte texte au format spcifi par mon_fmt. La chane texte est considr comme un texte ordinaire (et non HTML).
textFieldHeight

La mthode renvoie un objet avec six proprits : ascent, descent,width, height, et textFieldWidth. Toutes les mesures sont indiques en pixels.

Si un paramtre width est spcifi, lhabillage du texte est appliqu au texte spcifi. Cela permet de dterminer la hauteur laquelle le champ de texte affiche la totalit du texte spcifi. Les mesures ascent et descent fournissent respectivement la distance au-dessus et au-dessous de la ligne de base dune ligne de texte. La ligne de base de la premire ligne de texte est positionne lorigine du champ de texte laquelle est additionne sa mesure ascent.

712

Chapitre 12 : Dictionnaire ActionScript Prsentation

Les mesures width et height fournissent la largeur et la hauteur de la chane de texte. Les mesures textFieldHeight et textFieldWidth indiquent la hauteur et la largeur requises dun objet champ de texte pour afficher la totalit de la chane de texte. Les champs de texte sont entours dune bordure large de deux pixels. Ainsi, la valeur textFieldHeight est gale la valeur height + 4 ; de mme, la valeur textFieldWidth est toujours gale la valeur width + 4. Si vous crez un champ de texte sur la base mtrique, utilisez textFieldHeight plutt que height et textFieldWidth plutt que width. Lillustration ci-dessous rpertorie ces diffrentes mesures.

Lorsque vous dfinissez un objet TextFormat, veillez ce que lensemble des attributs soient identiques ceux du champ de texte, notamment la police, la taille de police et lespacement. La valeur par dfaut de lespacement est 2.
Exemple

Cet exemple cre un champ de texte dune ligne juste assez grand pour afficher une chane de texte au format spcifi.
var texte = "Petite chane"; // Crer un objet TextFormat // et appliquer ses proprits. var txt_fmt = new TextFormat(); with(txt_fmt) { font = "Arial"; bold = true; } // Obtenir des informations mtriques sur la chane de texte // avec le format spcifi. var mtrique = txt_fmt.getTextExtent(text); // Crer un champ de texte juste assez grand pour afficher le texte. this.createTextField ("champDeTexte", 0, 100, 100, mtrique.textFieldWidth, mtrique.textFieldHeight); champDeTexte.border = true; champDeTexte.wordWrap = true;

TextFormat.getTextExtent()

713

// Affecter la mme chane de texte et // lobjet TextFormat lobjet TextField. champDeTexte.text = text; champDeTexte.setTextFormat(txt_fmt);

Lexemple suivant cre un champ de texte de plusieurs lignes, large de 100 pixels, dont la taille permet dafficher une chane au format spcifi.
// Crer un objet TextFormat. var txt_fmt:TextFormat= new TextFormat(); // Spcifier les proprits du format pour lobjet TextFormat : txt_fmt.font = "Arial"; txt_fmt.bold = true; txt_fmt.leading = 4; // La chane de texte afficher var texteAAfficher:String = "Macromedia Flash 7, prsent disponible avec des mesures mtriques de texte amliores."; // Obtenir les informations relatives aux mesures du texte pour la chane, // retour la ligne 100 pixels. var mtrique:Object = txt_fmt.getTextExtent(texteAAfficher, 100); // Crer un nouvel objet TextField laide des // informations mtriques obtenues. this.createTextField ("champDeTexte", 0, 50, 50-metrics.ascent, 100, mtrique.textFieldHeight) champDeTexte.wordWrap = true; champDeTexte.border = true; // Affecter le texte et lobjet TextFormat TextObject : champDeTexte.text = texteAAfficher; champDeTexte.setTextFormat(unFormat);

TextFormat.indent
Disponibilit

Flash Player 6.
Usage mon_fmt.indent Description

Proprit : un entier indiquant lindentation de la marge gauche au premier caractre du paragraphe. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.
Consultez galement TextFormat.blockIndent

TextFormat.italic
Disponibilit

Flash Player 6.
Usage mon_fmt.italic

714

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit : une valeur boolenne indiquant si le texte dans ce format de texte apparat en italique. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.leading
Disponibilit

Flash Player 6.
Usage mon_fmt.leading Description

Proprit : nombre despaces verticaux (espacement) entre les lignes. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.leftMargin
Disponibilit

Flash Player 6.
Usage mon_fmt.leftMargin Description

Proprit : la marge gauche du paragraphe, en points. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.rightMargin
Disponibilit

Flash Player 6.
Usage mon_fmt.rightMargin Description

Proprit : la marge droite du paragraphe, en points. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.size
Disponibilit

Flash Player 6.
Usage mon_fmt.size

TextFormat.size

715

Description

Proprit : la taille, en points, du texte de ce format. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

TextFormat.tabStops
Disponibilit

Flash Player 6.
Usage mon_fmt.tabStops Description

Proprit : spcifie des arrts de tabulation personnaliss, sous forme dun tableau dentiers non ngatifs. Chaque arrt de tabulation est spcifi en points. Si des arrts de tabulation personnaliss ne sont pas spcifis (null), larrt de tabulation par dfaut est 4 (largeur de caractre moyenne).

TextFormat.target
Disponibilit

Flash Player 6.
Usage mon_fmt.target Description

Proprit : indique la fentre cible dans laquelle est affich lhyperlien. Si la fentre cible est une chane vide, le texte est affich dans la fentre cible par dfaut, _self. Si la proprit TextFormat.url est une chane vide ou null, vous pouvez obtenir ou dfinir cette proprit, mais elle naura aucun effet.

TextFormat.underline
Disponibilit

Flash Player 6.
Usage mon_fmt.underline Description

Proprit : une valeur boolenne qui indique si le texte utilisant le format est soulign (true) ou non (false). Ce soulignement est semblable celui appliqu par la balise <U>, qui nest pas un vritable soulignement tant donn quil ne saute pas correctement les jambages. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

716

Chapitre 12 : Dictionnaire ActionScript Prsentation

TextFormat.url
Disponibilit

Flash Player 6.
Usage mon_fmt.url Description

Proprit : indique lURL laquelle le texte de ce format est li. Si la proprit url est une chane vide, le texte na pas dhyperlien. La valeur par dfaut est null, qui indique que la proprit nest pas dfinie.

objet TextSnapshot
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Description

Les objets TextSnapshot vous permettent dutiliser du texte statique dans un clip. Vous pouvez les utiliser, par exemple, pour positionner le texte avec une plus grande prcision que celle autorise par le texte dynamique, mais le texte nest toujours accessible quen mode lecture seule. Nutilisez pas un constructeur pour crer un objet TextSnapshot ; il est renvoy par MovieClip.getTextSnapshot(). Rsum des mthodes de lobjet TextSnapshot
Mthode
TextSnapshot.findText()

Description Renvoie la position de la premire occurrence de texte spcifi. Renvoie le nombre de caractres. Spcifie si une partie du texte de la plage spcifie a t slectionne par TextSnapshot.setSelected(). Renvoie une chane qui contient tous les caractres spcifis par TextSnapshot.setSelected(). Renvoie une chane contenant les caractres de la plage spcifie. trouve sur ou prs des coordonnes spcifies.

TextSnapshot.getCount() TextSnapshot.getSelected()

TextSnapshot.getSelectedText()

TextSnapshot.getText()

TextSnapshot.hitTestTextNearPos() Vous permet de dterminer quel caractre de lobjet se

objet TextSnapshot

717

Mthode
TextSnapshot.setSelectColor()

Description Spcifie la couleur utiliser lors de la mise en surbrillance des caractres qui ont t slectionns avec la commande TextSnapshot.setSelected(). Spcifie une plage de caractres slectionner ou dslectionner.

TextSnapshot.setSelected()

TextSnapshot.findText()
Disponibilit

Programmation : Flash MX 2004. Lecture : Fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.findText( indexDebut, texteArechercher, sensibleAlaCasse ) Paramtres indexDebut

Un entier spcifiant le point de dpart dans maCapture partir duquel effectuer la recherche du texte spcifi.
texteArechercher

Une chane spcifiant le texte rechercher. Si vous spcifiez une chane littrale plutt quune variable de type String, mettez la chane entre guillemets.

sensibleAlaCasse Une valeur boolenne spcifiant si le texte dans mon_snap doit correspondre la casse de la chane dans texteArechercher. Renvoie

La position de lindex bas sur zro de la premire occurrence du texte spcifi ou -1.
Description

Mthode : recherche lobjet TextSnapshot spcifi et renvoie la position de la premire occurrence de texteArechercher trouve au niveau de ou aprs indexDbut. Si texteArechercher nest pas trouv, la mthode renvoie -1.
Consultez galement TextSnapshot.getText()

TextSnapshot.getCount()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.getCount()

718

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres

Aucun.
Renvoie

Un entier reprsentant le nombre de caractres dans lobjet TextSnapshot spcifi.


Description

Mthode : renvoie le nombre de caractres dans un objet TextSnapshot.


Consultez galement TextSnapshot.getText()

TextSnapshot.getSelected()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.getSelected(de, a) Paramtres de

Un entier indiquant la position du premier caractre de maCapture examiner. Les valeurs valides pour de sont comprises entre 0 etTextSnapshot.getCount()- 1. Si de est une valeur ngative, 0 est utilis.

Un entier gal 1+ lindex du dernier caractre de maCapture examiner. Les valeurs valides pour sont comprises entre 0 et TextSnapshot.getCount(). Le caractre index par le paramtre a nest pas inclus dans la chane extraite. Si ce paramtre est omis, TextSnapshot.getCount() est utilis. Si cette valeur est infrieure ou gale la valeur de de, de+1 est utilis.
a Renvoie

Une valeur boolenne true, si au moins un caractre de la plage donne a t slectionn par la commande TextSnapshot.setSelected() correspondante, false dans les autres cas.
Description

Mthode : renvoie une valeur boolenne spcifiant si un objet TextSnapshot contient le texte slectionn dans la plage spcifie. Pour rechercher tous les caractres, affectez une valeur de 0 de et une valeur TextSnapshot.getCount() (ou tout nombre trs grand) a. Pour rechercher un caractre unique, affectez une valeur de de+1 a.
Consultez galement TextSnapshot.getSelectedText(), TextSnapshot.getText()

TextSnapshot.getSelected()

719

TextSnapshot.getSelectedText()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.getSelectedText( [ inclureFinsDeLigne ] ) Paramtres inclureFinsDeLigne Une valeur boolenne facultative spcifiant si les caractres newline sont insrs dans la chane renvoye, lemplacement appropri. La valeur par dfaut est false. Renvoie

Une chane contenant tous les caractres spcifis par la commande TextSnapshot.setSelected() correspondante.
Description

Mthode : renvoie une chane contenant tous les caractres spcifis par la commande TextSnapshot.setSelected() correspondante. Si aucun caractre nest slectionn, une chane vide est renvoye. Si vous affectez une valeur true inclureFinsDeLigne, les caractres newline sont insrs dans la chane renvoye lemplacement jug appropri. Dans ce cas, la chane renvoye peut tre plus longue que la plage saisie. Si inclureFinsDeLigne est dfini sur false ou omis, le texte slectionn est renvoy sans que des caractres soient ajouts.
Consultez galement TextSnapshot.getSelected()

TextSnapshot.getText()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.getText(de, a [, inclureFinsDeLigne ] ) Paramtres de Un entier indiquant la position du premier caractre de maCapture inclure dans la chane renvoye. Les valeurs valides pour de sont comprises entre 0 et TextSnapshot.getCount()- 1. Si de est une valeur ngative, 0 est utilis.

720

Chapitre 12 : Dictionnaire ActionScript Prsentation

Un entier tant gal 1+ lindex du dernier caractre de maCapture examiner. Les valeurs valides pour sont comprises entre 0 et TextSnapshot.getCount(). Le caractre index par le paramtre a nest pas inclus dans la chane extraite. Si ce paramtre est omis, TextSnapshot.getCount() est utilis. Si cette valeur est infrieure ou gale la valeur de de, de+1 est utilis.
a inclureFinsDeLigne Une valeur boolenne facultative spcifiant si les caractres newline sont insrs dans la chane renvoye, lemplacement appropri. La valeur par dfaut est false. Renvoie

Une chane contenant les caractres de la plage spcifie ou une chane vide si aucun caractre na t trouv dans cette plage.
Description

Mthode : renvoie une chane contenant tous les caractres spcifis par les paramtres de et a. Si aucun caractre nest slectionn, une chane vide est renvoye. Pour renvoyer tous les caractres, affectez une valeur de 0 pour de et TextSnapshot.getCount() (ou tout nombre trs grand) pour a. Pour renvoyer un caractre unique, affectez une valeur de+1 a. Si vous affectez une valeur true inclureFinsDeLigne, les caractres newline sont insrs dans la chane renvoye lemplacement jug appropri. Dans ce cas, la chane renvoye peut tre plus longue que la plage saisie. Si inclureFinsDeLigne est dfini sur false ou omis, le texte slectionn est renvoy sans que des caractres soient ajouts.
Consultez galement TextSnapshot.getSelectedText()

TextSnapshot.hitTestTextNearPos()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.hitTestTextNearPos(x, y [, distanceMax] ) Paramtres x y

Un nombre qui reprsente la coordonne x du clip contenant le texte de maCapture. Un nombre qui reprsente la coordonne y du clip contenant le texte de maCapture.

distanceMax Un nombre facultatif qui reprsente la distance maximale depuis x, y pour laquelle le texte est recherch. La distance est mesure partir du point central de chaque caractre. La valeur par dfaut est 0. Renvoie

Un entier reprsentant la valeur dindex du caractre de maCapture qui est la plus proche des coordonnes x, y spcifies, ou -1 si aucun caractre nest trouv.

TextSnapshot.hitTestTextNearPos()

721

Description

Mthode : vous permet de dterminer quel caractre dun objet TextSnapshot se trouve sur ou prs des coordonnes x, y spcifies pour le clip contenant le texte de maCapture. Si vous omettez la valeur ou dfinissez distanceMax sur 0, lemplacement spcifi par les coordonnes x, y doit se trouver lintrieur du cadre de dlimitation de maCapture.
Consultez galement MovieClip.getTextSnapshot(), MovieClip._x, MovieClip._y

TextSnapshot.setSelectColor()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.setSelectColor(CouleurHexa); Paramtres CouleurHexa La couleur utilise pour la bordure place autour des caractres slectionns par la commande TextSnapshot.setSelected() correspondante, exprime au format 0xRRGGBB. Renvoie

Rien.
Description

Mthode : spcifie la couleur utiliser lors de la mise en surbrillance des caractres qui ont t slectionns avec la commande TextSnapshot.setSelected(). La couleur est toujours opaque ; vous ne pouvez pas spcifier une valeur de transparence.

TextSnapshot.setSelected()
Disponibilit

Programmation : Flash MX 2004. Lecture : De fichiers SWF publis pour Flash Player 6 ou ultrieur, lus dans Flash Player 7 ou ultrieur.
Usage maCapture.setSelected(de, a, selection) Paramtres de

Un entier indiquant la position du premier caractre de maCapture slectionner. Les valeurs valides pour de sont comprises entre 0 et TextSnapshot.getCount()- 1. Si de est une valeur ngative, 0 est utilis.

722

Chapitre 12 : Dictionnaire ActionScript Prsentation

Un entier tant gal 1+ lindex du dernier caractre de maCapture examiner. Les valeurs valides pour sont comprises entre 0 et TextSnapshot.getCount(). Le caractre index par le paramtre a nest pas inclus dans la chane extraite. Si ce paramtre est omis, TextSnapshot.getCount() est utilis. Si cette valeur est infrieure ou gale la valeur de de, de+1 est utilis.
a selection Une valeur boolenne indiquant si le texte doit tre slectionn (true) ou dslectionn (false). Renvoie

Rien.
Description

Mthode : spcifie une plage de caractres dun objet TextSnapshot slectionner ou dslectionner. Un rectangle de couleur correspondant au cadre de dlimitation du caractre est trac derrire chacun des caractres slectionns. La couleur du cadre de dlimitation est dfini par TextSnapshot.setSelectColor(). Pour slectionner ou dslectionner tous les caractres, dfinissez une valeur de 0 pour de et TextSnapshot.getCount() (ou tout nombre trs grand) pour a. Pour spcifier un caractre unique, affectez une valeur de de+1 pour a. Les caractres tant individuellement marqus comme slectionns, vous pouvez mettre plusieurs fois cette commande pour slectionner plusieurs caractres ; cette opration nannule pas la slection des autres caractres dfinis par cette commande.

this
Disponibilit

Flash Player 5.
Usage this Description

Mot-cl : fait rfrence un objet ou une occurrence de clip. Lorsquun script est excut, this fait rfrence loccurrence de clip qui contient le script. Lorsquune mthode est appele, this contient une rfrence lobjet qui contient la mthode appele. Dans une action de gestionnaire dvnement on associe un bouton, this fait rfrence au scnario contenant le bouton. Dans une action de gestionnaire dvnement onClipEvent() associe un clip, this fait rfrence au scnario du clip. Comme this est valu dans le contexte du script qui le contient, vous ne pouvez pas utiliser this dans un script pour faire rfrence une variable dfinie dans un fichier de classe :
// dans le fichier applyThis.as class applyThis{ var str:String = "Dfini dans applyThis.as"; function conctStr(x:String):String{ return x+x; } function addStr():String{

this

723

return str; } } // Utilisez le code suivant dans FLA pour tester lanimation import applyThis; var obj:applyThis = new applyThis(); var abj:applyThis = new applyThis(); abj.str = "dfini dans FLA"; trace(obj.addStr.call(abj,null)); trace(obj.addStr.call(this,null)); trace(obj.addStr.call(obj,null)); // dfini dans FLA // non dfini // Dfini dans applyThis.as

De mme, pour appeler une fonction dfinie dans une classe dynamique, vous devez utiliser this pour ltendue de la fonction :
// version incorrecte de simple.as dynamic class simple{ function callfunc(){ trace(func()); } } // version correcte de simple.as dynamic class simple{ function callfunc(){ trace(this.func()); } } // instructions du fichier FLA import simple; var obj:simple = new simple(); obj.num = 0; obj.func = function():Boolean{ renvoie true; } obj.callfunc(); // erreur de syntaxe avec version incorrecte de simple.as Exemple

Dans lexemple suivant, le mot-cl this fait rfrence lobjet Cercle.


function Cercle(rayon) { this.rayon = rayon; this.aire = Math.PI * rayon * rayon; }

Dans linstruction suivante affecte une image, le mot-cl this fait rfrence au clip courant.
// dfinit la proprit alpha du clip actuel 20 this._alpha = 20;

Dans linstruction suivante au sein dun gestionnaire onClipEvent(), le mot-cl this fait rfrence au clip courant.
// pendant le chargement du clip, une opration startDrag() // du clip courant. onClipEvent(load) {

724

Chapitre 12 : Dictionnaire ActionScript Prsentation

startDrag (this, true); } Consultez galement on(), onClipEvent()

throw
Disponibilit

Flash Player 7.
Usage throw expression Description

Instruction : gnre ( met ) une erreur pouvant tre gre ( saisie ) par un bloc de code catch{} ou finally{}. Si une exception nest pas saisie par un bloc catch ou finally, la reprsentation de chane de la valeur mise est envoye vers le panneau de sortie. Gnralement, vous mettez des occurrences de la classe Error ou de ses sous-classes (consultez les exemples suivants).
Paramtres expression Exemple

Une expression ou un objet ActionScript.

Dans cet exemple, une fonction nomme checkEmail() vrifie si la chane qui lui est transmise est une adresse lectronique correctement formate. Si la chane ne contient pas le symbole @ , la fonction met une erreur.
function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new Error("Ladresse mail est invalide"); } }

Le code suivant appelle ensuite la fonction checkEmail() lintrieur dun bloc de code try, transmettant le texte dans un champ de texte (email_txt) en tant que paramtre. Si le paramtre de la chane ne contient pas dadresse lectronique valide, le message derreur saffiche dans le champ de texte (erreur_txt).
try checkEmail("Joe Smith"); } catch (e) { erreur_txt.text = e.toString(); }

Dans cet exemple, une sous-classe de la classe Error est mise. La fonction checkEmail() est modifie de manire mettre loccurrence de cette sous-classe. Pour plus dinformations, consultez Cration de sous-classes, page 169.
// Dfinir la sous-classe Error InvalidEmailError // Dans InvalidEmailError.as: class InvalidEmailAddress extends Error { var message = "Ladresse mail est invalide.";

throw

725

} function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new InvalidEmailAddress(); } } Consultez galement

Classe Error, try..catch..finally

toggleHighQuality()
Disponibilit

Flash 2 ; dconseill et remplac par _quality.


Usage toggleHighQuality() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction dconseille : active ou dsactive lanti-aliasing dans Flash Player. Lanti-aliasing permet de lisser les bords des objets et ralentit la lecture du fichier SWF. Cette action affecte tous les fichiers SWF de Flash Player.
Exemple

Le code suivant peut tre appliqu un bouton qui, lorsque cliqu, active ou dsactive lantialiasing :
on(release) { toggleHighQuality(); } Consultez galement _highquality, _quality

trace()
Disponibilit

Flash Player 4.
Usage trace(expression)

726

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres expression Une expression valuer. Lorsquun fichier SWF est ouvert dans loutil de programmation Flash (via la commande Tester lanimation), la valeur du paramtre expression est affiche dans le panneau de sortie. Renvoie

Rien.
Description

Instruction : value lexpression et affiche les rsultats dans le panneau de sortie en mode test. Utilisez cette action pour enregistrer des remarques de programmation ou pour afficher des messages dans le panneau de sortie pendant le test dune animation. Utilisez le paramtre expression pour vrifier si une condition existe ou pour afficher les valeurs dans le panneau de sortie. Laction trace() est similaire la fonction alert de JavaScript. Vous pouvez utiliser la commande Omettre les actions Trace des paramtres de publication pour supprimer les actions trace() du fichier SWF export.
Exemple

Cet exemple provient dun jeu dans lequel une occurrence de clip dplaable nomme mon_mc doit tre relche sur une cible spcifique. Une instruction conditionnelle value la proprit _droptarget et excute diffrentes actions en fonction de lendroit o mon_mc est relch. Laction trace() est utilise la fin du script pour valuer lemplacement du clip mon_mc et affiche le rsultat dans le panneau de sortie. Si mon_mc ne se comporte pas de la manire prvue (par exemple, sil atteint la mauvaise cible), les valeurs envoyes vers le panneau de sortie par laction trace() vous aident dterminer le problme dans le script.
on(press) { mon_mc.startDrag(); } on(release) { if(eval(_droptarget) != target) { mon_mc._x = mon_mc_xValue; mon_mc._y = mon_mc_yValue; } else { var mon_mc_xValue = mon_mc._x; var mon_mc_yValue = mon_mc._y; target = "_root.champ"; } trace("mon_mc_xValue = " + mon_mc_xValue); trace("mon_mc_xValue = " + mon_mc_xValue); stopDrag(); }

true
Disponibilit

Flash Player 5.
Usage true

true

727

Description

constante : une valeur boolenne unique reprsentant loppos de false.


Consultez galement false

try..catch..finally
Disponibilit

Flash Player 7.
Usage try // ... bloc try ... } finally { // ... bloc finally ... } try // ... bloc try ... } catch(erreur[:TypeDerreur1]) { // ... bloc catch ... } [catch(erreur[:TypeDerreurN]) { // ... bloc catch ... }] [finally { // ... bloc finally ... }] Paramtres erreur

Lexpression mise partir dune instruction throw, gnralement une occurrence de la classe Error ou de sa sous-classe. Un type facultatif spcifiant lidentifiant error. La clause catch nintercepte que les erreurs du type spcifi.

TypeDerreur

Description

Mots-cls : renferment un bloc de code dans lequel une erreur peut se produire, puis rpondent lerreur. Si un code contenu dans le bloc de code try met une erreur ( laide de laction throw), contrlez la transmission au bloc catch, sil existe, puis au bloc de code finally, sil existe. Le bloc finally sexcute toujours, quune erreur ait t mise ou non. Si le code lintrieur du bloc try nmet pas derreur (cest dire si le bloc try se termine normalement) alors le code du bloc finally sexcute. Le bloc finally sexcute mme si le bloc try existe, laide dune instruction return. Un bloc try doit tre suivi dun bloc catch, un bloc finally ou les deux. Un bloc unique try peut avoir plusieurs blocs catch mais seulement un bloc finally. Vous pouvez imbriquer les blocs try dautant de profondeurs de niveau requises. Le paramtre erreur spcifi dans un gestionnaire catch doit tre un identifiant simple tel que e, theException ou x. La variable dans un gestionnaire catch peu galement tre typed. Lorsquelles sont utilises avec plusieurs blocs catch, les erreurs tapes permettent de saisir plusieurs types derreur mises dun bloc try unique.

728

Chapitre 12 : Dictionnaire ActionScript Prsentation

Si lexception mise est un objet, le type correspond si lobjet mis est une sous-classe du type spcifi. Si une erreur dun type spcifique est mise, le bloc catch qui gre lerreur correspondante est excut. Si une exception mise nest pas du type spcifi, le bloc catch ne sexcute pas et lexception est automatiquement mise du bloc try vers un gestionnaire catch qui lui correspond. Si une erreur est mise au sein dune fonction et que la fonction ninclut pas de gestionnaire catch, linterprte dActionScript interrompt cette fonction, de mme que les fonctions dappel, jusqu ce quun bloc catch soit repr. Durant ce processus, les gestionnaires finally sont appels tous les niveaux.
Exemple

Lexemple suivant montre comment crer une instruction try..finally. Etant donn que le code dans le bloc finally est forcment excut, il est gnralement utilis pour raliser un code de nettoyage aprs lexcution dun bloc try. Dans cet exemple, le bloc finally est utilis pour supprimer un objet ActionScript, quune erreur se produise ou non.
var compte = new Account() try var valRetour = compte.getAccountInfo(); if(valRetour != 0) { throw new Error("Erreur dobtention des informations sur le compte."); } } finally { // Supprimer lobjet compte , quelle que soit la situation. if(compte != null) { delete compte; } }

Lexemple suivant illustre une instruction try..catch. Le code dans le bloc try est excut. Si une exception est mise par un code dans le bloc try, le contrle transmet au bloc catch, qui affiche le message derreur dans un champ de texte laide de la mthode Error.toString().
var compte = new Account() try var valRetour = compte.getAccountInfo(); if(valRetour != 0) { throw new Error("Erreur dobtention des informations sur le compte."); } } catch (e) { tat_txt.text = e.toString(); }

Lexemple suivant illustre un bloc de code try avec plusieurs blocs de code catch taps. En fonction du type derreur survenue, le bloc de code try met un type dobjet diffrent. Dans ce cas, monEnsembleDEnregistrements est une occurrence dune classe (hypothtique) nomme EnsembleDEnregistrements dont la mthode sortRows() peut mettre deux types derreur diffrents : RecordSetException et MalformedRecord. Dans cet exemple, les objets RecordSetException et MalformedRecord sont des sous-classes de la classe Error. Chacune est dfinie dans son propre fichier de classe AS. Pour plus dinformations, consultez le Chapitre 9, Cration de classes avec ActionScript 2.0, page 161.
// Dans RecordSetException.as: class RecordSetException extends Error { var message = "Une exception de dfinition denregistrement sest produite."

try..catch..finally

729

} // Dans MalformedRecord.as: class MalformedRecord extends Error { var message = "Une exception denregistrement mal formul sest produite." }

Dans la mthode sortRows() de la classe RecordSet, lun des objets error pralablement dfini est mis en fonction du type dexception survenue. Le fragment de code suivant montre quoi le code peut ressembler.
// Dans le fichier de classe RecordSet.as... function sortRows() { ... if(recordSetErrorCondition) { throw new RecordSetException(); } if(malFormedRecordCondition) { throw new MalformedRecord(); } ... }

Enfin, dans un autre fichier AS ou script FLA, le code suivant invoque la mthode sortRows() dans une occurrence de la classe RecordSet. Elle dfinit les blocs catch pour chaque type derreur mise par sortRows().
try monEnsembleDEnregistrements.sortRows(); } catch (e:RecordSetException) { trace("Une exception de dfinition denregistrement a t saisie"); } catch (e:MalformedRecord) { trace("Une exception denregistrement mal formul a t saisie"); } Consultez galement

Classe Error, throw, classe, extends

typeof
Disponibilit

Flash Player 5.
Usage typeof(expression) Paramtres expression

Chane, clip, bouton, objet ou fonction.

730

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Oprateur : un oprateur unaire plac avant un paramtre unique. Loprateur typeof oblige linterprte de Flash valuer expression ; le rsultat est une chane spcifiant si lexpression est une chane, un clip, un objet, une fonction, un nombre ou une valeur boolenne. Le tableau suivant indique les rsultats de loprateur typeof sur chaque type dexpression.
Paramtre String Clip Button TextField Number Boolean Object Function Rsultat
chane clip objet objet nombre valeur boolenne objet fonction

undefined
Disponibilit

Flash Player 5.
Usage undefined Paramtres

Aucun.
Renvoie

Rien.
Description

Une valeur spciale, gnralement utilise pour indiquer quaucune valeur na encore t affecte une variable. Une rfrence une valeur non dfinie renvoie la valeur spciale undefined. Le code ActionScript typeof(undefined) renvoie la chane "undefined". La seule valeur de type undefined est undefined. Dans les fichiers publis pour Flash Player 6 ou une version antrieure, la valeur de
undefined.toString() est "" (une chane vide). Dans les fichiers publis pour Flash Player une version ultrieure, la valeur de undefined.toString() est undefined.

7 ou

La valeur undefined est similaire la valeur spciale null. Lorsque null et undefined sont compars avec loprateur dgalit, ils apparaissent comme gaux.

undefined

731

Exemple

Dans cet exemple, la variable x na pas t dclare et, par consquent, a la valeur undefined. Dans la premire section de code, loprateur dgalit (==) compare la valeur x la valeur undefined et le rsultat appropri est envoy vers la fentre Sortie. Dans la deuxime section de code, loprateur dgalit compare les valeurs null et undefined.
// x na pas t dclar trace ("La valeur de x est " + x); if (x == undefined) { trace ("x est undefined"); } else { trace ("x nest pas undefined"); } trace ("typeof (x) est " + typeof (x)); if (null == undefined) { trace ("null et undefined sont gaux"); } else { trace ("null et undefined ne sont pas gaux"); }

Le rsultat suivant est affich dans le panneau de sortie.


La valeur de x est undefined x est undefined typeof (x) est undefined null et undefined sont gaux

unescape
Disponibilit

Flash Player 5.
Usage unescape(x) Paramtres x

Une chane avec des squences hexadcimales chapper.

Renvoie

Une chane dcode partir dun paramtre URL encod.


Description

Fonction : value le paramtre x comme une chane, dcode la chane dun format de code URL (convertissant toutes les squences hexadcimales en caractres ASCII) et renvoie la chane.
Exemple

Lexemple suivant illustre le processus de conversion dchappement en non-chappement.


escape("Bonjour{[Monde]}");

Le rsultat dchappement est le suivant :


("Bonjour%7B%5BMonde%5D%7D);

732

Chapitre 12 : Dictionnaire ActionScript Prsentation

Utilisez unescape pour retourner au format original :


unescape("Bonjour%7B%5BMonde%5D%7D")

Le rsultat est le suivant :


Bonjour{[Monde]}

unloadMovie()
Disponibilit

Flash Player 3.
Usage unloadMovie(cible) Paramtres cible Renvoie

Le chemin cible dun clip.

Aucun.
Description

Fonction : supprime de Flash Player un clip charg au moyen de loadMovie(). Pour purger une animation charge au moyen de loadMovieNum(), utilisez unloadMovieNum() au lieu de unloadMovie().
Exemple

Lexemple suivant purge le clip draggable_mc du scnario principal et charge lanimation animation.swf dans le niveau 4.
on(press) { unloadMovie ("_root.draggable_mc"); loadMovieNum ("animation.swf", 4); }

Lexemple suivant purge lanimation charge dans le niveau 4.


on(press) { unloadMovieNum (4); } Consultez galement loadMovie(), MovieClipLoader.unloadClip()

unloadMovieNum()
Disponibilit

Flash Player 3.
Usage unloadMovieNum(niveau)

unloadMovieNum()

733

Paramtres niveau Renvoie

Le niveau (_levelN) dune animation charge.

Rien.
Description

Fonction : supprime de Flash Player une animation charge au moyen de loadMovieNum(). Pour purger une animation charge au moyen de loadMovie(), utilisez unloadMovie() au lieu de unloadMovieNum().
Consultez galement loadMovie(), loadMovieNum(), unloadMovie()

updateAfterEvent()
Disponibilit

Flash Player 5.
Usage updateAfterEvent() Paramtres

Aucun.
Renvoie

Rien.
Description

Fonction : met jour les informations affiches (indpendamment de la valeur des images par seconde dfinie pour lanimation) lorsque vous lappelez dans un gestionnaire onClipEvent() ou dans une fonction ou mthode transmise setInterval(). Flash ignore les appels updateAfterEvent qui ne sont pas dans un gestionnaire onClipEvent() ou qui ne font pas partie dune fonction ou dune mthode transmise setInterval().
Consultez galement onClipEvent(), setInterval()

var
Disponibilit

Flash Player 5.
Usage var nomDeVariable1 [= valeur1] [...,nomDeVariableN [=valeurN]] Paramtres nomDeVariable

Un identifiant.

734

Chapitre 12 : Dictionnaire ActionScript Prsentation

valeur Renvoie

La valeur affecte la variable.

Rien.
Description

Instruction : utilise pour dclarer les variables locales ou du scnario.

Si vous dclarez les variables dans une fonction, les variables sont locales. Elles sont dfinies
pour la fonction et expirent la fin de lappel de la fonction.

Si les variables ne sont pas dclares au sein dun bloc ({}), mais que la liste dactions a t
excute avec une action call(), les variables sont locales et expirent la fin de la liste courante. Si les variables ne sont pas dclares au sein dun bloc et que la liste des actions courantes na pas t excute avec laction call(), ces variables sont interprtes en tant que variables de scnario. Vous navez pas utiliser var pour dclarer les variables de scnario.

Vous ne pouvez pas dclarer une variable dont le domaine inclut un autre objet en tant que variable locale :
mon_array.length = 25; // ok var mon_array.length = 25; // erreur de syntaxe

Si vous utilisez var, vous pouvez taper la variable de manire stricte ; voir Typage strict des donnes, page 40
Remarque : Les classes dfinies dans les scripts externes prennent aussi en charge les tendues des variables publiques, prives et statiques. Consultez le Chapitre 9, Cration de classes avec ActionScript 2.0, page 161 et private, public et static.

Classe Video
Disponibilit

Flash Player 6 ; la fonction de lecture des fichiers Flash Video (FLV) a t rajoute dans Flash Player 7.
Description

La classe Video vous permet dafficher une vido en continu en direct sur la scne sans lintgrer dans votre fichier SWF. Vous capturez la vido en utilisant Camera.get(). Dans les fichiers publis pour Flash Player 7 et les versions ultrieures, vous pouvez galement utiliser la classe Video pour lire les fichiers Flash Video (FLV) partir dun serveur HTTP ou du systme de fichiers local. Pour plus dinformations, consultez Lecture dynamique des fichiers FLV externes, page 205, Classe NetConnection et Classe NetStream. Vous pouvez utiliser un objet Video comme un clip. Comme pour les autres objets placs dans la scne, vous pouvez contrler les diffrentes proprits des objets Video. Par exemple, vous pouvez dplacer lobjet Video autour de la scne laide de ses proprits _x et _y ; vous pouvez galement le redimensionner laide de ses proprits _height et _width. Pour afficher le flux vido, placez dans un premier temps un objet Video sur la scne. Ensuite, utilisez Video.attachVideo() pour rattacher le flux vido lobjet Video.

Classe Video

735

Pour placer un objet Video sur la scne :

1 Si le panneau Bibliothque nest pas visible, slectionnez Fentre > Bibliothque pour lafficher. 2 Ajoutez un objet Video intgre la bibliothque en cliquant sur le menu doptions situ

droite de la barre de titre du panneau Bibliothque et en slectionnant Nouvelle vido. 3 Dplacez lobjet Video sur la scne et servez-vous de linspecteur des proprits pour lui attribuer un nom doccurrence unique tel que ma_video. (Ne lappelez pas Video.) Rsum des mthodes de la classe Video
Mthode Description

Video.attachVideo() Spcifie un flux vido afficher dans les limites de lobjet Video sur la scne. Video.clear()

Efface limage courante affiche dans lobjet Video.

Rsum des proprits de la classe Video


Proprit
Video.deblocking

Description Spcifie le comportement du filtre de dblocage que le compresseur vido applique, lorsque cela est ncessaire, la lecture de la vido. Lecture seule ; la hauteur du flux vido, en pixels. Spcifie si la vido doit tre lisse (interpole) lorsquelle est redimensionne. Lecture seule ; la largeur du flux vido, en pixels.

Video.height Video.smoothing

Video.width

Video.attachVideo()
Disponibilit

Flash Player 6 ; la possibilit de travailler avec les fichiers Flash Video (FLV) a t rajoute dans Flash Player 7.
Usage ma_video.attachVideo(source) Paramtres source

Un objet Camera qui capture les donnes vido ou un objet NetStream. Pour interrompre la connexion lobjet Video, choisissez null pour source. Rien.

Renvoie

Description

Mthode : spcifie un flux vido (source) afficher dans les limites de lobjet Video sur la scne. Le flux vido est un fichier FLV en cours daffichage via la commande NetStream.play(), un objet Camera ou null. Si source est null, la vido nest plus lue dans lobjet Video.

736

Chapitre 12 : Dictionnaire ActionScript Prsentation

Vous navez pas besoin dutiliser cette mthode si le fichier FLV contient uniquement des donnes audio ; la partie audio dun fichier FLV est lue automatiquement lorsque la commande NetStream.play() est active.
MovieClip.attachAudio()

Pour contrler les donnes audio associes un fichier FLV, vous pouvez utiliser la mthode pour acheminer ces donnes vers le clip ; vous pouvez ensuite crer un objet Sound pour contrler certains aspects de ces donnes audio. Pour plus dinformations, consultez MovieClip.attachAudio().

Exemple

Lexemple suivant lit localement une vido en direct.


ma_cam = Camera.get(); ma_video.attachVideo(ma_cam); // ma_video est un objet Video sur la scne

Lexemple suivant montre la lecture dun fichier prcdemment enregistr nomm maVido.flv, stock dans le mme dossier que le fichier SWF.
var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(mon_nc); ma_video.attachVideo(ns); // ma_video est un objet Video sur la scne ns.play("myVideo.flv"); Consultez galement

Classe Camera, Classe NetStream

Video.clear()
Disponibilit

Flash Player 6.
Usage ma_video.clear() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : efface limage courante affiche dans lobjet Video. Cela est utile, par exemple, si vous voulez afficher des informations en attente sans masquer lobjet Video.
Consultez galement Video.attachVideo()

Video.deblocking
Disponibilit

Flash Player 6.

Video.deblocking

737

Usage ma_video.deblocking ma_video.deblocking = paramtre Description

Proprit : spcifie le comportement du filtre de dblocage que le compresseur vido applique, lorsque cela est ncessaire, la lecture de la vido. Les valeurs suivantes sont acceptables pour paramtre :

0 (valeur par dfaut) : Laisse le compresseur vido appliquer le filtre de dblocage lorsque cela
est ncessaire.

1 : Nutilise jamais le filtre de dblocage. 2 : Utilise toujours le filtre de dblocage.


Le filtre de dblocage a un effet sur lensemble de la performance de la lecture et il nest gnralement pas ncessaire avec la vido large bande. Si votre systme nest pas assez puissant, vous pourriez rencontrer des difficults lors de la lecture de la vido lorsque le filtre est activ.

Video.height
Disponibilit

Flash Player 6.
Usage ma_video.height Description

Proprit lecture seule ; un entier spcifiant la hauteur du flux vido, en pixels. Pour les flux vido en direct, cette valeur est identique la proprit Camera.height de lobjet Camera qui capture le flux vido. Pour les fichiers FLV, cette valeur correspond la hauteur du fichier export en tant que fichier FLV. Cette proprit peut vous servir, par exemple, vous assurer que lutilisateur regarde une vido dont la taille correspond la taille de la vido au moment de sa capture, quelle que soit la taille relle de lobjet Video sur la scne.
Exemple

Usage 1 : Lexemple suivant montre la dfinition des valeurs de hauteur et de largeur de lobjet Video, en fonction des valeurs dun fichier FLV. Vous devez appeler ce code aprs linvocation de NetStream.onStatus, lorsque la proprit code est dfinie sur NetStream.Buffer.Full. Si vous appelez ce code alors que valeur de la proprit code est NetStream.Play.Start, les valeurs de hauteur et de largeur sont 0, car lobjet Video na pas encore la hauteur et la largeur du fichier FLV charg.
// Clip est le nom doccurrence du clip // qui contient lobjet vido "ma_vido". _root.Clip._width = _root.Clip.ma_video.width; _root.Clip._height = _root.Clip.ma_video.height;

Usage 2 : Lexemple suivant permet lutilisateur dappuyer sur un bouton pour ajuster la hauteur et la largeur dun flux vido affich dans Flash Player avec une hauteur et une largeur gales celles de la vido lorsquelle a t capture.

738

Chapitre 12 : Dictionnaire ActionScript Prsentation

on (release) { _root.ma_video._width = _root.ma_video.width _root.ma_video._height = _root.ma_video.height } Consultez galement MovieClip._height, Video.width

Video.smoothing
Disponibilit

Flash Player 6.
Usage ma_video.smoothing Description

Proprit : une valeur boolenne spcifiant si la vido doit tre lisse (interpole) lorsquelle est redimensionne. Pour que le lissage fonctionne, le lecteur doit tre en mode haute qualit. La valeur par dfaut est false (aucun lissage).

Video.width
Disponibilit

Flash Player 6.
Usage ma_video.width Description

Proprit lecture seule ; un entier spcifiant la largeur du flux vido, en pixels. Pour les flux vido en direct, cette valeur est identique la proprit Camera.width de lobjet Camera qui capture le flux vido. Pour les fichiers FLV, cette valeur correspond la largeur du fichier export en tant que fichier FLV. Cette proprit peut vous servir, par exemple, vous assurer que lutilisateur regarde une vido dont la taille correspond la taille de la vido au moment de sa capture, quelle que soit la taille relle de lobjet Video sur la scne.
Exemple

Consultez les exemples pour Video.height.

void
Disponibilit

Flash Player 5.
Usage void (expression)

void

739

Description

Oprateur ; un oprateur unaire qui supprime la valeur expression et renvoie une valeur indfinie. Loprateur void est gnralement utilis dans les comparaisons avec loprateur == pour tester des valeurs indfinies.

while
Disponibilit

Flash Player 4.
Usage while(condition) { instruction(s); } Paramtres condition

Expression rvalue chaque fois que laction while est excute. Les instructions excuter si la condition est value comme true.

instruction(s) Renvoie

Rien.
Description

Instruction ; teste une expression et excute une instruction ou une srie dinstructions de manire rpte dans une boucle aussi longtemps que lexpression est true. La condition est teste avant lexcution du bloc dinstructions : si le test renvoie true, le bloc dinstructions est excut. Si la condition est false, le bloc dinstructions est ignor et la premire instruction se trouvant aprs le bloc dinstructions de laction while est excute. La boucle est souvent utilise pour rpter une action tant quune variable de compteur est infrieure une valeur spcifie. Le compteur est incrment la fin de chaque boucle, jusqu ce que la valeur spcifie soit atteinte. A ce moment-l, la condition nest plus true et la boucle se termine. Linstruction while effectue la srie dtapes suivante. Chaque rptition des tapes 14 est appele une itration de la boucle. La condition est reteste au dbut de chaque itration, comme dans les tapes suivantes :
1 Lexpression condition est value. 2 Si condition est true ou une valeur qui donne lieu par conversion la valeur boolenne true,

comme un nombre non nul, passez ltape 3. Sinon, linstruction while est termine et lexcution continue partir de linstruction qui suit la boucle while. 3 Excutez le bloc dinstructions instruction(s). 4 Passez ltape 1.
Consultez galement do while, continue, for, for..in

740

Chapitre 12 : Dictionnaire ActionScript Prsentation

with
Disponibilit

Flash Player 5.
Usage with (objet) { instruction(s); } Paramtres objet

Une occurrence dun objet ActionScript ou dun clip. Une action ou un groupe dactions renfermes dans des accolades.

instruction(s) Renvoie

Rien.
Description

Instruction : permet de spcifier un objet (un clip, par exemple) laide du paramtre object et dvaluer des expressions et des actions lintrieur de cet objet avec le paramtre instruction(s). Cela vous vite davoir rdiger de faon rpte le nom de lobjet ou le chemin de lobjet. Le paramtre object devient le contexte dans lequel les proprits, les variables et les fonctions de instruction(s) sont lues. Par exemple, si objet est mon_array et si deux des proprits spcifies sont length et concat, ces proprits sont automatiquement lues comme mon_array.length et mon_array.concat. Dans un autre exemple, si objet est state.california, les actions ou instructions au sein de laction with sont appeles depuis loccurrence california. Pour trouver la valeur dun identifiant dans le paramtre instruction(s), ActionScript dmarre au dbut de la chane de porte spcifie par objet et recherche lidentifiant chaque niveau de la chane de porte, dans un ordre spcifique. La chane de porte utilise par laction with pour traduire les identifiants commence par le premier lment de la liste suivante et continue jusquau dernier :

Lobjet spcifi dans le paramtre objet est laction with la plus intrieure. Lobjet spcifi dans le paramtre objet est laction with la plus extrieure. Lobjet Activation. Un objet temporaire cr automatiquement lorsquune fonction est appele
et qui contient les variables locales appeles dans la fonction.

Le clip contenant le script en cours dexcution. Lobjet Global (des objets intgrs tels que Math et String).
Pour dfinir une variable dans une action with, la variable doit avoir t dclare lextrieur de laction with ou vous devez entrer le chemin complet du scnario dans lequel vous souhaitez que la variable existe. Si vous dfinissez une variable dans une action with sans lavoir dclare, laction with cherche la valeur selon la chane de plage. Si la variable nexiste pas dj, la nouvelle valeur sera dfinie dans le scnario partir duquel laction with a t appele.

with

741

Dans Flash 5 ou ultrieur, laction with remplace laction tellTarget. Nous vous recommandons dutiliser with au lieu de tellTarget, tant donn quil sagit dune extension ActionScript standard de la norme ECMA-262. La principale diffrence entre les actions with et tellTarget rside dans le fait que with utilise comme paramtre une rfrence un clip ou un autre objet, tandis que tellTarget utilise une chane de chemin cible qui identifie un clip et ne peut pas tre utilise pour cibler des objets.
Exemple

Lexemple suivant dfinit les proprits _x et _y de loccurrence autre_mc et indique ensuite autre_mc datteindre limage 3 et de sarrter.
with (autre_mc) { _x = 50; _y = 100; gotoAndStop(3); }

Le fragment de code suivant montre comment vous auriez pu rdiger le code prcdent sans utiliser laction with.
autre_mc._x = 50; autre_mc._y = 100; autre_mc.gotoAndStop(3);

Vous pourriez galement rdiger ce code en utilisant laction tellTarget. Cependant, si autre_mc ntait pas un clip, mais un objet, vous ne pouvez pas utiliser laction with.
tellTarget ("autre_mc") { _x = 50; _y = 100; gotoAndStop(3); }

Laction with est utile pour accder simultanment plusieurs lments dans une liste de chanes de porte. Dans lexemple suivant, lobjet intgr Math est plac au dbut de la chane de plage. La dfinition de Math comme objet par dfaut traduit les identifiants cos, sin et PI en Math.cos, Math.sin et Math.PI, respectivement. Les identifiants a, x, y et r ne sont pas des mthodes ou des proprits de lobjet Math, mais puisquelles existent dans la plage dactivation dobjet de la fonction polaire(), elles se traduisent en variables locales correspondantes.
function polaire(r) { var a, x, y; with (Math) { a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); } trace("aire = " +a); trace("x = " + x); trace("y = " + y); }

Vous pouvez utiliser des actions with imbriques pour accder aux informations de plusieurs portes. Dans lexemple suivant, loccurrence fresno et loccurrence salinas sont les enfants de loccurrence california. Linstruction dfinit les valeurs _alpha de fresno et salinas sans changer la valeur _alpha de california.
with (california){ with (fresno){

742

Chapitre 12 : Dictionnaire ActionScript Prsentation

_alpha = 20; } with (salinas){ _alpha = 40; } } Consultez galement tellTarget

Classe XML
Disponibilit

Flash Player 5 (est devenu un objet natif dans Flash Player 6, amliorant ainsi les performances de manire significative).
Description

Utilisez les mthodes et les proprits de la classe XML pour charger, analyser, envoyer, construire et manipuler des arborescences de documents XML. Vous devez utiliser le constructeur new XML() pour crer un objet XML avant dappeler les mthodes de la classe XML. Rsum des mthodes de la classe XML
Mthode Description

XML.addRequestHeader() Ajoute ou modifie les en-ttes HTTP pour les oprations POST. XML.appendChild() XML.cloneNode()

Ajoute un nud la fin de la liste des enfants de lobjet spcifie. Clone le nud spcifi et, optionnellement, clone rcursivement tous les enfants. Cre un lment XML. Cre un nud texte XML. Renvoie le nombre doctets chargs pour le document XML spcifi. Renvoie la taille du document XML, en octets. Renvoie true si le nud spcifi a des nuds enfants ; sinon, renvoie false. Insre un nud devant un nud existant dans la liste des enfants du nud spcifie. Charge un document (spcifi par lobjet XML) depuis une URL. Analyse un document XML dans larborescence de lobjet XML spcifie. Supprime le nud spcifi de son parent. Envoie lobjet XML spcifi une URL.

XML.createElement XML.createTextNode XML.getBytesLoaded() XML.getBytesTotal() XML.hasChildNodes()

XML.insertBefore

XML.load() XML.parseXML XML.removeNode XML.send

Classe XML

743

Mthode
XML.sendAndLoad

Description Envoie lobjet XML spcifi une URL et charge la rponse du serveur dans un autre objet XML. Convertit le nud spcifi et ses enfants en texte XML.

XML.toString

Rsum des proprits de la classe XML


Proprit
XML.contentType XML.docTypeDecl

Description Indique le type MIME des donnes transmises au serveur. Dfinit et renvoie les informations relatives la dclaration DOCTYPE dun document XML. Lecture seule ; fait rfrence au premier enfant de la liste pour le nud spcifi. Lorsque true, les nuds texte qui ne contiennent que des espaces vierges sont supprims au cours de lanalyse. Fait rfrence au dernier enfant de la liste pour le nud spcifi. Lecture seule ; vrifie si lobjet XML spcifi a t charg. Lecture seule ; fait rfrence au frre suivant dans la liste pour le nud parent spcifi. Le nom de nud dun objet XML. Le type du nud spcifi (lment XML ou nud texte). Le texte du nud spcifi si le nud est un nud texte. Lecture seule ; fait rfrence au nud parent du nud spcifi. Lecture seule ; fait rfrence au frre prcdent dans la liste pour le nud parent spcifi. Un code dtat numrique indiquant le succs ou lchec dune opration danalyse dun document XML. Spcifie les informations concernant la dclaration XML dun document.

XML.firstChild

XML.ignoreWhite

XML.lastChild XML.loaded XML.nextSibling

XML.nodeName XML.nodeType XML.nodeValue XML.parentNode XML.previousSibling

XML.status

XML.xmlDecl

Rsum des collections de la classe XML


Mthode
XML.attributes

Description Renvoie un tableau associatif contenant tous les attributs du nud spcifi. Lecture seule ; renvoie un tableau contenant les rfrences aux nuds enfants du nud spcifi.

XML.childNodes

744

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des gestionnaires dvnement de la classe XML


Gestionnaire dvnement
XML.onData

Description Un gestionnaire dvnement invoqu lorsque du texte XML a t compltement tlcharg du serveur ou lorsquune erreur se produit au cours du tlchargement de texte XML depuis le serveur. Un gestionnaire dvnements qui renvoie une valeur boolenne indiquant si lobjet XML a t charg avec XML.load() ou XML.sendAndLoad().

XML.onLoad

Constructeur pour la classe XML


Disponibilit

Flash Player 5.
Usage new XML([source]) Paramtres source Renvoie

Texte XML analys pour crer le nouvel objet XML.

Rien.
Description

Constructeur ; cre un nouvel objet XML. Vous devez utiliser le constructeur pour crer un objet XML avant dappeler les mthodes de la classe XML.
Remarque : Les mthodes createElement() et createTextNode() sont les mthodes constructeur pour la cration dlments et de nuds texte dans une arborescence de documents XML. Exemple

Usage 1 : Lexemple suivant cre un nouvel objet XML vide.


mon_xml = new XML();

Usage 2 : Lexemple suivant cre construit un objet XML en analysant le texte XML spcifi dans le paramtre source et remplit lobjet XML nouvellement cr avec larborescence XML rsultante.
unAutreXML = new XML("<tat>Californie<ville>san francisco</ville></tat>"); Consultez galement XML.createElement, XML.createTextNode

XML.addRequestHeader()
Disponibilit

Flash Player 6.

XML.addRequestHeader()

745

Usage xml.addRequestHeader(nomDentete, valeurDentete) xml.addRequestHeader(["nomDentete_1", "valeurDentete_1" ... "nomDentte_n", "valeurDentte_n"]) Paramtres nomDentte

Un nom den-tte de requte HTTP. La valeur associe nomDentte.

valeurDentte Renvoie

Rien.
Description

Mthode : ajoute ou modifie les en-ttes de requte HTTP (telles que Content-type ou SOAPAction) envoys avec les actions POST. Dans la premire utilisation, vous transmettez deux chanes la mthode : nomDentte et valeurDentte. Dans la seconde utilisation, vous transmettez un tableau de chanes, alternant noms et valeurs den-ttes. Si des appels multiples sont dfinis pour un seul et mme nom den-tte, chaque valeur successive remplace la valeur dfinie dans le prcdent appel. Cette mthode ne permet pas dajouter ou de modifier les en-ttes standard HTTP suivants : Accept-Ranges, Age, Allow, Allowed, Connection, Content-Length, Content-Location, Content-Range, ETag, Host, Last-Modified, Locations, Max-Forwards, ProxyAuthenticate, Proxy-Authorization, Public, Range, Retry-After, Server, TE, Trailer, Transfer-Encoding, Upgrade, URI, Vary, Via, Warning et WWW-Authenticate.
Exemple

Cet exemple montre lajout dun en-tte HTTP personnalis nomm SOAPAction et ayant la valeur Foo un objet XML nomm mon_xml.
mon_xml.addRequestHeader("SOAPAction", "Foo");

Lexemple suivant cre un tableau nomm en-ttes contenant deux en-ttes secondaires et leurs valeurs associes. Le tableau est transmis en tant que paramtre la mthode addRequestHeader().
var en-ttes = ["Content-type", "texte/normal", "X-ClientAppVersion", "2.0"]; mon_xml.addRequestHeader(en-ttes); Voir aussi

LoadVars.addRequestHeader()

XML.appendChild()
Disponibilit

Flash Player 5.
Usage mon_xml.appendChild(nudEnfant)

746

Chapitre 12 : Dictionnaire ActionScript Prsentation

Paramtres nudEnfant Renvoie

Nud enfant ajouter la liste des enfants de lobjet XML spcifie.

Rien.
Description

Mthode : ajoute le nud enfant spcifi la fin de la liste des enfants de lobjet XML. Le nud enfant ajout est plac dans larborescence une fois supprim de son nud parent existant (sil y en a un).
Exemple

Lexemple suivant clone le dernier nud de doc1 et lajoute la fin de doc2.


doc1 = new XML(src1); doc2 = new XML(); node = doc1.lastChild.cloneNode(true); doc2.appendChild(node);

XML.attributes
Disponibilit

Flash Player 5.
Usage mon_xml.attributes Paramtres

Aucun.
Renvoie

Un tableau.
Description

Proprit : un tableau associ contenant tous les attributs de lobjet XML spcifi.
Exemple

Lexemple suivant enregistre les noms des attributs XML dans le panneau de sortie.
str = "<nom maBalise=\"Val\"> Elment </maBalise>"; doc = new XML(str); y = doc.firstChild.attributes.name; trace (y); doc.firstChild.attributes.order = "first"; z = doc.firstChild.attributes.order trace(z);

Le rsultat suivant est affich dans la fentre Sortie :


Val first

XML.attributes

747

XML.childNodes
Disponibilit

Flash Player 5.
Usage mon_xml.childNodes Paramtres

Aucun.
Renvoie

Un tableau.
Description

Proprit (lecture seule) : un tableau contenant les enfants de lobjet XML spcifi. Chaque lment du tableau est une rfrence un objet XML qui reprsente un nud enfant. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez XML.appendChild(), XML.insertBefore et XML.removeNode pour manipuler les nuds enfants. Cette proprit nest pas dfinie pour les nuds de texte (nodeType == 3).
Consultez galement XML.nodeType

XML.cloneNode()
Disponibilit

Flash Player 5.
Usage mon_xml.cloneNode(rcursivement) Paramtres rcursivement

Une valeur boolenne spcifiant si les enfants de lobjet XML spcifi sont clons rcursivement.

Renvoie

Un nud XML.
Description

Mthode : construit et renvoie un nouveau nud XML possdant les mmes type, nom, valeur et attributs que lobjet XML spcifi. Si rcursivement est dfini sur true, tous les nuds enfants sont rcursivement clons, obtenant ainsi une copie exacte de larborescence de documents de lobjet original. Le clone du nud qui est renvoy nest plus associ larborescence de llment clon. Par consquent, frreSuivant, nudParent et frrePrcdent ont tous une valeur null. Si aucune copie de clip nest ralise, premierEnfant et dernierEnfant sont galement null.

748

Chapitre 12 : Dictionnaire ActionScript Prsentation

XML.contentType
Disponibilit

Flash Player 6.
Usage mon_xml.contentType Description

Proprit : le type MIME envoy au serveur lorsque vous appelez la mthode XML.send XML.send ou XML.sendAndLoad XML.sendAndLoad. La valeur par dfaut est application/xwww-urlform-encoded.
Consultez galement XML.send, XML.sendAndLoad

XML.createElement
Disponibilit

Flash Player 5.
Usage mon_xml.createElement(nom) Paramtres nom Renvoie

Nom de balise de llment XML cr.

Un lment XML.
Description

Mthode : cre un lment XML portant le nom spcifi dans le paramtre. Le nouvel lment na, au dbut, ni parent, ni enfants, ni frres. La mthode renvoie une rfrence lobjet XML nouvellement cr reprsentant llment. Cette mthode et createTextNode sont les mthodes constructeur permettant de crer les nuds dun objet XML.

XML.createTextNode
Disponibilit

Flash Player 5.
Usage mon_xml.createTextNode(texte) Paramtres texte

Texte utilis pour crer le nouveau nud texte.

XML.createTextNode

749

Renvoie

Rien.
Description

Mthode : cre un nud texte XML avec le texte spcifi. Le nouveau nud na, au dbut, aucun parent et les nuds texte ne peuvent pas avoir denfants ou frres. Cette mthode renvoie une rfrence lobjet XML reprsentant le nouveau nud texte. Cette mthode et createElement() sont les mthodes constructeur permettant de crer les nuds dun objet XML.

XML.docTypeDecl
Disponibilit

Flash Player 5.
Usage mon_xml.XMLdocTypeDecl Description

Proprit : spcifie les informations concernant la dclaration DOCTYPE du document XML. Une fois le texte XML analys dans un objet XML, la proprit XML.docTypeDecl de lobjet XML est dfinie sur le texte de la dclaration DOCTYPE du document XML. Par exemple, <!DOCTYPE greeting SYSTEM>"Bonjour.dtd". Cette proprit est dfinie avec une reprsentation chane de la dclaration DOCTYPE et non un objet nud XML. Le programme danalyse XML dActionScript nest pas un programme danalyse de validation. La dclaration DOCTYPE est lue par le programme danalyse et stocke dans la proprit docTypeDecl, mais aucune validation DTD nest effectue. Si aucune dclaration DOCTYPE na t rencontre pendant lanalyse, XML.docTypeDecl est dfini sur undefined. XML.toString produit le contenu de XML.docTypeDecl immdiatement aprs la dclaration XML stocke dans XML.xmlDecl et avant tout autre texte dans lobjet XML. Si XML.docTypeDecl est indfini, aucune dclaration DOCTYPE nest sortie.
Exemple

Lexemple suivant utilise XML.docTypeDecl pour dfinir la dclaration DOCTYPE dun objet XML :
mon_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"Bonjour.dtd\">"; Consultez galement XML.toString, XML.xmlDecl

XML.firstChild
Disponibilit

Flash Player 5.
Usage mon_xml.firstChild

750

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Proprit (lecture seule) : value lobjet XML spcifi et fait rfrence au premier enfant de la liste des enfants du nud parent. Cette proprit est null si le nud na pas denfant. Cette proprit est undefined si le nud est un nud texte. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez les mthodes appendChild(), insertBefore() et removeNode() pour manipuler les nuds enfants.
Consultez galement XML.appendChild(), XML.insertBefore, XML.removeNode

XML.getBytesLoaded()
Disponibilit

Flash Player 6.
Usage mon_xml.getBytesLoaded() Paramtres

Aucun.
Renvoie

Un entier indiquant le nombre doctets chargs.


Description

Mthode : renvoie le nombre doctets chargs (en flux continu) pour le document XML. Vous pouvez comparer la valeur de getBytesLoaded() avec celle de getBytesTotal() pour dterminer le pourcentage dun document XML qui a t charg.
Consultez galement XML.getBytesTotal()

XML.getBytesTotal()
Disponibilit

Flash Player 6.
Usage mon_xml.getBytesTotal() Paramtres

Aucun.
Renvoie

Un entier.
Description

Mthode : renvoie la taille, en octets, du document XML spcifi.

XML.getBytesTotal()

751

Consultez galement XML.getBytesLoaded()

XML.hasChildNodes()
Disponibilit

Flash Player 5.
Usage mon_xml.hasChildNodes() Paramtres

Aucun.
Renvoie

Une valeur boolenne.


Description

Mthode : renvoie true si lobjet XML spcifi a des nuds enfants ; sinon, renvoie false.
Exemple

Lexemple suivant utilise les informations de lobjet XML dans une fonction dfinie par lutilisateur.
if (rootNode.hasChildNodes()) { maFonc (rootNode.firstChild); }

XML.ignoreWhite
Disponibilit

Flash Player 5.
Usage mon_xml.ignoreWhite = boolean XML.prototype.ignoreWhite = boolean Paramtres boolen Description

Une valeur boolenne (true ou false).

Proprit : le paramtre par dfaut est false. Lorsque true, les nuds texte qui ne contiennent que des espaces vierges sont supprims au cours de lanalyse. Les nuds de texte qui contiennent un espace vierge avant ou aprs leur nom ne sont pas affects. Usage 1 : Vous pouvez dfinir la proprit ignoreWhite pour des objets XML individuels, comme dans lexemple suivant :
mon_xml.ignoreWhite = true

752

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage 2 : Vous pouvez dfinir la proprit ignoreWhite pour des objets XML individuels, comme dans lexemple suivant :
XML.prototype.ignoreWhite = true

XML.insertBefore
Disponibilit

Flash Player 5.
Usage mon_xml.insertBefore(nudEnfant, nudAvant) Paramtres nudEnfant nudAvant Renvoie

Le nud insrer. Le nud avant le point dinsertion de nudEnfant.

Rien.
Description

Mthode : insre un nouveau nud enfant dans la liste des enfants de lobjet XML, avant le nud nudAvant. Si le paramtre nudAvant est indfini ou null, le nud est ajout laide de appendChild(). Si nudAvant nest pas un enfant de mon_xml, linsertion choue.

XML.lastChild
Disponibilit

Flash Player 5.
Usage mon_xml.lastChild Description

Proprit (lecture seule) : value lobjet XML et fait rfrence au dernier enfant de la liste des enfants du nud parent. Cette mthode renvoie null si le nud ne possde pas denfants. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez les mthodes appendChild(), insertBefore() et removeNode() pour manipuler les nuds enfants.
Consultez galement XML.appendChild(), XML.insertBefore, XML.removeNode

XML.load()
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.

XML.load()

753

Usage mon_xml.load(url) Paramtres url LURL o se trouve le document XML charger. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous. Renvoie

Rien.
Description

Mthode : charge un document XML depuis lURL spcifie et remplace le contenu de lobjet XML spcifi par les donnes XML tlcharges. LURL est relative et est appele via HTTP. Le processus de chargement est asynchrone et ne se termine pas immdiatement aprs lexcution de la mthode load(). Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com. Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Lorsque la mthode load() est excute, la proprit loaded de lobjet XML est dfinie sur la valeur false. Lorsque le tlchargement des donnes XML est termin, la proprit loaded est dfinie sur la valeur true et la mthode onLoad() est invoque. Les donnes XML ne sont pas analyses avant le tlchargement complet. Si lobjet XML contenait auparavant des arborescences XML, elles sont supprimes. Vous pouvez spcifier votre propre gestionnaire dvnements la place de la mthode onLoad().
Exemple

Lexemple suivant illustre lutilisation de XML.load() :


doc = new XML(); doc.load ("leFichier.xml"); Consultez galement XML.loaded, XML.onLoad

XML.loaded
Disponibilit

Flash Player 5.

754

Chapitre 12 : Dictionnaire ActionScript Prsentation

Usage mon_xml.loaded Description

Proprit (lecture seule) : dtermine si le processus de chargement du document initi par lappel XML.load() est achev. Si le processus sest achev avec succs, la mthode renvoie true ; sinon, elle renvoie false.
Exemple

Lexemple suivant utilise XML.loaded dans un script simple.


if (doc.loaded) { gotoAndPlay(4); }

XML.nextSibling
Disponibilit

Flash Player 5.
Usage mon_xml.nextSibling Description

Proprit (lecture seule) : value lobjet XML et fait rfrence au frre suivant dans la liste des enfants du nud parent. Cette mthode renvoie null si le nud ne possde pas un nud frre suivant. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez les mthodes appendChild(), insertBefore() et removeNode() pour manipuler les nuds enfants.
Consultez galement XML.appendChild(), XML.insertBefore, XML.removeNode

XML.nodeName
Disponibilit

Flash Player 5.
Usage mon_xml.nodeName Description

Proprit : renvoie le nom du nud de lobjet XML. Si lobjet XML est un lment XML (nodeType == 1), nodeName est le nom de la balise reprsentant le nud dans le fichier XML. Par exemple, TITLE est le nom de nud dune balise HTML TITLE. Si lobjet XML est un nud texte (nodeType == 3), le nodeName est null.
Consultez galement XML.nodeType

XML.nodeName

755

XML.nodeType
Disponibilit

Flash Player 5.
Usage mon_xml.nodeType Description

Proprit (lecture seule) : prend ou renvoie une valeur nodeType, avec 1 pour un lment XML et 3 pour un nud texte.
Consultez galement XML.nodeValue

XML.nodeValue
Disponibilit

Flash Player 5.
Usage mon_xml.nodeValue Description

Proprit : renvoie la valeur du nud de lobjet XML. Si lobjet XML est un nud texte, nodeType est 3 et nodeValue est le texte du nud. Si lobjet XML est un lment XML (nodeType == 1), nodeValue est null et est en lecture seule.
Consultez galement XML.nodeType

XML.onData
Disponibilit

Flash Player 5
Usage mon_xml.onData = function(src) { // vos instructions } Paramtres src Renvoie

Donnes brutes, gnralement au format XML, transmises par le serveur.

Rien.

756

Chapitre 12 : Dictionnaire ActionScript Prsentation

Description

Gestionnaire dvnement : invoqu lorsque du texte XML a t compltement tlcharg du serveur ou lorsquune erreur se produit au cours de ce tlchargement. Ce gestionnaire est invoqu avant lanalyse du code XML et, par consquent, peut tre utilis pour appeler une routine danalyse personnalise au lieu dutiliser le programme danalyse XML de Flash. La mthode XML.onData renvoie soit la valeur undefined, soit une chane contenant du texte XML tlcharg partir du serveur. Si la valeur renvoye est undefined, une erreur a eu lieu pendant le tlchargement du XML partir du serveur. Par dfaut, la mthode XML.onData invoque XML.onLoad. Vous pouvez annuler la mthode XML.onData en utilisant votre propre comportement, XML.onLoad ntant plus appel si vous nappelez pas votre propre implmentation de XML.onData.
Exemple

Lexemple suivant montre quoi ressemble la mthode onData par dfaut :


XML.prototype.onData = function (src) { if (src == undefined) { this.onLoad(false); } else { this.parseXML(src); this.loaded = true; this.onLoad(true); } }

La mthode XML.onData peut tre supplante pour intercepter le texte XML sans lanalyser.

XML.onLoad
Disponibilit

Flash Player 5.
Usage mon_xml.onLoad = function (succs) { //vos instructions ici } Paramtres succs Une valeur boolenne indiquant si un objet XML a t charg avec succs par une opration XML.load() ou XML.sendAndLoad. Renvoie

Rien.
Description

Gestionnaire dvnements : appel par Flash Player lorsquun document XML est reu du serveur. Si le document XML est reu avec succs, le paramtre succs est true. Si le document na pas t reu, ou si une erreur est survenue lors de la rception de la rponse du serveur, le paramtre success est false. Limplmentation par dfaut de cette mthode nest pas active. Pour avoir la priorit sur limplmentation par dfaut, vous devez affecter une fonction contenant vos propres actions.

XML.onLoad

757

Exemple

Lexemple suivant cre un fichier SWF pour une application dinterface de commerce lectronique basique. La mthode sendAndLoad() transmet un lment XML contenant le nom et le mot de passe de lutilisateur et installe un gestionnaire onLoad pour traiter la rponse du serveur.
function monOnLoad(succs) { if (succs) { if (e.firstChild.nodeName == "REPONSELOGIN_xml" && e.firstChild.attributes.status == "OK") { gotoAndPlay("connect") } else { gotoAndStop("checDuLogin") } } else { gotoAndStop("checDeLaConnexion") } } var maRponseLogin_xml = new XML(); maRponseLogin_xml.onLoad = myOnLoad; mon_xml.sendAndLoad("http://www.exemple.fr/login.cgi", maRponseLogin_xml); Consultez galement function, XML.load(), XML.sendAndLoad

XML.parentNode
Disponibilit

Flash Player 5.
Usage mon_xml.parentNode Description

Proprit (lecture seule) : fait rfrence au nud parent de lobjet XML spcifi ou renvoie null si le nud na pas de parent. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez les mthodes appendChild(), insertBefore() et removeNode() pour manipuler les nuds enfants.

XML.parseXML
Disponibilit

Flash Player 5.
Usage mon_xml.parseXML(source) Paramtres source

Texte XML analyser et transmettre lobjet XML spcifi.

758

Chapitre 12 : Dictionnaire ActionScript Prsentation

Renvoie

Rien.
Description

Mthode : analyse le texte XML spcifi dans le paramtre source et remplit lobjet XML spcifi avec larborescence XML rsultante. Toutes les arborescences existantes dans lobjet XML sont supprimes.

XML.previousSibling
Disponibilit

Flash Player 5.
Usage mon_xml.previousSibling Description

Proprit (lecture seule) : renvoie une rfrence au frre prcdent dans la liste des enfants du nud parent. La valeur de cette proprit est null si le nud na pas de nud frre prcdent. Cette proprit est en lecture seule et ne peut pas tre utilise pour manipuler des nuds enfants. Utilisez XML.appendChild(), XML.insertBefore et XML.removeNode pour manipuler les nuds enfants.

XML.removeNode
Disponibilit

Flash Player 5.
Usage mon_xml.removeNode() Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : supprime lobjet XML spcifi de son parent. Tous les descendants du nud sont galement supprims.

XML.send
Disponibilit

Flash Player 5.
Usage mon_xml.send(url, [fentre])

XML.send

759

Paramtres url

URL de destination de lobjet XML spcifi.

fentre Fentre du navigateur affichant les donnes renvoyes par le serveur : _self spcifie limage courante dans la fentre courante, _blank spcifie une nouvelle fentre, _parent spcifie le parent de limage courante et _top spcifie limage de premier niveau dans la fentre courante. Ce paramtre est facultatif ; si aucun paramtre fentre nest spcifi, cela revient spcifier _self. Renvoie

Rien.
Description

Mthode : code lobjet XML spcifi en un document XML et lenvoie lURL spcifie en utilisant la mthode POST.

XML.sendAndLoad
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.


Usage mon_xml.sendAndLoad(url,objetXMLcible) Paramtres url URL de destination de lobjet XML spcifi. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous. objetXMLcible Un objet XML cr avec la mthode constructeur XML et charg de recevoir les informations renvoyes par le serveur. Renvoie

Rien.
Description

Mthode : code lobjet XML spcifi en un document XML, lenvoie lURL spcifie en utilisant la mthode POST, tlcharge la rponse du serveur, puis la charge dans objetXMLcible spcifi dans les paramtres. La rponse du serveur est charge de la mme manire quavec la mthode load(). Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com.

760

Chapitre 12 : Dictionnaire ActionScript Prsentation

Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF ladresse www.Domaine.com peut uniquement charger des variables de fichiers SWF galement ladresse www.Domaine.com. Si vous souhaitez charger des variables dun autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF auquel vous accdez actuellement. Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Lorsque la mthode load() est excute, la proprit loaded de lobjet XML est dfinie sur la valeur false. Lorsque le tlchargement des donnes XML est termin, la proprit loaded est dfinie sur la valeur true et la mthode onLoad() est invoque. Les donnes XML ne sont pas analyses avant le tlchargement complet. Si lobjet XML contenait auparavant des arborescences XML, elles sont supprimes.
Consultez galement XML.load()

XML.status
Disponibilit

Flash Player 5.
Usage mon_xml.status Description

Proprit : dfinit et renvoie automatiquement une valeur numrique indiquant si un document XML a t analys avec succs dans un objet XML. Les codes dtat numriques et leur description sont indiqus comme suit :

0 Aucune erreur ; analyse acheve avec succs. -2 Une section CDATA na pas t correctement acheve. -3 La dclaration XML nest pas correctement termine. -4 La dclaration DOCTYPE nest pas correctement termine. -5 Un commentaire nest pas correctement termin. -6 Un lment XML nest pas correctement form. -7 Mmoire disponible insuffisante. -8 Une valeur dattribut nest pas correctement termine. -9 Une balise de dbut na pas de balise de fin. -10 Une balise de fin a t rencontre sans balise de dbut correspondante.

XML.toString
Disponibilit

Flash Player 5.
Usage mon_xml.toString()

XML.toString

761

Paramtres

Aucun.
Renvoie

Une chane.
Description

Mthode : value lobjet XML spcifi, construit une reprsentation textuelle de la structure XML en incluant le nud, les enfants et les attributs et renvoie le rsultat sous la forme dune chane. Pour les objets XML de haut niveau (ceux crs avec le constructeur), XML.toString produit la dclaration XML du document (stocke dans XML.xmlDecl), suivie de la dclaration DOCTYPE du document (stocke dans XML.docTypeDecl), suivie de la reprsentation textuelle de tous les nuds XML de lobjet. La dclaration XML nest pas produite si XML.xmlDecl est indfini. La dclaration DOCTYPE nest pas produite si XML.docTypeDecl est indfini.
Exemple

Le code suivant est un exemple de XML.toString() qui envoie <h1>test</h1> la fentre Sortie.
node = new XML("<h1>test</h1>"); trace(node.toString()); Consultez galement XML.docTypeDecl, XML.xmlDecl

XML.xmlDecl
Disponibilit

Flash Player 5.
Usage mon_xml.xmlDecl Description

Proprit : spcifie les informations concernant la dclaration XML dun document. Une fois le document XML analys dans un objet XML, cette proprit est dfinie avec le texte de la dclaration XML du document. Cette proprit est dfinie avec une reprsentation chane de la dclaration XML et non un objet nud XML. Si aucune dclaration XML na t rencontre pendant lanalyse, la proprit est dfinie sur undefined.XML. La mthode XML.toString() produit le contenu de XML.xmlDecl avant tout autre texte dans lobjet XML. Si XML.xmlDecl contient le type undefined, aucune dclaration XML nest produite.
Exemple

Lexemple suivant utilise XML.xmlDecl pour dfinir la dclaration XML pour un objet XML.
mon_xml.xmlDecl = "<?xml version=\"1.0\" ?>";

Lexemple suivant illustre une dclaration XML :


<?xml version="1.0" ?>

762

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement XML.docTypeDecl, XML.toString

Classe XMLNode
Disponibilit

Flash Player 5.
Description

La classe XMLnode supporte les proprits, mthodes et collections suivantes. Pour plus dinformations sur leur utilisation, consultez les entres correspondantes de la classe XML.
Proprit, mthode ou collection
appendChild() attributes childNodes cloneNode() firstChild hasChildNodes() insertBefore() lastChild nextSibling nodeName nodeType nodeValue parentNode previousSibling removeNode() toString()

Entre de la classe XML correspondante


XML.appendChild() XML.attributes XML.childNodes XML.cloneNode() XML.firstChild XML.hasChildNodes() XML.insertBefore XML.lastChild XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue XML.parentNode XML.previousSibling XML.removeNode XML.toString

Consultez galement

Classe XML

Classe XMLSocket
Disponibilit

Flash Player 5.

Classe XMLSocket

763

Description

Lobjet XMLSocket implmente les sockets clients qui permettent lordinateur de lancer Flash Player pour communiquer avec un ordinateur serveur identifi par une adresse IP ou un nom de domaine. La classe XMLSocket sutilise dans les applications client-serveur ncessitant un faible dlai (par exemple, des systmes de conversation en ligne en temps rel). Une solution de dialogue en ligne traditionnelle base sur HTTP interroge frquemment le serveur et tlcharge les nouveaux messages laide dune requte HTTP. A linverse, une solution de dialogue en ligne XMLSocket maintient une connexion ouverte avec le serveur, ce qui permet au serveur denvoyer immdiatement les messages entrants sans que le client en fasse la requte. Pour utiliser la classe XMLSocket, le serveur doit excuter un dmon comprenant le protocole utilis par la classe XMLSocket. Ce protocole est le suivant :

Les messages XML sont envoys sur une connexion socket TCP/IP continue en duplex
intgral.

Chaque message XML est un document XML complet, termin par un octet zro. Un nombre illimit de messages XML peut tre envoy et reu sur une seule connexion
XMLSocket. Les restrictions suivantes sappliquent lemplacement et la procdure de connexion dun objet XMLSocket au serveur :

La mthode XMLSocket.connect() permet uniquement la connexion aux numros de port


TCP suprieurs ou gaux 1024. Ds lors, les dmons communiquant avec lobjet XMLSocket doivent galement tre affects des numros de port suprieurs ou gaux 1024. Les numros de port infrieurs 1024 sont souvent utiliss par des services systme (FTP, Telnet ou HTTP), interdisant ainsi laccs ces ports aux objets XMLSocket. La restriction du numro de port limite les possibilits daccs inappropris et abusifs ces ressources. La mthode XMLSocket.connect() ne peut se connecter qu des ordinateurs du mme domaine que celui o rside le fichier SWF. Cette restriction ne sapplique pas aux fichiers SWF excuts sur un disque local. Elle est identique aux rgles de scurit de loadVariables(), XML.sendAndLoad() et XML.load(). Pour vous connecter un dmon de serveur qui sexcute dans un domaine autre que celui o rside le fichier SWF, vous pouvez crer un fichier de rgulation de scurit sur le serveur qui autorise laccs partir de domaines spcifiques. Pour plus dinformations sur la cration dun fichier de rgulation pour les connexions XMLSocket consultez A propos de lautorisation de chargement de donnes interdomaines, page 198.

Le paramtrage dun serveur pour communiquer avec lobjet XMLSocket peut tre un vritable dfi. Si votre application ne ncessite pas une interactivit en temps rel, utilisez laction loadVariables() ou les connexions serveur XML bases sur HTTP de Flash (XML.load(), XML.sendAndLoad(), XML.send()), la place de la classe XMLSocket.
XMLSocket,

Pour utiliser les mthodes de la classe XMLSocket, vous devez dabord utiliser le constructeur, new pour crer un objet XMLSocket.

764

Chapitre 12 : Dictionnaire ActionScript Prsentation

Rsum des mthodes de la classe XMLSocket


Mthode
XMLSocket.close XMLSocket.connect XMLSocket.send

Description Ferme une connexion socket ouverte. Etablit une connexion avec le serveur spcifi. Envoie un objet XML au serveur.

Rsum des gestionnaires dvnement de la classe XMLSocket


Gestionnaire dvnement
XMLSocket.onClose

Description Un gestionnaire dvnements invoqu lorsquune connexion XMLSocket est ferme. Un gestionnaire dvnements invoqu par Flash Player lorsquune requte de connexion initialise via XMLSocket.connect() russit ou choue. tlcharg depuis le serveur.

XMLSocket.onConnect

XMLSocketXML.onData() Un gestionnaire dvnements invoqu lorsquun message XML est

XMLSocket.onXML

Un gestionnaire dvnements invoqu lorsquun objet XML arrive depuis le serveur.

Constructeur pour la classe XMLSocket


Disponibilit

Flash Player 5.
Usage new XMLSocket() Paramtres

Aucun.
Renvoie

Rien.
Description

Constructeur ; cre un nouvel objet XMLSocket. Lobjet XMLSocket nest pas initialement connect un serveur. Vous devez appeler XMLSocket.connect pour connecter lobjet au serveur.

XMLSocket.close
Disponibilit

Flash Player 5.
Usage monSocketXML.close()

XMLSocket.close

765

Paramtres

Aucun.
Renvoie

Rien.
Description

Mthode : ferme la connexion spcifie par lobjet XMLSocket.


Consultez galement XMLSocket.connect

XMLSocket.connect
Disponibilit

Flash Player 5 ; comportement mis jour dans Flash Player 7.


Usage monSocketXML.connect(hte, port) Paramtres hte

Un nom de domaine DNS pleinement qualifi ou une adresse IP au format aaa.bbb.ccc.ddd. Vous pouvez galement spcifier null pour tablir une connexion au serveur hte du fichier SWF. Si le fichier SWF rsultant de cet appel est ouvert dans un navigateur web, lurl doit tre du mme domaine que le fichier SWF ; pour plus de dtails, consultez la description ci-dessous.
port

Le numro du port TCP de lhte utilis pour tablir une connexion. Le numro de port doit tre suprieur ou gal 1024.

Renvoie

Une valeur boolenne.


Description

Mthode : tablit une connexion avec lhte Internet spcifi en utilisant le port TCP spcifi (suprieur ou gal 1024) et renvoie true ou false selon que la connexion a t tablie ou non avec succs. Contactez ladministrateur de votre rseau si vous ne connaissez pas le numro du port de votre machine hte Internet. Si vous spcifiez null pour le paramtre hte, lhte du fichier SWF qui appelle XMLSocket.connect() est contact. Par exemple, si le fichier SWF a t tlcharg de ladresse http://www.monSite.fr, la spcification de null pour le paramtre dhte revient entrer ladresse IP de www.monSite.fr. Dans des fichiers SWF excuts dans une version du lecteur antrieure Flash Player 7, lurl doit tre du mme super-domaine que le fichier SWF rsultant de cet appel. Par exemple, un fichier SWF ladresse www.Domaine.com peut charger des variables dun fichier SWF ladresse store.Domaine.com car les deux fichiers sont du mme super-domaine de Domaine.com.

766

Chapitre 12 : Dictionnaire ActionScript Prsentation

Dans des fichiers SWF dune quelconque version excute dans Flash Player 7 ou ultrieur, lurl doit tre exactement du mme domaine (consultez Fonctions de scurit de Flash Player, page 196). Par exemple, un fichier SWF hberg par www.DomaineX.com peut uniquement charger des variables partir des fichiers SWF se trouvant sur www.DomainX.com. Pour charger des variables depuis un autre domaine, vous pouvez placer un fichier de rgulation inter-domaines sur le serveur hbergeant le fichier SWF en cours daccs (ce dernier doit tre plac sur le serveur HTTP, sur le port 80, dans le mme domaine que le serveur de socket). Pour plus dinformations, consultez A propos de lautorisation de chargement de donnes inter-domaines, page 198. Lorsque la mthode load() est excute, la proprit loaded de lobjet XML est dfinie sur la valeur false. Lorsque le tlchargement des donnes XML est termin, la proprit loaded est dfinie sur la valeur true et la mthode onLoad() est invoque. Les donnes XML ne sont pas analyses avant le tlchargement complet. Si lobjet XML contenait auparavant des arborescences XML, elles sont supprimes. Si XMLSocket.connect() renvoie la valeur true, la premire tape du processus de connexion est un succs ; la mthode XMLSocket.onConnect est invoque plus tard pour dterminer si la connexion finale a russi ou a chou. Si XMLSocket.connect() renvoie false, la connexion na pas pu tre tablie.
Exemple

Lexemple suivant utilise XMLSocket.connect() pour tablir une connexion lhte du fichier SWF et utilise trace pour afficher la valeur renvoye indiquant le succs ou lchec de la connexion.
function maOnConnect(succs) { if (succs) { trace ("Connexion russie !") } else { trace ("Echec de la connexion !") } } socket = new XMLSocket() socket.onConnect = maOnConnect if (!socket.connect(null, 2000)) { trace ("Echec de la connexion !") } Consultez galement function, XMLSocket.onConnect

XMLSocket.onClose
Disponibilit

Flash Player 5.
Usage maXMLSocket.onClose() = function() { // vos instructions } Paramtres

Aucun.

XMLSocket.onClose

767

Renvoie

Rien.
Description

Gestionnaire dvnements : invoqu uniquement lorsquune connexion ouverte est ferme par le serveur. Limplmentation par dfaut de cette mthode neffectue aucune action. Pour avoir la priorit sur limplmentation par dfaut, vous devez affecter une fonction contenant vos propres actions.
Consultez galement function, XMLSocket.onConnect

XMLSocket.onConnect
Disponibilit

Flash Player 5.
Usage monSocketXML.onConnect(succs) // vos instructions } Paramtres succs Une valeur boolenne indiquant si une connexion socket a t tablie avec succs (true ou false). Renvoie

Rien.
Description

Gestionnaire dvnements : invoqu par Flash Player lorsquune requte de connexion initialise via XMLSocket.connect russit ou choue. Si la connexion russit, le paramtre succs est true ; sinon, le paramtre succs est false. Limplmentation par dfaut de cette mthode neffectue aucune action. Pour avoir la priorit sur limplmentation par dfaut, vous devez affecter une fonction contenant vos propres actions.
Exemple

Lexemple suivant illustre le processus de spcification dune fonction de remplacement pour la mthode onConnect dans une simple application de dialogue en ligne. La fonction contrle lcran auquel les utilisateurs sont dirigs selon que la connexion a t tablie avec succs ou non. Si la connexion est tablie avec succs, les utilisateurs sont dirigs vers lcran de dialogue principal de limage nomme dbutDiscussion. Si la connexion est un chec, les utilisateurs sont dirigs vers un cran dinformations de dpannage dans limage nomme connectionFailed.
function maOnConnect(succs) { if (succs) { gotoAndPlay("dbutDiscussion") } else {

768

Chapitre 12 : Dictionnaire ActionScript Prsentation

gotoAndStop("checDeLaConnexion") } }

Une fois lobjet XMLSocket cr laide de la mthode constructeur, le script installe la mthode onConnect en utilisant loprateur daffectation :
socket = new XMLSocket() socket.onConnect = maOnConnect

Pour finir, la connexion est initie. Si connect() renvoie false, le fichier SWF est envoy directement vers limage nomme EchecDeLaConnexion et onConnect nest jamais invoqu. Si connect() renvoie true, le fichier SWF est envoy vers une image appele attenteDeConnexion, qui correspond lcran affichant un message dattente. Le fichier SWF reste sur limage attenteDeConnexion jusqu ce que le gestionnaire onConnect soit invoqu, ce qui arrive un moment ultrieur, selon le dlai dattente du rseau.
if (!socket.connect(null, 2000)) { gotoAndStop("checDeLaConnexion") } else { gotoAndStop("attenteDeConnexion") } Consultez galement function, XMLSocket.connect

XMLSocketXML.onData()
Disponibilit

Flash Player 5.
Usage XMLSocket.onData = function(src) { // vos instructions } Paramtres src Renvoie

Une chane contenant les donnes envoyes par le serveur.

Rien.
Description

Gestionnaire dvnement : invoqu lorsquun message XML a t tlcharg du serveur, termin par un octet zro. Vous pouvez passer outre XMLSocket.onData pour intercepter les donnes envoyes par le serveur sans les analyser au format XML. Cette opration est utile si vous transfrez des paquets de donnes formats arbitrairement et que vous souhaitez manipuler les donnes directement lors de leur rception, sans que Flash Player ne les analyse au format XML. Par dfaut, la mthode XMLSocket.onData invoque la mthode XMLSocket.onXML. Si vous annulez XMLSocket.onData en utilisant votre propre comportement, XMLSocket.onXML nest plus appel si vous nappelez pas votre propre implmentation de XMLSocket.onData.
XMLSocket.prototype.onData = function (src) {

XMLSocketXML.onData()

769

this.onXML(new XML(src)); }

Dans lexemple ci-dessus, le paramtre src est une chane XML contenant du texte rcupr du serveur. La terminaison octet zro nest pas incluse dans la chane.

XMLSocket.onXML
Disponibilit

Flash Player 5.
Usage maXMLSocket.onXML(objet) = function() { // vos instructions } Paramtre objet Renvoie

Un objet XML contenant un document XML analys reu dun serveur.

Rien.
Description

Gestionnaire dvnements : invoqu par Flash Player lorsque lobjet XML spcifi contenant un document XML arrive sur une connexion XMLSocket ouverte. Une connexion XMLSocket peut tre utilise pour transfrer un nombre illimit de documents XML entre le client et le serveur. Chaque document est termin par un octet zro. Lorsque Flash Player reoit loctet zro, il analyse tout le code XML reu depuis loctet zro prcdent ou depuis que la connexion a t tablie, sil sagit du premier message reu. Chaque lot de code XML analys est trait comme un seul document XML et transmis la mthode onXML. Limplmentation par dfaut de cette mthode neffectue aucune action. Pour annuler limplmentation par dfaut, vous devez affecter une fonction contenant vos propres actions.
Exemple

La fonction suivante prend la priorit sur limplmentation par dfaut de la mthode onXML dans une simple application de dialogue en ligne. La fonction myOnXML indique lapplication de dialogue en ligne de reconnatre un seul lment XML, MESSAGE, au format suivant :
<MESSAGE USER="John" TEXT="Bonjour, je mappelle John !" />.

Le gestionnaire onXML doit dabord tre install dans lobjet XMLSocket de la faon suivante :
socket.onXML = myOnXML;

La fonction displayMessage() est considre comme tant dfinie par lutilisateur et affichant le message reu par lutilisateur.
function monOnXML(doc) { var e = doc.firstChild; if (e != null && e.nodeName == "MESSAGE") { afficherMessage(e.attributes.user, e.attributes.text); } }

770

Chapitre 12 : Dictionnaire ActionScript Prsentation

Consultez galement function

XMLSocket.send
Disponibilit

Flash Player 5.
Usage monSocketXML.send(objet) Paramtres objet Renvoie

Objet XML ou autres donnes transmettre au serveur.

Rien.
Description

Mthode : convertit lobjet XML ou les donnes spcifis dans lobjet objet en chane et la transmet au serveur, suivie dun octet zro. Si objet est un objet XML, la chane est la reprsentation textuelle XML de lobjet XML. Lopration denvoi est asynchrone ; les rsultats sont renvoys immdiatement, mais les donnes peuvent tre transmises plus tard. La mthode XMLSocket.send() ne renvoie pas de valeur indiquant si les donnes ont t transmises. Si lobjet monSocketXML nest XMLSocket.send() choue.
Exemple

pas connect au serveur (avec XMLSocket.connect), lopration

Lexemple suivant illustre comment spcifier un nom dutilisateur et un mot de passe pour envoyer lobjet XML mon_xml au serveur :
var mon_xml = new XML(); var monLogin = mon_xml.createElement("login"); monLogin.attributes.nomDutilisateur = champDeTexteNomDutilisateur; monLogin.attributes.motDePasse = champDeTexteNomMotDePasse; mon_xml.appendChild(myLogin); monXMLSocket.send(mon_xml); Consultez galement XMLSocket.connect

XMLSocket.send

771

772

Chapitre 12 : Dictionnaire ActionScript Prsentation

ANNEXE A Messages derreur

Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004 proposent des fonctions avances de signalisation derreur de compilation si vous spcifiez ActionScript2.0 (valeur par dfaut) lorsque vous publiez un fichier. Le tableau suivant contient la liste des messages derreur que le compilateur Flash est susceptible de gnrer.
Numro de lerreur 1093 1094 1095 1096 1097 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 Texte du message Un nom de classe tait attendu. Un nom de classe de base est attendu aprs le mot-cl extends. Utilisation incorrecte dun attribut de membre. Impossible dutiliser un nom de membre plusieurs fois. Toutes les fonctions de membre doivent avoir des noms. Cette instruction est interdite dans une dfinition de classe. Une classe ou une interface de ce nom est dj dfinie. Incompatibilit de types. Il nexiste aucune classe nomme <nomClasse>. Il nexiste aucune proprit nomme <nomPropriete>. Un appel de fonction pour un lment autre quune fonction a t tent. Incompatibilit de types dans linstruction daffectation : [lhs-type] dtect au lieu de [rhs-type]. Le membre est priv : accs impossible. Dclarations de variables interdites dans les interfaces. Dclarations dvnements interdites dans les interfaces. Dclarations de lecture/dfinitions interdites dans les interfaces. Membres privs interdits dans les interfaces. Corps de fonctions interdits dans les interfaces. Une classe ne peut pas stendre.

773

Numro de lerreur 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140

Texte du message Une interface ne peut pas stendre. Aucune interface de ce nom nest dfinie. Une classe ne peut pas tendre une interface. Une interface ne peut pas tendre une classe. Un nom dinterface est attendu aprs le mot-cl implements. Une classe ne peut pas implmenter une autre classe, mais uniquement des interfaces. La classe doit implmenter la mthode nomMethode depuis linterface nomInterface. La mise en uvre dune mthode dinterface doit tre une mthode et non une proprit. Une classe ne peut pas tendre la mme interface plusieurs fois. La mise en uvre de la mthode dinterface ne correspond pas sa dfinition. Cet lment est disponible uniquement dans ActionScript 1.0. Cet lment est disponible uniquement dans ActionScript 2.0. Membres statiques interdits dans les interfaces. Lexpression renvoye doit correspondre au type de renvoi de la fonction. Une instruction RETURN est requise dans cette fonction. Attribut utilis en dehors de la classe. Une fonction dont le type de renvoi est Void ne renvoie aucune valeur. La clause extends doit prcder la clause implements. Un identifiant de type est attendu aprs :. Les interfaces doivent utiliser le mot-cl extends, et non pas implements. Une classe ne peut pas tendre plus dune classe. Une interface ne peut pas tendre plus dune interface. La mthode nomme <nomMethode> nexiste pas. Instruction interdite dans une dfinition dinterface. Une fonction set requiert un seul paramtre. Une fonction get ne requiert aucun paramtre. Les classes ne peuvent tre dfinies que dans des scripts de classe ActionScript 2.0 externes. Les scripts de classe ActionScript 2.0 peuvent dfinir uniquement des lments de classe ou dinterface.

774

Annexe A : Messages derreur

Numro de lerreur 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168

Texte du message Le nom de cette classe, <A.B.C>, nest pas compatible avec le nom dune autre classe charge, <A.B>. Impossible de charger la classe <nomClasse>. Les interfaces ne peuvent tre dfinies que dans des scripts de classe ActionScript 2.0 externes. Il est impossible daccder aux variables doccurrence dans des fonctions statiques. Impossible dimbriquer les dfinitions de classe et dinterface. La proprit rfrence ne contient aucun attribut statique. Lappel de loprateur de superclasse ne correspond pas au superconstructeur. Seul lattribut public est autoris pour les mthodes dinterface. Impossible dutiliser le mot-cl import en tant que directive. Vous devez exporter votre animation au format Flash 7 pour utiliser cette action. Vous devez exporter votre animation au format Flash 7 pour utiliser cette expression. Cette clause dexception nest pas place correctement. Une classe doit comporter un seul constructeur. Un constructeur ne peut pas renvoyer de valeur. Un constructeur ne peut pas spcifier de type de renvoi. Une variable ne peut pas tre de type Void. Un paramtre de fonction ne peut pas tre de type Void. Accs aux membres statiques uniquement via les classes. Plusieurs interfaces mises en uvre contiennent la mme mthode avec des types diffrents. Une classe ou une interface de ce nom existe dj. Impossible de supprimer les classes, les interfaces et les types intgrs. Il nexiste aucune classe de ce nom. Le mot-cl <mot-cle> est rserv une utilisation avec ActionScript 2.0 et ne peut pas tre utilis ici. La dfinition de lattribut personnalis nest pas termine. Une seule classe ou interface peut tre dfinie par fichier .as ActionScript 2.0. La classe en cours de compilation, <A.b>, ne correspond pas la classe importe, <A.B>. Vous devez indiquer un nom de classe. Le nom de classe que vous avez entr prsente une erreur de syntaxe.

775

Numro de lerreur 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195

Texte du message Le nom dinterface que vous avez entr prsente une erreur de syntaxe. Le nom de classe de base que vous avez entr prsente une erreur de syntaxe. Le nom dinterface de base que vous avez entr prsente une erreur de syntaxe. Vous devez indiquer un nom dinterface. Vous devez indiquer un nom de classe ou dinterface. Le nom de classe ou dinterface que vous avez entr prsente une erreur de syntaxe. variable nest pas accessible dans cette tendue. Plusieurs occurrences de lattribut get/set/private/public/static ont t trouves. Un attribut de classe a t utilis de manire incorrecte. Les variables et les fonctions doccurrence ne peuvent pas tre utilises pour linitialisation de variables statiques. Des circularits dexcution ont t dtectes entre les classes suivantes :%1 La version Flash Player cible ne prend pas en charge le dbogage. La version Flash Player cible ne prend pas en charge lvnement releaseOutside. La version Flash Player cible ne prend pas en charge lvnement dragOver. La version Flash Player cible ne prend pas en charge lvnement dragOut. La version Flash Player cible ne prend pas en charge les actions de dplacement. La version Flash Player cible ne prend pas en charge laction loadMovie. La version Flash Player cible ne prend pas en charge laction getURL. La version Flash Player cible ne prend pas en charge laction FSCommand. Les instructions dimportation ne sont pas autorises dans les dfinitions de classe ou dinterface. La classe <A.B> ne peut pas tre importe, car son nom de feuille est dj en cours de rsolution dans la classe en cours de dfinition, <C.B>. La classe <A.B> ne peut pas tre importe, car son nom de feuille est dj en cours de rsolution dans la classe importe <C.B>. Les variables doccurrence dune classe peuvent tre initialises uniquement dans des expressions constantes de compilation. Les fonctions des membres de classe ne peuvent pas porter le mme nom quune fonction de constructeur de superclasse. Le nom de la classe, <nomClasse>, est en conflit avec le nom dune autre classe charge. Le corps dun constructeur doit dabord contenir un appel au superconstructeur. Lidentifiant <nomClasse> nest pas rsolu dans un objet intgr <nomClasse> lors de lexcution.

776

Annexe A : Messages derreur

Numro de lerreur 1196 1197 1198

Texte du message La classe <A.B.nomClasse> doit tre dfinie dans un fichier dont le chemin daccs relatif est <A.B>. Le caractre gnrique * est utilis de manire incorrecte dans le nom de classe <nomClasse>. La fonction de membre <nomClasse> a une casse diffrente de celle du nom de la classe en cours de dfinition, <nomClasse>, et ne sera pas traite en tant que constructeur de classe lexcution. Le seul type ditrateur de boucle for-in accept est le type Chane. Une fonction de dfinition ne peut pas renvoyer de valeur. Les seuls attributs autoriss pour les fonctions constructeur sont public et private.

1199 1200 1201

777

778

Annexe A : Messages derreur

ANNEXE B Priorit et associativit des oprateurs

Ce tableau rpertorie lensemble des oprateurs ActionScript et leur associativit et les classe par ordre de priorit dcroissante.
Oprateur Description Priorit la plus leve + ~ ! not ++ -() [] . ++ -new delete typeof void * / % + Unaire plus Unaire moins NOT au niveau du bit NOT logique NOT logique (style Flash 4) Post-incrmentation Post-dcrmentation Appel de fonction Elment de tableau Membre de structure Pr-incrmentation Pr-dcrmentation Affectation dobjet Dsaffectation dobjet Type dobjet Renvoie une valeur non dfinie Multiplier Diviser Modulo Additionner Droite gauche Droite gauche Droite gauche Droite gauche Droite gauche Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Droite gauche Droite gauche Droite gauche Droite gauche Droite gauche Droite gauche Gauche droite Gauche droite Gauche droite Gauche droite Associativit

779

Oprateur add << >> >>> < <= > >= instanceof lt le gt ge == != eq ne & ^ | && and || or ?: =

Description Concatnation de chane (auparavant &) Soustraire Dcalage gauche au niveau du bit Dcalage droit au niveau du bit Dcalage droit au niveau du bit (non sign) Infrieur Infrieur ou gal Suprieur Suprieur ou gal Occurrence de Infrieur (version chane) Infrieur ou gal (version chane) Suprieur (version chane) Suprieur ou gal (version chane) Egal Diffrent Egal (version chane) Diffrent (version chane) AND au niveau du bit XOR au niveau du bit OR au niveau du bit AND logique AND logique (Flash 4) OR logique OR logique (Flash 4) Conditionnel Affectation

Associativit Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Gauche droite Droite gauche Droite gauche Droite gauche Gauche droite Priorit la moins leve

*=, /=, %=, +=, -=, &=, Affectation de composant |=, ^=, <<=, >>=, >>>= , Virgule

780

Annexe B : Priorit et associativit des oprateurs

ANNEXE C Touches du clavier et valeurs de code correspondantes

Les tableaux suivants rpertorient toutes les touches dun clavier standard et les valeurs de code ASCII correspondantes utilises pour identifier les touches dans ActionScript. Pour plus dinformations, Classe Key consultez lentre dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Lettres A Z et chiffres (clavier standard) de 0 9


Le tableau suivant rpertorie toutes les touches dun clavier standard pour les lettres de A Z et les chiffres de 0 9, avec les valeurs de code ASCII correspondantes utilises pour identifier les touches dans ActionScript.
Touche alphabtique ou numrique A B C D E F G H I J K L M N O Code de touche 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

781

Touche alphabtique ou numrique P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9

Code de touche 80 81 82 83 84 85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57

Touches du clavier numrique


Le tableau suivant rpertorie les touches dun clavier numrique et indique les valeurs de code ASCII correspondantes permettant didentifier les touches dans ActionScript.
Touche du clavier numrique 0 (clavier numrique) 1 (clavier numrique) 2 (clavier numrique) 3 (clavier numrique) 4 (clavier numrique) 5 (clavier numrique) Code de touche 96 97 98 99 100 101

782

Annexe C : Touches du clavier et valeurs de code correspondantes

Touche du clavier numrique 6 (clavier numrique) 7 (clavier numrique) 8 (clavier numrique) 9 (clavier numrique) Multiplier Additionner Entre Soustraire Dcimal Diviser

Code de touche 102 103 104 105 106 107 108 109 110 111

Touches de fonction
Le tableau suivant rpertorie les touches de fonction dun clavier standard et indique les valeurs de code ASCII correspondantes permettant didentifier les touches dans ActionScript.
Touche de fonction F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 Code de touche 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

Touches de fonction

783

Autres touches
Le tableau suivant rpertorie les touches dun clavier standard autres que les lettres, les nombres, les touches de fonction et les touches du clavier numrique, et indique les valeurs de code ASCII correspondantes permettant didentifier les touches dans ActionScript.
Touche Retour arrire Tab Effacer Entre Maj Contrle Alt Verr Maj Echap Espace Pg. Prc. Pg. Suiv. Fin Origine Flche gauche Flche vers le haut Flche droite Flche vers le bas Insertion Suppr Aide Verr num ;: =+ -_ /? `~ [{ \| Code de touche 8 9 12 13 16 17 18 20 27 32 33 34 35 36 37 38 39 40 45 46 47 144 186 187 189 191 192 219 220

784

Annexe C : Touches du clavier et valeurs de code correspondantes

Touche ]} "

Code de touche 221 222

Autres touches

785

786

Annexe C : Touches du clavier et valeurs de code correspondantes

ANNEXE D Ecriture de scripts destins des versions antrieures de Flash Player

ActionScript a considrablement chang lors de la publication de Macromedia Flash MX 2004 et de Macromedia Flash MX Professionnel 2004. Lorsque vous crez un contenu pour Flash Player 7, vous exploitez pleinement la puissance dActionScript. Bien quil soit toujours possible de crer dans Flash MX 2004 du contenu destin des versions antrieures de Flash Player, vous ne pourrez pas utiliser tous les lments dActionScript. Ce chapitre donne des conseils pour crire des scripts corrects syntaxiquement pour la version de Flash Player cible.

A propos du ciblage danciennes versions de Flash Player


Lorsque vous crivez vos scripts, utilisez les informations de disponibilit des lments du dictionnaire ActionScript (consultez le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211) pour dterminer si llment que vous voulez utiliser est pris en charge par la version de Flash Player que vous ciblez. Pour identifier les lments disponibles, vous pouvez galement afficher la bote outils Actions. Les lments non pris en charge par votre version cible y sont surligns en jaune. Si vous crez du contenu pour Flash Player 6 ou Flash Player 7, utilisez de prfrence ActionScript 2.0, qui propose un certain nombre de fonctions importantes qui ne sont pas disponibles dans ActionScript 1, notamment de meilleures fonctions de signalisation des erreurs de compilation et des capacits de programmation oriente objet plus robustes. Pour connatre les diffrences entre la manire dont certaines fonctions sont implmentes lors de la publication de fichiers pour Flash Player 7 et la manire dont les fonctions sont implementes dans les fichiers publis pour des versions antrieures, consultez Portage de scripts existants sur Flash Player 7, page 17. Pour indiquer la version de Flash Player et dActionScript utiliser lors de la publication dun document, choisissez Fichier > Paramtres de publication, puis activez les options appropries dans longlet Flash. Si vous devez cibler Flash Player 4, consultez la section suivante.

Utilisation de Flash MX 2004 pour crer du contenu destin Flash Player 4


Pour utiliser Flash MX 2004 pour crer du contenu destin Flash Player 4, activez loption FlashPlayer 4 dans longlet Flash de la bote de dialogue Paramtres de publication (Fichier > Paramtres de publication).

787

Le langage ActionScript de Flash Player 4 ne possde quun seul type de donnes de base, qui est utilis pour les manipulations de chanes et de nombres. Lorsque vous dveloppez une application pour Flash Player 4, vous devez utiliser les oprateurs de chane dconseills indiqus dans la catgorie Elments dconseills > Oprateurs de la bote outils Actions. Lorsque vous effectuez une publication pour Flash Player 4, vous pouvez utiliser les fonctions suivantes de Flash MX 2004 :

Loprateur daccs tableau et objet ([]). Loprateur point (.). Les oprateurs logiques, daffectation, de pr-incrmentation et de post-incrmentation/
dcrmentation.

Loprateur modulo (%), et toutes les mthodes et proprits de la classe Math.


Les lments de langage suivants ne sont pas pris en charge de faon native par Flash Player 4. Flash MX 2004 les exporte sous la forme dune srie dapproximations, qui cre des rsultats moins prcis numriquement. De plus, du fait de lajout de sries dapproximations dans le fichier SWF, ces lments de langage occupent plus despace dans les fichiers SWF de Flash Player 4 quils nen occupent dans Flash Player 5 ou dans les fichiers SWF dune version ultrieure.

Les actions for, while, do..while, break et continue. Les actions print() et printAsBitmap(). Laction switch.
Pour plus dinformations, consultez A propos du ciblage danciennes versions de Flash Player, page 787. Utilisation de Flash MX 2004 pour ouvrir des fichiers Flash 4 Le code ActionScript de Flash 4 ne possdait quun seul vritable type de donnes : les chanes. Il utilisait diffrents types doprateurs dans les expressions pour indiquer si la valeur devait tre traite comme une chane ou comme un nombre. Dans les versions ultrieures de Flash, vous pouvez utiliser un ensemble doprateurs sur tous les types de donnes. Si vous utilisez la version 5 (ou ultrieure) 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 donnes et doprateurs :

Loprateur = de Flash 4 tait utilis pour des galits numriques. Dans la version 5 (et les
versions ultrieures) de Flash, == est loprateur dgalit et = est loprateur daffectation. Tous les oprateurs = des fichiers Flash 4 sont automatiquement convertis en ==. Flash effectue automatiquement les conversions pour assurer le bon fonctionnement des oprateurs. Lintroduction de plusieurs types de donnes donne une nouvelle signification aux oprateurs suivants : +, ==, !=, <>, <, >, >=, <= Dans ActionScript de Flash 4 , ces oprateurs taient toujours des oprateurs numriques. Dans la version 5 (et ultrieures) de Flash, ils se comportent diffremment, selon le type de donnes des oprandes. Pour viter toutes diffrences smantiques dans les fichiers imports, la fonction Number() est insre autour des oprandes de ces oprateurs. (Les nombres constants sont dj des nombres vidents et ne sont donc pas encadrs de Number()).

788

Annexe D : Ecriture de scripts destins des versions antrieures de Flash Player

Dans Flash 4, la squence dchappement \n gnrait le caractre de retour chariot (ASCII 13).
Dans la version 5 (et ultrieures) de Flash, pour respecter la norme ECMA-262, \n gnre le caractre de changement de ligne (ASCII 10). Une squence \n dans les fichiers FLA de Flash 4 est automatiquement convertie en \r. Loprateur & de Flash 4 tait utilis pour les additions de chanes. Dans la version 5 (et ultrieures) de Flash, & est loprateur AND au niveau du bit. Loprateur daddition de chanes est maintenant appel add. Tous les oprateurs & des fichiers de Flash 4 sont automatiquement convertis en oprateurs add. De nombreuses fonctions de Flash 4 ne ncessitaient pas lusage de parenthses de fermeture (par exemple, Get Timer, Set Variable, Stop et Play). Pour crer une syntaxe cohrente, la fonction getTimer et toutes les actions ncessitent maintenant lusage de parenthses de fermeture. Ces parenthses sont automatiquement ajoutes lors de la conversion. Dans la version 5 (et ultrieures) de Flash, lorsque la fonction getProperty est excute sur un clip qui nexiste pas, elle renvoie la valeur undefined et non 0. Linstruction undefined == 0 est false dans ActionScript aprs Flash 4 (dans Flash 4, undefined == 1). Pour rsoudre ce problme lors de la conversion de fichiers Flash 4, insrez la fonction Number() dans les comparaisons dgalit. Dans lexemple 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 utilisez des mots-cls de Flash 5 ou dune version ultrieure en tant que noms de variable dans votre code ActionScript Flash 4, la syntaxe renvoie une erreur lors de sa compilation dans Flash MX 2004. Pour rsoudre ce problme, renommez toutes vos variables. Consultez Motscls, page 35 et Affectation dun nom une variable, page 43.

Utilisation de la syntaxe barre oblique La syntaxe barre oblique tait utilise dans Flash 3 et 4 pour indiquer le chemin cible dun clip ou dune variable. Dans la syntaxe barre oblique, les barres obliques sont utilises la place de points. Pour indiquer une variable, vous la prcdez dun deux-points :
monClip/clipEnfant:maVariable

Pour rdiger le mme chemin cible en syntaxe point (consultez Syntaxe pointe, page 32), qui est supporte dans Flash Player 5 (et versions ultrieures), utilisez le code suivant :
monClip.clipEnfant.maVariable

La syntaxe barre oblique tait le plus souvent utilise avec laction tellTarget dont lutilisation nest plus recommande. Laction with est maintenant prfre tellTarget pour des raisons de compatibilit avec la syntaxe point. Pour plus dinformations, consultez tellTarget et with dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

Utilisation de Flash MX 2004 pour crer du contenu destin Flash Player 4

789

790

Annexe D : Ecriture de scripts destins des versions antrieures de Flash Player

ANNEXE E Programmation oriente objet avec ActionScript 1

Les informations contenues dans cette annexe sont tires de la documentation de Macromedia Flash MX et concernent lutilisation du modle dobjet ActionScript 1 permettant lcriture de scripts. Elles sont ci-incluses pour les raisons suivantes :

Lcriture de scripts orients objet supportant Flash Player 5 requiert lutilisation


dActionScript 1. Si vous utilisez dj ActionScript 1 pour lcriture de scripts orients objet, mais que vous ntes pas prt passer ActionScript 2.0, cette annexe vous permettra de trouver les informations ncessaires lcriture de scripts avec ActionScript 1.

Si vous navez jamais utilis ActionScript pour crire des scripts orients objet et que vous navez pas besoin de Flash Player 5, ne tenez pas compte des informations contenues dans cette annexe, car lcriture de scripts orients objet laide dActionScript 1 nest pas conseille. Veuillez alors consulter le Chapitre 9, Cration de classes avec ActionScript 2.0, page 161 pour plus dinformations sur lutilisation dActionScript 2.0.
Remarque : Certains exemples de cette annexe utilisent la mthode Object.RegisterClass(). Cette dernire nest supporte que par Flash Player 6 et les versions ultrieures ; veuillez ne pas lutiliser avec Flash Player 5.

A propos dActionScript 1
ActionScript est un langage de programmation orient objet. La programmation oriente objet utilise des objets, ou structures de donnes, afin de regrouper les proprits et les mthodes contrlant le comportement ou lapparence de lobjet. Les objets permettent dorganiser et de rutiliser le code. Aprs avoir dfini un objet, il est possible de se rfrer ce dernier grce son nom, sans avoir le redfinir chaque utilisation. Une classe est une catgorie gnrique dobjets. Une classe dfinit une srie dobjets ayant des proprits communes et pouvant tre contrls de la mme manire. Les proprits sont des attributs dfinissant un objet, tels que la taille, la position, la couleur, la transparence, etc. Les proprits sont dfinies par classe ; les valeurs des proprits sont dfinies pour chaque objet dune classe. Les mthodes sont des fonctions pouvant dfinir ou rechercher les proprits dun objet. Par exemple, vous pouvez dfinir une mthode permettant de calculer la taille dun objet. Tout comme les proprits, les mthodes sont dfinies pour chaque classe dobjets, puis appeles pour chaque objet dune classe. ActionScript inclut plusieurs classes intgres, comme la classe MovieClip. Vous pouvez galement crer des classes permettant de dfinir les catgories des objets de vos applications.

791

Les objets dActionScript peuvent tre de simples containers de donnes ou peuvent tre reprsents graphiquement sur la scne sous forme de clips, boutons ou champs de texte. Tous les clips sont des occurrences de la classe intgre MovieClip, et tous les boutons sont des occurrences de la classe intgre Button. Chaque occurrence dun clip contient toutes les proprits (par exemple, _height, _rotation, _totalframes) et toutes les mthodes (par exemple, gotoAndPlay, loadMovie, startDrag) de la classe MovieClip. Pour dfinir une classe, vous crez une fonction spciale appele fonction constructeur. Notez que les classes intgres ont des fonctions constructeur intgres. Par exemple, si vous souhaitez inclure dans votre application des informations sur un cycliste, vous pouvez crer une fonction constructeur, cycliste, avec les proprits temps et distance et la mthode vitesse(), qui vous indique la vitesse laquelle se dplace le cycliste :
function cycliste(t, d) { this.temps = t; this.distance = d; this.vitesse = function() {return this.temps / this.distance;}; }

Dans cet exemple, vous allez crer une fonction dont lexcution requiert deux lments dinformation, ou paramtres : t et d. Lorsque vous appelez la fonction pour crer de nouvelles occurrences de lobjet, vous lui transfrez les paramtres. Le code suivant cre des occurrences de lobjet cycliste appeles emma et hamish.
emma = new cycliste(30, 5); hamish = new cycliste(40, 5);

Dans la cration de scripts orients objet, les classes peuvent changer entre elles des proprits et des mthodes selon un ordre spcifique, ce qui est appel hritage. Vous pouvez utiliser lhritage pour dvelopper ou redfinir les proprits et les mthodes dune classe. Une classe qui hrite dune autre classe est appele sous-classe. Une classe qui transmet des proprits et des mthodes une autre classe est appele super-classe. Une classe peut tre la fois une sous-classe et une superclasse. Un objet est un type de donnes complexe contenant aucune ou plusieurs proprits et mthodes. Chaque proprit, tout comme une variable, possde un nom et une valeur. Les proprits sont lies lobjet et contiennent des valeurs qui peuvent tre modifies ou rcupres. Ces valeurs peuvent tre de nimporte quel type de donnes : chane, nombre, boolen, objet, clip ou undefined (non dfini). Les proprits suivantes sont de diffrents types de donnes :
client.nom = "DuChmoque"; client.ge = 30; client.adhrent = true; client.compte.enregActuel = 000609; client.nomDoccurrenceMC._visible = true;

La proprit dun objet peut galement tre un objet. A la ligne 4 de lexemple prcdent, compte est une proprit de lobjet client et enregActuel est une proprit de lobjet compte. La proprit enregActuel est de type nombre.

792

Annexe E : Programmation oriente objet avec ActionScript 1

Cration dun objet personnalis dans ActionScript 1 Pour crer un objet personnalis, dfinissez une fonction constructeur. Une fonction constructeur reoit toujours le nom du type dobjet quelle sert crer. Vous pouvez utiliser le mot-cl this dans le corps de la fonction constructeur afin de faire rfrence lobjet cr par le constructeur (lorsque vous appelez une fonction constructeur, Flash lui transmet this en tant que paramtre masqu). Dans lexemple suivant, la fonction constructeur cre un cercle avec la proprit rayon :
function Cercle(rayon) { this.rayon = rayon; }

Aprs avoir dfini la fonction constructeur, vous devez crer une occurrence de lobjet. Utilisez loprateur new devant le nom de la fonction constructeur, puis donnez un nom de variable la nouvelle occurrence. Par exemple, le code suivant utilise loprateur new pour crer un objet Cercle dun rayon de 5 et laffecte la variable monCercle :
monCercle = new Cercle(5); Remarque : Un objet est du mme domaine que la variable laquelle il est affect.

Affectation de mthodes un objet personnalis dans ActionScript 1 Vous pouvez dfinir les mthodes dun objet lintrieur de la fonction constructeur de lobjet. Toutefois, cette technique nest pas conseille, car elle dfinit la mthode chaque fois que vous utilisez la fonction constructeur, comme dans lexemple suivant, qui cre les mthodes aire() et diamtre() :
function Cercle(rayon) { this.rayon = rayon; this.aire = Math.PI * rayon * rayon; this.diamtre = function() {return 2 * this.rayon;} }

Chaque fonction constructeur a une proprit prototype qui est cre automatiquement en mme temps que la fonction. La proprit prototype indique les valeurs de proprits par dfaut des objets crs avec cette fonction. Chaque nouvelle occurrence dun objet possde une proprit __proto__, qui fait rfrence la proprit prototype de la fonction constructeur qui a servi la crer. Ainsi, si vous affectez des mthodes une proprit prototype dun objet, ces dernires sont disponibles pour toute occurrence nouvellement cre de cet objet. Mieux vaut affecter une mthode la proprit prototype de la fonction constructeur, car elle existe un endroit et est rfrence par de nouvelles occurrences de lobjet (ou classe). Vous pouvez utiliser les proprits prototype et __proto__ pour tendre des objets, ce qui permet de rutiliser du code selon une mthode oriente objet. Pour plus dinformations, consultez Cration dhritages dans ActionScript 1, page 796. La procdure suivante explique comment affecter une mthode aire() un objet Cercle personnalis.
Pour affecter une mthode un objet personnalis :

1 Dfinissez la fonction constructeur Cercle(), comme suit.


function Cercle(rayon) { this.rayon = rayon; }

A propos dActionScript 1

793

2 Dfinissez la mthode aire() de lobjet Cercle. La mthode aire() calcule laire du cercle.

Vous pouvez utiliser un libell de fonction afin de dfinir la mthode aire() et affecter la proprit aire lobjet prototype du cercle comme suit :
Cercle.prototype.aire = function () { return Math.PI * this.rayon * this.rayon; };

3 Crez une occurrence de lobjet Cercle comme suit :


var monCercle = new Cercle(4);

4 Appelez la mthode aire() du nouvel objet monCercle, comme suit :


var monAireCercle = monCercle.area();

ActionScript cherche lobjet monCercle pour la mthode aire(). Puisque lobjet na pas de mthode aire(), son objet prototype Circle.prototype est recherch pour la mthode aire(). ActionScript la trouve et lappelle. Dfinition des mthodes du gestionnaire dvnement dans ActionScript 1 Vous pouvez crer une classe ActionScript pour les clips et dfinir les mthodes du gestionnaire dvnement dans lobjet prototype de cette nouvelle classe. La dfinition des mthodes dans lobjet prototype permet toutes les occurrences de ce symbole de rpondre de la mme manire ces vnements. Vous pouvez galement ajouter une action de gestionnaire dvnement onClipEvent() ou on() une occurrence individuelle afin de fournir des instructions uniques qui ne sexcutent que lorsque lvnement de cette occurrence se produit. Les actions onClipEvent() et on() ne supplantent pas la mthode du gestionnaire dvnement ; ainsi, les deux vnements excutent leurs scripts. Toutefois, si vous dfinissez les mthodes de gestionnaire dvnement dans lobjet prototype et que vous dfinissez galement une mthode de gestionnaire dvnement pour une occurrence prcise, la dfinition de loccurrence supplante celle du prototype.
Afin de dfinir une mthode de gestionnaire dvnement dans un objet prototype dun objet :

1 Placez un symbole de clip avec lidentifiant de liaison Lidentifiant dans la bibliothque. 2 Dans le panneau Actions (Fentre > Panneaux de dveloppement > Actions), utilisez laction
function

pour dfinir une nouvelle classe, comme indiqu ici :

// dfinir une classe fonction maClasseDeClip(){}

Cette nouvelle classe sera affecte toutes les occurrences du clip ajoutes lapplication par le scnario, ou qui y seront ajoutes via les mthodes attachMovie() ou duplicateMovieClip(). Si vous souhaitez que ces clips accdent aux mthodes et proprits de lobjet intgr MovieClip, vous devez faire en sorte que la nouvelle classe hrite de la classe MovieClip. 3 Entrez le code suivant :
// hriter de la classe MovieClip maClasseDeClip.prototype = new MovieClip();

La classe maClasseDeClip hritera dsormais de toutes les proprits et mthodes de la classe MovieClip. 4 Entrez un code semblable au suivant pour dfinir les mthodes de gestionnaire dvnement de la nouvelle classe :

794

Annexe E : Programmation oriente objet avec ActionScript 1

// dfinir des mthodes de gestionnaire dvnement pour la classe maClasseDeClip maClasseDeClip.prototype.onLoad = function() {trace ("clip charg");} maClasseDeClip.prototype.onEnterFrame = function() {trace ("clip entr dans limage");}

5 Slectionnez Fentre > Bibliothque pour ouvrir le panneau Bibliothque sil nest pas dj 6 7 8

visible. Slectionnez les symboles que vous souhaitez associer votre nouvelle classe, puis slectionnez Liaison dans le menu contextuel situ dans la partie suprieure droite du panneau Bibliothque. Dans la bote de dialogue Proprits de liaison, activez loption Exporter pour ActionScript. Entrez un identifiant dans le champ Identifiant. Lidentifiant doit tre identique pour tous les symboles que vous voulez associer la nouvelle classe. Dans lexemple maClasseDeClip, lidentifiant est Lidentifiant. Entrez du code tel que le suivant dans la fentre de script :
// enregistrer la classe Object.registerClass("Lidentifiant", maClasseDeClip); _root.attachMovie("Lidentifiant","monNom",1);

Cela permet denregistrer le symbole dont lidentifiant du lien est Lidentifiant et dont la classe est maClasseDeClip. Toutes les occurrences de maClasseDeClip ont des mthodes de gestionnaire dvnement se comportant comme dfinies ltape 4. Elles se comportent galement comme toutes les occurrences de la classe MovieClip, puisque vous avez fait en sorte que la nouvelle classe hrite de la classe MovieClip dans ltape 3.
fonction maClasseDeClip(){} maClasseDeClip.prototype = new MovieClip(); maClasseDeClip.prototype.onLoad = function(){ trace("clip charg"); } maClasseDeClip.prototype.onPress = function(){ trace("enfonc"); } maClasseDeClip.prototype.onEnterFrame = function(){ trace("clip image entre"); } maClasseDeClip.prototype.maFonction = function(){ trace("maFonction appele"); } Object.registerClass("monIDdeClip",maClasseDeClip); _root.attachMovie("monIDdeClip","ablue2",3);

A propos dActionScript 1

795

Cration dhritages dans ActionScript 1 Lhritage est un moyen dorganiser, dtendre et de rutiliser une fonctionnalit. Les sous-classes hritent des proprits et des mthodes des super-classes, auxquelles elles ajoutent des proprits et mthodes spcialises. Par exemple, dans le monde rel, Cycle pourrait tre une super-classe dont VTT et Tricycle seraient des sous-classes. Ces deux sous-classes contiennent ou hritent des mthodes et proprits de la super-classe (par exemple, roues). Chaque sous-classe possde galement des proprits et des mthodes spcifiques qui tendent la super-classe (par exemple, la sous-classe VTT pourrait comporter une proprit pignons). Vous pouvez utiliser les lments prototype et __proto__ pour crer un hritage dans ActionScript. Toutes les fonctions constructeur ont une proprit prototype qui est cre automatiquement en mme temps que la fonction. La proprit prototype indique les valeurs de proprits par dfaut des objets crs avec cette fonction. Vous pouvez utiliser la proprit prototype pour affecter des proprits et mthodes une classe. Pour plus dinformations, consultez Affectation de mthodes un objet personnalis dans ActionScript 1, page 793. Toutes les occurrences dune classe possdent une proprit __proto__ qui indique de quel objet elles sont hritires. Lorsque vous utilisez une fonction constructeur pour crer un objet, la proprit __proto__ est configure de manire faire rfrence la proprit prototype de sa fonction constructeur. Lhritage fonctionne selon une hirarchie prcise. Quand vous appelez une proprit ou une mthode dun objet, ActionScript recherche dans lobjet si llment existe. Si tel nest pas le cas, ActionScript recherche dans la proprit __proto__ de lobjet les informations (myObject.__proto__). Si la proprit nest pas une proprit de lobjet __proto__ de lobjet, ActionScript recherche alors dans myObject.__proto__.__proto__ et ainsi de suite. Lexemple suivant dfinit la fonction constructeur Cycle() :
function Cycle (longueur, couleur) { this.longueur = longueur; this.couleur = couleur; }

Le code suivant ajoute la mthode roule() la classe Cycle :


Cycle.prototype.roule = function() {this._x = _x + 20;};

Au lieu dajouter une mthode roule() aux classes VTT et Tricycle, vous pouvez crer la classe VTT et dfinir Cycle comme sa superclasse :
VTT.prototype = new Cycle();

Vous devez ensuite appeler la mthode roule() de VTT, comme ci-dessous :


VTT.roule();

Les clips nhritent pas les uns des autres. Pour crer un hritage entre clips, vous pouvez utiliser la mthode Object.registerClass() afin daffecter une classe autre que MovieClip des clips. Consulter Object.registerClass() dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.
#endinitclip

Pour plus dinformations sur les hritages, consultez Object.__proto__, #initclip, et super les entres dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.

796

Annexe E : Programmation oriente objet avec ActionScript 1

Ajout de proprits de lecture/dfinition des objets dans ActionScript 1 Vous pouvez crer des proprits de lecture/dfinition dun objet laide de la mthode
Object.addProperty().

Une fonction de lecture est une fonction sans paramtre. La valeur renvoye peut tre de nimporte quel type. Son type peut changer dune invocation lautre. La valeur renvoye est considre comme la valeur actuelle de la proprit. Une fonction de dfinition est une fonction qui prend un paramtre, qui correspond la nouvelle valeur de la proprit. Par exemple, si la proprit x est affecte par linstruction x = 1, la fonction de dfinition transmise est le paramtre 1 du numro de type. La valeur renvoye par la fonction de dfinition est ignore. Lorsque Flash lit une proprit de lecture/dfinition, il ouvre la fonction lecture et la valeur renvoye par la fonction devient une valeur de prop. Lorsque Flash crit une proprit de lecture/ dfinition, il ouvre la fonction de dfinition et transmet la nouvelle valeur comme paramtre. Si une proprit portant le nom donn existe dj, la nouvelle proprit la remplace. Vous pouvez ajouter des proprit de lecture/dfinition des objets prototypes. Si vous ajoutez une proprit de lecture/dfinition un objet prototype, toutes les occurrences dobjet qui hritent de lobjet prototype hritent de la proprit de lecture/dfinition. Cela permet dajouter une proprit de lecture/dfinition un endroit, au niveau de lobjet prototype, et de la propager toutes les occurrences dune classe, tout comme lorsque vous ajoutez des mthodes des objets prototypes. Si une fonction de lecture/dfinition est invoque pour une proprit de lecture/ dfinition dans un objet prototype hrit, la rfrence transmise la fonction de lecture/dfinition sera lobjet originellement rfrenc et non lobjet prototype. Pour plus dinformations, consultez Object.addProperty() dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211. La commande Dboguer > Lister les variables en mode test supporte les proprits de lecture/ dfinition ajouts aux objets laide de la mthode Object.addProperty(). Les proprits ainsi ajoutes un objet saffichent ct des autres proprits de lobjet dans le panneau de sortie. Les proprits de lecture/dfinition sont identifies dans le panneau de sortie par le prfixe [lecture/ dfinition]. Pour plus dinformations sur la commande des variables de liste, consultez Utilisation du panneau de sortie, page 80. Utilisation des proprits de lobjet Function dans ActionScript 1 Vous pouvez spcifier lobjet auquel une fonction est applique, ainsi que les valeurs de paramtre transmises cette fonction laide des mthodes call() et apply() de lobjet Function. Toutes les fonctions dans ActionScript sont reprsentes par un objet Function, de sorte que toutes les fonctions supportent les mthodes call() et apply(). Lorsque vous crez une classe personnalise laide de la fonction constructeur ou lorsque vous dfinissez les mthodes dune classe personnalise laide dune fonction, vous pouvez ouvrir les mthodes call() et apply() de la fonction. Invocation dune fonction laide de la mthode Function.call dans ActionScript 1 La mthode Function.call() ouvre la fonction reprsente par un objet Function.

A propos dActionScript 1

797

Dans presque tous les cas, loprateur dappel de fonction (()) peut tre utilis au lieu de la mthode call(). Loprateur de la fonction call cre un code concis et lisible. La mthode call() est surtout utile lorsque le paramtre this de linvocation de fonction doit tre explicitement contrl. Normalement, si une fonction est invoque en tant que mthode dun objet, dans le corps de la fonction, this est dfini sur monObjet comme suit :
monObjet.maMthode(1, 2, 3);

Dans certains cas, vous aurez besoin que this pointe autre part, si par exemple une fonction doit tre invoque comme mthode dobjet alors quelle nest pas stocke comme mthode de cet objet.
monObjet.maMthode.call(monAutreObjet, 1, 2, 3);

Vous pouvez transmettre la valeur null pour le paramtre cetObjet pour invoquer une fonction en tant que fonction ordinaire et pas en tant que mthode dun objet. Par exemple, les invocations de fonction suivantes sont quivalentes :
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)

Pour plus dinformations, consultez Function.call dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.
Pour invoquer une fonction laide de la mthode Function.call :

Utilisez la syntaxe suivante :


maFonction.call(cetObjet, paramtre1, ..., paramtreN)

Cette mthode prend les paramtres suivants : Le paramtre cetObjet spcifie la valeur this dans le corps de la fonction. Les paramtres paramtre1..., paramtreN spcifient les paramtres devant tre transmis maFonction. Vous pouvez spcifier zro ou plusieurs paramtres. Spcification de lobjet auquel une fonction est applique laide de Function.apply() dans ActionScript 1 La mthode Function.apply() spcifie la valeur this utiliser dans toute fonction appele par ActionScript. Cette mthode spcifie galement les paramtres transmettre toute fonction appele. Les paramtres sont spcifis sous forme dobjet Array. Ceci est souvent utile lorsque le nombre de paramtres transmettre nest pas connu avant lexcution du script. Pour plus dinformations, consultez Function.apply() dans le Chapitre 12, Dictionnaire ActionScript Prsentation, page 211.
Pour spcifier lobjet auquel une fonction est applique laide de Function.apply() :

Utilisez la syntaxe suivante :


maFonction.apply(cetObjet, objetArguments)

Cette mthode prend les paramtres suivants : Le paramtre cetObjet spcifie lobjet auquel maFonction sapplique. Le paramtre objetArguments dfinit un tableau dont les lments sont transmis dans maFonction en tant que paramtres.

798

Annexe E : Programmation oriente objet avec ActionScript 1

INDEX

A accs aux proprits des objets 51 accolades 33 vrification des paires correspondantes 69 actions dfinition 29 rptition 58 Actions, panneau 60 ActionScript ActionScript 2,0, messages derreur du compilateur 773 affectation de la classe ActionScript 2.0 aux clips 136 prsentation dActionScript 2.0 25, 161 typage strict des donnes non pris en charge dans ActionScript 1 41 ActiveX, contrles 195 adresses IP et fichiers de rgulation 199 et scurit 196 affectation, oprateurs propos de 50 compose 50 diffrents des oprateurs dgalit 50 ajout de notes aux scripts 34 animation, symboles et 38 appel, mthodes 38 applications web, connexion continue 192 architecture base sur les composants, dfinition 125 arguments. Voir paramtres arrt de clips 96 ASCII, valeurs 100 autres touches 784 clavier numrique, touches 782 touches 781 touches de fonction 783 association, sons 106

associativit, des oprateurs 47, 779 asynchrones, actions 186 attribut priv pour les membres dune classe 170 attribut public pour les membres dune classe 170 attribution de types de donnes 41 B balance (audio), contrle 107 balises ID3 204 barre oblique, syntaxe 33 pas de support dans ActionScript 2.0 33 bit, oprateurs au niveau du 49 bote outils Actions 60 lments en jaune dans 63 bote de message, affichage 194 boolennes, valeurs 38 comparaison 49 dfinition 29 C capture, pressions sur les touches 100 caractres, squences. Voir chanes caractres, spciaux 37 chane, oprateurs 49 chanes 37 champs de texte 139 affichage des proprits pour le dbogage 82 application de feuilles de style en cascade 146 comparaison des noms doccurrences et de variables 140 cration et suppression lexcution 141 dfinition de la taille requise 143 et texte HTML 147 faire apparatre le texte autour des images intgres 151, 153 formatage 141 formatage laide de feuilles de style en cascade 143

799

prvention des conflits de noms de variables 141 proprits par dfaut 142 Voir aussi les classes TextField, TextFormat et TextField.StyleSheet. chemins de classe dfinition 175 global et au niveau du document 176 modification 176 ordre de recherche 176 chemins de classe au niveau du document 176 chemins de classe globaux 176 cible, chemin dfinition 31 entre 53 spcification 52 classe TextField.StyleSheet 143 cration de styles de texte 146 et feuilles de style en cascade 145 et proprit TextField.styleSheet 143, 146 classe TextFormat 141 classe XML, mthode 189 classes propos de la compilation et de lexportation 181 affectation aux clips 136 attributs de membres publics et privs 170 chemins de classe 175 cration de fichiers de classe externes 164 cration de proprits et de mthodes 168 cration de sous-classes 169 cration et utilisation 167 dfinies uniquement dans des fichiers externes 164, 167 dfinition 29, 117 dynamic 180 et programmation oriente objet 162 exemple de cration 163 extension 169 extension lexcution 180 importation 178, 179 initialisation de proprits en ligne 168 initialisation des proprits lexcution 137 interfaces 175 membres doccurrence et membres de classe 171 mthodes get/set 179 noms 167 organisation en paquets 177 rsolution des rfrences de classe 176 spcification de lexportation des images 181 surcharge non prise en charge 170 Voir aussi classes, intgres.

classes dynamiques 180 classes, intgres 117 extension 169 clavier numrique, valeurs de code ASCII 782 clavier, contrles de et Tester lanimation 71 pour activer des clips 102 clavier, valeurs de code ASCII 781 clips activation laide du clavier 102 affectation dtats de bouton 91 affectation dun nom doccurrence 52 ajout de paramtres 132 appel de plusieurs mthodes 126 association dun symbole la scne 131 association des gestionnaires on() et onClipEvent() 91 boucle sur les enfants 59 chargement de fichiers MP3 dans 203 chargement de fichiers SWF et de fichiers JPEG dans 202 contrle 125 cration lexcution 130 cration dune occurrence vide 130 cration de sous-classes 136 dfinition de la profondeur 134 dfinition de la profondeur suivante disponible 134 dmarrage et arrt 96 dplacement 130 dtection, collisions 108 donnes, types 38 duplication 131 enfants, dfinition 125 et linstruction with 126 et proprit _root 127 fonctions 126 gestion de la profondeur 133 imbriqus, dfinition 125 initialisation des proprits lexcution 137 intgration dans les champs de texte 156 invocation de mthodes 126 mthodes 126 mthodes et fonctions compares 125 mthodes, utilisation pour dessiner des formes 135 modification des proprits dans le dbogueur 76 modification des proprits pendant la lecture 129 nom doccurrence, dfinition 125 objets, liste 80 parents, dfinition 125 partage 131

800

Index

proprits 129 proprits, initialisation lexcution 137 rglage de la couleur 104 retrait 131 suppression 131 utilisation en tant que masques 135 variables, liste 81 Voir aussi fichiers SWF clips enfants, dfinition 125 clips imbriqus, dfinition 125 clips parents, dfinition 125 codage de texte 28 codage par dfaut 28 code affichage des numros de ligne 70 dfilement de lignes 78 formatage 70 retour la ligne automatique 70 slection dune ligne 78 codes, ASCII autres touches 784 clavier numrique 782 obtention 100 touches alphabtiques et numriques 781 touches de fonction 783 collisions, dtection 108 entre deux clips 110 entre un clip et un point de la scne 110 combinaison doprations 50 commande Lister les variables 81 commentaires 34 communication avec Flash Player 193 comparaison, oprateurs de 48 compilation, dfinition 10 compteurs, rptition dactions avec 58, 59 concatnation de chanes 37 conditions, vrification 58 conflits de noms 44 conseils de code 64 affichage manuel 68 dclenchement 64, 66 dfinition des paramtres pour 66 ne saffichent pas 67 usage 66 constantes 29, 36 constructeur, exemple de fonctions 792 constructeurs dfinition 29 utilisation 170 conventions typographiques 10

conversion, fonctions 36 conversion, type de donnes 36 couleurs dans la bote outils Actions 63 dans la fentre de script 63 valeurs, dfinition 104 cration dobjets 117 crochets. Voir oprateurs daccs tableau. CSS. Voir feuilles de style en cascade curseurs, cration 98 D dbogage 71 distance 72 avec linstruction trace 82 gestion des exceptions 15 lecteur de dbogage 71 messages derreur du compilateur 773 objets, liste 80 proprits de champ de texte 82 utilisation du panneau de sortie 80 variables, liste 81 dbogage distance 72 dbogueur boutons dans 79 dfinition de points darrt 77 Flash, fichier de dbogage 71 liste dobservation 75 onglet Proprits 76 slection partir du menu contextuel 74 usage 71 variables 74 dfilant, texte 158 dfilement de lignes de code 78 dpannage Voir dbogage dplacement des clips 130 dessin formes 135 lignes et remplissages 110 dtection, collisions 108 distants, fichiers et communication 185 distants, sites et connexion continue 192 DOM (Document Object Model), XML 189 donnes charges, vrification 186 donnes, externes 185 accs entre des fichiers SWF interdomaines 197 change 185 et messages 193 et objet LoadVars 188 et objet XMLSocket 192

Index

801

et scripts ct serveur 187 et XML 189 fonctions de scurit 196 vrification du chargement 186 donnes, types 36 affectation automatique 39 affectation aux lments 39 attribution 41 Boolean 38 conversion 36 dclaration 40 dfinition 29, 39 MovieClip 38 null 39 Number 37 Object 38 String 37 typage strict 40 undefined 39 duplication, clips 131 E chappement, squences 37 ECMA-262 conformit 18 spcification 27 couteurs dvnement 89 dfinis par les classes ActionScript 90 domaine 92 diteur ActionScript 60, 63 galit, oprateurs 50 diffrents des oprateurs daffectation 50 strict 50 enfant, nud 189 envoi dinformations au format XML 186 aux fichiers distants 185 URL, format cod 186 via TCP/IP 186 quilibrage de la ponctuation, vrification 69 erreurs conflits de noms 44 liste de messages derreur 773 syntaxe 63 vnement systme, dfinition 87 vnement utilisateur, dfinition 87 vnements, dfinition 29, 87 excution, dfinition 10 excution, ordre oprateurs, associativit des 47

oprateurs, ordre de priorit des 47 scripts 57 exemple de script 112 exportation de scripts, et codage de langue 28 expressions affectation de plusieurs variables 50 comparaison de valeurs 48 dfinition 30 manipulation des valeurs dans 47 Extensible Markup Language. Voir XML externes, sources et connexions avec Flash 185 F fentre de script propos de 60 boutons au-dessus 61 utilisation de scripts dans 61 fentre des scripts (Flash Professionnel uniquement) 60 feuilles de style en cascade affectation de styles aux balises HTML intgres 147 application des champs de texte 146 application de classes de style 147 association de styles 147 chargement 145 dfinition des styles dans ActionScript 146 et classe TextField.StyleSheet 145 exemple dutilisation avec des balises HTML 148 exemple dutilisation avec des balises XML 150 formatage du texte 143 proprits prises en charge 144 utilisation pour dfinir de nouvelles balises 150 feuilles de style. Voir feuilles de style en cascade fichier SWD, dfinition 72 fichiers de classe externes cration 164 utilisation des chemins de classe pour localiser 175 fichiers de classe, cration 164 fichiers de rgulation 198 interdomaine.xml 199 Voir aussi scurit. fichiers MP3 chargement dans les clips 203 et balises ID3 204 prchargement 208 fichiers SWF chargs identification 52 retrait 127 Flash Player affichage du menu contextuel 194

802

Index

affichage en plein cran 194 affichage normal avec menu 194 communication avec 193 dbogage, version 71 masquage du menu contextuel 194 mthodes 195 obtention de la dernire version 83 redimensionnement de fichiers SWF dans 194 Flash Player 7 lments de langage nouveaux et modifis 15 et conformit ECMA-262 18 modle de scurit, nouveau 17, 19, 21, 23 portage de scripts existants 17 portage des scripts existants 199 FLV (vido externe), fichiers 205 prchargement 208 fonction fscommand() commandes et arguments 194 communication avec Director 195 utilisation 194 fonction loadMovie() 186 fonction loadVariables() 186 fonctions 30 appel 55 asynchrone 186 constructeur 792 conversion 36 dfinition 54 et mthodes 30 exemple 31 intgrs 53 locales, variables 55 personnaliss 53 pour le contrle des clips 126 renvoi de valeurs 55 transmission de paramtres 54 format cod en URL, envoi dinformations 186 formatage du code 70 G gestion des exceptions 15 gestionnaires dvnement affectation de fonctions 88 association des boutons ou des clips 90 dfinis par les classes ActionScript 88 dfinition 29, 87 domaine 92 et on() et onClipEvent() 90 recherche de donnes XML 187 gestionnaires on() et onClipEvent() 90

association aux clips 91 domaine 92 gestionnaires. Voir gestionnaires dvnement. getAscii(), mthode 100 getURL(), mthode 97 globales, variables et typage strict des donnes 40 groupement dinstructions 33 guillemets, inclusion dans les chanes 37 H hritage 162 autoris partir dune classe seulement 169 et sous-classes 169 hritage multiple, interdit 169 hitTest(), mthode 108 HTML application de styles aux balises intgres 147 balises encadres de guillemets 152 balises prises en charge 152 exemple dutilisation avec les styles 148 utilisation dans les champs de texte 152 utilisation de la balise <img> pour faire apparatre le texte 151, 153, 156 utilisation des feuilles de style en cascade pour dfinir des balises 150 HTTP, protocole 185 communication avec les scripts ct serveur 187 HTTPS, protocole 185 I icnes au-dessus de la fentre de script 61 dans le dbogueur 79 identifiant de liaison 131, 136 identifiants, dfinition 30 images chargement dans des clips 128 intgration dans les champs de texte 156 Voir aussi mdia externe. importation classes 178 scripts, et codage de langue 28 importation de classes 179 indentation dans code, activation 70 info-bulles. Voir conseils de code. informations, transfert entre fichiers SWF 185 initialisation des proprits du clip 137 instanciation dobjets 117

Index

803

instructions groupement 33 terminaison 34 intgres, fonctions 53 interactivit, dans les fichiers SWF cration 95 techniques 97 interfaces 163 cration et utilisation 173175 J JavaScript alert, instruction 82 envoi de messages 194 et ActionScript 27 et Netscape 196 Netscape Navigator, documentation 27 norme internationale 27 JPEG, fichiers chargement dans des clips 128 chargement dans les clips 202 intgration dans les champs de texte 156 prchargement 206 L langues (plusieurs), dans des scripts 28 lecteur de dbogage 71 lecture de clips 96 lecture en boucle 58, 59 actions 59 liaison, clips 131 lister les objets, commande 80 LoadVars, objet 188 locales, variables dans les fonctions 55 et typage strict des donnes 45 exemple 44 logiques, oprateurs 49 M Macromedia Director, communication avec 195 manipulation des nombres 37 masques 135 et polices de priphrique 136 traits ignors 135 mdia externe 201208 chargement de fichiers MP3 203 chargement de fichiers SWF et de fichiers JPEG 202

lecture des fichiers FLV 205 prchargement 206, 208 prsentation du chargement 201 raisons dutilisation 201 membres doccurrence 171 membres de classe 118 cration 172 cr une fois par classe 171 et sous-classes 173 exemple dutilisation 172 membres statiques. Voir membres de classe. Menu contextuel Options dans la panneau Actions 62 menu contextuel Options dans la panneau Actions 62, 63 dans le dbogueur 73 dans le panneau de sortie 80 menu droulant Options daffichage 69, 70 mthodes asynchrone 186 dclaration 168 dfinition 30 des objets, appel 118 pour le contrle des clips 126 mthodes de gestionnaire dvnement 87 mthodes get/set de classes 179 MIME, standard de format 188 mise en pause de code 78 modle dvnement pour des mthodes de gestionnaire dvnement 87 pour les couteurs dvnement 89 pour les gestionnaires on() et onClipEvent() 90 mots de passe et dbogage distance 72 mots-cls 30 liste 35 multidimensionnels, tableaux 52 N navigateur de script 61 navigation contrle 95 dplacement vers une image ou une scne 96 Netscape DevEdge Online 27 Netscape, mthodes JavaScript prises en charge 196 niveaux 52 chargement 127 nuds 189 nom des variables 43, 64 nombres conversion en entiers 32 bits 49

804

Index

manipulation 37 nomDeLanimation_DoFSCommand, fonction 194 noms de domaines et scurit 196 noms, conventions pour les classes 167 pour les paquets 177 numriques oprateurs 48 numros de ligne dans code, affichage 70 O objet diffuseur 89 objets accs aux proprits 118 appel, mthodes 118 boucle sur les enfants de 59 cration 117 dfinition 30 donnes, types 38 et programmation oriente objet 162 objets dcoute 89 dsenregistrement 90 objets, proprits accs 51 affectation de valeurs 118 obtention dinformations, fichiers distants 185 obtention de la position du pointeur de la souris 99 occurrences dfinition 30, 117 exemple de cration 166 occurrences, nom affectation 52 dfinition 30, 125 dfinition dynamique 51 occurrences, noms comparaison avec les noms de variables 140 onClipEvent(), gestionnaires 113 onglet Observateur, dbogueur 75 onglet Proprits, dbogueur 76 oprateurs 31 accs tableau 51 affectation 50 associativit 47, 779 au niveau du bit 49 combinaison avec des valeurs 47 comparaison 48 galit 50 logiques 49 numriques 48 ordre de priorit dcroissante 779

point 51 string 49 oprateurs dgalit stricte 50 ordre de priorit dcroissante, oprateurs 779 P panneau de sortie 80 et instruction trace 82 Lister les objets, commande 80 Lister les variables, commande 81 options 80 paquets 177 noms 177 paramtres dfinition 31 entre parenthses 34 transmission aux fonctions 54 parenthses 34 vrification des paires correspondantes 69 passage une URL 97 personnalises, fonctions 53 plusieurs langues, dans des scripts 28 point dalignement, et images charges 129 point, oprateurs 51 point, syntaxe 32 pointeur de souris. Voir curseurs. pointeur. Voir curseurs. points darrt propos de 77 dfinition dans le dbogueur 77 et fichiers externes 77 points-virgules 34 polices de priphrique, masquage 136 pour les boucles et les membres doccurrence 171 primitives, types de donnes 36 profondeur dfinition 133 dfinition de loccurrence 134 dfinition de la suivante disponible 134 dfinition pour les clips 134 gestion 133 programmation oriente objet 162 Voir aussi classes. projections, excution dapplications depuis 194 proprits accs 51 constante 36 dclaration 168 dfinition 31 des clips 129

Index

805

des objets, accs 118 initialisation lexcution 137 Proprits de liaison, bote de dialogue 131, 136 R raccourcis clavier pour les scripts verrouills 62 proprit _root et clips chargs 127 rfrence, types de donnes 36 rfrences, variables 44 rptition dactions 58 rservs, mots. Consultez mots-cls. ressources supplmentaires 10 retour la ligne automatique dans code, activation 70 retrait clips 131 fichiers SWF chargs 127 S scnario, variables 45 scne, association de symboles aux clips 131 scripts propos de la rdaction et du dbogage 57 commentaires 34 contrle de lexcution 57 contrle du droulement 57 correction des problmes daffichage de texte 28 dbogage 71 dclaration de variables 45 exemple 112 importation et exportation 28 portage sur Flash Player 7 17 portage vers Flash Player 7 199 raccourcis clavier pour les scripts verrouills 62 test 71 verrouillage 62 scurit 196200 accs aux donnes entre plusieurs domaines 197, 198 et fichiers de rgulation 198 et portage de scripts sur Flash Player 7 19, 21, 23 serveur, scripts ct langages 185 XML, format 190 serveurs, tablissement dune connexion continue 192 setRGB, mthode 104 socket, connexions propos de 192 exemple de script 193

sons association un scnario 106 balance, commande 107 contrle 105 Voir aussi mdia externe. souris, obtention de la position 99 sous-classes cration 169 cration pour les clips 136 et membres de classe 173 statements instructions trace 82 suffixes 64 fichiers SWF Voir aussi clips. SWF, fichiers chargement dans les clips 202 chargement et dchargement 127 contrle dans Flash Player 195 cration de commandes audio 105 dplacement vers une image ou une scne 96 intgration dans les champs de texte 156 maintien de la taille dorigine 194 placement sur une page web 97 prchargement 206 redimensionnement dans Flash Player 194 transfert dinformations entre 185 syntaxe accolades 33 barre oblique 33 casse, hauteur de ??32 parenthses 34 pointe 32 points-virgules 34 rgles 31 surbrillance 63 vrification 69 syntaxe, mise en vidence 63 systme, configuration requise 9 T tableau, oprateurs accs 51 vrification des paires correspondantes 69 tableaux, multidimensionnels 52 TCP/IP, connexion avec lobjet XMLSocket 193 envoi dinformations 186 terminaison dinstructions 34 terminologie 28 test. Voir dbogage

806

Index

tester lanimation et les raccourcis clavier 71 et Unicode 71 text affectation un champ de texte lexcution 140 dfilant 158 dfinition de la taille requise pour lobjet TextField 143 obtention des informations mtriques 143 utilisation dune balise <img> pour le droulement autour des images 153 texte Voir aussi champs de texte. codage 28 TextField, classe 140 cration de texte dfilant 158 this, mot-cl 112 touche Tab et tester lanimation 71 touches de fonction, valeurs de code ASCII 783 touches de raccourci dchappement 68 touches, capture des pressions sur 100 transfert de variables entre une animation et un serveur 188 typage strict des donnes 40 et variables globales 40 et variables locales 45 pas de support dans ActionScript 1 41 type de donnes null 39 type, des variables 39 types de donnes undefined 39 U Unicode et commande Tester lanimation 71 et commande Tester lanimation. 28 support 28 UTF-8 (Unicode) 28 V valeurs, manipulation dans des expressions 47 valeurs, transmission par contenu 46 par rfrence 46 variables propos de 43 affectation multiple 50 conversion au format XML 190 dfinition 31 dfinition dynamique 51

dfinition, type de donnes 39 domaine 44 envoi vers une URL 97 et liste dobservation du dbogueur 75 et onglet Variables du dbogueur 74 modification dans le dbogueur 75 noms 64 noms, conventions 43 prvention des conflits de noms 141 rfrence de la valeur 46 suffixes 64 test 43 transfert entre une animation et un serveur 188 transmission de contenu 46 utilisation dans un script 45 vrification et dfinition de valeurs 43 variables, onglet du dbogueur 74 vrification donnes charges 186 syntaxe et ponctuation 69 verrouillage de scripts 62 vido, alternative limportation 205 volume, cration dune commande de rglage 107 X XML 189 dans les scripts ct serveur 190 DOM 189 envoi dinformation sur une connexion socket TCP/IP 186 envoi dinformations avec des mthodes XML 186 exemple dutilisation avec les styles 150 exemple de conversion de variable 189 hirarchie 189 XMLSocket, objet mthodes 193 usage 192 vrification des donnes 187

Index

807

808

Index

S-ar putea să vă placă și