▼
Scroll to page 2
of
1444
GUIDE DE REFERENCE DU LANGAGE ACTIONSCRIPT 2.0 ™ © 2007 Adobe Systems Incorporated. Tous droits réservés. Guide de référence du langage ActionScript 2.0 Si le présent guide est fourni avec un logiciel régi par un contrat d'utilisateur final, ce guide ainsi que le logiciel décrit, sont fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. A moins d'une autorisation expresse accordée par cette licence, aucune partie du présent guide ne peut être reproduite, stockée dans un système d'interrogation ou transmise, sous quelque forme ou par quelque moyen que ce soit (électronique, mécanique, par enregistrement ou autre) sans l'autorisation écrite préalable d'Adobe Systems Incorporated. Veuillez noter que le contenu du présent guide est protégé par la loi sur les droits d'auteur, même s'il n'est pas distribué avec un logiciel régi par un contrat de licence utilisateur final. Les informations contenues dans le présent guide sont fournies à titre purement informatif ; elles sont susceptibles d'être modifiées sans préavis et ne doivent pas être interprétées comme étant un engagement de la part d'Adobe Systems Incorporated. Adobe Systems Incorporated n'accepte aucune responsabilité quant aux erreurs ou inexactitudes pouvant être contenues dans le présent guide. Veuillez noter que les illustrations et images existantes que vous souhaiterez éventuellement inclure dans votre projet sont susceptibles d'être protégées par les lois sur les droits d'auteur. L'inclusion non autorisée de tels éléments dans vos nouveaux travaux peut constituer une violation des droits du propriétaire. Veuillez vous assurer que vous obtenez toute autorisation nécessaire auprès du détenteur du copyright. Toute référence à des noms de sociétés dans les modèles types n'est utilisée qu'à titre d'exemple et ne fait référence à aucune société réelle. Adobe, Adobe logo, Flash et Macromedia sont des marques déposées ou des marques de commerce d'Adobe Systems Incorporated aux Etats-Unis et/ou dans d'autres pays. Macintosh est une marque de commerce d'Apple Computer, Inc. déposée aux Etats-Unis et dans d'autres pays. Windows est une marque déposée ou une marque de commerce de Microsoft Corporation aux Etats-Unis et/ou dans d'autres pays. Linux est la marque déposée de Linus Torvalds aux Etats-Unis et dans d'autres pays. UNIX est une marque déposée de The Open Group aux Etats-Unis et dans d'autres pays.. Toutes les autres marques citées appartiennent à leurs propriétaires respectifs. Certaines parties de ce produit utilisent du code sous licence de Nellymoser. (www.nellymoser.com). Technologie de compression et de décompression vidéo Sorenson™ Spark™ utilisée sous licence de Sorenson Media, Inc. La vidéo de Flash CS3 est optimisée par la technoogie vidéo On2 TrueMotion. © 1992-2005 On2 Technologies, Inc. Tous droits réservés. http://www.on2.com. Adobe Systems Incorporated, 345 Park Avenue, San Jose, Californie 95110, Etats-Unis. A l'attention des utilisateurs du Gouvernement des Etats-Unis. Ce logiciel et sa documentation sont des « articles commerciaux », conformément à la définition de ce terme dans le document 48 C.F.R. §2.101, comprenant d'une part un « logiciel informatique commercial » et d'autre part une « documentation de logiciel informatique commercial », conformément à la définition de ces termes dans le document 48 C.F.R. §12.212 ou 48 C.F.R. §227.7202, si approprié. Conformément aux documents 48 C.F.R. §12.212 ou 48 C.F.R. §§227.7202-1 à 227.7202-4, si approprié, le logiciel informatique commercial et la documentation de logiciel informatique commercial sont accordés sous licence aux tilisateurs du Gouvernement des Etats-Unis (a) uniquement en tant que produits commerciaux et (b) uniquement avec les droits accordés à tous les autres utilisateurs selon les termes et conditions mentionnés dans le présent contrat. Droits non publiés réservés dans le cadre des lois sur les droits d'auteur en vigueur aux Etats-Unis. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, Etats-Unis. A l'attention des utilisateurs du Gouvernement des Etats-Unis, Adobe s'engage à respecter la législation relative à l'égalité des chances y compris, le cas échéant, les dispositions du décret 11246, tel qu'amendé, à la section 402 de la loi sur l'assistance aux vétérans du Vietnam (Vietnam Era Veterans Readjustment Assistance Act) de 1974 (38 USC 4212), et à la section 503 de la loi sur la réadaptation (Rehabilitation Act) de 1973, telle qu'amendée, et la réglementation des articles 41 CFR, alinéas 60-1 à 60-60, 60-250 et 60-741. La clause relative à l'égalité des chances et les règlements énoncés dans la phrase précédente doivent être compris comme tels lorsqu'il y est fait référence. Table des matières Chapitre 1: Eléments du langage ActionScript . . . . . . . . . . . . . . .33 Directives de compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Directive #endinitclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Directive #include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Directive #initclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Constantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Constante false. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Constante Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Constante -Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Constante NaN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Constante newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Constante null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Constante true . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Constante undefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Fonctions globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Fonction Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Protocole asfunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Fonction Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Fonction call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Fonction chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Fonction clearInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Fonction clearTimeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Fonction duplicateMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Fonction escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Fonction eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Fonction fscommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Fonction getProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Fonction getTimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Fonction getURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Fonction getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Fonction gotoAndPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Fonction gotoAndStop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Fonction ifFrameLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Fonction int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Fonction isFinite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Fonction isNaN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Fonction length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 3 Fonction loadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Fonction loadMovieNum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Fonction loadVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Fonction loadVariablesNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Fonction mbchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Fonction mblength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Fonction mbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Fonction mbsubstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Fonction MMExecute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Fonction nextFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Fonction nextScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Fonction Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Fonction Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Gestionnaire on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Gestionnaire onClipEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Fonction ord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Fonction parseFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Fonction parseInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Fonction play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Fonction prevFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Fonction prevScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Fonction print. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Fonction printAsBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Fonction printAsBitmapNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Fonction printNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Fonction random. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Fonction removeMovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Fonction setInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Fonction setProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Fonction setTimeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Fonction showRedrawRegions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Fonction startDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Fonction stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Fonction stopAllSounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Fonction stopDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Fonction String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Fonction substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Fonction targetPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Fonction tellTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Fonction toggleHighQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 Fonction trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 Fonction unescape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Fonction unloadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Fonction unloadMovieNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Fonction updateAfterEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4 Table des matières propriétés globales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 _accProps, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 _focusrect, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 propriété _global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 _highquality, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 _level, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 maxscroll, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 _parent, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 _quality, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 _root, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 scroll, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 _soundbuftime, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 this, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 Opérateur d'addition +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 Opérateur d'affectation de l'addition +=. . . . . . . . . . . . . . . . . . . . . . . .145 Opérateur d'accès au tableau [] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 Opérateur d'affectation = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 & Opérateur AND au niveau du bit. . . . . . . . . . . . . . . . . . . . . . . . . . . .150 &= Opérateur d'affectation AND au niveau du bit . . . . . . . . . . . . . . . 151 Opérateur << de décalage gauche au niveau du bit . . . . . . . . . . . . . .152 Opérateur <<= de décalage gauche au niveau du bit et d'affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 ~ Opérateur NOT au niveau du bit . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 | Opérateur OR au niveau du bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 |= Opérateur d'affectation OR au niveau du bit . . . . . . . . . . . . . . . . . 157 >>, opérateur de décalage droit au niveau du bit. . . . . . . . . . . . . . . . .158 >>=, opérateur de décalage droit au niveau du bit et d'affectation .159 >>>, opérateur de décalage droit non signé au niveau du bit. . . . . . .160 >>>=, opérateur de décalage droit non signé au niveau du bit et d'affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 Opérateur ^ (XOR au niveau du bit) . . . . . . . . . . . . . . . . . . . . . . . . . . .162 Opérateur ^= (affectation XOR au niveau du bit) . . . . . . . . . . . . . . . .163 Opérateur /*..*/ (séparateur de commentaires de bloc) . . . . . . . . .164 Opérateur , (virgule). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 Opérateur de concaténation add (chaînes) . . . . . . . . . . . . . . . . . . . . 167 ?: opérateur conditionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Opérateur -- (décrément). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Opérateur / (division). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 Opérateur /= (affectation de division) . . . . . . . . . . . . . . . . . . . . . . . . . 170 Opérateur point (.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Opérateur == (égalité) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Opérateur eq d'égalité (chaînes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 >, opérateur supérieur à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Opérateur gt supérieur à (chaînes). . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Table des matières 5 >=, opérateur supérieur ou égal à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Opérateur ge supérieur ou égal à (chaînes). . . . . . . . . . . . . . . . . . . . 176 Opérateur ++ (incrément). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Opérateur != (inégalité). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 <>, opérateur d'inégalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 Opérateur instanceof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 <, opérateur inférieur à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Opérateur lt inférieur à (chaînes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 <=, opérateur (inférieur ou égal à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Opérateur le inférieur ou égal à (chaînes) . . . . . . . . . . . . . . . . . . . . . 184 Opérateur // (séparateur de commentaires sur une ligne) . . . . . . . 185 &&, opérateur (AND logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Opérateur AND (and logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 ! Opérateur NOT logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Opérateur NOT non logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Opérateur || (OR logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Opérateur OR ou logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Opérateur % (modulo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 Opérateur %= (affectation modulo) . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Opérateur * (multiplication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Opérateur *= (affectation de multiplication) . . . . . . . . . . . . . . . . . . . 193 Opérateur new . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Opérateur ne n'est pas égal à (chaînes) . . . . . . . . . . . . . . . . . . . . . . . 195 Opérateur {} (initialiseur d'objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Opérateur () (parenthèses) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Opérateur === (égalité stricte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Opérateur !== (inégalité stricte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Opérateur " (séparateur de chaîne). . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Opérateur - (soustraction). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Opérateur -= (affectation de soustraction) . . . . . . . . . . . . . . . . . . . 202 : opérateur de type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Opérateur typeof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Opérateur void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Instruction break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Instruction case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Instruction class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Instruction continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Instruction default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Instruction delete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Instruction do..while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Instruction dynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Instruction else. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Instruction else if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Instruction extends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 6 Table des matières Instruction for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Instruction for..in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Instruction function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Instruction get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Instruction if. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Instruction implements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Instruction import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 Instruction interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 instruction intrinsic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Instruction private . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Instruction public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 return, instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Instruction set variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Instruction static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241 Instruction super. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Instruction switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Instruction throw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Instruction try..catch..finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Instruction var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Instruction while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Instruction with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 Chapitre 2: Classes ActionScript . . . . . . . . . . . . . . . . . . . . . . . . 255 Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 isActive (méthode Accessibility.isActive) . . . . . . . . . . . . . . . . . . . . . 256 updateProperties (méthode Accessibility.updateProperties) . . . 257 arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 callee (propriété arguments.callee) . . . . . . . . . . . . . . . . . . . . . . . . . . 259 caller (propriété arguments.caller) . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 length (propriété arguments.length) . . . . . . . . . . . . . . . . . . . . . . . . . 259 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 constructeur Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 CASEINSENSITIVE (propriété Array.CASEINSENSITIVE) . . . . 265 concat (méthode Array.concat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 DESCENDING (propriété Array.DESCENDING). . . . . . . . . . . . . . 266 join (méthode Array.join) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 length (propriété Array.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 NUMERIC (propriété Array.NUMERIC) . . . . . . . . . . . . . . . . . . . . . . 268 pop (méthode Array.pop). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 push (méthode Array.push) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 RETURNINDEXEDARRAY (propriété Array.RETURNINDEXEDARRAY) . . . . . . . . . . . . . . . . . . . . . . . . 270 reverse (méthode Array.reverse) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 shift (méthode Array.shift) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Table des matières 7 slice (méthode Array.slice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 sort (méthode Array.sort) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 sortOn (méthode Array.sortOn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275 splice (méthode Array.splice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 toString (méthode Array.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . 280 UNIQUESORT (propriété Array.UNIQUESORT) . . . . . . . . . . . . . . 281 unshift (méthode Array.unshift) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 AsBroadcaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 addListener (méthode AsBroadcaster.addListener) . . . . . . . . . . .284 broadcastMessage (méthode AsBroadcaster.broadcastMessage) . . . . . . . . . . . . . . . . . . . . . . .285 initialize (méthode AsBroadcaster.initialize). . . . . . . . . . . . . . . . . . .286 _listeners (propriété AsBroadcaster._listeners) . . . . . . . . . . . . . . . . 287 removeListener (méthode AsBroadcaster.removeListener) . . . .289 BevelFilter (flash.filters.BevelFilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 angle (propriété BevelFilter.angle) . . . . . . . . . . . . . . . . . . . . . . . . . . .292 Constructeur BevelFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 blurX (propriété BevelFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . .296 blurY (propriété BevelFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . .297 clone (méthode BevelFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . .298 distance (propriété BevelFilter.distance). . . . . . . . . . . . . . . . . . . . . 299 highlightAlpha (propriété BevelFilter.highlightAlpha). . . . . . . . . . 300 highlightColor (propriété BevelFilter.highlightColor) . . . . . . . . . . . 301 knockout (propriété BevelFilter.knockout) . . . . . . . . . . . . . . . . . . . 302 quality (propriété BevelFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . 303 shadowAlpha (propriété BevelFilter.shadowAlpha) . . . . . . . . . . . 304 shadowColor (propriété BevelFilter.shadowColor) . . . . . . . . . . . . 305 strength (propriété BevelFilter.strength) . . . . . . . . . . . . . . . . . . . . . 306 type (propriété BevelFilter.type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307 BitmapData (flash.display.BitmapData). . . . . . . . . . . . . . . . . . . . . . . . 308 applyFilter (méthode BitmapData.applyFilter). . . . . . . . . . . . . . . . . 313 Constructeur BitmapData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 clone (méthode BitmapData.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . 316 colorTransform (méthode BitmapData.colorTransform) . . . . . . . . 318 compare (méthode BitmapData.compare) . . . . . . . . . . . . . . . . . . . . 319 copyChannel (méthode BitmapData.copyChannel) . . . . . . . . . . . . 321 copyPixels (méthode BitmapData.copyPixels) . . . . . . . . . . . . . . . .322 dispose (méthode BitmapData.dispose) . . . . . . . . . . . . . . . . . . . . . .324 draw (méthode BitmapData.draw) . . . . . . . . . . . . . . . . . . . . . . . . . . .325 fillRect (méthode BitmapData.fillRect) . . . . . . . . . . . . . . . . . . . . . . . 327 floodFill (méthode BitmapData.floodFill) . . . . . . . . . . . . . . . . . . . . .328 generateFilterRect (méthode BitmapData.generateFilterRect) .329 getColorBoundsRect (méthode BitmapData.getColorBoundsRect) . . . . . . . . . . . . . . . . . . . . . . . 330 getPixel (méthode BitmapData.getPixel) . . . . . . . . . . . . . . . . . . . . . 331 8 Table des matières getPixel32 (méthode BitmapData.getPixel32) . . . . . . . . . . . . . . . 332 height (propriété BitmapData.height) . . . . . . . . . . . . . . . . . . . . . . . . 333 hitTest (méthode BitmapData.hitTest) . . . . . . . . . . . . . . . . . . . . . . . 334 loadBitmap (méthode BitmapData.loadBitmap) . . . . . . . . . . . . . . 336 merge (méthode BitmapData.merge) . . . . . . . . . . . . . . . . . . . . . . . . 336 noise (méthode BitmapData.noise) . . . . . . . . . . . . . . . . . . . . . . . . . . 338 paletteMap (méthode BitmapData.paletteMap). . . . . . . . . . . . . . . 339 perlinNoise (méthode BitmapData.perlinNoise). . . . . . . . . . . . . . . .341 pixelDissolve (méthode BitmapData.pixelDissolve) . . . . . . . . . . . 343 rectangle (propriété BitmapData.rectangle) . . . . . . . . . . . . . . . . . . 345 scroll (méthode BitmapData.scroll) . . . . . . . . . . . . . . . . . . . . . . . . . . 345 setPixel (méthode BitmapData.setPixel) . . . . . . . . . . . . . . . . . . . . . 346 setPixel32 (méthode BitmapData.setPixel32) . . . . . . . . . . . . . . . . 347 threshold (méthode BitmapData.threshold) . . . . . . . . . . . . . . . . . . 348 transparent (propriété BitmapData.transparent) . . . . . . . . . . . . . . 350 width (propriété BitmapData.width) . . . . . . . . . . . . . . . . . . . . . . . . . 350 BitmapFilter (flash.filters.BitmapFilter) . . . . . . . . . . . . . . . . . . . . . . . . . .351 clone (méthode BitmapFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . 352 BlurFilter (flash.filters.BlurFilter). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 constructeur BlurFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 blurX (propriété BlurFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 blurY (propriété BlurFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 clone (méthode BitmapFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . 357 quality (propriété BlurFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 constructeur Boolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361 toString (méthode Boolean.toString) . . . . . . . . . . . . . . . . . . . . . . . . 362 valueOf (méthode Boolean.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . 362 Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 _alpha (propriété Button._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 blendMode (propriété Button.blendMode) . . . . . . . . . . . . . . . . . . . 367 cacheAsBitmap (propriété Button.cacheAsBitmap). . . . . . . . . . . 372 enabled (propriété Button.enabled). . . . . . . . . . . . . . . . . . . . . . . . . . 373 filters (propriété Button.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 _focusrect (propriété Button._focusrect) . . . . . . . . . . . . . . . . . . . . . 376 getDepth (méthode Button.getDepth) . . . . . . . . . . . . . . . . . . . . . . . 376 _height (propriété Button._height) . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 _highquality (propriété Button._highquality). . . . . . . . . . . . . . . . . . . 378 menu (propriété Button.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 _name (propriété Button._name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 onDragOut (gestionnaire Button.onDragOut). . . . . . . . . . . . . . . . . 380 onDragOver (gestionnaire Button.onDragOver) . . . . . . . . . . . . . . 380 onKeyDown (gestionnaire Button.onKeyDown) . . . . . . . . . . . . . . .381 onKeyUp (gestionnaire Button.onKeyUp) . . . . . . . . . . . . . . . . . . . . 382 onKillFocus (gestionnaire Button.onKillFocus) . . . . . . . . . . . . . . . 383 Table des matières 9 onPress (gestionnaire Button.onPress). . . . . . . . . . . . . . . . . . . . . . .384 onRelease (gestionnaire Button.onRelease) . . . . . . . . . . . . . . . . . .384 onReleaseOutside (gestionnaire Button.onReleaseOutside) . . . .385 onRollOut (gestionnaire Button.onRollOut) . . . . . . . . . . . . . . . . . . .385 onRollOver (gestionnaire Button.onRollOver) . . . . . . . . . . . . . . . . .385 onSetFocus (gestionnaire Button.onSetFocus) . . . . . . . . . . . . . . .386 _parent (propriété Button._parent) . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 _quality (propriété Button._quality) . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 _rotation (propriété Button._rotation) . . . . . . . . . . . . . . . . . . . . . . . . .388 scale9Grid (propriété Button.scale9Grid). . . . . . . . . . . . . . . . . . . . .389 _soundbuftime (propriété Button._soundbuftime) . . . . . . . . . . . . . 390 tabEnabled (propriété Button.tabEnabled) . . . . . . . . . . . . . . . . . . . . 391 tabIndex (propriété Button.tabIndex) . . . . . . . . . . . . . . . . . . . . . . . . . 391 _target (propriété Button._target) . . . . . . . . . . . . . . . . . . . . . . . . . . . .393 trackAsMenu (propriété Button.trackAsMenu) . . . . . . . . . . . . . . . .393 _url (propriété Button._url). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 useHandCursor (propriété Button.useHandCursor) . . . . . . . . . . . 395 _visible (propriété Button._visible). . . . . . . . . . . . . . . . . . . . . . . . . . . .396 _width (propriété Button._width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396 _x (propriété Button._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397 _xmouse (propriété Button._xmouse). . . . . . . . . . . . . . . . . . . . . . . . .397 _xscale (propriété Button._xscale) . . . . . . . . . . . . . . . . . . . . . . . . . . .398 _y (propriété Button._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 _ymouse (propriété Button._ymouse). . . . . . . . . . . . . . . . . . . . . . . . 399 _yscale (propriété Button._yscale) . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Camera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 activityLevel (propriété Camera.activityLevel) . . . . . . . . . . . . . . . . 404 bandwidth (propriété Camera.bandwidth). . . . . . . . . . . . . . . . . . . . 405 currentFps (propriété Camera.currentFps) . . . . . . . . . . . . . . . . . . . 406 fps (propriété Camera.fps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407 get (méthode Camera.get) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 height (propriété Camera.height) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 index (propriété Camera.index) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411 motionLevel (propriété Camera.motionLevel) . . . . . . . . . . . . . . . . . 412 motionTimeOut (propriété Camera.motionTimeOut) . . . . . . . . . . . 413 muted (propriété Camera.muted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 name (propriété Camera.name). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 names (propriété Camera.names). . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 onActivity (gestionnaire Camera.onActivity). . . . . . . . . . . . . . . . . . . 417 onStatus (gestionnaire Camera.onStatus) . . . . . . . . . . . . . . . . . . . . 418 qualité (propriété Camera.quality) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 setMode (méthode Camera.setMode) . . . . . . . . . . . . . . . . . . . . . . . 420 setMotionLevel (méthode Camera.setMotionLevel) . . . . . . . . . . .422 setQuality (méthode Camera.setQuality). . . . . . . . . . . . . . . . . . . . . .423 largeur (propriété Camera.width). . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10 Table des matières capabilities (System.capabilities) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 avHardwareDisable (propriété capabilities.avHardwareDisable) . . . . . . . . . . . . . . . . . . . . . . . . . . 429 hasAccessibility (propriété capabilities.hasAccessibility) . . . . . . . 430 hasAudio (propriété capabilities.hasAudio) . . . . . . . . . . . . . . . . . . . 430 hasAudioEncoder (propriété capabilities.hasAudioEncoder) . . . 430 hasEmbeddedVideo (propriété capabilities.hasEmbeddedVideo) . . . . . . . . . . . . . . . . . . . . . . . . . .431 hasIME (propriété capabilities.hasIME) . . . . . . . . . . . . . . . . . . . . . . .431 hasMP3 (propriété capabilities.hasMP3). . . . . . . . . . . . . . . . . . . . . 432 hasPrinting (propriété capabilities.hasPrinting) . . . . . . . . . . . . . . . 432 hasScreenBroadcast (propriété capabilities.hasScreenBroadcast) . . . . . . . . . . . . . . . . . . . . . . . . 432 hasScreenPlayback (propriété capabilities.hasScreenPlayback). . . . . . . . . . . . . . . . . . . . . . . . . . 433 hasStreamingAudio (propriété capabilities.hasStreamingAudio) . . . . . . . . . . . . . . . . . . . . . . . . . . 433 hasStreamingVideo (propriété capabilities.hasStreamingVideo) . . . . . . . . . . . . . . . . . . . . . . . . . . 433 hasVideoEncoder (propriété capabilities.hasVideoEncoder) . . . 434 isDebugger (propriété capabilities.isDebugger) . . . . . . . . . . . . . . . 434 langage (propriété capabilities.language) . . . . . . . . . . . . . . . . . . . . 434 localFileReadDisable (propriété capabilities.localFileReadDisable) . . . . . . . . . . . . . . . . . . . . . . . . 436 manufacturer (propriété capabilities.manufacturer) . . . . . . . . . . . . 436 os (propriété capabilities.os) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 pixelAspectRatio (propriété capabilities.pixelAspectRatio) . . . . . 437 playerType (propriété capabilities.playerType) . . . . . . . . . . . . . . . . 437 screenColor (propriété capabilities.screenColor) . . . . . . . . . . . . . . 438 screenDPI (propriété capabilities.screenDPI) . . . . . . . . . . . . . . . . . 438 screenResolutionX (propriété capabilities.screenResolutionX) . 438 screenResolutionX (propriété capabilities.screenResolutionX) . 439 serverString (propriété capabilities.serverString). . . . . . . . . . . . . . 439 version (propriété capabilities.version) . . . . . . . . . . . . . . . . . . . . . . . 440 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 constructeur Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .441 getRGB (méthode Color.getRGB). . . . . . . . . . . . . . . . . . . . . . . . . . . 442 getTransform (méthode Color.getTransform) . . . . . . . . . . . . . . . . . 442 setRGB (méthode Color.setRGB) . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 setTransform (méthode Color.setTransform) . . . . . . . . . . . . . . . . . 444 ColorMatrixFilter (flash.filters.ColorMatrixFilter) . . . . . . . . . . . . . . . . . 446 clone (méthode ColorMatrixFilter.clone) . . . . . . . . . . . . . . . . . . . . . 449 constructeur ColorMatrixFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 matrix (propriété ColorMatrixFilter.matrix) . . . . . . . . . . . . . . . . . . . . 450 Table des matières 11 ColorTransform (flash.geom.ColorTransform) . . . . . . . . . . . . . . . . . . . 451 alphaMultiplier (propriété ColorTransform.alphaMultiplier). . . . . .453 alphaOffset (propriété ColorTransform.alphaOffset) . . . . . . . . . . 454 blueMultiplier (propriété ColorTransform.blueMultiplier) . . . . . . . 455 blueOffset (propriété ColorTransform.blueOffset) . . . . . . . . . . . . .456 constructeur ColorTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456 concat (méthode ColorTransform.concat) . . . . . . . . . . . . . . . . . . . .458 greenMultiplier (propriété ColorTransform.greenMultiplier) . . . . 459 greenOffset (propriété ColorTransform.greenOffset). . . . . . . . . . 460 redMultiplier (propriété ColorTransform.redMultiplier). . . . . . . . . 460 redOffset (propriété ColorTransform.redOffset) . . . . . . . . . . . . . . . 461 rgb (propriété ColorTransform.rgb). . . . . . . . . . . . . . . . . . . . . . . . . . .462 toString (méthode ColorTransform.toString) . . . . . . . . . . . . . . . . . .463 ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 builtInItems (propriété ContextMenu.builtInItems) . . . . . . . . . . . . .466 constructeur ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467 copy (méthode ContextMenu.copy) . . . . . . . . . . . . . . . . . . . . . . . . . .468 customItems (propriété ContextMenu.customItems) . . . . . . . . . . 469 hideBuiltInItems (méthode ContextMenu.hideBuiltInItems) . . . . .470 onSelect (gestionnaire ContextMenu.onSelect) . . . . . . . . . . . . . . .470 ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 caption (propriété ContextMenuItem.caption) . . . . . . . . . . . . . . . . .473 constructeur ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474 copy (méthode ContextMenuItem.copy) . . . . . . . . . . . . . . . . . . . . . .475 enabled (propriété ContextMenuItem.enabled) . . . . . . . . . . . . . . . .475 onSelect (gestionnaire ContextMenuItem.onSelect) . . . . . . . . . . .476 separatorBefore (propriété ContextMenuItem.separatorBefore) . . . . . . . . . . . . . . . . . . . . . . . 477 visible (propriété ContextMenuItem.visible) . . . . . . . . . . . . . . . . . . . 478 ConvolutionFilter (flash.filters.ConvolutionFilter) . . . . . . . . . . . . . . . . .479 alpha (propriété ConvolutionFilter.alpha) . . . . . . . . . . . . . . . . . . . . .482 bias (propriété ConvolutionFilter.bias) . . . . . . . . . . . . . . . . . . . . . . . .482 clamp (propriété ConvolutionFilter.clamp) . . . . . . . . . . . . . . . . . . . .483 clone (méthode ConvolutionFilter.clone) . . . . . . . . . . . . . . . . . . . . .484 color (propriété ConvolutionFilter.color) . . . . . . . . . . . . . . . . . . . . . .486 constructeur ConvolutionFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 divisor (propriété ConvolutionFilter.divisor) . . . . . . . . . . . . . . . . . . 489 matrix (propriété ConvolutionFilter.matrix) . . . . . . . . . . . . . . . . . . . 489 matrixX (propriété ConvolutionFilter.matrixX) . . . . . . . . . . . . . . . . 490 matrixY (propriété ConvolutionFilter.matrixY) . . . . . . . . . . . . . . . . 490 preserveAlpha (propriété ConvolutionFilter.preserveAlpha). . . . . 491 CustomActions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 get (méthode CustomActions.get) . . . . . . . . . . . . . . . . . . . . . . . . . . 493 install (méthode CustomActions.install). . . . . . . . . . . . . . . . . . . . . . 494 list (méthode CustomActions.list) . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 uninstall (méthode CustomActions.uninstall) . . . . . . . . . . . . . . . . . 496 12 Table des matières Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 constructeur Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 getDate (méthode Date.getDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 getDay (méthode Date.getDay) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 getFullYear (méthode Date.getFullYear) . . . . . . . . . . . . . . . . . . . . . 505 getHours (méthode Date.getHours) . . . . . . . . . . . . . . . . . . . . . . . . . 506 getMilliseconds (méthode Date.getMilliseconds) . . . . . . . . . . . . . 506 getMinutes (méthode Date.getMinutes). . . . . . . . . . . . . . . . . . . . . . 507 getMinutes (méthode Date.getMinutes). . . . . . . . . . . . . . . . . . . . . . 507 getSeconds (méthode Date.getSeconds) . . . . . . . . . . . . . . . . . . . . 508 getTime (méthode Date.getTime) . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 getTimezoneOffset (méthode Date.getTimezoneOffset). . . . . . . 509 getUTCDate (méthode Date.getUTCDate) . . . . . . . . . . . . . . . . . . . 509 getUTCDay (méthode Date.getUTCDay) . . . . . . . . . . . . . . . . . . . . .510 getUTCFullYear (méthode Date.getUTCFullYear) . . . . . . . . . . . . . 511 getUTCHours (méthode Date.getUTCHours). . . . . . . . . . . . . . . . . . 511 getUTCMilliseconds (méthode Date.getUTCMilliseconds) . . . . . .512 getUTCMinutes (méthode Date.getUTCMinutes) . . . . . . . . . . . . . .512 getUTCMonth (méthode Date.getUTCMonth) . . . . . . . . . . . . . . . . .513 getUTCSeconds (méthode Date.getUTCSeconds) . . . . . . . . . . . .513 getUTCYear (méthode Date.getUTCYear) . . . . . . . . . . . . . . . . . . . .514 getYear (méthode Date.getYear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .514 setDate (méthode Date.setDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515 setFullYear (méthode Date.setFullYear) . . . . . . . . . . . . . . . . . . . . . .515 setHours (méthode Date.setHours). . . . . . . . . . . . . . . . . . . . . . . . . . .516 setMilliseconds (méthode Date.setMilliseconds) . . . . . . . . . . . . . . . 517 setMinutes (méthode Date.setMinutes) . . . . . . . . . . . . . . . . . . . . . . . 517 setMonth (méthode Date.setMonth) . . . . . . . . . . . . . . . . . . . . . . . . . .518 setSeconds (méthode Date.setSeconds) . . . . . . . . . . . . . . . . . . . . .519 setTime (méthode Date.setTime). . . . . . . . . . . . . . . . . . . . . . . . . . . . .519 setUTCDate (méthode Date.setUTCDate) . . . . . . . . . . . . . . . . . . . 520 setUTCFullYear (méthode Date.setUTCFullYear) . . . . . . . . . . . . . .521 setUTCHours (méthode Date.setUTCHours) . . . . . . . . . . . . . . . . . 522 setUTCMilliseconds (méthode Date.setUTCMilliseconds) . . . . . 523 setUTCMinutes (méthode Date.setUTCMinutes) . . . . . . . . . . . . . 523 setUTCMonth (méthode Date.setUTCMonth) . . . . . . . . . . . . . . . . 524 setUTCSeconds (méthode Date.setUTCSeconds) . . . . . . . . . . . . 525 setYear (méthode Date.setYear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 toString (méthode Date.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 UTC (méthode Date.UTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 valueOf (méthode Date.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 DisplacementMapFilter (flash.filters.DisplacementMapFilter). . . . . 528 alpha (propriété DisplacementMapFilter.alpha) . . . . . . . . . . . . . . . .531 clone (méthode DisplacementMapFilter.clone) . . . . . . . . . . . . . . . 532 color (propriété DisplacementMapFilter.color) . . . . . . . . . . . . . . . . 535 Table des matières 13 componentX (propriété DisplacementMapFilter.componentX) . . 537 componentY (propriété DisplacementMapFilter.componentY). 539 constructeur DisplacementMapFilter. . . . . . . . . . . . . . . . . . . . . . . . 540 mapBitmap (propriété DisplacementMapFilter.mapBitmap) . . . .543 mapPoint (propriété DisplacementMapFilter.mapPoint). . . . . . . 545 mode (propriété DisplacementMapFilter.mode) . . . . . . . . . . . . . . .546 scaleX (propriété DisplacementMapFilter.scaleX) . . . . . . . . . . . . .548 scaleY (propriété DisplacementMapFilter.scaleY) . . . . . . . . . . . . 550 DropShadowFilter (flash.filters.DropShadowFilter) . . . . . . . . . . . . . . 551 alpha (propriété DropShadowFilter.alpha) . . . . . . . . . . . . . . . . . . . 554 angle (propriété DropShadowFilter.angle) . . . . . . . . . . . . . . . . . . . 555 blurX (propriété DropShadowFilter.blurX) . . . . . . . . . . . . . . . . . . . .556 blurY (propriété DropShadowFilter.blurY) . . . . . . . . . . . . . . . . . . . .557 clone (méthode DropShadowFilter.clone) . . . . . . . . . . . . . . . . . . . .558 color (propriété DropShadowFilter.color) . . . . . . . . . . . . . . . . . . . . 559 distance (propriété DropShadowFilter.distance) . . . . . . . . . . . . . 560 constructeur DropShadowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 hideObject (propriété DropShadowFilter.hideObject) . . . . . . . . . .563 inner (propriété DropShadowFilter.inner) . . . . . . . . . . . . . . . . . . . . .564 knockout (propriété DropShadowFilter.knockout) . . . . . . . . . . . . .565 quality (propriété DropShadowFilter.quality) . . . . . . . . . . . . . . . . . .566 strength (propriété DropShadowFilter.strength) . . . . . . . . . . . . . . . 567 Erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .568 constructeur Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 message (propriété Error.message) . . . . . . . . . . . . . . . . . . . . . . . . . .570 name (propriété Error.name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 toString (méthode Error.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . . .572 ExternalInterface (flash.external.ExternalInterface). . . . . . . . . . . . . . .572 addCallback (méthode ExternalInterface.addCallback). . . . . . . . .574 available (propriété ExternalInterface.available) . . . . . . . . . . . . . . . 576 call (méthode ExternalInterface.call) . . . . . . . . . . . . . . . . . . . . . . . . . 577 FileReference (flash.net.FileReference) . . . . . . . . . . . . . . . . . . . . . . . .579 addListener (méthode FileReference.addListener) . . . . . . . . . . . .584 browse (méthode FileReference.browse) . . . . . . . . . . . . . . . . . . . . .585 cancel (méthode FileReference.cancel) . . . . . . . . . . . . . . . . . . . . . . 587 creationDate (propriété FileReference.creationDate) . . . . . . . . . .588 creator (propriété FileReference.creator) . . . . . . . . . . . . . . . . . . . . .589 download (méthode FileReference.download) . . . . . . . . . . . . . . . .589 constructeur FileReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 modificationDate (propriété FileReference.modificationDate) . 593 name (propriété FileReference.name) . . . . . . . . . . . . . . . . . . . . . . . 594 onCancel (écouteur d'événement FileReference.onCancel) . . . 595 onCancel (écouteur d'événement FileReference.onComplete) . 596 onHTTPError (écouteur d'événement FileReference.onHTTPError) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 onIOError (écouteur d'événement FileReference.onIOError). . . .598 14 Table des matières onOpen (écouteur d'événement FileReference.onOpen) . . . . . . 599 onProgress (écouteur d'événement FileReference.onProgress). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 onSecurityError (écouteur d'événement FileReference.onSecurityError) . . . . . . . . . . . . . . . . . . . . . . . . . . . .601 onSelect (écouteur d'événement FileReference.onSelect) . . . . . 603 onUploadCompleteData (FileReference.onUploadCompleteData event listener) . . . . . 604 postData (FileReference.postData property) . . . . . . . . . . . . . . . . . 604 removeListener (méthodeFileReference.removeListener) . . . . . 604 size (propriété FileReference.size) . . . . . . . . . . . . . . . . . . . . . . . . . . 605 type (propriété FileReference.type). . . . . . . . . . . . . . . . . . . . . . . . . . 606 upload (méthode FileReference.upload) . . . . . . . . . . . . . . . . . . . . . 606 FileReferenceList (flash.net.FileReferenceList) . . . . . . . . . . . . . . . . . . 611 addListener (méthode FileReferenceList.addListener) . . . . . . . . .614 browse (méthode FileReferenceList.browse) . . . . . . . . . . . . . . . . . .615 fileList (propriété FileReferenceList.fileList) . . . . . . . . . . . . . . . . . . . 617 constructeur FileReferenceList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .618 onCancel (écouteur d'événement FileReferenceList.onCancel) .619 onSelect (écouteur d'événement FileReferenceList.onSelect) . .619 removeListener (méthode FileReferenceList.removeListener) . 620 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .621 apply (méthode Function.apply). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 call (méthode Function.call) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 GlowFilter (flash.filters.GlowFilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625 alpha (propriété GlowFilter.alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 blurX (propriété GlowFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . . 628 blurY (propriété GlowFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 clone (méthode GlowFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 color (propriété GlowFilter.color) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 constructeur GlowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 inner (propriété GlowFilter.inner) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 knockout (propriété GlowFilter.knockout) . . . . . . . . . . . . . . . . . . . . 635 quality (propriété GlowFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . . 636 strength (propriété GlowFilter.strength) . . . . . . . . . . . . . . . . . . . . . . 638 GradientBevelFilter (flash.filters.GradientBevelFilter) . . . . . . . . . . . . 639 alphas (propriété GradientBevelFilter.alphas). . . . . . . . . . . . . . . . . .641 angle (propriété GradientBevelFilter.angle). . . . . . . . . . . . . . . . . . . 643 blurX (propriété GradientBevelFilter.blurX) . . . . . . . . . . . . . . . . . . . 644 blurY (propriété GradientBevelFilter.blurY) . . . . . . . . . . . . . . . . . . . 645 clone (méthode GradientBevelFilter.clone) . . . . . . . . . . . . . . . . . . . 646 colors (propriété GradientBevelFilter.colors) . . . . . . . . . . . . . . . . . 647 distance (propriété GradientBevelFilter.distance) . . . . . . . . . . . . . 648 Constructeur GradientBevelFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 Table des matières 15 knockout (propriété GradientBevelFilter.knockout) . . . . . . . . . . . . 651 quality (propriété GradientBevelFilter.quality) . . . . . . . . . . . . . . . . .652 ratios (propriété GradientBevelFilter.ratios) . . . . . . . . . . . . . . . . . . .653 strength (propriété GradientBevelFilter.strength) . . . . . . . . . . . . . .656 type (propriété GradientBevelFilter.type) . . . . . . . . . . . . . . . . . . . . . 657 GradientGlowFilter (flash.filters.GradientGlowFilter) . . . . . . . . . . . . 659 alphas (propriété GradientGlowFilter.alphas). . . . . . . . . . . . . . . . . . 661 angle (propriété GradientGlowFilter.angle). . . . . . . . . . . . . . . . . . . .663 blurX (propriété GradientGlowFilter.blurX) . . . . . . . . . . . . . . . . . . . .664 blurY (propriété GradientGlowFilter.blurY) . . . . . . . . . . . . . . . . . . . .665 clone (méthode GradientGlowFilter.clone) . . . . . . . . . . . . . . . . . . . .666 colors (propriété GradientGlowFilter.colors) . . . . . . . . . . . . . . . . . .668 distance (propriété GradientGlowFilter.distance) . . . . . . . . . . . . . .669 Constructeur GradientGlowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . .670 knockout (propriété GradientGlowFilter.knockout). . . . . . . . . . . . . 672 quality (propriété GradientGlowFilter.quality). . . . . . . . . . . . . . . . . . 673 ratios (propriété GradientGlowFilter.ratios) . . . . . . . . . . . . . . . . . . .674 strength (propriété GradientGlowFilter.strength) . . . . . . . . . . . . . . 677 type (propriété GradientGlowFilter.type) . . . . . . . . . . . . . . . . . . . . . . 678 IME (System.IME) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 addListener (méthode IME.addListener). . . . . . . . . . . . . . . . . . . . . .684 ALPHANUMERIC_FULL (propriété IME.ALPHANUMERIC_FULL) . . . . . . . . . . . . . . . . . . . . . . . . . . . .685 ALPHANUMERIC_HALF (propriété IME.ALPHANUMERIC_HALF). . . . . . . . . . . . . . . . . . . . . . . . . . . .685 CHINESE (propriété IME.CHINESE) . . . . . . . . . . . . . . . . . . . . . . . . .686 doConversion (méthode IME.doConversion) . . . . . . . . . . . . . . . . . .686 getConversionMode (méthode IME.getConversionMode) . . . . . . 687 getEnabled (méthode IME.getEnabled) . . . . . . . . . . . . . . . . . . . . . .688 JAPANESE_HIRAGANA (propriété IME.JAPANESE_HIRAGANA) . . . . . . . . . . . . . . . . . . . . . . . . . . . .689 JAPANESE_KATAKANA_FULL (propriété IME.JAPANESE_KATAKANA_FULL) . . . . . . . . . . . . . . . . . . . . .689 JAPANESE_KATAKANA_HALF (propriété IME.JAPANESE_KATAKANA_HALF) . . . . . . . . . . . . . . . . . . . . 690 KOREAN (propriété IME.KOREAN) . . . . . . . . . . . . . . . . . . . . . . . . 690 onIMEComposition (écouteur d'événements IME.onIMEComposition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 removeListener (méthode IME.removeListener). . . . . . . . . . . . . . .692 setCompositionString (méthode IME.setCompositionString) . . .693 setConversionMode (méthode IME.setConversionMode) . . . . . 694 setEnabled (méthode IME.setEnabled) . . . . . . . . . . . . . . . . . . . . . . 695 UNKNOWN (propriété IME.UNKNOWN). . . . . . . . . . . . . . . . . . . . .696 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .696 addListener (méthode Key.addListener). . . . . . . . . . . . . . . . . . . . . 699 BACKSPACE (propriété Key.BACKSPACE) . . . . . . . . . . . . . . . . . 701 16 Table des matières CAPSLOCK (propriété Key.CAPSLOCK). . . . . . . . . . . . . . . . . . . . . 701 CONTROL (propriété Key.CONTROL) . . . . . . . . . . . . . . . . . . . . . . 702 DELETEKEY (propriété Key.DELETEKEY) . . . . . . . . . . . . . . . . . . 703 DOWN (propriété Key.DOWN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 END (propriété Key.END) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 ENTER (propriété Key.ENTER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 ESCAPE (propriété Key.ESCAPE) . . . . . . . . . . . . . . . . . . . . . . . . . . 706 getAscii (méthode Key.getAscii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 getCode (méthode Key.getCode) . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 HOME (propriété Key.HOME) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 INSERT (propriété Key.INSERT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 isAccessible (méthode Key.isAccessible) . . . . . . . . . . . . . . . . . . . . . 710 isDown (méthode Key.isDown) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 isToggled (méthode Key.isToggled) . . . . . . . . . . . . . . . . . . . . . . . . . . 711 LEFT (propriété Key.LEFT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 _listeners (propriété Key._listeners) . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 onKeyDown (écouteur d'événement Key.onKeyDown) . . . . . . . . . 714 onKeyUp (écouteur d'événement Key.onKeyUp) . . . . . . . . . . . . . . 715 PGDN (propriété Key.PGDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 PGUP (propriété Key.PGUP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 removeListener (méthode Key.removeListener) . . . . . . . . . . . . . . . 717 RIGHT (propriété Key.RIGHT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 SHIFT (propriété Key.SHIFT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 SPACE (propriété Key.SPACE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 TAB (propriété Key.TAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 UP (propriété Key.UP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 LoadVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 addRequestHeader (méthode LoadVars.addRequestHeader) . 724 contentType (propriété LoadVars.contentType) . . . . . . . . . . . . . . 726 decode (méthode LoadVars.decode) . . . . . . . . . . . . . . . . . . . . . . . . 726 getBytesLoaded (méthode LoadVars.getBytesLoaded) . . . . . . . 727 getBytesTotal (méthode LoadVars.getBytesTotal). . . . . . . . . . . . 728 load (méthode LoadVars.load) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729 loaded (propriété LoadVars.loaded) . . . . . . . . . . . . . . . . . . . . . . . . . . 731 constructeur LoadVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 onData (gestionnaire LoadVars.onData) . . . . . . . . . . . . . . . . . . . . . 732 onHTTPStatus (gestionnaire LoadVars.onHTTPStatus) . . . . . . . 733 onLoad (gestionnaire LoadVars.onLoad) . . . . . . . . . . . . . . . . . . . . 735 send (méthode LoadVars.send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 sendAndLoad (méthode LoadVars.sendAndLoad). . . . . . . . . . . . 738 toString (méthode LoadVars.toString) . . . . . . . . . . . . . . . . . . . . . . . 740 LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 allowDomain (gestionnaire LocalConnection.allowDomain) . . . . 743 allowInsecureDomain (gestionnaire LocalConnection.allowInsecureDomain). . . . . . . . . . . . . . . . . . . 747 Table des matières 17 close (méthode LocalConnection.close) . . . . . . . . . . . . . . . . . . . . . . 748 connect (méthode LocalConnection.connect). . . . . . . . . . . . . . . . .749 domain (méthode LocalConnection.domain) . . . . . . . . . . . . . . . . . . 753 constructeur LocalConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756 onStatus (gestionnaire LocalConnection.onStatus). . . . . . . . . . . . 756 send (méthode LocalConnection.send). . . . . . . . . . . . . . . . . . . . . . . 758 Locale (mx.lang.Locale). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .760 addDelayedInstance (méthode Locale.addDelayedInstance) . . . 762 addXMLPath (méthode Locale.addXML). . . . . . . . . . . . . . . . . . . . . 763 autoReplace (propriété Locale.autoReplace) . . . . . . . . . . . . . . . . .764 checkXMLStatus (méthode Locale.checkXMLStatus) . . . . . . . . . 765 getDefaultLang (méthode Locale.getDefaultLang) . . . . . . . . . . . . 765 initialize (méthode Locale.initialize) . . . . . . . . . . . . . . . . . . . . . . . . . . 766 languageCodeArray (propriété Locale.languageCodeArray) . . . . 767 loadLanguageXML (méthode Locale.loadLanguageXML) . . . . . 768 loadString (méthode Locale.loadString) . . . . . . . . . . . . . . . . . . . . . .769 loadStringEx (méthode Locale.loadStringEx) . . . . . . . . . . . . . . . . . 770 setDefaultLang (méthode Locale.setDefaultLang) . . . . . . . . . . . . 771 setLoadCallback (méthode Locale.setLoadCallback) . . . . . . . . . . 771 setString (méthode Locale.setString) . . . . . . . . . . . . . . . . . . . . . . . . 772 stringIDArray (propriété Locale.stringIDArray) . . . . . . . . . . . . . . . . 773 Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773 abs (méthode Math.abs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 acos (méthode Math.acos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 asin (méthode Math.asin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 atan (méthode Math.atan). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 atan2 (méthode Math.atan2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 ceil (méthode Math.ceil) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .780 cos (méthode Math.cos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 E (propriété Math.E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 exp (méthode Math.exp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 floor (méthode Math.floor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 LN10 (propriété Math.LN10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 LN2 (propriété Math.LN2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 log (méthode Math.log) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 LOG10E (propriété Math.LOG10E) . . . . . . . . . . . . . . . . . . . . . . . . . . 785 LOG2E (propriété Math.LOG2E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 max (méthode Math.max) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 min (méthode Math.min) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 PI (propriété Math.PI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 pow (méthode Math.pow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 random (méthode Math.random) . . . . . . . . . . . . . . . . . . . . . . . . . . . .789 round (méthode Math.round) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .790 sin (méthode Math.sin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 sqrt (méthode Math.sqrt). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .792 SQRT1_2 (propriété Math.SQRT1_2) . . . . . . . . . . . . . . . . . . . . . . . . .793 18 Table des matières SQRT2 (propriété Math.SQRT2). . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 tan (méthode Math.tan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 Matrix (flash.geom.Matrix) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794 a (propriété Matrix.a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 b (propriété Matrix.b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 c (propriété Matrix.c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 clone (méthode Matrix.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801 concat (méthode Matrix.concat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801 createBox (méthode Matrix.createBox) . . . . . . . . . . . . . . . . . . . . . . 803 createGradientBox (méthode Matrix.createGradientBox) . . . . . . 804 d (propriété Matrix.d). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 deltaTransformPoint (méthode Matrix.deltaTransformPoint) . . . 806 identity (méthode Matrix.identity). . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 invert (méthode Matrix.invert) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 Constructeur Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .810 rotate (méthode Matrix.rotate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 scale (méthode Matrix.scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .813 toString (méthode Matrix.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . .814 transformPoint (méthode Matrix.transformPoint) . . . . . . . . . . . . . .814 translate (méthode Matrix.translate) . . . . . . . . . . . . . . . . . . . . . . . . . .816 tx (propriété Matrix.tx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .816 ty (propriété Matrix.ty). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 activityLevel (propriété Microphone.activityLevel) . . . . . . . . . . . . 820 gain (propriété Microphone.gain) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .821 obtenir (méthode Microphone.get) . . . . . . . . . . . . . . . . . . . . . . . . . . 822 index (propriété Microphone.index). . . . . . . . . . . . . . . . . . . . . . . . . . 824 muted (propriété microphone.muted) . . . . . . . . . . . . . . . . . . . . . . . . 825 name (propriété Microphone.name) . . . . . . . . . . . . . . . . . . . . . . . . . 825 names (propriété Microphone.names) . . . . . . . . . . . . . . . . . . . . . . . 826 onActivity (gestionnaire microphone.onActivity) . . . . . . . . . . . . . . 827 onStatus (gestionnaire Microphone.onStatus) . . . . . . . . . . . . . . . . 828 rate (propriété Microphone.rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 setGain (méthode Microphone.setGain). . . . . . . . . . . . . . . . . . . . . . .831 setRate (méthode Microphone.setRate) . . . . . . . . . . . . . . . . . . . . . 832 setSilenceLevel (méthode Microphone.setSilenceLevel) . . . . . . 833 setUseEchoSuppression (méthode microphone.setUseEchoSuppression) . . . . . . . . . . . . . . . . . . . . 835 silenceLevel (propriété Microphone.silenceLevel) . . . . . . . . . . . . 837 silenceTimeOut (propriété Microphone.silenceTimeOut). . . . . . . 838 useEchoSuppression (propriété Microphone.useEchoSuppression). . . . . . . . . . . . . . . . . . . . . . . . 839 Souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 addListener (méthode Mouse.addListener) . . . . . . . . . . . . . . . . . . 842 hide (méthode Mouse.hide). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 onMouseDown (écouteur d'événement Mouse.onMouseDown) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 Table des matières 19 onMouseMove (écouteur d'événement Mouse.onMouseMove) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .845 onMouseUp (écouteur d'événement Mouse.onMouseUp) . . . . . . 847 onMouseWheel (écouteur d'événement Mouse.onMouseWheel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .848 removeListener (méthode Mouse.removeListener) . . . . . . . . . . . 850 show (méthode Mouse.show) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 MovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .852 _alpha (propriété MovieClip._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . .862 attachAudio (méthode MovieClip.attachAudio). . . . . . . . . . . . . . . .863 attachBitmap (méthode MovieClip.attachBitmap) . . . . . . . . . . . . .864 attachMovie (méthode MovieClip.attachMovie) . . . . . . . . . . . . . . .866 beginBitmapFill (méthode MovieClip.beginBitmapFill) . . . . . . . . . 867 beginFill (méthode MovieClip.beginFill) . . . . . . . . . . . . . . . . . . . . . .869 beginGradientFill (méthode MovieClip.beginGradientFill) . . . . . .870 blendMode (propriété MovieClip.blendMode) . . . . . . . . . . . . . . . . . 877 cacheAsBitmap (propriété MovieClip.cacheAsBitmap) . . . . . . . .883 clear (méthode MovieClip.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .884 createEmptyMovieClip (méthode MovieClip.createEmptyMovieClip). . . . . . . . . . . . . . . . . . . . . . . . .885 createTextField (méthode MovieClip.createTextField) . . . . . . . . . 887 _currentframe (propriété MovieClip._currentframe) . . . . . . . . . . . .889 curveTo (méthode MovieClip.curveTo) . . . . . . . . . . . . . . . . . . . . . . .889 _droptarget (propriété MovieClip._droptarget). . . . . . . . . . . . . . . . . 891 duplicateMovieClip (méthode MovieClip.duplicateMovieClip) . . .892 enabled (propriété MovieClip.enabled) . . . . . . . . . . . . . . . . . . . . . . 894 endFill (méthode MovieClip.endFill) . . . . . . . . . . . . . . . . . . . . . . . . . .895 filters (propriété MovieClip.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . .896 focusEnabled (propriété MovieClip.focusEnabled). . . . . . . . . . . . .897 _focusrect (propriété MovieClip._focusrect) . . . . . . . . . . . . . . . . . . .898 forceSmoothing (propriété MovieClip.forceSmoothing) . . . . . . . 899 _framesloaded (propriété MovieClip._framesloaded) . . . . . . . . . . 900 getBounds (méthode MovieClip.etBounds) . . . . . . . . . . . . . . . . . . 900 getBytesLoaded (méthode MovieClip.getBytesLoaded) . . . . . . 902 getBytesTotal (méthode MovieClip.getBytesTotal) . . . . . . . . . . . 903 getDepth (méthode MovieClip.getDepth) . . . . . . . . . . . . . . . . . . . . 904 getInstanceAtDepth (méthode MovieClip.getInstanceAtDepth) . . . . . . . . . . . . . . . . . . . . . . . . . . 904 getNextHighestDepth (méthode MovieClip.getNextHighestDepth) . . . . . . . . . . . . . . . . . . . . . . . . 905 getRect (méthode MovieClip.getRect) . . . . . . . . . . . . . . . . . . . . . . .907 getSWFVersion (méthode MovieClip.getSWFVersion) . . . . . . . 908 getTextSnapshot (méthode MovieClip.getTextSnapshot) . . . . . 909 getURL (méthode MovieClip.getURL) . . . . . . . . . . . . . . . . . . . . . . . 910 globalToLocal (méthode MovieClip.globalToLocal). . . . . . . . . . . . 912 20 Table des matières gotoAndPlay (méthode MovieClip.gotoAndPlay) . . . . . . . . . . . . . .914 gotoAndStop (méthode MovieClip.gotoAndStop) . . . . . . . . . . . . .915 _height (propriété MovieClip._height) . . . . . . . . . . . . . . . . . . . . . . . . .916 _highquality (propriété MovieClip._highquality). . . . . . . . . . . . . . . . . 917 hitArea (propriété MovieClip.hitArea) . . . . . . . . . . . . . . . . . . . . . . . . . 917 hitTest (méthode MovieClip.hitTest) . . . . . . . . . . . . . . . . . . . . . . . . . .918 lineGradientStyle (méthode MovieClip.lineGradientStyle). . . . . . 920 lineStyle (méthode MovieClip.lineStyle). . . . . . . . . . . . . . . . . . . . . . 924 lineTo (méthode MovieClip.lineTo) . . . . . . . . . . . . . . . . . . . . . . . . . . 928 loadMovie (méthode MovieClip.loadMovie) . . . . . . . . . . . . . . . . . . 929 loadVariables (méthode MovieClip.loadVariables) . . . . . . . . . . . . .931 localToGlobal (méthode MovieClip.localToGlobal) . . . . . . . . . . . . 933 _lockroot (propriété MovieClip._lockroot) . . . . . . . . . . . . . . . . . . . . 936 menu (propriété MovieClip.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 moveTo (méthode MovieClip.moveTo) . . . . . . . . . . . . . . . . . . . . . . 940 _name (propriété MovieClip._name) . . . . . . . . . . . . . . . . . . . . . . . . . 940 nextFrame (méthode MovieClip.nextFrame). . . . . . . . . . . . . . . . . . .941 onData (gestionnaire MovieClip.onData) . . . . . . . . . . . . . . . . . . . . . 942 onDragOut (gestionnaire MovieClip.onDragOut) . . . . . . . . . . . . . . 943 onDragOver (gestionnaire MovieClip.onDragOver). . . . . . . . . . . . 943 onEnterFrame (gestionnaire MovieClip.onEnterFrame). . . . . . . . 944 onKeyDown (gestionnaire MovieClip.onKeyDown) . . . . . . . . . . . 944 onKeyUp (gestionnaire MovieClip.onKeyUp) . . . . . . . . . . . . . . . . . 945 onKillFocus (gestionnaire MovieClip.onKillFocus). . . . . . . . . . . . . 946 onLoad (gestionnaire MovieClip.onLoad) . . . . . . . . . . . . . . . . . . . . 947 onMouseDown (gestionnaire MovieClip.onMouseDown) . . . . . . 948 onMouseMove (gestionnaire MovieClip.onMouseMove) . . . . . . . 949 onMouseUp (gestionnaire MovieClip.onMouseUp) . . . . . . . . . . . . 949 onPress (gestionnaire MovieClip.onPress) . . . . . . . . . . . . . . . . . . . 949 onRelease (gestionnaire MovieClip.onRelease) . . . . . . . . . . . . . . . 950 onReleaseOutside (gestionnaire MovieClip.onReleaseOutside) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 onRollOut (gestionnaire MovieClip.onRollOut). . . . . . . . . . . . . . . . .951 onRollOver (gestionnaire MovieClip.onRollOver) . . . . . . . . . . . . . .951 onSetFocus (gestionnaire MovieClip.onSetFocus) . . . . . . . . . . . . 952 onUnload (gestionnaire MovieClip.onUnload) . . . . . . . . . . . . . . . . 952 opaqueBackground (propriété MovieClip.opaqueBackground) . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 _parent (propriété MovieClip._parent) . . . . . . . . . . . . . . . . . . . . . . . . 954 play (méthode MovieClip.play) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 prevFrame (méthode MovieClip.prevFrame) . . . . . . . . . . . . . . . . . 955 _quality (propriété MovieClip._quality). . . . . . . . . . . . . . . . . . . . . . . . 956 removeMovieClip (méthode MovieClip.removeMovieClip) . . . . . 959 _rotation (propriété MovieClip._rotation) . . . . . . . . . . . . . . . . . . . . . 960 scale9Grid (propriété MovieClip.scale9Grid) . . . . . . . . . . . . . . . . . .961 scrollRect (propriété MovieClip.scrollRect) . . . . . . . . . . . . . . . . . . . 965 Table des matières 21 setMask (méthode MovieClip.setMask) . . . . . . . . . . . . . . . . . . . . . .966 _soundbuftime (propriété MovieClip._soundbuftime) . . . . . . . . . . .968 startDrag (méthode MovieClip.startDrag) . . . . . . . . . . . . . . . . . . . . .968 stop (méthode MovieClip.stop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 stopDrag (méthode MovieClip.stopDrag) . . . . . . . . . . . . . . . . . . . . .970 swapDepths (méthode MovieClip.swapDepths) . . . . . . . . . . . . . . . 971 tabChildren (propriété MovieClip.tabChildren). . . . . . . . . . . . . . . . .972 tabEnabled (propriété MovieClip.tabEnabled) . . . . . . . . . . . . . . . . .973 tabIndex (propriété MovieClip.tabIndex) . . . . . . . . . . . . . . . . . . . . . .973 _target (propriété MovieClip._target) . . . . . . . . . . . . . . . . . . . . . . . . .974 _totalframes (propriété MovieClip._totalframes) . . . . . . . . . . . . . . .975 trackAsMenu (propriété MovieClip.trackAsMenu) . . . . . . . . . . . . .975 transform (propriété MovieClip.transform) . . . . . . . . . . . . . . . . . . . .976 unloadMovie (méthode MovieClip.unloadMovie) . . . . . . . . . . . . . .978 _url (propriété MovieClip._url). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .979 useHandCursor (propriété MovieClip.useHandCursor) . . . . . . . . 980 _visible (propriété MovieClip._visible). . . . . . . . . . . . . . . . . . . . . . . . . 981 _width (propriété MovieClip._width) . . . . . . . . . . . . . . . . . . . . . . . . . . 981 _x (propriété MovieClip._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .982 _xmouse (propriété MovieClip._xmouse) . . . . . . . . . . . . . . . . . . . . . .983 _xscale (propriété MovieClip._xscale). . . . . . . . . . . . . . . . . . . . . . . . 984 _y (propriété MovieClip._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .985 _ymouse (propriété MovieClip._ymouse) . . . . . . . . . . . . . . . . . . . . . .986 _yscale (propriété MovieClip._yscale). . . . . . . . . . . . . . . . . . . . . . . . .986 MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .988 addListener (méthode MovieClipLoader.addListener) . . . . . . . . . 991 checkPolicyFile (propriété MovieClipLoader.checkPolicyFile) . 992 getProgress (méthode MovieClipLoader.getProgress) . . . . . . . . 993 loadClip (méthode MovieClipLoader.loadClip) . . . . . . . . . . . . . . . 995 MovieClipLoader, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 onLoadComplete (écouteur d'événement MovieClipLoader.onLoadComplete) . . . . . . . . . . . . . . . . . . . . . . 998 onLoadError (écouteur d'événement MovieClipLoader.onLoadError) . . . . . . . . . . . . . . . . . . . . . . . . . .1000 onLoadInit (écouteur d'événement MovieClipLoader.onLoadInit) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002 onLoadProgress (écouteur d'événement MovieClipLoader.onLoadProgress). . . . . . . . . . . . . . . . . . . . . . .1003 onLoadStart (écouteur d'événement MovieClipLoader.onLoadStart) . . . . . . . . . . . . . . . . . . . . . . . . . .1005 removeListener (méthode MovieClipLoader.removeListener) .1006 unloadClip (méthode MovieClipLoader.unloadClip) . . . . . . . . . . . 1007 NetConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1008 connect (méthode NetConnection.connect) . . . . . . . . . . . . . . . . .1009 NetConnection, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010 22 Table des matières NetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011 bufferLength (propriété NetStream.bufferLength) . . . . . . . . . . . . 1014 bufferTime (propriété NetStream.bufferTime) . . . . . . . . . . . . . . . . 1015 bytesLoaded (propriété NetStream.bytesLoaded) . . . . . . . . . . . . 1016 bytesTotal (propriété NetStream.bytesTotal) . . . . . . . . . . . . . . . . . 1017 checkPolicyFile (NetStream.checkPolicyFile property) . . . . . . . . 1019 close (méthode NetStream.close) . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 currentFps (propriété NetStream.currentFps) . . . . . . . . . . . . . . . . 1021 NetStream, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022 onCuePoint (NetStream.onCuePoint handler) . . . . . . . . . . . . . . . 1022 onMetaData (gestionnaire NetStream.onMetaData) . . . . . . . . . 1025 onStatus (gestionnaire NetStream.onStatus) . . . . . . . . . . . . . . . . 1026 pause (méthode NetStream.pause). . . . . . . . . . . . . . . . . . . . . . . . . 1028 play (méthode NetStream.play) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029 seek (méthode NetStream.seek) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031 setBufferTime (méthode NetStream.setBufferTime) . . . . . . . . . 1032 time (propriété NetStream.time). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032 Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034 MAX_VALUE (propriété Number.MAX_VALUE) . . . . . . . . . . . . . 1035 MIN_VALUE (propriété Number.MIN_VALUE) . . . . . . . . . . . . . . 1036 NaN (propriété Number.NaN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036 NEGATIVE_INFINITY (propriété Number.NEGATIVE_INFINITY) . . . . . . . . . . . . . . . . . . . . . . . . . . 1036 Constructeur Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037 POSITIVE_INFINITY (propriété Number.POSITIVE_INFINITY) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037 toString (méthode Number.toString) . . . . . . . . . . . . . . . . . . . . . . . 1038 valueOf (méthode Number.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . 1039 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 addProperty (méthode Object.addProperty). . . . . . . . . . . . . . . . . . 1041 Constructeur (propriété Object.constructor) . . . . . . . . . . . . . . . . . 1044 hasOwnProperty (méthode Object.hasOwnProperty) . . . . . . . . 1045 isPropertyEnumerable (méthode Object.isPropertyEnumerable). . . . . . . . . . . . . . . . . . . . . . . . . . . 1045 isPrototypeOf (méthode Object.isPrototypeOf) . . . . . . . . . . . . . . 1046 Constructeur Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 __proto__ (Object.__proto__ property) . . . . . . . . . . . . . . . . . . . . . . . 1047 prototype (Object.prototype, propriété) . . . . . . . . . . . . . . . . . . . . . 1048 registerClass (méthode Object.registerClass). . . . . . . . . . . . . . . . 1049 __resolve (Object.__resolve, propriété) . . . . . . . . . . . . . . . . . . . . . . 1050 toString (méthode Object.toString). . . . . . . . . . . . . . . . . . . . . . . . . 1053 unwatch (méthode Object.unwatch) . . . . . . . . . . . . . . . . . . . . . . . . 1055 valueOf (méthode Object.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . 1055 watch (méthode Object.watch). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 Table des matières 23 Point (flash.geom.Point) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1059 add (méthode Point.add) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 clone (méthode Point.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 distance (méthode Point.distance) . . . . . . . . . . . . . . . . . . . . . . . . . .1062 equals (méthode Point.equals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1062 interpolate (méthode Point.interpolate) . . . . . . . . . . . . . . . . . . . . . . 1063 length (propriété Point.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1064 normalize (méthode Point.normalize) . . . . . . . . . . . . . . . . . . . . . . .1064 offset (méthode Point.offset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1065 Constructeur Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1065 polar (méthode Point.polar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066 subtract (méthode Point.subtract) . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 toString (méthode Point.toString). . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 x (Point.x, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 y (Point.y, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1069 addPage (méthode PrintJob.addPage) . . . . . . . . . . . . . . . . . . . . . . 1071 orientation (PrintJob.orientation, propriété) . . . . . . . . . . . . . . . . . . 1075 pageHeight (propriété PrintJob.pageHeight). . . . . . . . . . . . . . . . . 1075 pageWidth (propriété PrintJob.pageWidth) . . . . . . . . . . . . . . . . . . 1075 paperHeight (propriété PrintJob.paperHeight) . . . . . . . . . . . . . . . 1075 paperWidth (propriété PrintJob.paperWidth) . . . . . . . . . . . . . . . . 1075 PrintJob, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076 send (méthode PrintJob.send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077 start (méthode PrintJob.start) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078 Rectangle (flash.geom.Rectangle) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1080 bottom (propriété Rectangle.bottom) . . . . . . . . . . . . . . . . . . . . . . . 1083 bottomRight (propriété Rectangle.bottomRight) . . . . . . . . . . . . .1084 clone (méthode Rectangle.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . .1085 contains (méthode Rectangle.contains) . . . . . . . . . . . . . . . . . . . . . 1087 containsPoint (méthode Rectangle.containsPoint) . . . . . . . . . . . 1088 containsRectangle (méthode Rectangle.containsRectangle) . .1089 equals (méthode Rectangle.equals) . . . . . . . . . . . . . . . . . . . . . . . . .1089 height (propriété Rectangle.height) . . . . . . . . . . . . . . . . . . . . . . . . . 1091 inflate (méthode Rectangle.inflate). . . . . . . . . . . . . . . . . . . . . . . . . . 1091 inflatePoint (méthode Rectangle.inflatePoint) . . . . . . . . . . . . . . . .1092 intersection (méthode Rectangle.intersection) . . . . . . . . . . . . . . .1093 intersects (méthode Rectangle.intersects) . . . . . . . . . . . . . . . . . . .1094 isEmpty (méthode Rectangle.isEmpty) . . . . . . . . . . . . . . . . . . . . . .1095 left (propriété Rectangle.left) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1095 offset (méthode Rectangle.offset) . . . . . . . . . . . . . . . . . . . . . . . . . .1096 offsetPoint (méthode Rectangle.offsetPoint). . . . . . . . . . . . . . . . . 1097 Rectangle, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1098 right (propriété Rectangle.right) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1098 setEmpty (méthode Rectangle.setEmpty) . . . . . . . . . . . . . . . . . . .1099 24 Table des matières size (propriété Rectangle.size) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100 top (propriété Rectangle.top) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101 topLeft (propriété Rectangle.topLeft). . . . . . . . . . . . . . . . . . . . . . . . 1102 toString (méthode Rectangle.toString) . . . . . . . . . . . . . . . . . . . . . . 1103 union (méthode Rectangle.union) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103 width (propriété Rectangle.width) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 x (propriété Rectangle.x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 y (propriété Rectangle.y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 security (System.security) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 allowDomain (méthode security.allowDomain). . . . . . . . . . . . . . . . 1108 allowInsecureDomain (méthode security.allowInsecureDomain) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114 loadPolicyFile (méthode security.loadPolicyFile). . . . . . . . . . . . . . 1118 sandboxType (propriété security.sandboxType) . . . . . . . . . . . . . . 1120 Sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121 addListener (méthode Selection.addListener) . . . . . . . . . . . . . . . . 1123 getBeginIndex (méthode Selection.getBeginIndex) . . . . . . . . . . . 1124 getCaretIndex (méthode Selection.getCaretIndex) . . . . . . . . . . . . 1125 getEndIndex (méthode Selection.getEndIndex). . . . . . . . . . . . . . . 1126 getFocus (méthode Selection.getFocus). . . . . . . . . . . . . . . . . . . . . 1127 onSetFocus (Selection.onSetFocus, écouteur d'événement) . . 1128 removeListener (méthode Selection.removeListener) . . . . . . . . . 1130 setFocus (méthode Selection.setFocus) . . . . . . . . . . . . . . . . . . . . . 1131 setSelection (méthode Selection.setSelection) . . . . . . . . . . . . . . . 1132 SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 clear (méthode SharedObject.clear) . . . . . . . . . . . . . . . . . . . . . . . . . 1137 data (propriété SharedObject.data). . . . . . . . . . . . . . . . . . . . . . . . . . 1137 flush (méthode SharedObject.flush) . . . . . . . . . . . . . . . . . . . . . . . . . 1139 getLocal (méthode SharedObject.getLocal). . . . . . . . . . . . . . . . . . 1141 getSize (méthode SharedObject.getSize) . . . . . . . . . . . . . . . . . . . . 1145 onStatus (gestionnaire SharedObject.onStatus) . . . . . . . . . . . . . . 1146 Son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 attachSound (méthode Sound.attachSound) . . . . . . . . . . . . . . . . . 1150 checkPolicyFile (propriété Sound.checkPolicyFile) . . . . . . . . . . . 1151 duration (propriété Sound.duration) . . . . . . . . . . . . . . . . . . . . . . . . . 1152 getBytesLoaded (méthode Sound.getBytesLoaded). . . . . . . . . . 1154 getBytesTotal (méthode Sound.getBytesTotal). . . . . . . . . . . . . . . 1155 getPan (méthode Sound.getPan) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156 getTransform (méthode Sound.getTransform). . . . . . . . . . . . . . . . 1158 getVolume (méthode Sound.getVolume). . . . . . . . . . . . . . . . . . . . . 1160 id3 (Sound.id3, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 loadSound (méthode Sound.loadSound) . . . . . . . . . . . . . . . . . . . . 1164 onID3 (gestionnaire Sound.onID3) . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 onLoad (gestionnaire Sound.onLoad) . . . . . . . . . . . . . . . . . . . . . . . 1166 onSoundComplete (gestionnaire Sound.onSoundComplete). . . 1167 Table des matières 25 position (Sound.position, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . .1167 setPan (méthode Sound.setPan) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 setTransform (méthode Sound.setTransform). . . . . . . . . . . . . . . . 1168 setVolume (méthode Sound.setVolume). . . . . . . . . . . . . . . . . . . . . . 1171 Sound, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171 start (Sound.start method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1172 stop (Sound.stop method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1173 Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174 addListener (méthode Stage.addListener). . . . . . . . . . . . . . . . . . . 1175 align (propriété Stage.align) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1176 displayState (propriété Stage.displayState). . . . . . . . . . . . . . . . . . .1177 height (propriété Stage.height) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179 onFullScreen (gestionnaire Stage.onFullScreen) . . . . . . . . . . . . . 1179 onResize (Stage.onResize, écouteur d'événements). . . . . . . . . . 1180 removeListener (méthode Stage.removeListener) . . . . . . . . . . . . 1180 scaleMode (propriété Stage.scaleMode) . . . . . . . . . . . . . . . . . . . . . 1181 showMenu (propriété Stage.showMenu) . . . . . . . . . . . . . . . . . . . . 1183 width (propriété Stage.width). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184 charAt (méthode String.charAt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1187 charCodeAt (méthode String.charCodeAt) . . . . . . . . . . . . . . . . . . 1188 concat (méthode String.concat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 fromCharCode (méthode String.fromCharCode) . . . . . . . . . . . . . 1189 indexOf (méthode String.indexOf) . . . . . . . . . . . . . . . . . . . . . . . . . . 1189 lastIndexOf (méthode String.lastIndexOf). . . . . . . . . . . . . . . . . . . . 1190 length (propriété String.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191 slice (méthode String.slice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192 split (méthode String.split) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194 String, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 substr (méthode String.substr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 substring (méthode String.substring) . . . . . . . . . . . . . . . . . . . . . . . . 1196 toLowerCase (méthode String.toLowerCase) . . . . . . . . . . . . . . . . 1197 toString (méthode String.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . 1198 toUpperCase (méthode String.toUpperCase) . . . . . . . . . . . . . . . . 1199 valueOf (méthode String.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . .1200 StyleSheet (TextField.StyleSheet) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1200 clear (méthode StyleSheet.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . .1204 getStyle (méthode StyleSheet.getStyle). . . . . . . . . . . . . . . . . . . . .1205 getStyleNames (méthode StyleSheet.getStyleNames) . . . . . . . 1207 load (méthode StyleSheet.load) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208 onLoad (gestionnaire StyleSheet.onLoad). . . . . . . . . . . . . . . . . . .1209 parseCSS (méthode StyleSheet.parseCSS) . . . . . . . . . . . . . . . . . 1210 setStyle (méthode StyleSheet.setStyle) . . . . . . . . . . . . . . . . . . . . . . 1211 StyleSheet, constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213 transform (méthode StyleSheet.transform) . . . . . . . . . . . . . . . . . . 1213 26 Table des matières System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214 exactSettings (propriété System.exactSettings) . . . . . . . . . . . . . . 1216 onStatus (gestionnaire System.onStatus) . . . . . . . . . . . . . . . . . . . . 1218 setClipboard (méthode System.setClipboard) . . . . . . . . . . . . . . . . 1219 showSettings (méthode System.showSettings) . . . . . . . . . . . . . 1220 useCodepage (propriété System.useCodepage) . . . . . . . . . . . . . . 1221 TextField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222 addListener (méthode TextField.addListener) . . . . . . . . . . . . . . . 1228 _alpha (propriété TextField._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . 1230 antiAliasType (propriété TextField.antiAliasType) . . . . . . . . . . . . . 1231 autoSize (propriété TextField.autoSize). . . . . . . . . . . . . . . . . . . . . 1232 background (propriété TextField.background) . . . . . . . . . . . . . . . 1234 backgroundColor (propriété TextField.backgroundColor) . . . . . 1235 border (propriété TextField.border) . . . . . . . . . . . . . . . . . . . . . . . . . 1235 borderColor (propriété TextField.borderColor) . . . . . . . . . . . . . . . 1236 bottomScroll (propriété TextField.bottomScroll) . . . . . . . . . . . . . 1236 condenseWhite (propriété TextField.condenseWhite) . . . . . . . . .1237 embedFonts (propriété TextField.embedFonts). . . . . . . . . . . . . . 1238 filters (propriété TextField.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 getDepth (méthode TextField.getDepth) . . . . . . . . . . . . . . . . . . . . . 1241 getFontList (méthode TextField.getFontList). . . . . . . . . . . . . . . . 1242 getNewTextFormat (méthode TextField.getNewTextFormat) . 1242 getTextFormat (méthode TextField.getTextFormat). . . . . . . . . . 1243 gridFitType (propriété TextField.gridFitType) . . . . . . . . . . . . . . . . 1245 _height (propriété TextField._height) . . . . . . . . . . . . . . . . . . . . . . . . 1246 _height (propriété TextField._height) . . . . . . . . . . . . . . . . . . . . . . . . 1247 hscroll (propriété TextField.hscroll) . . . . . . . . . . . . . . . . . . . . . . . . . 1247 html (propriété TextField.html) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248 htmlText (propriété TextField.htmlText) . . . . . . . . . . . . . . . . . . . . . 1249 length (propriété TextField.length). . . . . . . . . . . . . . . . . . . . . . . . . . 1250 maxChars (propriété TextField.maxChars) . . . . . . . . . . . . . . . . . . 1250 maxhscroll (propriété TextField.maxhscroll) . . . . . . . . . . . . . . . . . . 1251 maxscroll (propriété TextField.maxscroll) . . . . . . . . . . . . . . . . . . . . 1251 menu (propriété TextField.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1252 mouseWheelEnabled (propriété TextField.mouseWheelEnabled) . . . . . . . . . . . . . . . . . . . . . . . . . 1253 multiline (propriété TextField.multiline). . . . . . . . . . . . . . . . . . . . . . 1254 _name (propriété TextField._name) . . . . . . . . . . . . . . . . . . . . . . . . . 1255 onChanged (gestionnaire TextField.onChanged) . . . . . . . . . . . . 1255 onKillFocus (gestionnaire TextField.onKillFocus) . . . . . . . . . . . . 1256 onScroller (gestionnaire TextField.onScroller) . . . . . . . . . . . . . . . 1257 onSetFocus (gestionnaire TextField.onSetFocus) . . . . . . . . . . . 1259 _parent (propriété TextField._parent) . . . . . . . . . . . . . . . . . . . . . . . 1259 password (propriété TextField.password) . . . . . . . . . . . . . . . . . . . 1260 _quality (propriété TextField._quality) . . . . . . . . . . . . . . . . . . . . . . . . 1261 Table des matières 27 removeListener (méthode TextField.removeListener) . . . . . . . . . 1262 removeTextField (méthode TextField.removeTextField) . . . . . . 1263 replaceSel (méthode TextField.replaceSel) . . . . . . . . . . . . . . . . . . 1264 replaceText (méthode TextField.replaceText) . . . . . . . . . . . . . . . . 1265 restrict (propriété TextField.restrict) . . . . . . . . . . . . . . . . . . . . . . . . . 1266 _rotation (propriété TextField._rotation). . . . . . . . . . . . . . . . . . . . . . 1267 scroll (propriété TextField.scroll) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 selectable (propriété TextField.selectable) . . . . . . . . . . . . . . . . . . . 1269 setNewTextFormat (méthode TextField.setNewTextFormat) . . 1270 setTextFormat (méthode TextField.setTextFormat) . . . . . . . . . . .1271 sharpness (propriété TextField.sharpness). . . . . . . . . . . . . . . . . . . 1273 _soundbuftime (propriété TextField._soundbuftime) . . . . . . . . . . 1274 styleSheet (propriété TextField.styleSheet) . . . . . . . . . . . . . . . . . . 1275 tabEnabled (propriété TextField.tabEnabled) . . . . . . . . . . . . . . . . 1277 tabIndex (propriété TextField.tabIndex). . . . . . . . . . . . . . . . . . . . . . 1278 _target (propriété TextField._target) . . . . . . . . . . . . . . . . . . . . . . . . . 1280 text (propriété TextField.text). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1280 textColor (propriété TextField.textColor). . . . . . . . . . . . . . . . . . . . . 1281 textHeight (propriété TextField.textHeight) . . . . . . . . . . . . . . . . . . 1282 textWidth (propriété TextField.textWidth) . . . . . . . . . . . . . . . . . . . 1282 thickness (propriété TextField.thickness) . . . . . . . . . . . . . . . . . . . . 1283 type (propriété TextField.type). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284 _url (propriété TextField._url) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285 variable (propriété TextField.variable) . . . . . . . . . . . . . . . . . . . . . . . 1285 _visible (propriété TextField._visible) . . . . . . . . . . . . . . . . . . . . . . . . 1286 _width (propriété TextField._width) . . . . . . . . . . . . . . . . . . . . . . . . . . 1286 wordWrap (propriété TextField.wordWrap) . . . . . . . . . . . . . . . . . . 1287 _x (propriété TextField._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288 _xmouse (propriété TextField._xmouse) . . . . . . . . . . . . . . . . . . . . . 1289 _xscale (propriété TextField._xscale) . . . . . . . . . . . . . . . . . . . . . . . .1290 _y (propriété TextField._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291 _ymouse (propriété TextField._ymouse) . . . . . . . . . . . . . . . . . . . . . 1291 _yscale (propriété TextField._yscale) . . . . . . . . . . . . . . . . . . . . . . . . 1292 TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292 align (propriété TextFormat.align). . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 blockIndent (propriété TextFormat.blockIndent) . . . . . . . . . . . . . . 1296 bold (propriété TextFormat.bold) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297 bullet (propriété TextFormat.bullet) . . . . . . . . . . . . . . . . . . . . . . . . . 1297 color (propriété TextFormat.color) . . . . . . . . . . . . . . . . . . . . . . . . . . 1298 font (propriété TextFormat.font) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298 getTextExtent (méthode TextFormat.getTextExtent) . . . . . . . . . 1299 indent (propriété TextFormat.indent) . . . . . . . . . . . . . . . . . . . . . . . . 1301 italic (propriété TextFormat.italic) . . . . . . . . . . . . . . . . . . . . . . . . . . .1302 kerning (propriété TextFormat.kerning). . . . . . . . . . . . . . . . . . . . . .1302 leading (propriété TextFormat.leading) . . . . . . . . . . . . . . . . . . . . . .1304 28 Table des matières leftMargin (propriété TextFormat.leftMargin) . . . . . . . . . . . . . . . . 1304 letterSpacing (propriété TextFormat.letterSpacing) . . . . . . . . . . 1305 rightMargin (propriété TextFormat.rightMargin). . . . . . . . . . . . . . 1305 size (propriété TextFormat.size). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306 tabStops (propriété TextFormat.tabStops) . . . . . . . . . . . . . . . . . . 1306 target (propriété TextFormat.target) . . . . . . . . . . . . . . . . . . . . . . . . 1307 constructeur TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308 underline (propriété TextFormat.underline) . . . . . . . . . . . . . . . . . . 1309 url (propriété TextFormat.url) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310 TextRenderer (flash.text.TextRenderer) . . . . . . . . . . . . . . . . . . . . . . . . 1310 displayMode (propriété TextRenderer.displayMode) . . . . . . . . . . 1312 maxLevel (propriété TextRenderer.maxLevel) . . . . . . . . . . . . . . . . 1313 setAdvancedAntialiasingTable (méthode TextRenderer.setAdvancedAntialiasingTable). . . . . . . . . . . . . . 1314 TextSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316 findText (méthode TextSnapshot.findText). . . . . . . . . . . . . . . . . . . 1318 getCount (méthode TextSnapshot.getCount). . . . . . . . . . . . . . . . . 1319 getSelected (méthode TextSnapshot.getSelected) . . . . . . . . . . 1320 getSelectedText (méthode TextSnapshot.getSelectedText) . . . 1321 getText (méthode TextSnapshot.getText). . . . . . . . . . . . . . . . . . . 1322 getTextRunInfo (méthode TextSnapshot.getTextRunInfo) . . . . 1324 hitTestTextNearPos (méthode TextSnapshot.hitTestTextNearPos) . . . . . . . . . . . . . . . . . . . . . . 1326 setSelectColor (méthode TextSnapshot.setSelectColor) . . . . . 1328 setSelected (méthode TextSnapshot.setSelected). . . . . . . . . . . 1329 Transform (flash.geom.Transform). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330 colorTransform (propriété Transform.colorTransform) . . . . . . . . 1332 concatenatedColorTransform (propriété Transform.concatenatedColorTransform). . . . . . . . . . . . . . . . . 1333 concatenatedMatrix (propriété Transform.concatenatedMatrix) . . . . . . . . . . . . . . . . . . . . . . . . . 1334 matrix (propriété Transform.matrix) . . . . . . . . . . . . . . . . . . . . . . . . . 1335 pixelBounds (propriété Transform.pixelBounds) . . . . . . . . . . . . . 1336 Transform, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1337 Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339 _alpha (propriété Video._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 attachVideo (méthode Video.attachVideo) . . . . . . . . . . . . . . . . . . 1342 clear (méthode Video.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 deblocking (propriété Video.deblocking) . . . . . . . . . . . . . . . . . . . . 1344 _height (propriété Video._height) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345 height (propriété Video.height) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345 _name (propriété Video._name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346 _parent (propriété Video._parent). . . . . . . . . . . . . . . . . . . . . . . . . . . 1346 _rotation (propriété Video._rotation) . . . . . . . . . . . . . . . . . . . . . . . . 1347 smoothing (propriété Video.smoothing) . . . . . . . . . . . . . . . . . . . . . 1347 Table des matières 29 _visible (propriété Video._visible). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1348 _width (propriété Video._width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1348 width (propriété Video.width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1348 _x (Video._x property). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 _xmouse (propriété Video._xmouse). . . . . . . . . . . . . . . . . . . . . . . . . 1349 _xscale (propriété Video._xscale) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 _y (propriété Video._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1350 _ymouse (propriété Video._ymouse). . . . . . . . . . . . . . . . . . . . . . . . .1350 _yscale (propriété Video._yscale) . . . . . . . . . . . . . . . . . . . . . . . . . . .1350 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351 addRequestHeader (méthode XML.addRequestHeader). . . . . . 1355 contentType (propriété XML.contentType) . . . . . . . . . . . . . . . . . . 1356 createElement (méthode nodeML.createElement). . . . . . . . . . . . 1357 createTextNode (méthode XML.createTextNode) . . . . . . . . . . . . 1358 docTypeDecl (propriété XML.docTypeDecl) . . . . . . . . . . . . . . . . . 1359 getBytesLoaded (méthode XML.getBytesLoaded) . . . . . . . . . . . 1360 getBytesTotal (méthode XML.getBytesTotal). . . . . . . . . . . . . . . . 1361 idMap (propriété XML.idMap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361 ignoreWhite (propriété XML.ignoreWhite) . . . . . . . . . . . . . . . . . . . 1363 load (méthode XML.load) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365 loaded (propriété XML.loaded) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367 onData (gestionnaire XML.onData) . . . . . . . . . . . . . . . . . . . . . . . . . 1368 onHTTPStatus (gestionnaire XML.onHTTPStatus) . . . . . . . . . . . 1369 onLoad (gestionnaire XML.onLoad) . . . . . . . . . . . . . . . . . . . . . . . . .1371 parseXML (méthode XML.parseXML) . . . . . . . . . . . . . . . . . . . . . . 1372 send (méthode XML.send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373 sendAndLoad (méthode XML.sendAndLoad). . . . . . . . . . . . . . . . 1374 status (propriété XML.status). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1376 constructeur XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378 xmlDecl (propriété XML.xmlDecl). . . . . . . . . . . . . . . . . . . . . . . . . . . 1378 XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1380 appendChild (méthode XMLNode.appendChild) . . . . . . . . . . . . . 1382 attributes (propriété XMLNode.attributes) . . . . . . . . . . . . . . . . . . . 1384 childNodes (propriété XMLNode.childNodes). . . . . . . . . . . . . . . . 1384 cloneNode (méthode XMLNode.cloneNode). . . . . . . . . . . . . . . . . 1385 firstChild (propriété XMLNode.firstChild) . . . . . . . . . . . . . . . . . . . . 1387 getNamespaceForPrefix (méthode XMLNode.getNamespaceForPrefix). . . . . . . . . . . . . . . . . . . . . . 1389 getPrefixForNamespace (méthode XMLNode.getPrefixForNamespace). . . . . . . . . . . . . . . . . . . . . .1390 hasChildNodes (méthode XMLNode.hasChildNodes). . . . . . . . . 1391 insertBefore (méthode XMLNode.insertBefore) . . . . . . . . . . . . . . 1392 lastChild (propriété XMLNode.lastChild). . . . . . . . . . . . . . . . . . . . . 1392 localName (propriété XMLNode.localName) . . . . . . . . . . . . . . . . . 1394 namespaceURI (propriété XMLNode.namespaceURI) . . . . . . . . 1395 30 Table des matières nextSibling (propriété XMLNode.nextSibling) . . . . . . . . . . . . . . . 1397 nodeName (propriété XMLNode.nodeName). . . . . . . . . . . . . . . . 1398 nodeType (propriété XMLNode.nodeType) . . . . . . . . . . . . . . . . . 1399 nodeValue (propriété XMLNode.nodeValue) . . . . . . . . . . . . . . . . 1400 parentNode (propriété XMLNode.parentNode) . . . . . . . . . . . . . . 1402 prefix (propriété XMLNode.prefix) . . . . . . . . . . . . . . . . . . . . . . . . . . 1402 previousSibling (propriété XMLNode.previousSibling). . . . . . . . 1403 removeNode (méthode XMLNode.removeNode) . . . . . . . . . . . . 1404 toString (méthode XMLNode.toString) . . . . . . . . . . . . . . . . . . . . . 1405 constructeur XMLNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405 XMLSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407 close (méthode XMLSocket.close) . . . . . . . . . . . . . . . . . . . . . . . . . 1409 connect (méthode XMLSocket.connect). . . . . . . . . . . . . . . . . . . . . 1410 onClose (gestionnaire XMLSocket.onClose) . . . . . . . . . . . . . . . . . 1412 onConnect (gestionnaire XMLSocket.onConnect) . . . . . . . . . . . . 1412 onData (gestionnaire XMLSocket.onData) . . . . . . . . . . . . . . . . . . . 1414 onXML (gestionnaire XMLSocket.onXML) . . . . . . . . . . . . . . . . . . . 1414 send (méthode XMLSocket.send). . . . . . . . . . . . . . . . . . . . . . . . . . . 1415 constructeur XMLSocket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416 XMLUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416 accept (méthode XMLUI.accept) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418 cancel (méthode XMLUI.cancel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418 get (méthode XMLUI.get) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418 set (méthode XMLUI.set) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418 Chapitre 3: Code ActionScript déconseillé . . . . . . . . . . . . . . . . 1419 Classes déconseillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419 Fonctions déconseillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419 Propriétés déconseillées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1421 Opérateurs déconseillés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1421 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423 Table des matières 31 32 Table des matières CHAPITRE 1 1 Eléments du langage ActionScript Cette section fournit, outre des exemples de code, des informations sur la syntaxe et l'utilisation des fonctions et des propriétés globales (éléments n'appartenant pas à une classe ActionScript™) ; des directives de compilation ; enfin, pour les constantes, la description des opérateurs, instructions et mots-clés utilisés dans ActionScript™ et définis par la spécification de langage ECMAScript (ECMA-262), version 4. Directives de compilation Cette section regroupe les directives à inclure dans votre fichier ActionScript pour demander au compilateur de prétraiter certaines instructions. Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive. Résumé des directives de compilation Directive Description #endinitclip Indique la fin d'un bloc d'actions d'initialisation. #include Inclut le contenu du fichier spécifié, comme si les commandes du fichier faisaient partie du script d'appel. #initclip Indique le début d'un bloc d'actions d'initialisation. Directive #endinitclip #endinitclip Indique la fin d'un bloc d'actions d'initialisation. Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive #endinitclip. Disponibilité : ActionScript 1.0 ; Flash Player 6.0 33 Exemple #initclip ...initialization actions go here... #endinitclip Directive #include #include "[path]filename.as":String Inclut le contenu du fichier spécifié, comme si les commandes du fichier faisaient partie du script d'appel. La directive #include est appelée lors de la compilation. Cela signifie que si vous apportez des modifications à un fichier externe, vous devez enregistrer le fichier et recompiler tous les fichiers FLA qui l'utilisent. Si vous utilisez le bouton Vérifier la syntaxe pour un script contenant des instructions la syntaxe des fichiers inclus est également vérifiée. #include, Vous pouvez utiliser #include dans des fichiers FLA et dans des fichiers de script externes, mais pas dans les fichiers de classe ActionScript 2.0. Vous pouvez omettre le chemin, ou spécifier un chemin relatif ou absolu pour le fichier à inclure. Si vous ne spécifiez pas de chemin, le fichier AS doit figurer dans l'un des emplacements suivants : ■ ■ ■ Le même répertoire que le fichier FLA. Le même répertoire que le script contenantLINEBREAK l'instruction #include. Le répertoire Include global, qui peut prendre l'une des formes suivantes : LINEBREAK LINEBREAK --Windows 2000 ou Windows XP : C:\Documents and Settings\ utilisateur \LocalLINEBREAK Settings\ Application Data\Adobe\Flash CS3\ langue\Configuration\Include LINEBREAK LINEBREAK --Macintosh OS X : Disque dur/Users/Library/Application Support/Adobe/FlashLINEBREAK CS3/ langue/ Configuration/Include Le répertoire programme Flash CS3\langue\First Run\Include.LINEBREAK Si vous enregistrez un fichier à cet endroit, il est copié dans le répertoire Include global lorsLINEBREAK du prochain démarrage de Flash. Pour spécifier un chemin relatif pour le fichier AS, placez un point (.) pour représenter le répertoire actuel, deux points (..) pour représenter le répertoire parent et une barre oblique (/) pour représenter les sous-répertoires. Consultez les exemples suivants : Pour spécifier un chemin absolu pour le fichier AS, appliquez le format correspondant à votre plate-forme (Macintosh ou Windows). Consultez les exemples suivants : (Cette utilisation n'est pas recommandée car elle nécessite une structure de répertoires identique sur l'ordinateur servant à compiler le script.) 34 Eléments du langage ActionScript Si vous placez des fichiers dans le répertoire First Run/Include ou dans le répertoire global Include, sauvegardez ces fichiers. En effet, si vous devez désinstaller et réinstaller Flash, ces répertoires risquent d'être supprimés ou remplacés. Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive #include. Disponibilité : ActionScript 1.0 ; Flash Player 4.0 Paramètres [path]filename.as: String - filename.asLe nom de fichier et le chemin facultatif du script à ajouter au panneau Actions ou au script actuel. Nous recommandons d'utiliser l'extension .as. Exemple Les exemples suivants indiquent différentes manières de spécifier un chemin pour un fichier à inclure dans votre script : // Les instructions #include ne se terminent pas par un point-virgule (;) // Le fichier AS figure dans le même répertoire que le fichier FLA ou le // script ou figure dans le répertoire global Include ou dans // First Run/Include #include "init_script.as" // Le fichier AS figure dans un sous-répertoire de l'un des répertoires // ci-dessus. Le sous-répertoire s'appelle " FLA_includes " #include "FLA_includes/init_script.as" // Le fichier AS figure dans un sous-répertoire du répertoire du fichier // de script // Ce sous-répertoire s'appelle " SCRIPT_includes " #include "SCRIPT_includes/init_script.as" // Le fichier AS figure dans un répertoire situé au même niveau que l'un des // répertoires ci-dessus // Le fichier AS figure dans un répertoire situé au même // niveau que le répertoire contenant le fichier script // Ce répertoire s'appelle " ALL_includes " #include "../ALL_includes/init_script.as" // Le fichier AS est spécifié par un chemin absolu sous Windows // Notez l'utilisation de barres obliques, par opposition aux barres // obliques inversées #include "C:/Flash_scripts/init_script.as" // Le fichier AS est spécifié par un chemin absolu sur le Macintosh #include "Mac HD:Flash_scripts:init_script.as" Directives de compilation 35 Directive #initclip #initclip [order:Number] Indique le début d'un bloc d'actions d'initialisation. Lorsque plusieurs clips sont initialisés simultanément, vous pouvez utiliser le paramètre order pour spécifier l'initialisation devant se produire en premier. Les actions d'initialisation sont exécutées lorsqu'un symbole de clip est défini. Si le clip est un symbole exporté, les actions d'initialisation sont exécutées avant les actions de l'image 1 du fichier SWF. Sinon, elles sont exécutées immédiatement avant les actions portant sur l'image qui contient la première occurrence du symbole de clip correspondant. Les actions d'initialisation sont exécutées uniquement après la lecture d'un fichier SWF. Utilisez-les pour les initialisations uniques, telles que la définition de classe et l'enregistrement. Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive #initclip. Disponibilité : ActionScript 1.0 ; Flash Player 6.0 Paramètres order: Number [facultatif ] - Un entier non négatif spécifiant l'ordre d'exécution des blocs de code #initclip. Ce paramètre est facultatif. Vous devez spécifier la valeur à l'aide d'un littéral entier (seules les valeurs décimales sont autorisées, et non pas les valeurs hexadécimales), et non à l'aide d'une variable. Si vous incluez plusieurs blocs #initclip dans un symbole de clip unique, le compilateur utilise alors la dernière valeur order spécifiée dans ce symbole de clip pour tous les blocs #initclip de ce symbole. Exemple Dans l'exemple suivant, le code ActionScript est placé sur l'image 1 au sein d'une occurrence de clip. Un fichier texte variables.txt est placé dans le même répertoire. #initclip trace("initializing app"); var variables:LoadVars = new LoadVars(); variables.load("variables.txt"); variables.onLoad = function(success:Boolean) { trace("variables loaded:"+success); 36 Eléments du langage ActionScript if (success) { for (i in variables) { trace("variables."+i+" = "+variables[i]); } } }; #endinitclip Constantes Une constante est une variable qui représente une propriété dont la valeur ne change jamais. Cette section décrit des constantes globales qui sont disponibles pour tous les scripts. Résumé des constantes Modificateurs Constante Description false Valeur booléenne unique qui représente l'opposé de true. Infinity Spécifie la valeur IEEE-754 représentant l'infini positif. -Infinity Spécifie la valeur IEEE-754 représentant l'infini négatif. NaN Variable prédéfinie incluant la valeur IEEE-754 pour NaN (n'est pas un nombre). newline Insère un caractère de retour de chariot (\r) qui insère une ligne vierge dans le texte généré par votre code. null Valeur spéciale qui peut être affectée à des variables ou renvoyée par une fonction en l'absence de données. true Valeur booléenne unique qui représente l'opposé de false. undefined Une valeur spéciale, qui indique généralement qu'une variable n'a pas encore reçu de valeur. Constantes 37 Constante false Valeur booléenne unique qui représente l'opposé de true. Lorsque le typage automatique de données convertit false en nombre, il renvoie 0. Lorsqu'il convertit false en chaîne, il renvoie "false". Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple Cet exemple indique comment le typage automatique de données convertit false en nombre et en chaîne : var bool1:Boolean = Boolean(false); // Convertit cette valeur en nombre 0 trace(1 + bool1); // Renvoie 1 // Convertit la valeur en chaîne trace("String: " + bool1); // Renvoie la chaîne : false Constante Infinity Spécifie la valeur IEEE-754 représentant l'infini positif. La valeur de cette constante est identique à Number.POSITIVE_INFINITY. Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir aussi POSITIVE_INFINITY (propriété Number.POSITIVE_INFINITY) Constante -Infinity Spécifie la valeur IEEE-754 représentant l'infini négatif. La valeur de cette constante est identique à Number.NEGATIVE_INFINITY. Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir aussi NEGATIVE_INFINITY (propriété Number.NEGATIVE_INFINITY) 38 Eléments du langage ActionScript Constante NaN Variable prédéfinie incluant la valeur IEEE-754 pour NaN (n'est pas un nombre). Pour déterminer si la valeur d'un nombre est NaN, utilisez isNaN(). Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir aussi Fonction isNaN, NaN (propriété Number.NaN) Constante newline Insère un caractère de retour de chariot (\r) qui insère une ligne vierge dans le texte généré par votre code. Utilisez newline pour ménager un espace pour les informations extraites par une fonction ou une instruction dans votre code. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple L'exemple suivant indique comment newline affiche la sortie à partir de l'instruction sur plusieurs lignes. trace() var myName:String = "Lisa", myAge:Number = 30; trace(myName+myAge); trace("-----"); trace(myName+newline+myAge); // Renvoie : Lisa30 ----Lisa 30 Voir aussi Fonction trace Constante null Valeur spéciale qui peut être affectée à des variables ou renvoyée par une fonction en l'absence de données. Vous pouvez utiliser null pour représenter les valeurs manquantes ou dont le type de données n'est pas défini. Disponibilité : ActionScript 1.0 ; Flash Player 5 Constantes 39 Exemple L'exemple suivant vérifie les six premières valeurs d'un tableau indexé et renvoie un message si aucune valeur n'est définie (si la valeur == null) : var testArray:Array = new Array(); testArray[0] = "fee"; testArray[1] = "fi"; testArray[4] = "foo"; for (i = 0; i < 6; i++) { if (testArray[i] == null) { trace("testArray[" + i + "] == null"); } } Le code suivant est renvoyé : testArray[2] == null testArray[3] == null testArray[5] == null Constante true Valeur booléenne unique qui représente l'opposé de false. Lorsque le typage automatique de données convertit true en nombre, il renvoie 1. Lorsqu'il convertit true en chaîne, il renvoie "true". Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant illustre l'utilisation de true dans une instruction if : var shouldExecute:Boolean; // ... // le code qui définit shouldExecute sur true ou false vient ici // shouldExecute est défini sur true dans cet exemple : shouldExecute = true; if (shouldExecute == true) { trace("vos instructions"); } // // // // // 40 true est également implicite, ce qui permettrait également d'utiliser l'instruction if : if (shouldExecute) { trace("vos instructions"); } Eléments du langage ActionScript L'exemple suivant indique comment le typage automatique de données convertit true en nombre 1 : var myNum:Number; myNum = 1 + true; trace(myNum); // Renvoie : 2 Voir aussi Constante false, Boolean Constante undefined Une valeur spéciale, qui indique généralement qu'une variable n'a pas encore reçu de valeur. Une référence à une valeur non définie renvoie la valeur spéciale undefined. Le code ActionScript typeof(undefined) renvoie la chaîne "undefined". L'unique valeur du type undefined est undefined. Dans les fichiers publiés pour Flash Player 6 ou version précédente, la valeur de String(undefined) est " " (une chaîne vide). Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, la valeur de String(undefined) est "undefined" (undefined est converti en chaîne). Dans les fichiers publiés pour Flash Player 6 ou version précédente, la valeur de Number(undefined) est 0. Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, la valeur de Number(undefined) est NaN. La valeur undefined est similaire à la valeur spéciale null. Lorsque les propriétés null et undefined sont comparées avec l'opérateur d'égalité (==), elles sont considérées comme égales. Lorsque les propriétés null et undefined sont comparées avec l'opérateur d'égalité stricte (===), elles sont considérées comme différentes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple Dans l'exemple suivant, la variable x n'a pas été déclarée, sa valeur est donc undefined. Dans la première section du code, l'opérateur d'égalité (==) compare la valeur de x à la valeur undefined ; le résultat s'affiche dans le panneau Sortie. Dans la deuxième section du code, l'opérateur d'égalité (==) compare les valeurs null et undefined. // x n'a pas été déclaré trace("The value of x is "+x); if (x == undefined) { Constantes 41 trace("x is undefined"); } else { trace("x is not undefined"); } trace("typeof (x) is "+typeof (x)); if (null == undefined) { trace("null and undefined are equal"); } else { trace("null and undefined are not equal"); } Le résultat suivant s'affiche dans le panneau de sortie. The value of x is undefined x is undefined typeof (x) is undefined null and undefined are equal Fonctions globales Cette section regroupe des fonctions intégrées qui sont disponibles dans tout fichier SWF ayant recours à ActionScript. Ces fonctions globales couvrent un vaste ensemble de tâches communes de programmation, telles que l'application des types de données (Boolean(), int(), etc.), la production d'informations de débogage (trace()) et la communication avec Flash Player ou le navigateur (fscommand()). Résumé des fonctions globales Modificateurs Signature Description Array([numElements: Crée un nouveau tableau vide ou convertit les Number], [elementN: éléments spécifiés en tableau. Object]) : Array asfunction(function Un protocole spécial dédié aux URL des champs de : String, parameter: String) texte HTML permettant à un lien HREF d'appeler une fonction ActionScript. Boolean(expression: Convertit le paramètre expression en une valeur Object) : Boolean booléenne et renvoie true ou false. call(frame: Object) Déconseillé depuis Flash Player 5. Cette action a été déconseillée au profit de l'instruction function. Exécute le script dans l'image appelée sans positionner la tête de lecture sur celle-ci. 42 Eléments du langage ActionScript Modificateurs Signature chr(number: Number) : String Description Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.fromCharCode(). Convertit les numéros de code ASCII en caractères. clearInterval(inter Arrête l'appel setInterval(). valID: Number) clearTimeout(id: Annule un appel setTimeout() spécifié. Number) duplicateMovieClip( Crée une occurrence de clip pendant la lecture du target: Object, fichier SWF. newname: String, depth: Number) escape(expression: String) : String eval(expression: Object) : Object fscommand(command: String, parameters: String) getProperty(my_mc: Object, property) : Convertit le paramètre en chaîne et applique le format de code URL, où tous les caractères qui ne sont pas de type alphanumérique sont remplacés par des séquences hexadécimales %. Accède aux variables, propriétés, objets ou clips en fonction de leur nom. Permet au fichier SWF de communiquer avec Flash Player ou le programme hébergeant Flash Player, tel qu'un navigateur Web. Renvoie la valeur de la propriété spécifiée pour le clip my_mc. Object getTimer() : Number Renvoie le nombre de millisecondes qui se sont écoulées depuis le début de la lecture du fichier SWF. getURL(url: String, [window: String], [method: String]) getVersion() : String Charge un document en provenance d'une URL spécifique dans une fenêtre ou transmet des variables à une autre application à une URL donnée. Renvoie une chaîne contenant la version de Flash Player et des informations sur la plate-forme. gotoAndPlay([scene: Place la tête de lecture sur l'image spécifiée dans String], frame: Object) une séquence et commence la lecture à partir de cette image. gotoAndStop([scene: Place la tête de lecture sur l'image spécifiée sur une String], frame: séquence et l'arrête à ce niveau. Object) Fonctions globales 43 Modificateurs Signature Description ifFrameLoaded([scen Déconseillé depuis Flash Player 5. Cette fonction e: String], frame: Object) int(value: Number) : Number est déconseillée. Adobe recommande d'employer la propriété MovieClip._framesloaded. Vérifie si le contenu d'une image spécifique est disponible localement. Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de la méthode Math.floor() pour les valeurs positives et de la méthode Math.ceil pour les valeurs négatives. Convertit un nombre décimal en valeur entière en tronquant la valeur décimale. isFinite(expression Evalue l'expression et renvoie true s'il s'agit d'un : Object) : Boolean nombre fini ou false s'il s'agit de l'infini ou de l'infini négatif. isNaN(expression: Object) : Boolean length(expression: String, variable: Object) : Number loadMovie(url: String, target: Evalue le paramètre et renvoie true si la valeur est NaN (not a number - n'est pas un nombre). Déconseillé depuis Flash Player 5. Cette fonction, de même que les fonctions de chaîne, est déconseillée. Adobe recommande d'employer les méthodes de la classe String et la propriété String.length pour effectuer les mêmes opérations. Renvoie la longueur de la chaîne ou variable spécifiée. Charge un fichier SWF ou JPEG dans Flash Player pendant la lecture du fichier SWF d'origine. Object, [method: String]) loadMovieNum(url: String, level: Number, [method: Charge un fichier SWF ou JPEG dans l'un des niveaux de Flash Player pendant la lecture du fichier SWF. String]) loadVariables(url: String, target: Object, [method: String]) 44 Eléments du langage ActionScript Lit les données dans un fichier externe, tel qu'un fichier texte ou du texte généré par ColdFusion, un script CGI, des pages ASP (Active Server Pages), PHP ou un script Perl et définit les valeurs pour les variables dans un clip cible. Modificateurs Signature Description loadVariablesNum(ur Lit les données dans un fichier externe, tel qu'un l: String, level: Number, [method: String]) mbchr(number: Number) mblength(string: String) : Number mbord(character: String) : Number mbsubstring(value: String, index: Number, count: Number) : String fichier texte ou du texte généré par ColdFusion, un script CGI, des pages ASP (Active Server Pages), PHP ou un script Perl et définit les valeurs pour les variables dans un niveau de Flash Player. Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode String.fromCharCode(). Convertit un numéro de code ASCII en caractère multi-octets. Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode et des propriétés de la classe String. Renvoie la longueur de la chaîne de caractères multi-octets. Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.charCodeAt(). Convertit le caractère spécifié en nombre multioctets. Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.substr(). Extrait une nouvelle chaîne de caractères multioctets d'une chaîne de caractères multi-octets. String) : String Permet d'émettre des commandes de l'API Flash JavaScript (JSAPI) à partir d'ActionScript. nextFrame() Place la tête de lecture sur l'image suivante. nextScene() Place la tête de lecture sur l'image 1 de la séquence suivante. Number(expression: Convertit le paramètre expression en nombre. MMExecute(command: Object) : Number Object([value: Object]) : Object on(mouseEvent: Object) Crée un objet vide ou convertit le nombre, la chaîne ou la valeur booléenne spécifié en objet. Spécifie l'événement de type souris ou pression de touche devant déclencher une action. onClipEvent(movieEv Déclenche les actions définies pour une instance ent: Object) spécifique de clip. Fonctions globales 45 Modificateurs Signature ord(character: String) : Number parseFloat(string: Description Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode et des propriétés de la classe String. Convertit les caractères en numéros de code ASCII. Convertit une chaîne en nombre à virgule flottante. String) : Number parseInt(expression Convertit une chaîne en entier. : String, [radix: Number]) : Number play() Fait avancer la tête de lecture au sein du scénario. prevFrame() Place la tête de lecture sur l'image précédente. prevScene() Place la tête de lecture sur l'image 1 de la séquence précédente. print(target: Imprime le clip target en fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). Object, boundingBox: String) printAsBitmap(targe Imprime le clip target en tant que bitmap en t: Object, boundingBox: fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). String) printAsBitmapNum(le Imprime un niveau dans Flash Player en tant que vel: Number, boundingBox: bitmap en fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). String) printNum(level: Number, boundingBox: Imprime le niveau dans Flash Player en fonction des limites spécifiées par le paramètre boundingBox (bmovie, bmax, bframe). String) random(value: Number) : Number Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de Math.random(). Renvoie un entier aléatoire compris entre 0 et un inférieur au nombre entier spécifié dans le paramètre <code><em>value</em></code>&#160;. removeMovieClip(tar Supprime le clip spécifié. get: Object) 46 Eléments du langage ActionScript Modificateurs Signature Description setInterval(functio Appelle une fonction ou une méthode d'un objet à nReference: Function, interval: des intervalles périodiques pendant la lecture d'un fichier SWF. Number, [param: Object], objectReference: Object, methodName: String) : Number setProperty(target: Modifie la valeur des propriétés d'un clip pendant la Object, property: lecture de ce dernier. Object, expression: Object) setTimeout(function Exécute une fonction spécifiée après un délai Reference: Object, spécifié (en millisecondes). delay: Number, args: Object) : Number showRedrawRegions(e Permet au débogueur de délimiter les zones nable: Boolean, redessinées de l'écran. [color: Number]) startDrag(target: Object, [lock: Rend le clip target déplaçable pendant la lecture de l'animation. Boolean], [left,top,right,bot tom: Number]) stop() Arrête le fichier SWF en cours de lecture. stopAllSounds() Arrête tous les sons en cours de diffusion à partir d'un fichier SWF, sans arrêter la tête de lecture. stopDrag() Arrête l'opération de déplacement en cours. String(expression: Renvoie une chaîne représentant le paramètre spécifié. Object) : String substring(string: String, index: Number, count: Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.substr(). Extrait une partie d'une chaîne. Number) : String targetPath(targetOb Renvoie une chaîne contenant le chemin cible de ject: Object) : movieClipObject. String Fonctions globales 47 Modificateurs Signature tellTarget(target: String, statement(s)) Description Déconseillée depuis Flash Player 5. Adobe recommande d'employer la notation avec point (.) et l'instruction with. Cette fonction applique les instructions spécifiées dans le paramètre statements au scénario spécifié par le paramètre target. toggleHighQuality() Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de _quality. Active et désactive l'anticrénelage dans Flash Player. trace(expression: Evalue l'expression et renvoie le résultat. Object) unescape(string: String) : String Evalue le paramètre x en tant que chaîne, décode la chaîne qui est au format codé en URL (en convertissant toutes les séquences hexadécimales en caractères ASCII) et renvoie cette chaîne. unloadMovie(target: Supprime le clip qui a été chargé par l'intermédiaire Object) de la fonction loadMovie() de Flash Player. unloadMovieNum(leve Supprime un fichier SWF ou une image qui a été l: Number) chargé par l'intermédiaire de la fonction loadMovieNum() de Flash Player. updateAfterEvent() Met à jour l'affichage lorsque vous l'appelez à partir d'un gestionnaire ou via setInterval(). Fonction Array Array() : Array Array(numElements:Number) : Array Array(element0:Object, [element1, element2, ...elementN]) : Array Crée un nouveau tableau de longueur 0 ou supérieure, ou un tableau contenant la liste des éléments spécifiés, probablement de types de données différents. Utilisez la méthode Array() pour créer l'un des tableaux suivants : ■ Un tableau vide ■ Un tableau d'une longueur spécifique mais dont les éléments ont des valeurs non définies ■ Un tableau dont les éléments ont des valeurs spécifiques L'utilisation de cette fonction revient à créer un tableau avec le constructeur Array (voir « Constructeur pour la classe Array »). 48 Eléments du langage ActionScript Vous pouvez transmettre un nombre (numElements) ou la liste des éléments contenant un ou plusieurs types différents (element0, element1, ... elementN). Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés dans la signature sous le type Object. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres numElements: Number [facultatif ] - Un entier positif spécifiant le nombre d'éléments contenus dans le tableau. Vous pouvez spécifier numElements ou la liste des éléments, mais pas les deux. elementN: Object [facultatif ] - Un ou plusieurs paramètres, element0, element1, ... , elementN, dont les valeurs peuvent être de n'importe quel type. Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés sous le type Object. Vous pouvez spécifier numElements ou la liste des éléments, mais pas les deux. Valeur renvoyée Array - Tableau. Exemple var myArray:Array = Array(); myArray.push(12); trace(myArray); // Renvoie 12 myArray[4] = 7; trace(myArray); // Renvoie 12,undefined,undefined,undefined,7 Utilisation 2 : L'exemple suivant crée un tableau de longueur 4 qui n'inclut aucun élément défini : var myArray:Array = Array(4); trace(myArray.length); // 4 trace(myArray); // undefined,undefined,undefined,undefined Utilisation 3 : L'exemple suivant crée un tableau incluant trois éléments définis : var myArray:Array = Array("firstElement", "secondElement", "thirdElement"); trace(myArray); // firstElement,secondElement,thirdElement Contrairement au constructeur de classe Array, la fonction Array() n'utilise pas le mot-clé new. Voir aussi Array Fonctions globales 49 Protocole asfunction asfunction:function:Function, parameter:String Un protocole spécial dédié aux URL des champs de texte HTML permettant à un lien HREF d'appeler une fonction ActionScript. Dans les champs de texte HTML, vous pouvez créer des liens à l'aide de la balise A HTML. L'attribut HREF de la balise A contient une URL qui utilise un protocole standard tel que HTTP, HTTPS ou FTP. Le protocole asfunction est un protocole supplémentaire spécifique à Flash, ce qui engendre l'appel d'une fonction ActionScript à partir du lien. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres function: String - Un identificateur pour une fonction. parameter: String - Une chaîne transmise à la fonction nommée dans le paramètre function. Exemple Dans l'exemple suivant, la fonction playMP3() est définie. L'objet TextField list_txt est créé et défini de manière à pouvoir restituer le texte HTML. Le texte Track 1 et Track 2 constitue des liens dans le champ de texte. La fonction playMP3() est appelée lorsque l'utilisateur clique sur le lien et lit le fichier MP3 transmis en tant que paramètre de l'appel asfunction. var myMP3:Sound = new Sound(); function playMP3(mp3:String) { myMP3.loadSound(mp3, true); myMP3.onLoad = function(success) { if (!success) { // code pour traiter les erreurs } }; } this.createTextField("list_txt", this.getNextHighestDepth(), 0, 0, 200, 100); list_txt.autoSize = true; list_txt.html = true; list_txt.multiline = true; list_txt.htmlText = "<a href=\"asfunction:playMP3, track1.mp3\">Track 1</ a><br>"; list_txt.htmlText += "<a href=\"asfunction:playMP3, track2.mp3\">Track 2</ a><br>"; Lorsque vous cliquez sur un lien, le fichier son MP3 est lu dans Flash Player. 50 Eléments du langage ActionScript Voir aussi htmlText (propriété TextField.htmlText) Fonction Boolean Boolean(expression:Object) : Boolean Convertit le paramètre expression en valeur booléenne et renvoie une valeur comme indiqué dans la liste suivante : ■ ■ Si expression est une valeur booléenne, la valeur renvoyée est expression. Si expression est un nombre, la valeur renvoyée est true si le nombre diffère de 0 ; sinon, la valeur renvoyée est false. Si expression est une chaîne, renvoie l'une des valeurs suivantes : ■ ■ Dans les fichiers publiés pour Flash Player 6 ou version antérieure, la chaîne est tout d'abord convertie en nombre. Sa valeur est LINEBREAK true pour les nombres différents de zéro, false dans les autres cas. Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est true si la longueur de la chaîne est supérieure à zéro et false en cas de chaîne vide. Si expression est une chaîne, le résultat est true si la longueur de cette chaîne est supérieure à zéro, false en cas de chaîne vide. ■ ■ Si l'expression est undefined ou NaN (n'est pas un nombre), la valeur renvoyée est false. Si expression est un clip ou un objet, la valeur renvoyée est true. Contrairement au constructeur de classe Boolean, la fonction Boolean() n'utilise pas le motclé new. De plus, le constructeur de classe Boolean initialise un objet booléen sur false si aucun paramètre n'est spécifié, bien que la fonction Boolean() renvoie undefined en l'absence de paramètres. Disponibilité : ActionScript 1.0 ; Flash Player 5 - Comportement modifié dans Flash Player 7. Paramètres expression: Object - Une expression à convertir en valeur booléenne. Valeur renvoyée Boolean - Valeur booléenne. Fonctions globales 51 Exemple trace(Boolean(-1)); // true trace(Boolean(0)); // false trace(Boolean(1)); // true trace(Boolean(true)); // true trace(Boolean(false)); // false trace(Boolean("true")); // true trace(Boolean("false")); // true trace(Boolean("Craiggers")); // true trace(Boolean("")); // false Si les fichiers sont publiés pour Flash Player 6 ou version antérieure, les résultats diffèrent pour trois des exemples précédents : trace(Boolean("true")); // false trace(Boolean("false")); // false trace(Boolean("Craiggers")); // false Cet exemple illustre une différence significative entre l'utilisation de la fonction Boolean() et celle de la classe Boolean. La fonction Boolean() permet de créer une valeur booléenne, tandis que la classe Boolean crée un objet booléen. Les valeurs booléennes sont comparées en fonction de leur valeur, tandis que les objets booléens sont comparés par référence. // Les variables représentant des valeurs booléennes sont comparées en // fonction de leur valeur var a:Boolean = Boolean("a"); // a est True var b:Boolean = Boolean(1); // b est True trace(a==b); // True // Les variables représentant des objets booléens sont comparées par // référence var a:Boolean = new Boolean("a"); // a est True var b:Boolean = new Boolean(1); // b est True trace(a == b); // False Voir aussi Boolean 52 Eléments du langage ActionScript Fonction call call(frame) Déconseillé depuis Flash Player 5. Cette action a été déconseillée au profit de l'instruction function. Exécute le script dans l'image appelée sans positionner la tête de lecture sur celle-ci. Les variables locales n'existent pas après l'exécution du script. ■ ■ Si les variables ne sont pas déclarées dans un bloc ({}) mais que la liste d'actions a été exécutée à l'aide d'une action call(), les variables sont locales et expirent à la fin de la liste actuelle. Si les variables ne sont pas déclarées dans un bloc et que la liste d'action actuelle n'a pas été exécutée à l'aide de l'action call(), les variables sont interprétées en tant que variables de scénario. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres frame: Object - L'étiquette ou le numéro d'une image dans le scénario. Voir aussi Instruction function, call (méthode Function.call) Fonction chr chr(number:Number) : String Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.fromCharCode(). Convertit les numéros de code ASCII en caractères. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres number: Number - Un numéro de code ASCII. Valeur renvoyée String - La valeur de caractère du code ASCII spécifié. Fonctions globales 53 Exemple L'exemple suivant convertit le nombre 65 en lettre A et l'affecte à la variable myVar : myVar = chr(65); Voir aussi fromCharCode (méthode String.fromCharCode) Fonction clearInterval clearInterval(intervalID:Number) : Void Arrête l'appel setInterval(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres intervalID: Number - Un identificateur numérique (entier) renvoyé par un appel à setInterval(). Exemple L'exemple suivant définit, puis supprime un appel interval : function callback() { trace("interval called: "+getTimer()+" ms."); } var intervalID:Number = setInterval(callback, 1000); Vous devez supprimer l'intervalle lorsque vous n'avez plus besoin d'utiliser la fonction. Créez un bouton intitulé clearInt_btn et utilisez le code ActionScript suivant pour supprimer setInterval() : clearInt_btn.onRelease = function(){ clearInterval(intervalID); trace("cleared interval"); }; Voir aussi Fonction setInterval 54 Eléments du langage ActionScript Fonction clearTimeout clearTimeout(id:Number) : Void Annule un appel setTimeout() spécifié. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres id: Number - Le numéro d'identification de l'appel setTimeout() à annuler. Exemple Consultez aussi l'exemple relatif à la fonction setTimeout(). Voir aussi Fonction setTimeout, Fonction setInterval Fonction duplicateMovieClip duplicateMovieClip(target:String, newname:String, depth:Number) : Void duplicateMovieClip(target:MovieClip, newname:String, depth:Number) : Void Crée une occurrence de clip pendant la lecture du fichier SWF. La tête de lecture des clips dupliqués commence toujours à l'image 1, quelle que soit la position de la tête de lecture dans le clip d'origine. Les variables du clip d'origine ne sont pas copiées dans le clip dupliqué. Utilisez la fonction ou la méthode removeMovieClip() pour supprimer une occurrence de clip créée avec duplicateMovieClip(). Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres target: Object - Le chemin cible du clip à dupliquer. Ce paramètre peut être de type String (tel que « my_mc ») ou une référence directe à l'occurrence de clip (par exemple my_mc). Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés sous le type Object. newname: String - Un identificateur unique pour le clip dupliqué. - Un niveau de profondeur unique pour le clip dupliqué. Le niveau de profondeur correspond à l'ordre d'empilement des clips dupliqués. Cet ordre d'empilement correspond à l'ordre d'empilement des calques dans le scénario ; les clips dont le niveau de profondeur est inférieur sont masqués par les clips de niveau supérieur. Vous devez associer un niveau de profondeur à chaque clip pour ne pas remplacer les fichiers SWF figurant à des profondeurs non utilisées. depth: Number Fonctions globales 55 Exemple Dans l'exemple suivant, une nouvelle occurrence de clip intitulée img_mc. est créée. Une image est chargée dans le clip, puis le clip img_mc est dupliqué. Le clip dupliqué est intitulé newImg_mc ; ce nouveau clip est déplacé sur la scène afin de ne pas recouvrir le clip d'origine et la même image est chargée dans le deuxième clip. this.createEmptyMovieClip("img_mc", this.getNextHighestDepth()); img_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); duplicateMovieClip(img_mc, "newImg_mc", this.getNextHighestDepth()); newImg_mc._x = 200; newImg_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); Pour supprimer le clip dupliqué, vous pouvez ajouter ce code pour un bouton intitulé myButton_btn. this.myButton_btn.onRelease = function(){ removeMovieClip(newImg_mc); }; Voir aussi Fonction removeMovieClip, duplicateMovieClip (méthode MovieClip.duplicateMovieClip), removeMovieClip (méthode MovieClip.removeMovieClip) Fonction escape escape(expression:String) : String Convertit le paramètre en chaîne et applique le format de code URL, où tous les caractères qui ne sont pas de type alphanumérique sont remplacés par des séquences hexadécimales %. Lorsque cette fonction est utilisée dans une chaîne codée au format URL, le symbole pourcent (%) introduit les caractères d'échappement et ne doit pas être confondu avec l'opérateur modulo (%). Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres expression: String - L'expression est convertie en chaîne et est codée au format URL. Valeur renvoyée String 56 - Chaîne codée au format URL. Eléments du langage ActionScript Exemple Le code suivant donne le résultat someuser%40somedomain%2Ecom : var email:String = "[email protected]"; trace(escape(email)); Dans cet exemple, le symbole at (@) a été remplacé par %40 et le point (.) par %2E. Cela est particulièrement utile lorsque vous essayez de transmettre des informations à un serveur distant et si les données contiennent des caractères spéciaux (par exemple, & ou ?), comme indiqué dans le code suivant : var redirectUrl:String = "http:// www.somedomain.com?loggedin=true&username=Gus"; getURL("http://www.myothersite.com?returnurl="+ escape(redirectUrl)); Voir aussi Fonction unescape Fonction eval eval(expression:Object) : Object eval(expression:String) : Object Accède aux variables, propriétés, objets ou clips en fonction de leur nom. Lorsque l'expression est une variable ou une propriété, la fonction renvoie la valeur de cette variable ou de cette propriété. Si l'expression est un objet ou un clip, la fonction renvoie une référence de l'objet ou du clip. Si l'élément nommé dans l'expression est introuvable, la fonction renvoie undefined. Sous Flash 4, eval() permettait de simuler des tableaux ; à partir de Flash 5, vous devez utiliser la classe Array pour ce faire. Sous Flash 4, vous pouvez également utiliser eval() pour définir de façon dynamique la valeur d'une variable ou d'un nom d'occurrence et l'extraire. Cette opération est également possible avec l'opérateur de tableau ([]). A partir de Flash 5, vous ne pouvez plus recourir à eval() pour définir de façon dynamique et extraire la valeur d'une variable ou d'un nom d'occurrence, car vous ne pouvez pas utiliser eval() dans la partie gauche d'une équation. Par exemple, remplacez le code eval ("var" + i) = "first"; par : this["var"+i] = "first" ou par : set ("var" + i, "first"); Fonctions globales 57 Disponibilité : ActionScript 1.0 ; Flash Lite 5 - Flash Player 5 ou version plus récente pour disposer de toutes les fonctionnalités. Vous pouvez utiliser la fonction eval() lors de l'exportation vers Flash Player 4, mais l'application de la notation avec barre oblique n'est pas possible. Vous pouvez uniquement accéder aux variables, l'accès aux propriétés ou aux objets est impossible. Paramètres expression: Object - Le nom d'une variable, d'une propriété, d'un objet ou d'un clip à extraire. Ce paramètre peut être de type String ou une référence directe à l'occurrence d'objet (les guillemets (" ") sont facultatifs.) Valeur renvoyée Object - Une valeur, une référence à un objet ou un clip, ou undefined. Exemple L'exemple suivant utilise eval() pour définir les propriétés des clips nommés de façon dynamique. Ce code ActionScript définit la propriété _rotation de trois clips intitulés square1_mc, square2_mc et square3_mc. for (var i = 1; i <= 3; i++) { setProperty(eval("square"+i+"_mc"), _rotation, 5); } Vous pouvez également utiliser le code ActionScript suivant : for (var i = 1; i <= 3; i++) { this["square"+i+"_mc"]._rotation = -5; } Voir aussi Array, Instruction set variable Fonction fscommand fscommand(command:String, parameters:String) : Void Permet au fichier SWF de communiquer avec Flash Player ou le programme hébergeant Flash Player, tel qu'un navigateur Web. La fonction fscommand() permet également de transmettre des messages à Macromedia Director ou à Visual Basic (VB), Visual C++ et autres programmes ayant recours aux contrôles ActiveX. 58 Eléments du langage ActionScript La fonction fscommand() permet à un fichier SWF de communiquer avec un script dans une page Web. Cependant, l'accès au script est contrôlé par le paramètre allowScriptAccess de la page Web. (Vous pouvez définir cet attribut dans le code HTML intégré au fichier SWF, par exemple dans la balise PARAM pour Internet Explorer ou dans la balise EMBED pour Netscape. Lorsque l'attribut allowScriptAccess est défini sur "never", un fichier SWF ne peut pas accéder aux scripts de la page Web. A partir de Flash Player 7, lorsque l'attribut allowScriptAccess est défini sur "always", un fichier SWF peut toujours accéder aux scripts de la page Web. Lorsque l'attribut allowScriptAccess est défini sur "sameDomain", les scripts sont uniquement autorisés à partir des fichiers SWF qui se trouvent dans le même domaine que la page Web ; les scripts sont toujours autorisés sur les versions précédentes de Flash Player. Si l'attribut allowScriptAccess n'est pas spécifié dans une page HTML, il est défini par défaut sur "sameDomain" pour les fichiers SWF, version 8 et ultérieure ; et sur "always" pour les fichiers SWF, version 7 et antérieure. Utilisation 1 : Pour utiliser fscommand() afin d'envoyer un message à Flash Player, vous devez utiliser les commandes et les paramètres prédéfinis. Le tableau suivant indique les valeurs que vous pouvez spécifier pour les paramètres command et parameters de la fonction fscommand(). Ces valeurs contrôlent les fichiers SWF lus par Flash Player, y compris les projections. (Une projection est un fichier SWF enregistré sous un format permettant de l'exécuter en tant qu'application autonome, pouvant être lue sans Flash Player.) Commande Paramètre Rôle quit Aucun Ferme la projection. fullscreen true ou false Spécifiez true pour exécuter Flash Player en mode plein écran. Spécifiez false pour rétablir le mode d'affichage normal du menu. allowscale true ou false Si vous spécifiez false, le lecteur affiche toujours la taille d'origine du fichier SWF, sans le redimensionner. Si vous spécifiez true, le fichier SWF adopte l'échelle 100 % du lecteur. showmenu true ou false Spécifiez true pour activer le jeu complet d'éléments de menu contextuel. Spécifiez false pour masquer tous les éléments de menu contextuel, à l'exception de A propos de Flash Player et Paramètres. Fonctions globales 59 Commande Paramètre Rôle exec Chemin de l'application Exécute une application depuis la projection. trapallkeys true ou false Spécifiez true pour envoyer tous les événements de touche, y compris les touches de raccourci, au gestionnaire onClipEvent(keyDown/keyUp) de Flash Player. Disponibilité : ■ ■ ■ Les commandes décrites dans le tableau ne sont pas disponibles pour les lecteurs Web. Toutes les commandes sont disponibles dans les applications autonomes, telles que les projections. Seuls allowscale et exec sont disponibles sur les lecteurs de tests d'animation. La commande exec ne peut contenir que les caractères compris entre A et Z, a et z, 0 et 9, les caractères point (.) et souligné (_). La commande exec ne s'exécute que dans le sousrépertoire fscommand. En d'autres termes, si vous utilisez la commande exec pour appeler une application, cette application doit résider dans un sous-répertoire appelé fscommand. La commande exec ne fonctionne qu'à partir d'un fichier de projection Flash. Utilisation 2 : Pour utiliser fscommand() pour envoyer un message à un langage de programmation tel que JavaScript dans un navigateur Web, vous pouvez transmettre deux arguments quelconques avec les paramètres command et parameters. Ces paramètres peuvent être des chaînes ou des expressions. Ils sont utilisés dans une fonction JavaScript qui gère ou traite la fonction fscommand(). Dans un navigateur Web, la fonction fscommand() appelle la fonction JavaScript moviename_DoFScommand, résidant dans la page Web qui contient le fichier SWF. Pour moviename, attribuez le nom de l'objet Flash utilisé pour l'attribut NAME de la balise EMBED ou la propriété ID de la balise OBJECT. Si vous attribuez le nom myMovie au fichier SWF, la fonction JavaScript myMovie_DoFScommand est appelée. 60 Eléments du langage ActionScript Dans la page Web qui contient le fichier SWF, définissez l'attribut allowScriptAccess de manière à autoriser, ou non, le fichier SWF à accéder à la page Web. (Vous pouvez définir cet attribut dans le code HTML intégré au fichier SWF, par exemple dans la balise PARAM pour Internet Explorer ou dans la balise EMBED pour Netscape). Lorsque l'attribut allowScriptAccess est défini sur "never", les scripts externes échouent systématiquement. Lorsque l'attribut allowScriptAccess est défini sur "always", les scripts externes sont acceptés systématiquement. Lorsqu'il est défini sur "sameDomain", les scripts sont uniquement autorisés à partir des fichiers SWF qui se trouvent dans le même domaine que la page Web. Si l'attribut allowScriptAccess n'est pas spécifié dans une page Web, il est défini par défaut sur "sameDomain" pour Flash Player 8, et sur "always" pour les versions précédentes de Flash Player. Lorsque vous utilisez cette fonction, référez-vous au modèle de sécurité de Flash Player. Pour Flash Player 8, la fonction fscommand() n'est pas autorisée si le fichier SWF appelant se trouve dans le sandbox local avec système de fichier ou dans le sandbox local du réseau et si la page HTML contenant ce fichier se trouve dans un sandbox non sécurisé. Pour plus d'informations, consultez le : ■ ■ ■ Chapitre 17, « Fonctionnement de la sécurité » du guide Formation à ActionScript 2.0 dans Flash La présentation technique (livre blanc) de la sécurité de Flash Player 9 à l'adresse http:// www.adobe.com/go/fp9_0_security_fr. La présentation technique (livre blanc) des API relatives à la sécurité de Flash Player 8 à l'adresse http://www.adobe.com/go/fp8_security_apis_fr. Utilisation 3 : La fonction fscommand() peut envoyer des messages à Macromedia Director. Ces messages sont interprétés par Lingo (le langage de script de Director) comme des chaînes, des événements ou un code Lingo exécutable. Si le message est une chaîne ou un événement, vous devez écrire le code Lingo devant recevoir le message de la fonction fscommand() et exécuter une action dans Director. Pour plus d'informations, consultez le centre de support de Director à l'adresse www.adobe.com/support/director. Utilisation 4 : Dans VisualBasic, Visual C++ et dans d'autres programmes ayant recours aux contrôles ActiveX, la fonction fscommand() envoie un événement VB avec deux chaînes qui peut être traité dans le langage de programmation de l'environnement. Pour plus d'informations, utilisez les mots-clés « méthode Flash » pour effectuer une recherche dans le centre de support de Flash à l'adresse www.adobe.com/support/flash. Fonctions globales 61 Remarque :Si vous procédez à la publication de Flash Player 8 ou version ultérieure, la classe ExternalInterface offre de meilleures fonctionnalités de communication entre JavaScript et ActionScript (Utilisation 2), et entre ActionScript et VisualBasic, Visual C++ ou d'autres programmes pouvant héberger les contrôles ActiveX (Utilisation 4). Vous devriez continuer à utiliser la fonction fscommand() pour envoyer des messages à Flash Player (Utilisation 1) et à Macromedia Director (Utilisation 3). Disponibilité : ActionScript 1.0 ; Flash Player 3 Paramètres command: String - Une chaîne transmise à l'application hôte ou une commande passée à Flash Player. parameters: String - Une chaîne transmise à l'application hôte ou une valeur passée à Flash Player. Exemple Dans l'exemple suivant, la fonction fscommand() définit Flash Player pour qu'il affiche le fichier SWF en taille plein écran lorsque le bouton fullscreen_btn ou unfullscreen_btn est relâché : this.fullscreen_btn.onRelease = function() { fscommand("fullscreen", true); }; this.unfullscreen_btn.onRelease = function() { fscommand("fullscreen", false); }; L'exemple suivant applique la fonction fscommand() à un bouton dans Flash afin d'ouvrir une boîte de message JavaScript dans une page HTML. Le message est envoyé à JavaScript en tant que paramètre fscommand. Vous devez ajouter une fonction à la page Web qui contient le fichier SWF. Cette fonction, myDocument _DoFSCommand(), attend un appel fscommand(). Lorsque la fonction fscommand() est déclenchée dans Flash (par exemple, lorsqu'un utilisateur clique sur le bouton), les chaînes command et parameter sont transmises à la fonction myDocument _DoFSCommand(). Vous pouvez utiliser les chaînes transmises dans votre code JavaScript ou VBScript à votre guise. Dans cet exemple, la fonction contient une instruction conditionnelle if qui vérifie si la chaîne de commande est "messagebox". Si tel est le cas, un message d'alerte JavaScript affiche le contenu de la chaîne parameters de la fonction fscommand(). function myDocument_DoFSCommand(command, args) { if (command == "messagebox") { 62 Eléments du langage ActionScript alert(args); } } Dans le document Flash, ajoutez la fonction fscommand() à un bouton : fscommand("messagebox", "This is a message box called from within Flash.") Vous pouvez utiliser des expressions pour les paramètres de la fonction fscommand(), comme indiqué dans l'exemple suivant : fscommand("messagebox", "Hello, " + name + ", welcome to our website!") Pour tester le fichier SWF, pointez sur Fichier > Aperçu avant publication > HTML. Si vous publiez votre fichier SWF en utilisant le modèle Flash avec FSCommand (accessible depuis la boîte de dialogue Paramètres de publication après avoir sélectionné la balise HTML), Flash insère la fonction myDocument_DoFSCommand() automatiquement. Les attributs NAME et ID du fichier SWF constitueront le nom du fichier. Par exemple, pour le fichier myDocument.fla, les attributs seront définis sur myDocument. Voir aussi ExternalInterface (flash.external.ExternalInterface) Fonction getProperty getProperty(my_mc:Object, property:Object) : Object Renvoie la valeur de la propriété spécifiée pour le clip my_mc. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres - Peut être un objet String, le nom d'occurrence d'un clip pour lequel la propriété est extraite ou un objet MovieClip, la référence à un clip pour lequel la propriété est extraite. my_mc: Object property - Une propriété d'un clip. Valeur renvoyée Object - La valeur de la propriété spécifiée. Fonctions globales 63 Exemple L'exemple suivant crée un nouveau clip someClip_mc et affiche la valeur alpha (_alpha) du clip someClip_mc dans le panneau Sortie : this.createEmptyMovieClip("someClip_mc", 999); trace("The alpha of "+getProperty(someClip_mc, _name)+" is: "+getProperty(someClip_mc, _alpha)); Fonction getTimer getTimer() : Number Renvoie le nombre de millisecondes qui se sont écoulées depuis le début de la lecture du fichier SWF. Disponibilité : ActionScript 1.0 ; Flash Player 4 Valeur renvoyée - Le nombre de millisecondes qui se sont écoulées depuis le début de la lecture du fichier SWF. Number Exemple Dans l'exemple suivant, les fonctions getTimer() et setInterval() sont utilisées pour créer un minuteur simple : this.createTextField("timer_txt", this.getNextHighestDepth(), 0, 0, 100, 22); function updateTimer():Void { timer_txt.text = getTimer(); } var intervalID:Number = setInterval(updateTimer, 100); Fonction getURL getURL(url:String, [window:String, [method:String]]) : Void Charge un document en provenance d'une URL spécifique dans une fenêtre ou transmet des variables à une autre application à une URL donnée. Pour tester cette fonction, assurez-vous que le fichier à charger existe à l'emplacement prévu. Pour utiliser une URL absolue (par exemple, http://www.myserver.com), vous devez disposer d'une connexion réseau. 64 Eléments du langage ActionScript Remarque de sécurité : Sous Flash Player 8 et version ultérieure, dans le cas de contenu local s'exécutant dans un navigateur, les appels de la fonction getURL() spécifiant le pseudoprotocole "javascript:" (par exemple, getURL("javascript:someFunction()")) ne sont autorisés que si le fichier SWF et la page Web contenant ce fichier (le cas échéant) se trouvent dans le sandbox de sécurité local approuvé. Remarque de sécurité : Sous Flash Player 9 et version ultérieure, si le code d'un fichier SWF s'exécutant dans le sandbox local avec système de fichier appelle la fonction getURL() et spécifie un nom de fenêtre personnalisé pour le paramètre window, le nom de la fenêtre est transféré en tant que nom aléatoire. Ce nom se présente sous la forme "_flashXXXXXXXX", où chaque X représente un chiffre hexadécimal aléatoire. Au cours de la même session (tant que la fenêtre du navigateur contenant le fichier est ouverte), si vous appelez à nouveau la fonction et spécifiez le même nom pour le paramètre window, la même chaîne aléatoire est utilisée. Disponibilité : ActionScript 1.0 ; Flash Player 2 - Les options GET et POST ne sont disponibles que dans Flash Player 4 ou des versions plus récentes. Paramètres url: String - URL permettant d'obtenir le document. window: String [facultatif ] - Spécifie la fenêtre ou le cadre HTML dans lequel le document doit se charger. Vous pouvez entrer le nom d'une fenêtre spécifique ou le sélectionner à partir des noms cibles réservés suivants : spécifie le cadre actif de la fenêtre en cours d'utilisation. ■ _self ■ _blank ■ _parent ■ _top crée une fenêtre. appelle le parent du cadre actif. sélectionne le cadre de plus haut niveau de la fenêtre active. method: String [facultatif ] - Une méthode GET ou POST permettant d'envoyer des variables. En l'absence de variables, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. Exemple Cet exemple charge une image dans un clip. Lorsque l'utilisateur clique sur l'image, une nouvelle URL est chargée dans une nouvelle fenêtre de navigateur. var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc:MovieClip) { target_mc.onRelease = function() { getURL("http://www.adobe.com/software/flash/flashpro/", "_blank"); }; }; Fonctions globales 65 var logo:MovieClipLoader = new MovieClipLoader(); logo.addListener(listenerObject); logo.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("adobe_mc", this.getNextHighestDepth())); Dans l'exemple suivant, la fonction getURL() est utilisée pour envoyer un message électronique : myBtn_btn.onRelease = function(){ getURL("mailto:[email protected]"); }; Dans le code ActionScript suivant, JavaScript est utilisé pour ouvrir une fenêtre d'alerte lorsque le fichier SWF est intégré à une fenêtre de navigateur (sachez que lorsque vous appelez JavaScript à l'aide de getURL(), le paramètre url est limité à 508 caractères) : myBtn_btn.onRelease = function(){ getURL("javascript:alert('you clicked me')"); }; Vous pouvez également utiliser la méthode GET ou POST pour envoyer des variables. L'exemple suivant utilise la méthode GET pour ajouter des variables à une URL : var firstName:String = "Gus"; var lastName:String = "Richardson"; var myNum:Number = 92; myBtn_btn.onRelease = function(){ getURL("http://www.adobe.com", "_blank", "GET"); }; Le code ActionScript suivant utilise la méthode POST pour placer les variables dans l'en-tête HTTP. Assurez-vous de tester vos documents dans une fenêtre de navigateur ; sinon, vos variables sont envoyées à l'aide de la méthode GET : var firstName:String = "Gus"; var lastName:String = "Richardson"; var myNum:Number = 92; getURL("http://www.adobe.com", "_blank", "POST"); Voir aussi Fonction loadVariables, send (méthode XML.send), sendAndLoad (méthode XML.sendAndLoad) 66 Eléments du langage ActionScript Fonction getVersion getVersion() : String Renvoie une chaîne contenant la version de Flash Player et des informations sur la plateforme. La fonction getVersion ne renvoie des informations qu'à partir de la version 5 de Flash Player. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Une chaîne contenant la version de Flash Player et des informations sur la plate- forme. Exemple Les exemples suivants identifient le numéro de version du lecteur Flash Player sur lequel est lu le fichier SWF : var flashVersion:String = getVersion(); trace(flashVersion); // WIN 8,0,1,0 trace($version); // WIN 8,0,1,0 trace(System.capabilities.version); // WIN 8,0,1,0 La chaîne suivante est renvoyée par la fonction getVersion : WIN 8,0,1,0 Cette chaîne renvoyée indique que la plate-forme utilisée est Microsoft Windows, et que le numéro de version de Flash Player est la version majeure 8, version mineure 1 (8.1). Voir aussi os (propriété capabilities.os), version (propriété capabilities.version) Fonction gotoAndPlay gotoAndPlay([scene:String], frame:Object) : Void Place la tête de lecture sur l'image spécifiée dans une séquence et commence la lecture à partir de cette image. Si aucune séquence n'est spécifiée, la tête de lecture passe à l'image spécifiée de la séquence en cours. Le paramètre scene est réservé au scénario racine. Vous ne pouvez pas l'utiliser dans les scénarios des clips ou autres objets du document. Disponibilité : ActionScript 1.0 ; Flash Player 2 Fonctions globales 67 Paramètres scene: String [facultatif ] - Chaîne spécifiant le nom de la séquence cible de la tête de lecture. - Nombre représentant le numéro d'image ou chaîne représentant l'étiquette de l'image cible de la tête de lecture. frame: Object Exemple Dans l'exemple suivant, un document contient deux séquences : sceneOne et sceneTwo. La séquence 1 contient une étiquette d'image sur l'image 10 intitulée newFrame et deux boutons, myBtn_btn et myOtherBtn_btn. Ce code ActionScript est placé sur l'image 1, séquence 1 du scénario principal. stop(); myBtn_btn.onRelease = function(){ gotoAndPlay("newFrame"); }; myOtherBtn_btn.onRelease = function(){ gotoAndPlay("sceneTwo", 1); }; Lorsque l'utilisateur clique sur les boutons, la tête de lecture se déplace à l'emplacement spécifié et continue la lecture. Voir aussi gotoAndPlay (méthode MovieClip.gotoAndPlay), Fonction nextFrame, Fonction play, Fonction prevFrame Fonction gotoAndStop gotoAndStop([scene:String], frame:Object) : Void Place la tête de lecture sur l'image spécifiée sur une séquence et l'arrête à ce niveau. Si aucune séquence n'est spécifiée, la tête de lecture passe à l'image de la séquence en cours. Le paramètre scene est réservé au scénario racine. Vous ne pouvez pas l'utiliser dans les scénarios des clips ou autres objets du document. Disponibilité : ActionScript 1.0 ; Flash Player 2 68 Eléments du langage ActionScript Paramètres scene: String [facultatif ] - Chaîne spécifiant le nom de la séquence cible de la tête de lecture. - Nombre représentant le numéro d'image ou chaîne représentant l'étiquette de l'image cible de la tête de lecture. frame: Object Exemple Dans l'exemple suivant, un document contient deux séquences : sceneOne et sceneTwo. La séquence 1 contient une étiquette d'image sur l'image 10 intitulée newFrame et deux boutons, myBtn_btn et myOtherBtn_btn. Ce code ActionScript est placé sur l'image 1, séquence 1 du scénario principal : stop(); myBtn_btn.onRelease = function(){ gotoAndStop("newFrame"); }; myOtherBtn_btn.onRelease = function(){ gotoAndStop("sceneTwo", 1); }; Lorsque l'utilisateur clique sur les boutons, la tête de lecture se déplace à l'emplacement spécifié et arrête la lecture. Voir aussi gotoAndStop (méthode MovieClip.gotoAndStop), Fonction stop, Fonction play, Fonction gotoAndPlay Fonctions globales 69 Fonction ifFrameLoaded ifFrameLoaded([scene:String], frame) { statement(s); } Déconseillé depuis Flash Player 5. Cette fonction est déconseillée. Adobe recommande d'employer la propriété MovieClip._framesloaded. Vérifie si le contenu d'une image spécifique est disponible localement. Utilisez la fonction pour commencer à lire une animation simple pendant le téléchargement du reste du fichier SWF sur l'ordinateur local. La différence d'utilisation entre les fonctions _framesloaded et ifFrameLoaded réside dans le fait que _framesloaded vous permet d'ajouter des instructions if ou else personnalisées. ifFrameLoaded Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres scene: String [facultatif ] - Une chaîne qui spécifie le nom de la séquence à charger. frame: Object - Le numéro ou l'étiquette d'image devant être chargé(e) avant l'exécution de l'instruction suivante. Voir aussi addListener (méthode MovieClipLoader.addListener) Fonction int int(value:Number) : Number Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de la méthode Math.floor() pour les valeurs positives et de la méthode Math.ceil pour les valeurs négatives. Convertit un nombre décimal en valeur entière en tronquant la valeur décimale. Cette fonction correspond à Math.floor() si le paramètre value est positif et à la fonction Math.ceil() si le paramètre value est négatif. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres value: Number - Un nombre devant être arrondi à un entier. Valeur renvoyée Number 70 - Le nombre entier tronqué. Eléments du langage ActionScript Voir aussi round (méthode Math.round), floor (méthode Math.floor), ceil (méthode Math.ceil) Fonction isFinite isFinite(expression:Object) : Boolean Evalue l'expression et renvoie true s'il s'agit d'un nombre fini ou false s'il s'agit de l'infini ou de l'infini négatif. La présence du signe infini ou infini négatif indique une erreur mathématique, telle que la division par 0. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres expression: Object - Une valeur booléenne, une variable ou toute autre expression à évaluer. Valeur renvoyée Boolean - Valeur booléenne. Exemple L'exemple suivant affiche les valeurs renvoyées pour isFinite : isFinite(56) // Renvoie true isFinite(Number.POSITIVE_INFINITY) // Renvoie false Fonction isNaN isNaN(expression:Object) : Boolean Evalue le paramètre et renvoie true si la valeur est NaN (not a number - n'est pas un nombre). Cette fonction permet de s'assurer qu'une expression mathématique a été évaluée correctement en tant que nombre. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres expression: Object - Une valeur booléenne, une variable ou toute autre expression à évaluer. Fonctions globales 71 Valeur renvoyée Boolean - Valeur booléenne. Exemple Le code suivant illustre les valeurs renvoyées pour la fonction isNaN() : trace(isNaN("Tree")); // Renvoie true trace(isNaN(56)); // Renvoie false trace(isNaN(Number.POSITIVE_INFINITY)) // Renvoie false L'exemple suivant indique comment utiliser la fonction isNAN() afin de vérifier si une expression mathématique contient une erreur : var dividend:Number; var divisor:Number; divisor = 1; trace(isNaN(dividend/divisor)); // Renvoie : true // La sortie a la valeur true parce que // définie. // N'utilisez pas isNAN() pour détecter // fonction renvoie false. // Tout nombre positif divisé par 0 est (Number.POSITIVE_INFINITY). // Tout nombre négatif divisé par 0 est (Number.POSITIVE_INFINITY). la variable dividend n'est pas les divisions par 0, car cette égal à Infinity égal à -Infinity Voir aussi Constante NaN, NaN (propriété Number.NaN) Fonction length length(expression:String)length(variable) Déconseillé depuis Flash Player 5. Cette fonction, de même que les fonctions de chaîne, est déconseillée. Adobe recommande d'employer les méthodes de la classe String et la propriété String.length pour effectuer les mêmes opérations. Renvoie la longueur de la chaîne ou variable spécifiée. Disponibilité : ActionScript 1.0 ; Flash Player 4 72 Eléments du langage ActionScript Paramètres expression: String variable: Object - Chaîne. - Le nom d'une variable. Valeur renvoyée Number - La longueur de la chaîne ou variable spécifiée. Exemple L'exemple suivant renvoie la longueur de la chaîne « Hello » : length("Hello"); le résultat est de 5. Voir aussi Opérateur " (séparateur de chaîne), String, length (propriété String.length) Fonction loadMovie loadMovie(url:String, target:Object, [method:String]) : Void loadMovie(url:String, target:String, [method:String]) : Void Charge un fichier SWF, JPEG, GIF ou PNG dans un clip Flash Player lors de la lecture du fichier SWF d'origine. La prise en charge des fichiers GIF non animés, des fichiers PNG et des fichiers JPEG a été ajoutée à Flash Player 8. Si vous chargez un fichier GIF animé, seule la première image s'affiche. Conseil : Si vous souhaitez contrôler la progression du téléchargement, utilisez MovieClipLoader.loadClip() à la place de cette fonction. La fonction loadMovie() permet d'afficher plusieurs fichiers SWF à la fois et de basculer vers l'un de ces derniers sans avoir à charger un autre document HTML. En l'absence de la fonction loadMovie(), Flash Player affiche un seul fichier SWF. Si vous souhaitez charger un fichier SWF ou JPEG à un niveau spécifique, utilisez à la place de loadMovie(). loadMovieNum() Lorsqu'un fichier SWF est chargé dans un clip cible, vous pouvez utiliser le chemin cible de ce clip pour cibler le fichier SWF chargé. Un fichier SWF ou une image chargé dans une cible hérite de la position, des propriétés de rotation et d'échelle du clip ciblé. Le coin supérieur gauche de l'image chargée ou du fichier SWF s'aligne sur le point de référence du clip ciblé. Sinon, lorsque la cible correspond au scénario racine, le coin supérieur gauche de l'image ou du fichier SWF s'aligne sur le coin supérieur gauche de la scène. La fonction unloadMovie() permet de supprimer les fichiers SWF chargés avec loadMovie(). Fonctions globales 73 Lorsque vous utilisez cette fonction, référez-vous au modèle de sécurité de Flash Player. Pour Flash Player 8 : ■ ■ ■ ■ Le chargement n'est pas permis si le clip appelant se trouve dans le sandbox local avec système de fichier et que le clip chargé provient d'un sandbox réseau. Le chargement n'est pas autorisé si le fichier SWF appelant se trouve dans un Sandbox de réseau et si le clip à charger est local. L'accès au Sandbox de réseau à partir du Sandbox approuvé en local ou du Sandbox de réseau local requiert une autorisation émanant du site Web via un fichier de régulation interdomaines. Les clips qui se trouvent dans le sandbox local avec système de fichier ne peuvent pas inscrire des clips dans le sandbox local avec accès au réseau (l'inverse est également rendu impossible). Pour Flash Player 7 et version ultérieure : ■ ■ Les sites Web peuvent autoriser l'accès interdomaines à une ressource via un un fichier de régulation interdomaines. La programmation entre les fichiers SWF est limitée selon le domaine d'origine des fichiers SWF. Utilisez la méthode System.security.allowDomain() pour ajuster ces restrictions. Pour plus d'informations, consultez le : ■ ■ ■ Chapitre 17, « Fonctionnement de la sécurité » du guide Formation à ActionScript 2.0 dans Flash La présentation technique (livre blanc) de la sécurité de Flash Player 9 à l'adresse http://www.adobe.com/go/fp9_0_security_fr. La présentation technique (livre blanc) des API relatives à la sécurité de Flash Player 8 à l'adresse http://www.adobe.com/go/fp8_security_apis_fr. Disponibilité : ActionScript 1.0 ; Flash Player 3 - La fonctionnalité de chargement des fichiers JPEG est disponible à partir de Flash Player 6. La fonctionnalité de chargement des fichiers GIF non animés, des fichiers PNG ou des fichiers JPEG progressifs est disponible à partir de Flash Player 8. Paramètres - L'URL absolue ou relative du fichier SWF ou JPEG à charger. Un chemin relatif doit être relatif au fichier SWF au niveau 0. Les URL absolues doivent inclure la référence de protocole, telle que http:// ou file:///. url: String target: Object - Une référence à un objet clip ou une chaîne représentant le chemin d'un clip cible. Le clip cible est remplacé par le fichier SWF chargé ou l'image. 74 Eléments du langage ActionScript method: String [facultatif ] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. Exemple Utilisation 1 : l'exemple suivant charge le fichier SWF circle.swf à partir du même répertoire et remplace un clip intitulé mySquare qui existe déjà sur la scène : loadMovie("circle.swf", mySquare); // instruction équivalente (Utilisation 1) : loadMovie("circle.swf", _level0.mySquare); // instruction équivalente (Utilisation 2) : loadMovie("circle.swf", "mySquare"); L'exemple suivant charge le fichier SWF circle.swf à partir du même répertoire, mais remplace le clip principal au lieu du clip mySquare : loadMovie("circle.swf", this); // L'utilisation de "this" en tant que chaîne pour le paramètre cible ne fonctionne pas // instruction équivalente (Utilisation 2) : loadMovie("circle.swf", "_level0"); L'instruction loadMovie() suivante charge le fichier SWF sub.swf à partir du même répertoire dans un nouveau clip intitulé logo_mc, créé à l'aide de createEmptyMovieClip() : this.createEmptyMovieClip("logo_mc", 999); loadMovie("sub.swf", logo_mc); Vous pouvez ajouter le code suivant pour charger une image JPEG intitulée image1.jpg à partir du même répertoire que le fichier SWF chargeant sub.swf. L'image JPEG est chargée lorsque vous cliquez sur un bouton intitulé myBtn_btn. Ce code charge l'image JPEG dans logo_mc. Par conséquent, il remplace sub.swf par l'image JPEG. myBtn_btn.onRelease = function(){ loadMovie("image1.jpg", logo_mc); }; Utilisation 2 : l'exemple suivant charge le fichier SWF circle.swf à partir du même répertoire et remplace un clip intitulé mySquare qui existe déjà sur la scène : loadMovie("circle.swf", "mySquare"); Voir aussi _level, propriété, Fonction loadMovieNum, loadMovie (méthode MovieClip.loadMovie), loadClip (méthode MovieClipLoader.loadClip), Fonction unloadMovie Fonctions globales 75 Fonction loadMovieNum loadMovieNum(url:String, level:Number, [method:String]) : Void Charge un fichier SWF, JPEG, GIF ou PNG dans un niveau lors de la lecture du fichier SWF d'origine. La prise en charge des fichiers GIF non animés, des fichiers PNG et des fichiers JPEG a été ajoutée à Flash Player 8. Si vous chargez un fichier GIF animé, seule la première image s'affiche. Conseil : Si vous souhaitez contrôler la progression du téléchargement, utilisez MovieClipLoader.loadClip() à la place de cette fonction. Normalement, Flash Player affiche un fichier SWF, puis se ferme. L'action loadMovieNum() permet d'afficher plusieurs fichiers SWF à la fois et de basculer vers l'un de ces derniers sans avoir à charger un autre document HTML. Si vous souhaitez spécifier une cible et non pas un niveau, utilisez loadMovie() à la place de loadMovieNum(). Flash Player empile les différents niveaux en commençant par le niveau 0. Ces niveaux correspondent à des feuilles de papier calque empilées les unes sur les autres, ils sont transparents à l'exception des objets placés à chaque niveau. Lorsque vous utilisez loadMovieNum(), vous devez spécifier le niveau de Flash Player devant recevoir le fichier SWF à charger. Lorsqu'un fichier SWF est chargé dans un niveau, utilisez la syntaxe, _level N, où N correspond au numéro du niveau cible, pour cibler le fichier SWF. Lorsque vous chargez un fichier SWF, vous pouvez spécifier le niveau de votre choix et charger des fichiers SWF dans un niveau qui comporte déjà un fichier de ce type. Dans ce cas, le nouveau fichier SWF remplace le fichier existant. Si vous chargez un fichier SWF dans le niveau 0, tous les autres niveaux de Flash Player sont vidés et le niveau 0 utilise le nouveau fichier. Le fichier SWF du niveau 0 définit le débit d'images, la couleur d'arrière-plan et la taille d'image de tous les autres fichiers SWF chargés. L'action loadMovieNum() permet également de charger des fichiers JPEG dans un fichier SWF en cours de lecture. Pour les images et les fichiers SWF, le coin supérieur gauche de l'image s'aligne sur le coin supérieur gauche de la scène pendant le chargement du fichier. Dans les deux cas, le fichier chargé hérite des paramètres de rotation et de mise à l'échelle, et le contenu d'origine est remplacé au niveau spécifié. Remarque : Les fichiers JPEG enregistrés au format progressif ne sont pas pris en charge. La fonction unloadMovieNum() permet de supprimer des fichiers SWF ou des images qui ont été chargés avec loadMovieNum(). Lorque vous utilisez cette méthode, prenez en considération le modèle de sécurité de Flash Player. 76 Eléments du langage ActionScript Pour Flash Player 8 : ■ ■ ■ ■ Le chargement n'est pas permis si le clip appelant se trouve dans le sandbox local avec système de fichier et que le clip chargé provient d'un sandbox réseau. Le chargement n'est pas autorisé si le fichier SWF appelant se trouve dans un Sandbox de réseau et si le clip à charger est local. L'accès au Sandbox de réseau à partir du Sandbox approuvé en local ou du Sandbox de réseau local requiert une autorisation émanant du site Web via un fichier de régulation interdomaines. Les clips qui se trouvent dans le sandbox local avec système de fichier ne peuvent pas inscrire des clips dans le sandbox local avec accès au réseau (l'inverse est également rendu impossible). Pour Flash Player 7 et version ultérieure : ■ ■ Les sites Web peuvent autoriser l'accès interdomaines à une ressource via un un fichier de régulation interdomaines. La programmation entre les fichiers SWF est limitée selon le domaine d'origine des fichiers SWF. Utilisez la méthode System.security.allowDomain() pour ajuster ces restrictions. Pour plus d'informations, consultez le : ■ ■ ■ Chapitre 17, « Fonctionnement de la sécurité » du guide Formation à ActionScript 2.0 dans Flash La présentation technique (livre blanc) de la sécurité de Flash Player 9 à l'adresse http:// www.adobe.com/go/fp9_0_security_fr. La présentation technique (livre blanc) des API relatives à la sécurité de Flash Player 8 à l'adresse http://www.adobe.com/go/fp8_security_apis_fr. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Les fichiers Flash 4 ouverts dans Flash 5 ou une version plus récente sont convertis pour appliquer la syntaxe correcte. La fonctionnalité de chargement des fichiers JPEG est disponible à partir de Flash Player 6. La fonctionnalité de chargement des fichiers GIF non animés, des fichiers PNG ou des fichiers JPEG progressifs est disponible à partir de Flash Player 8. Paramètres - L'URL absolue ou relative du fichier SWF ou JPEG à charger. Un chemin relatif doit faire référence au fichier SWF du niveau 0. Pour l'utilisation avec une version autonome de Flash Player ou en mode test dans l'application de programmation Flash, tous les fichiers SWF doivent être stockés dans le même dossier et les noms de fichier ne doivent pas inclure de spécifications de dossier ou lecteur de disque. url: String Fonctions globales 77 level: Number - Un entier spécifiant le niveau de Flash Player dans lequel le fichier SWF doit se charger. [facultatif ] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. method: String Exemple L'exemple suivant permet de charger l'image JPEG tim.jpg dans le niveau 2 de Flash Player : loadMovieNum("http://www.helpexamples.com/flash/images/image1.jpg", 2); Voir aussi Fonction unloadMovieNum, Fonction loadMovie, loadClip (méthode MovieClipLoader.loadClip), _level, propriété Fonction loadVariables loadVariables(url:String, target:Object, [method:String]) : Void Lit les données dans un fichier externe, tel qu'un fichier texte ou du texte généré par ColdFusion, un script CGI, des pages ASP (Active Server Pages), PHP ou un script Perl et définit les valeurs pour les variables dans un clip cible. Cette action permet également de mettre à jour les variables du fichier SWF actif en fonction des nouvelles valeurs. Le texte de l'URL spécifiée doit être au format MIME standard application/x-www-formurlencoded (un format standard utilisé par les scripts CGI). Vous pouvez spécifier autant de variables que nécessaire. Par exemple, cette séquence définit plusieurs variables : company=Adobe&address=601+Townsend&city=San+Francisco&zip=94103 Pour les fichiers SWF lus par une version antérieure à Flash Player 7, l'url doit correspondre au superdomaine du fichier SWF envoyant cet appel. Un superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF enregistré dans www.someDomain.com peut charger des données à partir d'une source figurant dans store.someDomain.com, car les deux fichiers appartiennent au même superdomaine que someDomain.com. 78 Eléments du langage ActionScript Dans les fichiers SWF, quelle que soit leur version, qui s'exécutent dans Flash Player 7 ou version ultérieure, l'url doit figurerdans le même domaine que le fichier SWF qui envoie cet appel (voir « Fonctions de sécurité de Flash Player » dans le guide Formation à ActionScript 2.0 dans Flash). Par exemple, un fichier SWF situé à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation interdomaines sur le serveur hébergeant le fichier SWF en cours d'accès. Pour plus d'informations, voir « A propos de l'autorisation de chargement de données interdomaines » dans Formation à ActionScript dans Flash. Si vous souhaitez charger des variables dans un niveau spécifique, utilisez loadVariablesNum() à la place de loadVariables(). Disponibilité : ActionScript 1.0 ; Flash Player 4 - Comportement modifié dans Flash Player 7. Paramètres - Une URL absolue ou relative par rapport à l'emplacement des variables. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, l'url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description. url: String target: Object - Le chemin cible d'un clip devant recevoir les variables chargées. method: String [facultatif ] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. Exemple L'exemple suivant permet de charger les informations d'un fichier texte intitulé params.txt dans le clip target_mc créé à l'aide de createEmptyMovieClip(). La fonction setInterval() permet de vérifier la progression du chargement. Le script recherche une variable dans le fichier params.txt appelé done. this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); loadVariables("params.txt", target_mc); function checkParamsLoaded() { if (target_mc.done == undefined) { trace("not yet."); } else { trace("finished loading. killing interval."); trace("-------------"); for (i in target_mc) { Fonctions globales 79 trace(i+": "+target_mc[i]); } trace("-------------"); clearInterval(param_interval); } } var param_interval:Number = setInterval(checkParamsLoaded, 100); Le fichier externe, params.txt, inclut le texte suivant : var1="hello"&var2="goodbye"&done="done" Voir aussi Fonction loadVariablesNum, Fonction loadMovie, Fonction loadMovieNum, Fonction getURL, loadMovie (méthode MovieClip.loadMovie), loadVariables (méthode MovieClip.loadVariables), load (méthode LoadVars.load) Fonction loadVariablesNum loadVariablesNum(url:String, level:Number, [method:String]) : Void Lit les données dans un fichier externe, tel qu'un fichier texte ou du texte généré par ColdFusion, un script CGI, des pages ASP (Active Server Pages), PHP ou un script Perl et définit les valeurs pour les variables dans un niveau de Flash Player. Vous pouvez également utiliser cette fonction pour mettre à jour les variables du fichier SWF actif afin de tenir compte des nouvelles valeurs. Le texte de l'URL spécifié doit être au format MIME standard application/x-www-formformat standard utilisé par les scripts CGI). Vous pouvez spécifier autant de variables que nécessaire. Par exemple, cette séquence définit plusieurs variables : urlencoded(un company=Adobe&address=601+Townsend&city=San+Francisco&zip=94103 Dans les fichiers SWF exécutés dans une version du lecteur antérieure à Flash Player 7, l'url doit être dans le même superdomaine que le fichier SWF qui envoie cet appel. Un superdomaine est dérivé en supprimant le composant le plus à gauche de l'URL d'un fichier. Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données à partir d'une source à l'adresse store.someDomain.com dans la mesure où les deux fichiers figurent dans le même superdomaine que someDomain.com. 80 Eléments du langage ActionScript Dans les fichiers SWF, quelle que soit leur version, qui s'exécutent dans Flash Player 7 ou version ultérieure, l'url doit figurerdans le même domaine que le fichier SWF qui envoie cet appel (voir « Fonctions de sécurité de Flash Player » dans le guide Formation à ActionScript 2.0 dans Flash). Par exemple, un fichier SWF à l'adresse www.someDomain.com peut charger des données en provenance de sources qui figurent également à l'adresse www.someDomain.com. Si vous souhaitez charger des données à partir d'un autre domaine, vous pouvez placer un fichier de régulation interdomaines sur le serveur hébergeant le fichier SWF. Pour plus d'informations, voir « A propos de l'autorisation de chargement de données interdomaines » dans Formation à ActionScript dans Flash. Si vous souhaitez charger des variables dans un clip cible, utilisez loadVariables() à la place de loadVariablesNum(). Disponibilité : ActionScript 1.0 ; Flash Player 4 - Comportement modifié dans Flash Player 7. Les fichiers Flash 4 ouverts dans Flash 5 ou une version plus récente sont convertis pour appliquer la syntaxe correcte. Paramètres - Une URL absolue ou relative par rapport à l'emplacement des variables. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, l'url doit appartenir au même domaine que le fichier SWF. Pour plus de détails, consultez la section Description. url: String level: Number - Un entier spécifiant le niveau de Flash Player devant recevoir les variables. [facultatif ] - Spécifie une méthode HTTP d'envoi des variables. Ce paramètre doit correspondre à la chaîne GET ou POST. En l'absence de variable à envoyer, omettez ce paramètre. La méthode GET ajoute les variables à la fin de l'URL et est utilisée lorsque les variables sont peu nombreuses. La méthode POST place les variables dans un en-tête HTTP distinct et s'applique aux variables longues de type chaîne. method: String Exemple L'exemple suivant permet de charger les informations d'un fichier texte intitulé params.txt dans le scénario principal du fichier SWF au niveau 2 dans Flash Player. Les noms de variables des champs de texte doivent correspondre à ceux du fichier params.txt. La fonction setInterval() est utilisée pour vérifier la progression du chargement des données dans le fichier SWF. Le script recherche une variable dans le fichier params.txt appelé done. loadVariablesNum("params.txt", 2); function checkParamsLoaded() { if (_level2.done == undefined) { trace("not yet."); } else { trace("finished loading. killing interval."); trace("-------------"); Fonctions globales 81 for (i in _level2) { trace(i+": "+_level2[i]); } trace("-------------"); clearInterval(param_interval); } } var param_interval:Number = setInterval(checkParamsLoaded, 100); // Params.txt inclut le texte suivant var1="hello"&var2="goodbye"&done="done" Voir aussi Fonction getURL, Fonction loadMovie, Fonction loadMovieNum, Fonction loadVariables, loadMovie (méthode MovieClip.loadMovie), loadVariables (méthode MovieClip.loadVariables), load (méthode LoadVars.load) Fonction mbchr mbchr(number:Number) Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode String.fromCharCode(). Convertit un numéro de code ASCII en caractère multi-octets. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres number: Number - Le nombre à convertir en caractère multi-octets. Voir aussi fromCharCode (méthode String.fromCharCode) Fonction mblength mblength(string:String) : Number Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode et des propriétés de la classe String. Renvoie la longueur de la chaîne de caractères multi-octets. Disponibilité : ActionScript 1.0 ; Flash Player 4 82 Eléments du langage ActionScript Paramètres string: String - La chaîne à mesurer. Valeur renvoyée Number - La longueur de la chaîne de caractères multi-octets. Voir aussi String, length (propriété String.length) Fonction mbord mbord(character:String) : Number Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.charCodeAt(). Convertit le caractère spécifié en nombre multi-octets. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres character: String - Le caractère à convertir en nombre multi-octets. Valeur renvoyée Number - Le caractère converti. Voir aussi charCodeAt (méthode String.charCodeAt) Fonction mbsubstring mbsubstring(value:String, index:Number, count:Number) : String Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.substr(). Extrait une nouvelle chaîne de caractères multi-octets d'une chaîne de caractères multi-octets. Disponibilité : ActionScript 1.0 ; Flash Player 4 Fonctions globales 83 Paramètres - La chaîne multi-octets à partir de laquelle il convient d'extraire une nouvelle chaîne multi-octets. value: String index: Number - Le numéro du premier caractère à extraire. count: Number - Le nombre de caractères à inclure dans la chaîne extraite, caractère d'indice non compris. Valeur renvoyée String - La chaîne extraite à partir de la chaîne de caractères multi-octets. Voir aussi substr (méthode String.substr) Fonction MMExecute MMExecute("Flash JavaScript API command;":String) : String Permet d'émettre des commandes de l'API Flash JavaScript (JSAPI) à partir d'ActionScript. Dans Flash MX 2004, la fonction MMExecute doit être appelée par une animation utilisée en tant que panneau Flash (fichier stocké dans le répertoire WindowSWF), par une boîte de dialogue XMLtoUI ou par l'interface utilisateur personnalisée d'un composant. Les commandes JSAPI n'ont aucun effet dans le lecteur, en mode test d'animation, ou en dehors de l'environnement de programmation. La JSAPI de Flash comporte plusieurs objets, méthodes et propriétés permettant de dupliquer ou d'émuler les commandes pouvant être entrées par un utilisateur dans l'environnement de programmation. La JSAPI permet d'écrire des scripts qui développent Flash de plusieurs façons : ajout de commandes à des menus, manipulation d'objets sur la scène, répétition de séquences de commandes, etc. De manière générale, un utilisateur exécute un script JSAPI en sélectionnant Commandes > Exécuter la commande. Cependant, vous pouvez utiliser cette fonction dans un script ActionScript pour appeler directement une commande JSAPI. Si vous utilisez MMExecute() dans un script pour l'image 1 de votre fichier, la commande s'exécute lors du chargement du fichier SWF. Pour plus d'informations sur la JSAPI, voir www.adobe.com/go/jsapi_info_fr. Disponibilité : ActionScript 1.0 ; Flash Player 7 84 Eléments du langage ActionScript Paramètres command: String - Toute commande pouvant être utilisée dans un fichier JSFL (Flash JavaScript). Valeur renvoyée String - Le résultat représenté sous forme de chaîne, s'il y en a un, renvoyé par l'instruction JavaScript. Exemple La commande suivante renvoie le nombre d'éléments contenus dans la bibliothèque du document actuel dans la fenêtre de trace. Vous devez exécuter cet exemple en tant que panneau Flash car les fichiers Flash ne peuvent pas appeler MMExecute s'ils sont exécutés en mode Tester l'animation ou dans le navigateur. ■ Placez le code suivant dans l'image 1 du scénario principal d'un document Flash vide :LINEBREAKLINEBREAK LINEBREAK var numLibItems = MMExecute("fl.getDocumentDOM().library.items.length");LINEBREAKLINEBREAK var message = numLibItems + " items in library";LINEBREAKLINEBREAK MMExecute('fl.trace("' + message + '");');LINEBREAKLINEBREAKLINEBREAK ■ ■ Enregistrez le fichier FLA dans le répertoire WindowSWF de votre répertoire Configuration, puis pointez sur Fichier > Publier (ou enregistrez-le ailleurs et publiez le fichier SWF directement dans ce répertoire, ou déplacez-le dans ce répertoire). Quittez et redémarrez l'application (vous devez effectuer cette étape lorsque vous ajoutez votre fichier dans le répertoire WindowSWF pour la première fois). Vous pouvez désormais sélectionner votre fichier dans la partie inférieure du menu Fenêtre > Autres panneaux. La fonction trace d'ActionScript ne fonctionne pas dans un panneau Flash ; cet exemple utilise la version JavaScript fl.trace pour obtenir la sortie. La copie des résultats de MMExecute dans un champ de texte faisant partie du fichier de votre panneau Flash peut s'avérer plus facile. Fonctions globales 85 Fonction nextFrame nextFrame() : Void Place la tête de lecture sur l'image suivante. Disponibilité : ActionScript 1.0 ; Flash Player 2 Exemple Dans l'exemple suivant, lorsque l'utilisateur appuie sur la flèche droite ou bas, la tête de lecture se déplace jusqu'à l'image suivante et s'arrête. Si l'utilisateur appuie sur la flèche gauche ou haut, la tête de lecture se positionne sur l'image précédente et s'arrête. L'écouteur est initialisé pour attendre que l'utilisateur appuie sur la touche de direction et la variable init est utilisée pour empêcher que l'écouteur soit redéfini si la tête de lecture se repositionne sur l'image 1. stop(); if (init == undefined) { someListener = new Object(); someListener.onKeyDown = function() { if (Key.isDown(Key.LEFT) || Key.isDown(Key.UP)) { _level0.prevFrame(); } else if (Key.isDown(Key.RIGHT) || Key.isDown(Key.DOWN)) { _level0.nextFrame(); } }; Key.addListener(someListener); init = 1; } Voir aussi Fonction prevFrame Fonction nextScene nextScene() : Void Place la tête de lecture sur l'image 1 de la séquence suivante. Disponibilité : ActionScript 1.0 ; Flash Player 2 86 Eléments du langage ActionScript Exemple Dans l'exemple suivant, lorsqu'un utilisateur clique sur le bouton créé à l'exécution, la tête de lecture est positionnée sur l'image 1 de la séquence suivante. Créez deux séquences, puis entrez le code ActionScript suivant sur l'image 1 de la séquence 1. stop(); if (init == undefined) { this.createEmptyMovieClip("nextscene_mc", this.getNextHighestDepth()); nextscene_mc.createTextField("nextscene_txt", this.getNextHighestDepth(), 200, 0, 100, 22); nextscene_mc.nextscene_txt.autoSize = true; nextscene_mc.nextscene_txt.border = true; nextscene_mc.nextscene_txt.text = "Next Scene"; this.createEmptyMovieClip("prevscene_mc", this.getNextHighestDepth()); prevscene_mc.createTextField("prevscene_txt", this.getNextHighestDepth(), 00, 0, 100, 22); prevscene_mc.prevscene_txt.autoSize = true; prevscene_mc.prevscene_txt.border = true; prevscene_mc.prevscene_txt.text = "Prev Scene"; nextscene_mc.onRelease = function() { nextScene(); }; prevscene_mc.onRelease = function() { prevScene(); }; init = true; } Assurez-vous de placer une action stop() sur l'image 1 de la séquence 2. Voir aussi Fonction prevScene Fonction Number Number(expression) : Number Convertit le paramètre expression en nombre et renvoie une valeur comme indiqué dans la liste suivante : ■ ■ Si expression est un nombre, la valeur renvoyée est expression. Si expression est une valeur booléenne, la valeur renvoyée est 1 si LINEBREAK expression est true, 0 si expression est false. Fonctions globales 87 ■ ■ ■ Si expression est une chaîne, la fonction tente d'analyser expression en tant que nombre décimal avec un exposant facultatif à la fin (ainsi, 1,57505e-3). Si expression est NaN, la valeur renvoyée est NaN. Si expression est undefined, renvoie l'une des valeurs suivantes :LINEBREAKLINEBREAK- Dans les fichiers publiés pour Flash Player 6 ou version antérieure, le résultat est 0.LINEBREAKLINEBREAK- Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est NaN.LINEBREAK Disponibilité : ActionScript 1.0 ; Flash Player 4 - Comportement modifié dans Flash Player 7. Paramètres expression: Object - Une expression à convertir en nombre. Les nombres ou chaînes commençant par 0x sont interprété(e)s en tant que valeurs hexadécimales. Les nombres ou chaînes commençant par 0 sont interprété(e)s en tant que valeurs octales. Valeur renvoyée Number - Un nombre ou NaN (n'est pas un nombre). Exemple Dans l'exemple suivant, un champ de texte est créé sur la scène à l'exécution : this.createTextField("counter_txt", this.getNextHighestDepth(), 0, 0, 100, 22); counter_txt.autoSize = true; counter_txt.text = 0; function incrementInterval():Void { var counter:Number = counter_txt.text; // En l'absence de la fonction Number(), Flash concatènerait la valeur // au lieu d'ajouter des valeurs. Vous pourriez également utiliser // "counter_txt.text++;" counter_txt.text = Number(counter) + 1; } var intervalID:Number = setInterval(incrementInterval, 1000); Voir aussi Constante NaN, Number, Fonction parseInt, Fonction parseFloat 88 Eléments du langage ActionScript Fonction Object Object([value:Object]) : Object Crée un objet vide ou convertit le nombre, la chaîne ou la valeur booléenne spécifié en objet. Cette commande revient à créer un objet avec le constructeur Object (voir « Constructeur de la classe Object »). Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value: Object [facultatif ] - Une valeur de type numérique, chaîne ou booléen. Valeur renvoyée Object - Objet. Exemple Dans l'exemple suivant, un objet vide est créé, puis renseigné par des valeurs : var company:Object = new Object(); company.name = "Adobe"; company.address = "601 Townsend Street"; company.city = "San Francisco"; company.state = "CA"; company.postal = "94103"; for (var i in company) { trace("company."+i+" = "+company[i]); } Voir aussi Object Gestionnaire on on(mouseEvent:Object) { // Vos instructions ici } Spécifie l'évènement de type souris ou pression de touche devant déclencher une action. Disponibilité : ActionScript 1.0 ; Flash Player 2 - Flash 2. Tous les événements ne sont pas pris en charge par Flash 2. Fonctions globales 89 Paramètres - mouseEvent est un déclencheur appelé par un événement event. Lorsque cet événement se produit, les instructions qui le suivent entre accolades ({ }) s'exécutent. Vous pouvez spécifier n'importe laquelle des valeurs suivantes pour le paramètre mouseEvent : mouseEvent: Object ■ ■ ■ press L'utilisateur appuie sur le bouton de la souris pendant que le pointeur de la souris survole le bouton. release L'utilisateur relâche le bouton de la souris pendant que le pointeur de la souris survole le bouton. releaseOutside Pendant que le pointeur de la souris survole le bouton, l'utilisateur appuie sur le bouton de la souris puis éloigne le pointeur du bouton juste avant le relâchement du bouton. Les événements press et dragOut précèdent toujours l'événement releaseOutside. Le pointeur quitte la zone du bouton. ■ rollOut ■ rollOver ■ ■ ■ Le pointeur de la souris survole le bouton. dragOut Pendant que le pointeur de la souris survole le bouton, l'utilisateur appuie sur le bouton de la souris puis place le pointeur en dehors de la zone du bouton. dragOver Pendant que le pointeur est au-dessus du bouton, l'utilisateur appuie sur le bouton de la souris, fait glisser le pointeur en dehors de la zone du bouton, puis le ramène sur ce dernier. keyPress " < key > " L'utilisateur appuie sur la touche spécifiée du clavier. Pour la section key du paramètre, spécifiez une constante de touche, comme indiqué par le conseil de code du panneau Actions. Vous pouvez utiliser ce paramètre pour intercepter l'utilisation d'une touche, ce qui revient à contourner le comportement intégré de la touche spécifiée. L'emplacement du bouton n'a pas d'importance, il peut être sur la scène ou en dehors. L'une des limites de cette technique est que vous ne pouvez pas appliquer le gestionnaire on() pendant l'exécution ; vous devez l'appliquer pendant la programmation. Assurezvous que Contrôle > Désactiver les raccourcis clavier est sélectionné ou que les touches associées à un comportement intégré ne seront pas ignorées lorsque vous testez l'application avec Contrôle > Tester l'animation. Pour consulter la liste des constantes de touches, voir la classe Key. 90 Eléments du langage ActionScript Exemple Dans le script suivant, la fonction startDrag() s'exécute lorsque l'utilisateur clique sur le bouton de la souris et le script conditionnel est exécuté lorsqu'il relâche le bouton de la souris et que l'objet est déposé : on(press) { startDrag(this); } on(release) { trace("X:"+this._x); trace("Y:"+this._y); stopDrag(); } Voir aussi Gestionnaire onClipEvent, Key Gestionnaire onClipEvent onClipEvent(movieEvent:Object) { // Vos instructions ici } Déclenche les actions définies pour une instance spécifique de clip. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - L'événement movieEvent est un déclencheur appelé par un événement event. Lorsque cet événement se produit, les instructions qui le suivent entre accolades ({ }) s'exécutent. Vous pouvez spécifier n'importe laquelle des valeurs suivantes pour le paramètre movieEvent : movieEvent: Object ■ ■ ■ ■ load L'action commence dès que le clip est instancié et s'affiche dans le scénario. unload L'action commence dès la première image, après que le clip est supprimé du scénario. Les actions associées à l'événement Unload du clip sont traitées avant les actions associées à l'image affectée. L'action est déclenchée de façon continue en suivant le débit d'images du clip. Les actions associées à l'événement enterFrame du clip sont traitées avant les actions sur les images associées aux images affectées. enterFrame L'action commence dès que la souris bouge. Les propriétés LINEBREAK et _ymouse permettent de déterminer la position du curseur. mouseMove _xmouse Fonctions globales 91 ■ mouseDown L'action commence dès que l'utilisateur appuie sur le bouton gauche de la souris. ■ mouseUp L'action commence dès que l'utilisateur relâche le bouton gauche de la souris. ■ keyDown L'action commence dès que l'utilisateur appuie sur une touche. La méthode permet d'extraire des informations sur la dernière touche utilisée. Key.getCode() ■ ■ keyUp L'action commence dès que l'utilisateur relâche une touche. La méthode LINEBREAK Key.getCode() permet d'extraire des informations sur la dernière touche utilisée. L'action commence dès que des données sont reçues par une action ou loadMovie(). Lorsque ce paramètre est spécifié avec une action loadVariables(), l'événement data ne se produit qu'une seule fois, lorsque la dernière variable est chargée. Par contre, lorsqu'il est spécifié avec une action loadMovie(), l'événement data se répète, lors de la réception de chaque section de données. data loadVariables() Exemple L'exemple suivant utilise onClipEvent() avec l'événement de clip keyDown et est conçu pour être associé à un clip ou bouton. L'événement de clip keyDown est généralement utilisé avec une ou plusieurs méthodes et propriétés de l'objet Key. Le script suivant utilise Key.getCode() pour savoir sur quelle touche l'utilisateur a appuyé ; si la touche sur laquelle il a appuyé correspond à la propriété Key.RIGHT, la tête de lecture est positionnée sur l'image suivante ; si elle correspond à la propriété Key.LEFT, la tête de lecture est positionnée sur l'image précédente. onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { this._parent.nextFrame(); } else if (Key.getCode() == Key.LEFT) { this._parent.prevFrame(); } } L'exemple suivant utilise onClipEvent() avec les événements de clips load et mouseMove. Les propriétés _xmouse et _ymouse suivent la position de la souris à chaque fois qu'elle se déplace et apparaissent dans le champ texte créé à l'exécution. onClipEvent (load) { this.createTextField("coords_txt", this.getNextHighestDepth(), 0, 0, 100, 22); coords_txt.autoSize = true; coords_txt.selectable = false; } onClipEvent (mouseMove) { coords_txt.text = "X:"+_root._xmouse+",Y:"+_root._ymouse; } 92 Eléments du langage ActionScript Voir aussi Key, _xmouse (propriété MovieClip._xmouse), _ymouse (propriété MovieClip._ymouse), Gestionnaire on, Fonction updateAfterEvent Fonction ord ord(character:String) : Number Déconseillée depuis Flash Player 5. Cette fonction a été déconseillée au profit de la méthode et des propriétés de la classe String. Convertit les caractères en numéros de code ASCII. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres character: String - Le caractère à convertir en numéro de code ASCII. Valeur renvoyée Number - Le numéro de code ASCII du caractère spécifié. Voir aussi String, charCodeAt (méthode String.charCodeAt) Fonction parseFloat parseFloat(string:String) : Number Convertit une chaîne en nombre à virgule flottante. Cette fonction lit, ou analyse, et renvoie les nombres dans une chaîne jusqu'à ce que cette dernière atteigne un caractère qui ne fait pas partie du nombre initial. Si la chaîne ne commence pas par un nombre qui peut être analysé, parseFloat() renvoie NaN. L'espace blanc qui précède un entier valide est ignoré, comme les caractères de fin non numériques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres string: String - La chaîne à lire et convertir en nombre à virgule flottante. Valeur renvoyée Number - Un nombre ou NaN (n'est pas un nombre). Fonctions globales 93 Exemple Les exemples suivants utilisent la fonction parseFloat() pour évaluer divers types de nombre : trace(parseFloat("-2")); // -2 trace(parseFloat("2,5")); // 2,5 trace(parseFloat("2,5")); // 2,5 trace(parseFloat("3.5e6")); // 3500000 trace(parseFloat("foobar")); // NaN trace(parseFloat("3.75math")); // 3.75 trace(parseFloat("0garbage")); // 0 Voir aussi Constante NaN, Fonction parseInt Fonction parseInt parseInt(expression:String, [radix:Number]) : Number Convertit une chaîne en entier. Si la chaîne spécifiée par les paramètres ne peut pas être convertie en nombre, la fonction renvoie NaN. Les chaînes commençant par 0x sont interprétées en tant que nombres hexadécimaux. Les entiers commençant par 0 ou spécifiant une base 8 sont interprétés en tant que nombres octaux. L'espace blanc qui précède un entier valide est ignoré, comme les caractères de fin non numériques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres expression: String - Une chaîne à convertir en entier. radix: Number [facultatif ] - Un entier représentant la base du nombre à analyser. Les valeurs valides sont comprises entre 2 et 36. Valeur renvoyée Number - Un nombre ou NaN (n'est pas un nombre). Exemple Les exemples de cette section utilisent la fonction parseInt() pour évaluer divers types de nombres. L'exemple suivant renvoie 3 : parseInt("3.5") 94 Eléments du langage ActionScript L'exemple suivant renvoie NaN : parseInt("bar") L'exemple suivant renvoie 4 : parseInt("4foo") L'exemple suivant illustre une conversion hexadécimale qui renvoie 1016 : parseInt("0x3F8") L'exemple suivant illustre une conversion hexadécimale utilisant le paramètre radix facultatif qui renvoie 1000 : parseInt("3E8", 16) L'exemple suivant illustre une conversion binaire et renvoie 10, soit la représentation décimale du binaire 1010 : parseInt("1010", 2) Les exemples suivants illustrent l'analyse des nombres octaux et renvoient 511, soit la représentation décimale du nombre octal 777 : parseInt("0777") parseInt("777", 8) Voir aussi , Fonction parseFloat Fonction play play() : Void Fait avancer la tête de lecture au sein du scénario. Disponibilité : ActionScript 1.0 ; Flash Player 2 Exemple Dans l'exemple suivant, deux occurrences de clip intitulées stop_mc et play_mc se trouvent sur la scène. Le script ActionScript arrête la lecture du fichier SWF lorsque l'utilisateur clique sur l'occurrence de clip stop_mc. La lecture reprend lorsque l'utilisateur clique sur l'occurrence play_mc. this.my_mc.onRelease = function() { stop(); }; this.my_mc.onRelease = function() { play(); }; trace("frame 1"); Fonctions globales 95 Voir aussi Fonction gotoAndPlay, gotoAndPlay (méthode MovieClip.gotoAndPlay) Fonction prevFrame prevFrame() : Void Place la tête de lecture sur l'image précédente. Si l'image active est l'image 1, la tête de lecture ne bouge pas. Disponibilité : ActionScript 1.0 ; Flash Player 2 Exemple Lorsque l'utilisateur clique sur un bouton intitulé myBtn_btn et que le code ActionScript suivant est placésur une image du scénario correspondant à ce bouton, la tête de lecture est positionnée sur l'image précédente : stop(); this.myBtn_btn.onRelease = function(){ prevFrame(); }; Voir aussi Fonction nextFrame, prevFrame (méthode MovieClip.prevFrame) Fonction prevScene prevScene() : Void Place la tête de lecture sur l'image 1 de la séquence précédente. Disponibilité : ActionScript 1.0 ; Flash Player 2 Voir aussi Fonction nextScene 96 Eléments du langage ActionScript Fonction print print(target:Object, boundingBox:String) : Void Imprime le clip target en fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). Si vous souhaitez imprimer des images spécifiques du clip cible, associez une étiquette #p à ces images. Bien que la fonction print() produise des impressions de meilleure qualité que la fonction printAsBitmap(), elle ne permet pas d'imprimer des clips comportant des transparences alpha ou des effets spéciaux de couleur. Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène du clip principal.) Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : ActionScript 1.0 ; Flash Player 4 - (4.0.20.0) Si vous concevez des animations pour Flash Player 7 ou une version ultérieure, vous pouvez créer un objet PrintJob qui vous permet, ainsi qu'à l'utilisateur, de mieux contrôler le processus d'impression. Pour plus d'informations, consultez l'entrée de la classe PrintJob. Paramètres target: Object - Le nom d'occurrence du clip à imprimer. Par défaut, l'ensemble des images de l'occurrence cible peuvent être imprimées. Si vous souhaitez imprimer des images spécifiques du clip, associez une étiquette #p à ces images. boundingBox: String - Un modificateur qui définit la zone d'impression du clip. Placez ce paramètre entre guillemets simples ou doubles (' ou ") et spécifiez l'une des valeurs suivantes : ■ ■ bmovie Désigne le cadre de délimitation d'une image spécifique dans un clip en tant que zone d'impression pour l'ensemble des images imprimables du clip. Associez une étiquette d'image #b à l'image dont vous souhaitez utiliser le cadre de délimitation en tant que zone imprimable. bmax Désigne une combinaison de l'ensemble des cadres de délimitation de l'ensemble des images imprimables en tant que zone d'impression. Spécifiez bmax si la taille des images imprimables de votre clip varie. Fonctions globales 97 ■ bframe Indique que le cadre de délimitation de chaque image imprimable doit être utilisé en tant que zone d'impression pour cette image, ce qui change la zone d'impression de chaque image et met les objets à l'échelle pour les adapter à la zone d'impression. Utilisez LINEBREAK bframe si vous avez des objets de différentes tailles dans chaque image et souhaitez que chaque objet remplisse la page imprimée. Exemple L'exemple suivant imprime toutes les images imprimables dans holder_mc en appliquant une zone d'impression définie par le cadre de délimitation de chaque image : this.createEmptyMovieClip("holder_mc", 999); holder_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); this.myBtn_btn.onRelease = function(){ print(this._parent.holder_mc, "bframe"); }; Dans le script ActionScript précédent, vous pouviez remplacer bframe par bmovie de manière à ce que la zone d'impression soit définie par le cadre de délimitation d'une image à laquelle est associée l'étiquette #b. Voir aussi Fonction printAsBitmap, Fonction printAsBitmapNum, PrintJob, Fonction printNum Fonction printAsBitmap printAsBitmap(target:Object, boundingBox:String) : Void Imprime le clip target en tant que bitmap en fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). Utilisez printAsBitmap() pour imprimer des clips qui contiennent des images avec des objets qui appliquent des effets de transparence ou de couleur. L'action printAsBitmap() imprime à la résolution la plus élevée disponible, de façon à préserver la définition et la qualité autant que faire se peut. Si votre clip ne contient pas de transparences alpha ou d'effets de couleur, Adobe recommande d'utiliser la fonction print() pour de meilleurs résultats qualitatifs. Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène du clip principal.) Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. 98 Eléments du langage ActionScript La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : ActionScript 1.0 ; Flash Player 4 - (4.0.20.0) Si vous concevez des animations pour Flash Player 7 ou une version ultérieure, vous pouvez créer un objet PrintJob qui vous permet, ainsi qu'à l'utilisateur, de mieux contrôler le processus d'impression. Pour plus d'informations, consultez l'entrée de la classe PrintJob. Paramètres target: Object - Le nom d'occurrence du clip à imprimer. Par défaut, l'ensemble des images du clip sont imprimées. Si vous souhaitez imprimer des images spécifiques du clip, associez une étiquette #p à ces images. boundingBox: String - Un modificateur qui définit la zone d'impression du clip. Placez ce paramètre entre guillemets simples ou doubles (' ou ") et spécifiez l'une des valeurs suivantes : ■ ■ bmovie Désigne le cadre de délimitation d'une image spécifique dans un clip en tant que zone d'impression pour l'ensemble des images imprimables du clip. Associez une étiquette d'image #b à l'image dont vous souhaitez utiliser le cadre de délimitation en tant que zone imprimable. bmax Désigne une combinaison de l'ensemble des cadres de délimitation de l'ensemble des images imprimables en tant que zone d'impression. Spécifiez le paramètre bmax lorsque la taille des images imprimables de votre clip varie. ■ bframe Indique que le cadre délimitation de chaque image imprimable doit servir de zone d'impression pour cette image. Ceci change la zone d'impression de chaque image et met l'objet à l'échelle de la zone d'impression. Utilisez LINEBREAK bframe si vous avez des objets de différentes tailles dans chaque image et souhaitez que chaque objet remplisse la page imprimée. Exemple L'exemple suivant imprime toutes les images imprimables dans holder_mc en appliquant une zone d'impression définie par le cadre de délimitation de l'image : this.createEmptyMovieClip("holder_mc", 999); holder_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); this.myBtn_btn.onRelease = function(){ printAsBitmap(this._parent.holder_mc, "bframe"); }; Voir aussi Fonction print, Fonction printAsBitmapNum, Fonction printNum, PrintJob Fonctions globales 99 Fonction printAsBitmapNum printAsBitmapNum(level:Number, boundingBox:String) : Void Imprime un niveau dans Flash Player en tant que bitmap en fonction des limites spécifiées par le paramètre (bmovie, bmax ou bframe). Utilisez printAsBitmapNum() pour imprimer des clips qui contiennent des images avec des objets qui appliquent des effets de transparence ou de couleur. L'action printAsBitmapNum() imprime à la résolution la plus élevée disponible, de façon à préerver la plus haute définition possible et la qualité autant que faire se peut. Pour calculer la taille du fichier imprimable d'une image à imprimer au format bitmap, multipliez la largeur en pixels par la hauteur en pixels par la résolution de l'imprimante. Si votre clip ne contient pas de transparences alpha ou d'effets de couleur, utilisez printNum() pour de meilleurs résultats qualitatifs. Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène de l'animation principale.) Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : ActionScript 1.0 ; Flash Player 5 - Si vous concevez des animations pour Flash Player 7 ou une version ultérieure, vous pouvez créer un objet PrintJob qui vous permet, ainsi qu'à l'utilisateur, de mieux contrôler le processus d'impression. Pour plus d'informations, consultez l'entrée de la classe PrintJob. Paramètres level: Number - Le niveau de Flash Player à imprimer. Par défaut, l'ensemble des images du niveau sont imprimées. Si vous souhaitez imprimer des images spécifiques du niveau, associez une étiquette #p à ces images. - Un modificateur qui définit la zone d'impression du clip. Placez ce paramètre entre guillemets simples ou doubles (' ou ") et spécifiez l'une des valeurs suivantes : boundingBox: String ■ ■ 100 bmovie Désigne le cadre de délimitation d'une image spécifique dans un clip en tant que zone d'impression pour l'ensemble des images imprimables du clip. Associez une étiquette d'image #b à l'image dont vous souhaitez utiliser le cadre de délimitation en tant que zone imprimable. bmax Désigne une combinaison de l'ensemble des cadres de délimitation de l'ensemble des images imprimables en tant que zone d'impression. Spécifiez le paramètre bmax lorsque la taille des images imprimables de votre clip varie. Eléments du langage ActionScript ■ bframe Indique que le cadre délimitation de chaque image imprimable doit servir de zone d'impression pour cette image. Ceci change la zone d'impression de chaque image et met l'objet à l'échelle de la zone d'impression. Utilisez LINEBREAK bframe si vous avez des objets de différentes tailles dans chaque image et souhaitez que chaque objet remplisse la page imprimée. Exemple L'exemple suivant imprime le contenu de la scène lorsque l'utilisateur clique sur le bouton myBtn_btn. La zone à imprimer est définie par le cadre de délimitation de l'image. myBtn_btn.onRelease = function(){ printAsBitmapNum(0, "bframe") }; Voir aussi Fonction print, Fonction printAsBitmap, PrintJob, Fonction printNum Fonction printNum printNum(level:Number, boundingBox:String) : Void Imprime le niveau dans Flash Player en fonction des limites spécifiées par le paramètre boundingBox (bmovie, bmax, bframe). Si vous souhaitez imprimer des images spécifiques du clip cible, associez une étiquette #p à ces images. Bien que printNum() permette de bénéficier d'une meilleure qualité que printAsBitmapNum(), vous ne pouvez pas utiliser printNum() pour imprimer des animations comportant des transparences alpha ou des effets spéciaux de couleur. Si vous utilisez bmovie pour le paramètre boundingBox, mais n'associez pas d'étiquette #b à une image, la zone d'impression est déterminée par la taille de la scène du clip chargé. (Le clip chargé n'hérite pas de la taille de la scène de l'animation principale.) Tous les éléments imprimables d'un clip doivent avoir été chargés de façon intégrale avant le début de l'impression. La fonction d'impression de Flash Player prend en charge les imprimantes PostScript et non PostScript. Les imprimantes non PostScript convertissent les vecteurs en bitmaps. Disponibilité : ActionScript 1.0 ; Flash Player 5 - Si vous concevez des animations pour Flash Player 7 ou une version ultérieure, vous pouvez créer un objet PrintJob qui vous permet, ainsi qu'à l'utilisateur, de mieux contrôler le processus d'impression. Pour plus d'informations, consultez l'entrée de la classe PrintJob. Fonctions globales 101 Paramètres level: Number - Le niveau de Flash Player à imprimer. Par défaut, l'ensemble des images du niveau sont imprimées. Si vous souhaitez imprimer des images spécifiques du niveau, associez une étiquette #p à ces images. - Un modificateur qui définit la zone d'impression du clip. Placez ce paramètre entre guillemets simples ou doubles (' ou ") et spécifiez l'une des valeurs suivantes : boundingBox: String ■ ■ ■ bmovie Désigne le cadre de délimitation d'une image spécifique dans un clip en tant que zone d'impression pour l'ensemble des images imprimables du clip. Associez une étiquette d'image #b à l'image dont vous souhaitez utiliser le cadre de délimitation en tant que zone imprimable. bmax Désigne une combinaison de l'ensemble des cadres de délimitation de l'ensemble des images imprimables en tant que zone d'impression. Spécifiez le paramètre bmax lorsque la taille des images imprimables de votre clip varie. bframe Indique que le cadre délimitation de chaque image imprimable doit servir de zone d'impression pour cette image. Ceci change la zone d'impression de chaque image et met l'objet à l'échelle de la zone d'impression. Utilisez LINEBREAK bframe si vous avez des objets de différentes tailles dans chaque image et souhaitez que chaque objet remplisse la page imprimée. Voir aussi Fonction print, Fonction printAsBitmap, Fonction printAsBitmapNum, PrintJob Fonction random random(value:Number) : Number Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de Math.random(). Renvoie un entier aléatoire compris entre 0 et un inférieur au nombre entier spécifié dans le paramètre value. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres value: Number - Entier. Valeur renvoyée Number 102 - Un entier aléatoire. Eléments du langage ActionScript Exemple L'utilisation suivante de la fonction random() renvoie une valeur de 0, 1, 2, 3 ou 4 : random(5); Voir aussi random (méthode Math.random) Fonction removeMovieClip removeMovieClip(target:Object) Supprime le clip spécifié. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres - Le chemin cible d'une occurrence de clip créée avec ou le nom d'occurrence d'un clip créé avec MovieClip.attachMovie(), MovieClip.duplicateMovieClip(), ou MovieClip.createEmptyMovieClip(). target: Object duplicateMovieClip() Exemple L'exemple suivant crée un nouveau clip intitulé myClip_mc et le duplique. Le second clip est appelé newClip_mc. Les images sont chargées dans les deux clips. Lorsque l'utilisateur clique sur un bouton, button_mc, le clip dupliqué est retiré de la scène. this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); myClip_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); duplicateMovieClip(this.myClip_mc, "newClip_mc", this.getNextHighestDepth()); newClip_mc.loadMovie("http://www.helpexamples.com/flash/images/ image1.jpg"); newClip_mc._x = 200; this.button_mc.onRelease = function() { removeMovieClip(this._parent.newClip_mc); }; Voir aussi Fonction duplicateMovieClip, duplicateMovieClip (méthode MovieClip.duplicateMovieClip), attachMovie (méthode MovieClip.attachMovie), removeMovieClip (méthode MovieClip.removeMovieClip), createEmptyMovieClip (méthode MovieClip.createEmptyMovieClip) Fonctions globales 103 Fonction setInterval setInterval(functionReference:Function, interval:Number, [ param1:Object, param2, ..., paramN]) : Number setInterval(objectReference:Object, methodName:String, interval:Number, [ param1:Object, param2, ..., paramN]) : Number Appelle une fonction ou une méthode d'un objet à des intervalles périodiques pendant la lecture d'un fichier SWF. Vous pouvez utiliser setInterval() pour exécuter une fonction de manière répétitive dans le temps. Utilisez les conseils suivants lorsque vous utilisez setInterval() : ■ ■ ■ Identifiez le domaine de la fonction appelée. Identifiez le domaine dans lequel l'ID d'intervalle (la valeur renvoyée de setInterval()) a été défini. Supprimez les intervalles définis avant d'en déterminer de nouveaux. Ces conseils sont décrits de façon plus détaillée dans les paragraphes qui suivent. Identifiez le domaine de la fonction appelée. Pour identifier le domaine de la fonction appelée, définissez l'objet sur lequel la méthode setInterval() peut s'exécuter (le domaine de l'objet) comme étant le premier paramètre et le nom de la méthode que vous souhaitez exécuter comme étant le deuxième paramètre (comme indiqué dans la deuxième signature). Ceci permet de s'assurer que la méthode voulue s'exécute à partir du domaine de la référence d'objet transmise. Lorsque cette méthode est ainsi exécutée, elle permet de faire référence à des variables de membre de l'objet utilisant le mot-clé this. Identifiez le domaine dans lequel l'identificateur d'intervalle a été défini. Pour identifier le domaine dans lequel l'identificateur d'intervalle (intervalId) a été défini, vous pouvez l'affecter à une variable de membre du domaine de l'objet transmis à setInterval(). La fonction appelée peut ainsi localiser l'identificateur d'intervalle au niveau de this.intervalId. Supprimez les intervalles précédemment définis. Pour supprimer les intervalles définis avant d'en déterminer de nouveaux, vous devez généralement appeler clearInterval() avant setInterval(). Ceci vous évite d'écraser ou de détruire votre variable intervalId, la seule référence à l'intervalle en cours d'exécution. Pour appeler clearInterval() avant setInterval(), le script d'initialisation et le script exécuté doivent avoir accès à intervalId, comme indiqué dans les exemples. Remarque :Veillez à appeler clearInterval() pour arrêter la lecture en boucle du script. Disponibilité : ActionScript 1.0 ; Flash Player 6 104 Eléments du langage ActionScript Paramètres functionReference: Function interval: Number - Une référence à la fonction à appeler. - Le nombre de millisecondes séparant les appels de la fonction ou methodName transmise. functionReference Si la valeur d'interval est inférieure à la cadence d'images du fichier SWF (par exemple, 10 images par seconde [fps] correspond à des intervalles de 100 millisecondes), la fonction d'intervalle est appelée aussi près que possible de la valeur interval. L'exécution de scripts longs, utilisant beaucoup de mémoire, au cours d'un intervalle entraîne des retards. Si la fonction appelée modifie les éléments visuels, vous devez utiliser la fonction updateAfterEvent() afin de vous assurer que l'écran est régulièrement actualisé. Si la valeur interval est supérieure à la cadence d'images du fichier SWF, la fonction interval n'est appelée que lorsque interval a expiré et que la tête de lecture passe sur l'image suivante, ce qui réduit l'impact à chaque fois que l'écran est actualisé. param: Object [facultatif ] - Paramètres transmis à la fonction envoyée à ou methodName. Les paramètres multiples doivent être séparés par des functionReference virgules : param1 , param2 , ..., paramN objectReference: Object methodName: String - Un objet contenant la méthode spécifiée par methodName. - Une méthode qui existe dans le domaine de l'objet spécifié par objectReference. Valeur renvoyée Number - Un entier qui identifie l'intervalle (l'ID d'intervalle) que vous pouvez transmettre à pour annuler l'intervalle. clearInterval() Exemple Exemple 1 : L'exemple suivant trace un message selon un intervalle de 20 millisecondes, jusqu'à 10 fois, puis supprime l'intervalle. Le domaine de l'objet, this, est transmis comme étant le premier paramètre ; le nom de la méthode, executeCallback, comme étant le deuxième. Ceci permet de s'assurer que executeCallback() s'exécute à partir du même domaine que celui du script effectuant l'appel. var var var var intervalId:Number; count:Number = 0; maxCount:Number = 10; duration:Number = 20; function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { Fonctions globales 105 clearInterval(intervalId); } count++; } intervalId = setInterval(this, "executeCallback", duration); Exemple 2 : L'exemple suivant est similaire au premier, à la différence qu'il appelle clearInterval() avant setInterval(). Cette méthode peut empêcher l'obtention de boucles non souhaitées et s'avère particulièrement importante au sein des systèmes basés sur des événements, dans lesquels le script d'initialisation peut être exécuté à plusieurs reprises avant la suppression d'un intervalle spécifique. var var var var intervalId:Number; count:Number = 0; maxCount:Number = 10; duration:Number = 20; function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { clearInterval(intervalId); } count++; } function beginInterval():Void { if(intervalId != null) { trace("clearInterval"); clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration); } beginInterval(); beginInterval(); beginInterval(); Exemple 3 : L'exemple suivant indique comment transmettre un argument personnalisé à la fonction appelée. var intervalId:Number; var count:Number = 0; var maxCount:Number = 10; var duration:Number = 20; var colors:Array = new Array("red", "blue", (bleu) 106 Eléments du langage ActionScript "yellow", (jaune) "purple", (violet) "green", (vert) "orange", (orange) "salmon", (saumon) "pink", (rose) "lilac", (lilas) "powder blue", (bleu pastel) "mint"); (vert menthe) function executeCallback(param:String) { trace("executeCallback intervalId: " + intervalId + " count: " + count + " param: " + param); clearInterval(intervalId); if(count < maxCount) { count++; intervalId = setInterval(this, "executeCallback", duration, colors[count]); } } if(intervalId != null) { clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration, colors[count]); Exemple 4 : L'exemple suivant indique comment utiliser correctement setInterval() à partir d'une classe ActionScript 2.0 personnalisée. Remarquez que, comme dans les exemples précédents, le paramètre this est transmis à la fonction setInterval() afin de s'assurer que la méthode appelée s'exécute dans le domaine approprié. class CustomClass { private var intervalId:Number; private var count:Number = 0; private var maxCount:Number = 10; private var duration:Number = 20; public function CustomClass():Void { beginInterval(); } private function beginInterval():Void { if(intervalId != null) { trace("clearInterval"); clearInterval(intervalId); } intervalId = setInterval(this, "executeCallback", duration); Fonctions globales 107 } public function executeCallback():Void { trace("executeCallback intervalId: " + intervalId + " count: " + count); if(count >= maxCount) { clearInterval(intervalId); } count++; } } Dans un nouveau document, instanciez une nouvelle occurrence de la nouvelle classe : var custom:CustomClass = new CustomClass(); Voir aussi Fonction clearInterval, Fonction updateAfterEvent, Instruction class Fonction setProperty setProperty(target:Object, property:Object, expression:Object) : Void Modifie la valeur des propriétés d'un clip pendant la lecture de ce dernier. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres target: Object - Le chemin du nom d'occurrence du clip dont la propriété doit être définie. property: Object - La propriété à définir. - Soit la nouvelle valeur littérale de la propriété, soit une équation qui reprend la nouvelle valeur de la propriété. expression: Object Exemple Le code ActionScript suivant crée un nouveau clip et charge une image dans celui-ci. Les coordonnées _xet _y sont définies pour le clip à l'aide de setProperty(). Lorsque vous cliquez sur le bouton intitulé right_btn, la coordonnée _x d'un clip nommé params_mc est incrémentée de 20 pixels. this.createEmptyMovieClip("params_mc", 999); params_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg"); setProperty(this.params_mc, _y, 20); setProperty(this.params_mc, _x, 20); this.right_btn.onRelease = function() { 108 Eléments du langage ActionScript setProperty(params_mc, _x, getProperty(params_mc, _x)+20); }; Voir aussi Fonction getProperty Fonction setTimeout setTimeout() : Number Exécute une fonction spécifiée après un délai spécifié (en millisecondes). La fonction setTimeout() est similaire à la fonction setInterval(), à la différence que setTimeout() appelle la fonction une fois, puis est automatiquement supprimée. Pour pouvoir continuer à utiliser la méthode clearTimeout() pour empêcher setTimeout() d'appeler la fonction, assurez-vous de bien attribuer la valeur renvoyée de l'appel setTimeout() à une variable. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Le nom de la fonction à éxécuter. N'incluez pas de guillemets ou de parenthèses, et ,ne spécifiez pas de paramètres de la fonction à appeler. Par exemple, utilisez functionName, et non functionName() ou functionName(param). functionReference: Object delay: Number args: Object - Délai d'exécution de la fonction, en millisecondes. - Zéro ou plusieurs arguments, séparés par des virgules, à passer à la fonction. Valeur renvoyée Number - Identifiant numérique unique pour le processus programmé. Exemple L'exemple suivant utilise setTimeout() pour appeler une fonction nommée my_delayedFunction après un délai de deux (2) secondes, et utilise la valeur renvoyée pour appeler clearTimeout() si l'utilisateur appuie sur la touche Echap. La chaîne « délai de deux secondes » est renvoyée passé deux secondes, sauf si l'utilisateur appuie sur la touche Echap avant l'appel de my_delayedFunction. var my_timedProcess:Number = setTimeout(my_delayedFunction, 2000, "two second delay"); function my_delayedFunction (arg1) { trace(arg1); } Fonctions globales 109 var escListener:Object = new Object(); escListener.onKeyDown = function() { if (Key.isDown(Key.ESCAPE)) { clearTimeout(my_timedProcess); } }; Key.addListener(escListener); Lorsque vous utilisez cet exemple, assurez-vous de sélectionner Contrôle > Désactiver les raccourcis clavier dans l'environnement de test. Voir aussi Fonction clearTimeout, Fonction setInterval Fonction showRedrawRegions showRedrawRegions(enable:Boolean, [color:Number]) : Void Permet au débogueur de délimiter les zones de retraçage de l'écran (c'est-à-dire les zones sales mises à jour). Les contours peuvent également être activés via l'option de menu Afficher les zones de retraçage. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Indique si Redessiner les régions doit être activé (true) ou désactivé (false). Lorsque l'option est définie sur true, les rectangles redessinés s'affichent. Lorsque l'option est définie sur false, les rectangles redessinés sont supprimés. enable: Boolean color: Number [facultatif ] - La couleur utilisée pour dessiner. La valeur par défaut est rouge : 0xFF0000. Exemple L'exemple suivant illustre la fonction showRedrawRegions. var w:Number = 100; var h:Number = 100; var shape1:MovieClip = createShape("shape1"); shape1.onEnterFrame = function():Void { this._x += 5; this._y += 5; } var shape2:MovieClip = createShape("shape2"); shape2.onEnterFrame = function():Void { 110 Eléments du langage ActionScript this._y += 5; } _global.showRedrawRegions(true); function createShape(name:String):MovieClip { var mc:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); mc.beginFill(0xFFCC00); mc.moveTo(200, 200); mc.curveTo(300, 200, 300, 100); mc.curveTo(300, 0, 200, 0); mc.curveTo(100, 0, 100, 100); mc.curveTo(100, 200, 200, 200); mc.endFill(); return mc; } Fonction startDrag startDrag(target:Object, [lock:Boolean, left:Number, top:Number, right:Number, bottom:Number]) : Void Rend le clip target déplaçable pendant la lecture de l'animation. Vous ne pouvez déplacer qu'un seul clip à la fois. Après l'exécution d'une opération startDrag(), le clip reste déplaçable jusqu'à ce qu'il soit arrêté de façon explicite par stopDrag() ou jusqu'à ce qu'une action startDrag() soit appelée pour un autre clip. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres target: Object - Le chemin cible du clip à déplacer. [facultatif ] - Une valeur booléenne spécifiant si le clip à déplacer doit être verrouillé au centre de la position de la souris (true) ou verrouillé au point où l'utilisateur a cliqué sur le clip en premier lieu (false). lock: Boolean left,top,right,bottom: Number [facultatif ] - Valeurs relatives aux coordonnées du parent du clip qui spécifient un rectangle de délimitation pour le clip. Fonctions globales 111 Exemple L'exemple suivant crée, à l'exécution, un clip pic_mc que les utilisateurs peuvent faire glisser vers l'emplacement voulu en y associant les actions startDrag() et stopDrag(). Une image est chargée dans pic_mc à l'aide de la classe MovieClipLoader. var pic_mcl:MovieClipLoader = new MovieClipLoader(); pic_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth())); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc) { target_mc.onPress = function() { startDrag(this); }; target_mc.onRelease = function() { stopDrag(); }; }; pic_mcl.addListener(listenerObject); Voir aussi Fonction stopDrag, _droptarget (propriété MovieClip._droptarget), startDrag (méthode MovieClip.startDrag) Fonction stop stop() : Void Arrête le fichier SWF en cours de lecture. Cette fonction sert généralement à contrôler les clips avec des boutons. Disponibilité : ActionScript 1.0 ; Flash Player 2 Voir aussi Fonction gotoAndStop, gotoAndStop (méthode MovieClip.gotoAndStop) Fonction stopAllSounds stopAllSounds() : Void Arrête tous les sons en cours de diffusion à partir d'un fichier SWF, sans arrêter la tête de lecture. Les sons diffusés en continu sont émis de nouveau lorsque la tête de lecture passe audessus des images contenant ces sons. Disponibilité : ActionScript 1.0 ; Flash Player 3 112 Eléments du langage ActionScript Exemple Le code suivant crée un champ de texte dans lequel s'affichent les informations ID3 de la chanson. Une nouvelle occurrence de l'objet Sound est créée et votre fichier MP3 est chargé dans le fichier SWF. Les informations ID3 sont extraites du fichier audio. Lorsque l'utilisateur clique sur stop_mc,, le son s'interrompt. Lorsque l'utilisateur clique sur play_mc,, la chanson reprend à partir de la position à laquelle elle a été interrompue. this.createTextField("songinfo_txt", this.getNextHighestDepth, 0, 0, Stage.width, 22); var bg_sound:Sound = new Sound(); bg_sound.loadSound("yourSong.mp3", true); bg_sound.onID3 = function() { songinfo_txt.text = "(" + this.id3.artist + ") " + this.id3.album + " - " + this.id3.track + " - " + this.id3.songname; for (prop in this.id3) { trace(prop+" = "+this.id3[prop]); } trace("ID3 loaded."); }; this.my_mc.onRelease = function() { /* Obtient le décalage actuel. Si vous arrêtez tous les sons et cliquez sur le bouton de lecture, le MP3 poursuit sa lecture là où elle était arrêtée, sans revenir au début. */ var numSecondsOffset:Number = (bg_sound.position/1000); bg_sound.start(numSecondsOffset); }; this.my_mc.onRelease = function() { stopAllSounds(); }; Voir aussi Son Fonctions globales 113 Fonction stopDrag stopDrag() : Void Arrête l'opération de déplacement en cours. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple Le code suivant, placé dans le scénario principal, arrête le mouvement sur l'occurrence de clip my_mc lorsque l'utilisateur relâche le bouton de la souris : my_mc.onPress = function () { startDrag(this); } my_mc.onRelease = function() { stopDrag(); } Voir aussi Fonction startDrag, _droptarget (propriété MovieClip._droptarget), startDrag (méthode MovieClip.startDrag), stopDrag (méthode MovieClip.stopDrag) Fonction String String(expression:Object) : String Renvoie une chaîne représentant le paramètre spécifié, comme indiqué dans la liste suivante : ■ ■ ■ ■ ■ 114 Si expression est un nombre, la chaîne renvoyée représente le nombre sous forme de texte.LINEBREAK Si expression est une chaîne, la chaîne renvoyée est expression. Si expression est un objet, la valeur renvoyée est une chaîne représentant l'objet généré en appelant la propriété string de l'objet ou en appelant Object.toString() en l'absence de ce type de propriété. Si expression est une valeur booléenne, la chaîne renvoyée est "true" ou LINEBREAK "false". Si expression est un clip, la valeur renvoyée est le chemin cible du clip utilisant la notation à barre oblique (/). Eléments du langage ActionScript Si expression est undefined, la fonction renvoie l'une des valeurs suivantes : ■ ■ Dans les fichiers publiés pour Flash Player 6 ou version précédente, le résultat est une chaîne vide (" "). Dans les fichiers publiés pour Flash Player 7 ou version ultérieure, le résultat est undefined. Remarque : La notation avec barre oblique n'est pas prise en charge par ActionScript 2.0. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Comportement modifié dans Flash Player 7. Paramètres expression: Object - Une expression à convertir en chaîne. Valeur renvoyée String - Chaîne. Exemple Dans l'exemple suivant, vous utilisez ActionScript pour convertir les expressions spécifiées en chaîne : var string1:String = String("3"); var string2:String = String("9"); trace(string1+string2); // 39 Etant donné que les deux paramètres sont des chaînes, les valeurs sont concaténées au lieu d'être ajoutées. Voir aussi toString (méthode Number.toString), toString (méthode Object.toString), String, Opérateur " (séparateur de chaîne) Fonction substring substring(string:String, index:Number, count:Number) : String Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de String.substr(). Extrait une partie d'une chaîne. Cette fonction est de base un tandis que les méthodes de l'objet String sont de base zéro. Disponibilité : ActionScript 1.0 ; Flash Player 4 Fonctions globales 115 Paramètres string: String - La chaîne à partir de laquelle il convient d'extraire la nouvelle chaîne. index: Number - Le numéro du premier caractère à extraire. count: Number - Le nombre de caractères à inclure dans la chaîne extraite, caractère d'indice non compris. Valeur renvoyée String - La sous-chaîne extraite. Voir aussi substr (méthode String.substr) Fonction targetPath targetPath(targetObject:Object) : String Renvoie une chaîne contenant le chemin cible d'un objet MovieClip, Button, TextField ou Video. Le chemin cible est renvoyé sous forme de notation par point (.). Pour extraire le chemin cible sous forme de notation à barre oblique (/), utilisez la propriété _target. Disponibilité : ActionScript 1.0 ; Flash Lite 5 - La prise en charge des objets Button, TextField et Video a été ajoutée dans Flash Player 6. Paramètres targetObject: Object - Référence (par exemple, _root ou _parent) à l'objet pour lequel le chemin cible est extrait. Il peut s'agir d'un objet MovieClip, Button ou TextField. Valeur renvoyée String - Une chaîne contenant le chemin cible de l'objet spécifié. Exemple L'exemple suivant présente le chemin cible d'un clip dès la fin de son chargement : this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); trace(targetPath(myClip_mc)); // _level0.myClip_mc Voir aussi Fonction eval 116 Eléments du langage ActionScript Fonction tellTarget tellTarget(target:String) { statement(s); } Déconseillée depuis Flash Player 5. Adobe recommande d'employer la notation avec point (.) et l'instruction with. Cette fonction applique les instructions spécifiées dans le paramètre statements au scénario spécifié par le paramètre target. L'action tellTarget est particulièrement utile pour les contrôles de navigation. Affectez la fonction tellTarget aux boutons qui permettent d'arrêter ou de démarrer les clips ailleurs sur la scène. Vous pouvez également contraindre les clips à accéder à une image spécifique dans ce clip. Par exemple, vous pouvez affecter la fonction tellTarget aux boutons qui permettent d'arrêter ou de démarrer les clips sur la scène ou forcer les clips à atteindre une image spécifique. A partir de Flash 5, vous pouvez utiliser une notation de type point (.) au lieu de l'action tellTarget. Vous pouvez utiliser l'action with pour publier plusieurs actions dans le même scénario. Vous pouvez utiliser l'action with pour cibler l'objet de votre choix, tandis que l'action tellTarget peut uniquement cibler les clips. Disponibilité : ActionScript 1.0 ; Flash Player 3 Paramètres target: String statement(s) - Une chaîne qui spécifie le chemin cible du scénario à contrôler. - Les instructions à exécuter lorsque la condition est true. Exemple Cette instruction tellTarget contrôle la balle de l'occurrence de clip sur le scénario principal. L'image 1 de l'occurrence balle est vide et est associée à une action stop() : elle n'est donc pas visible sur la scène. Lorsque vous cliquez sur le bouton permettant d'effectuer l'action suivante, tellTarget indique à la tête de lecture de la balle d'atteindre l'image 2, où l'animation démarre : on(release) { tellTarget("_parent.ball") { gotoAndPlay(2); } } L'exemple suivant utilise une notation de type point (.) pour obtenir les mêmes résultats : on(release) { _parent.ball.gotoAndPlay(2); } Fonctions globales 117 Si vous devez émettre plusieurs commandes sur l'occurrence de balle, vous pouvez utiliser l'action with, comme indiqué dans l'instruction suivante : on(release) { with(_parent.ball) { gotoAndPlay(2); _alpha = 15; _xscale = 50; _yscale = 50; } } Voir aussi Instruction with Fonction toggleHighQuality toggleHighQuality() Déconseillée depuis Flash Player 5. Cette action a été déconseillée au profit de _quality. Active et désactive l'anticrénelage dans Flash Player. L'anticrénelage adoucit les bords des objets et ralentit la lecture du fichier SWF. Cette action affecte tous les fichiers SWF dans Flash Player. Disponibilité : ActionScript 1.0 ; Flash Player 2 Exemple Le code suivant peut être appliqué à un bouton qui permet d'activer et de désactiver l'anticrénelage lorsque l'utilisateur clique dessus : on(release) { toggleHighQuality(); } Voir aussi _highquality, propriété, _quality, propriété 118 Eléments du langage ActionScript Fonction trace trace(expression:Object) Vous pouvez utiliser Flash Debug Player pour capturer les sorties de la fonction trace() et afficher le résultat. Si le type de données d'un argument quelconque d'une instruction de trace n'est pas une chaîne, la fonction trace appelle la méthode toString() associée à ce type de données. Par exemple, si l'argument est une valeur booléenne, la fonction trace appelle la méthode Boolean.toString() et affiche la valeur renvoyée. Cette instruction permet d'écrire des notes de programmation ou d'afficher des messages dans le panneau Sortie pendant le test d'un fichier SWF. Utilisez le paramètre expression pour vérifier l'existence d'une condition ou pour afficher des valeurs dans le panneau Sortie. L'instruction trace() est similaire à la fonction alert de JavaScript. Vous pouvez également utiliser la commande Omettre les actions Trace de la boîte de dialogue Paramètres de publication pour supprimer les actions trace() du fichier SWF exporté. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres - Une expression à évaluer. Lorsqu'un fichier SWF s'exécute dans l'outil de programmation Flash (avec la commande Tester l'animation), la valeur du paramètre expression s'affiche dans le panneau Sortie. expression: Object Exemple L'exemple suivant utilise une instruction trace() pour afficher dans le panneau Sortie les méthodes et propriétés du champ texte intitulé error_txt créé de manière dynamique : this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22); for (var i in error_txt) { trace("error_txt."+i+" = "+error_txt[i]); } /* error_txt.styleSheet = undefined error_txt.mouseWheelEnabled = true error_txt.condenseWhite = false ... error_txt.maxscroll = 1 error_txt.scroll = 1 */ Fonctions globales 119 Fonction unescape unescape(string:String) : String Evalue le paramètre x n tant que chaîne, décode la chaîne qui est au format codé en URL (en convertissant toutes les séquences hexadécimales en caractères ASCII) et renvoie cette chaîne. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres string: String - Une chaîne comportant des séquences d'échappement hexadécimales. Valeur renvoyée String - Une chaîne décodée à partir d'un paramètre codé au format URL. Exemple L'exemple suivant illustre le processus de conversion escape/unescape : var email:String = "[email protected]"; trace(email); var escapedEmail:String = escape(email); trace(escapedEmail); var unescapedEmail:String = unescape(escapedEmail); trace(unescapedEmail); Le résultat suivant s'affiche dans le panneau Sortie. [email protected] user%40somedomain%2Ecom [email protected] Fonction unloadMovie unloadMovie(target:MovieClip) : Void unloadMovie(target:String) : Void Supprime le clip qui a été chargé par l'intermédiaire de la fonction loadMovie() de Flash Player. Pour décharger un clip chargé avec loadMovieNum(), utilisez unloadMovieNum() au lieu de unloadMovie(). Disponibilité : ActionScript 1.0 ; Flash Player 3 120 Eléments du langage ActionScript Paramètres target: Object - Le chemin cible d'un clip. Ce paramère peut être de type String (tel que « my_mc ») ou une référence directe à l'occurrence de clip (par exemple my_mc). Les paramètres qui peuvent accepter plusieurs types de données sont répertoriés sous le type Object. Exemple L'exemple suivant crée un nouveau clip intitulé pic_mc et charge une image dans celui-ci. Elle est chargée à l'aide de la classe MovieClipLoader. Lorsque vous cliquez sur l'image, le clip est déchargé du fichier SWF : var pic_mcl:MovieClipLoader = new MovieClipLoader(); pic_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth())); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target_mc) { target_mc.onRelease = function() { unloadMovie(pic_mc); /* Vous pouvez également utiliser le code suivant, qui se rapporte au clip référencé par 'target_mc'. */ //unloadMovie(this); }; }; pic_mcl.addListener(listenerObject); Voir aussi loadMovie (méthode MovieClip.loadMovie), unloadClip (méthode MovieClipLoader.unloadClip) Fonction unloadMovieNum unloadMovieNum(level:Number) : Void Supprime un fichier SWF ou une image qui a été chargée par l'intermédiaire de la fonction loadMovieNum() de Flash Player. Pour décharger un fichier SWF ou une image chargée avec MovieClip.loadMovie(), utilisez unloadMovie() au lieu de unloadMovieNum(). Disponibilité : ActionScript 1.0 ; Flash Player 3 Paramètres level: Number - Le niveau (_level N) d'une animation chargée. Fonctions globales 121 Exemple L'exemple suivant charge une image dans un fichier SWF. Lorsque vous cliquez sur unload_btn, le contenu chargé est supprimé. loadMovieNum("yourimage.jpg", 1); unload_btn.onRelease = function() { unloadMovieNum(1); } Voir aussi Fonction loadMovieNum, Fonction unloadMovie, loadMovie (méthode MovieClip.loadMovie) Fonction updateAfterEvent updateAfterEvent() : Void Met à jour l'affichage (indépendamment du nombre d'images par seconde défini pour l'animation) lorsque vous l'appelez à partir d'un gestionnaire onClipEvent() ou dans le cadre d'une fonction ou d'une méthode que vous transmettez à setInterval(). Flash ignore les appels de mise à jour de la fonction updateAfterEvent qui ne font pas partie d'un gestionnaire onClipEvent() ou bien d'une fonction ou d'une méthode transmise à setInterval(). Cette fonction est uniquement compatible avec certains gestionnaires Mouse et MovieClip : les gestionnaires mouseDown, mouseUp, mouseMove, keyDown et keyUp de la classe Mouse ; les gestionnaires onMouseMove, onMouseDown, onMouseUp, onKeyDown et onKeyUp de la classe MovieClip. Elle n'est pas compatible avec la classe Key. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant montre comment créer un curseur personnalisé intitulé cursor_mc. ActionScript est utilisé pour remplacer le curseur de la souris par cursor_mc. Ensuite, la fonction updateAfterEvent() est utilisée pour actualiser la scène de façon continue afin de lisser le mouvement du curseur. Mouse.hide(); cursor_mc.onMouseMove = function() { this._x = this._parent._xmouse; this._y = this._parent._ymouse; updateAfterEvent(); }; Voir aussi Gestionnaire onClipEvent, Fonction setInterval 122 Eléments du langage ActionScript propriétés globales Les propriétés globales sont disponibles dans tous les scripts et sont accessibles à tous les scénarios et domaines de votre document. Par exemple, les propriétés globales permettent d'accéder aux scénarios des autres clips chargés, à la fois relatifs (_parent) et absolus (_root). Elles permettent également de restreindre (this) ou d'étendre (super) le domaine. Vous pouvez utiliser les propriétés globales pour régler les paramètres d'exécution, tels que la compatibilité avec les lecteurs d'écran, la qualité de la lecture et la taille du tampon audio. Récapitulatif des propriétés globales Modificateurs Propriété Description _accProps Permet de contrôler les options d'accessibilité relatives aux lecteurs d'écran pour les fichiers SWF, les clips, les boutons, les champs de texte dynamique et les champs de texte de saisie lors de l'exécution. _focusrect Propriété (globale) ; spécifie si un rectangle jaune doit s'afficher autour du bouton ou du clip qui a le focus du clavier. _global Référence à l'objet global qui contient les principales classes ActionScript, telles que String, Object, Math et Array. _highquality Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de _quality. Spécifie le niveau d'anti-aliasing appliqué au fichier SWF actuel. _level Référence au scénario racine de _level N. maxscroll Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de TextField.maxscroll. Indique le numéro de ligne de la ligne supérieure de texte visible dans un champ texte lorsque la dernière ligne du champ est également visible. _parent Spécifie ou renvoie une référence au clip ou à l'objet qui contient le clip ou l'objet actuel. _quality Définit ou extrait la qualité du rendu appliqué à un clip. propriétés globales 123 Modificateurs Propriété Description _root Spécifie ou renvoie une référence au scénario du clip racine. scroll Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de TextField.scroll. Contrôle l'affichage des informations dans un champ texte associé à une variable. _soundbuftime Etablit le nombre de secondes de son en diffusion continue à placer en mémoire tampon. this Fait référence à un objet ou une occurrence de clip. _accProps, propriété _accProps. propertyName instanceName._accProps. propertyName Permet de contrôler les options d'accessibilité relatives aux lecteurs d'écran pour les fichiers SWF, les clips, les boutons, les champs de texte dynamique et les champs de texte de saisie lors de l'exécution. Ces propriétés remplacent les paramètres correspondants, disponibles dans le panneau Accessibilité lors de la programmation. Pour appliquer les modifications de ces propriétés, vous devez appeler Accessibility.updateProperties(). Pour plus de détails sur le panneau Accessibilité, consultez la section « Panneau Accessibilité de Flash » dans le guide Utilisation de Flash. Pour spécifier si le lecteur doit s'exécuter dans un environnement qui prend en charge les fonctions d'accessibilité, utilisez la propriété System.capabilities.hasAccessibility. 124 Eléments du langage ActionScript Le tableau suivant répertorie le nom et le type de données de chaque propriété _accProps, son paramètre équivalent dans le panneau Accessibilité et les types d'objet auxquels la propriété peut s'appliquer. Le terme logique inverse signifie que le paramètre de la propriété est l'inverse du paramètre correspondant dans le panneau Accessibilité. Par exemple, la définition de la propriété silent sur true (vrai) revient à désélectionner Rendre une animation accessible ou Rendre l'objet accessible. Propriété Type de données Equivalent dans le S'applique à panneau Accessibilité silent Boolean Rendre une animation accessible/Rendre l'objet accessible (logique inverse) Fichiers SWF entiers, clips, boutons, texte dynamique et texte d'entrée forceSimple Boolean Rendre les objets enfant accessibles (logique inverse) Fichiers SWF entiers et clips name String Nom Fichiers SWF entiers, clips, boutons et texte d'entrée description String Description Fichiers SWF entiers, clips, boutons, texte dynamique et texte d'entrée shortcut String Raccourci Clips, boutons, texte d'entrée Pour le champ Raccourci, utilisez des noms sous la forme Ctrl+A. L'ajout d'un raccourci clavier au panneau Accessibilité ne crée pas un raccourci clavier ; il signale simplement la présence d'un raccourci aux lecteurs d'écran. Pour plus d'informations sur l'affectation d'un raccourci clavier à un objet accessible, consultez la section Key.addListener(). Pour spécifier des paramètres qui correspondent au paramètre Index de tabulation dans le panneau Accessibilité, utilisez les propriétés Button.tabIndex, MovieClip.tabIndex ou TextField.tabIndex. Il est impossible de spécifier un paramètre Etiquetage auto lors de l'exécution. propriétés globales 125 Pour faire référence à l'objet _accProps représentant le document Flash, omettez le paramètre instanceName. La valeur _accProps doit être un objet. Ceci signifie que si aucun objet _accProps n'existe, vous devez en créer un, comme indiqué dans l'exemple suivant, avant de pouvoir affecter des valeurs aux propriétés de l'objet _accProps : if (_accProps == undefined) { _accProps = new Object(); } _accProps.name = "My SWF file"; Lorsque _accProps est utilisé sans le paramètre instanceName, les modifications apportées aux propriétés _accProps s'appliquent à l'ensemble du fichier SWF. Par exemple, le code suivant définit la propriété name de la fonction d'accessibilité relative à l'ensemble du fichier SWF sur la chaîne "Pet Store", puis appelle Accessibility.updateProperties() pour provoquer ce changement : _accProps.name = "Pet Store"; Accessibility.updateProperties(); Par contraste, le code suivant définit la propriété name d'un clip, avec le nom d'occurrence price_mc, sur la chaîne "Price" : price_mc._accProps.name = "Price"; Accessibility.updateProperties(); Si vous spécifiez plusieurs propriétés d'accessibilité, apportez autant de changements que nécessaire avant d'appeler Accessibility.updateProperties(), au lieu de l'appeler après chaque instruction de propriété, comme indiqué dans l'exemple suivant : _accProps.name = "Pet Store"; animal_mc._accProps.name = "Animal"; animal_mc._accProps.description = "Cat, dog, fish, etc."; price_mc._accProps.name = "Price"; price_mc._accProps.description = "Cost of a single item"; Accessibility.updateProperties(); Si vous ne spécifiez pas de propriété d'accessibilité pour un document ou un objet, toutes les valeurs définies dans le panneau Accessibilité sont implémentées. 126 Eléments du langage ActionScript Après avoir spécifié une propriété d'accessibilité, vous ne pouvez pas rétablir une valeur définie dans le panneau Accessibilité. Cependant, vous pouvez définir la propriété sur sa valeur par défaut (false pour les valeurs booléennes ; des chaînes vides pour les valeurs de type string) en supprimant la propriété de l'objet _accProps, comme indiqué dans l'exemple suivant : my_mc._accProps.silent = true; // définir une propriété // Entrez un autre code ici delete my_mc._accProps.silent; // revert to default value Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Paramètres propertyName: Boolean or String - Nom de propriété d'accessibilité (consultez la description suivante pour connaître les noms valides). instanceName instanceName: String - Nom d'occurrence affecté à une occurrence de clip, un bouton, un champ de texte dynamique ou un champ de texte de saisie. Pour faire référence à l'objet représentant le document Flash, omettez le paramètre instanceName. _accProps Exemple Si vous modifiez une image et souhaitez mettre à jour sa description d'accessibilité, vous pouvez utiliser le code ActionScript suivant : my_mc.gotoAndStop(2); if (my_mc._accProps == undefined) { my_mc._accProps = new Object(); } my_mc._accProps.name = "Photo of Mount Rushmore"; Accessibility.updateProperties(); Voir aussi isActive (méthode Accessibility.isActive), updateProperties (méthode Accessibility.updateProperties), hasAccessibility (propriété capabilities.hasAccessibility) propriétés globales 127 _focusrect, propriété _focusrect = Boolean; Spécifie si un rectangle jaune doit s'afficher autour du bouton ou du clip qui a le focus du clavier. Si _focusrectest défini sur sa valeur par défaut, true (vrai), un rectangle jaune entoure le bouton ou le clip qui a le focus, lorsque l'utilisateur appuie sur la touche de tabulation pour parcourir les objets d'un fichier SWF. Spécifiez false (faux) si vous ne souhaitez pas afficher ce rectangle jaune. Cette propriété globale peut être remplacée pour des instances spécifiques. Si la propriété _focusrect est définie sur false (faux), le comportement par défaut de tous les boutons et clips est tel que la navigation au clavier se limite à la touche Tab. Toutes les autres touches, ce qui inclut la touche Entrée et les touches directionnelles, sont ignorées. Pour restaurer l'intégralité de l'accès clavier, vous devez définir _focusrect sur true. Pour restaurer les fonctionnalités de clavier complet d'un bouton ou d'un clip spécifique, vous pouvez annuler cette propriété globale à l'aide de Button._focusrectou de MovieClip._focusrect. Remarque : Si vous utilisez un composant, puis si FocusManager prend le relais de Flash Player pour la gestion du focus, incluez cette propriété globale. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple L'exemple suivant démontre comment masquer le rectangle jaune autour des occurrences d'un fichier SWF lorsqu'elles ont le focus dans une fenêtre de navigateur. Créez des boutons ou clips et ajoutez le code ActionScript suivant dans l'image 1 du scénario : _focusrect = false; Définissez les paramètres de publication sur Flash Player 6, puis testez le fichier SWF dans une fenêtre de navigateur en pointant sur Fichier > Aperçu avant publication > HTML. Attribuez le focus au fichier SWF en cliquant sur celui-ci dans la fenêtre de navigateur, puis utilisez la touche Tab pour appliquer le focus à chaque occurrence. Si vous appuyez sur la touche Entrée ou Espace lorsque la propriété _focusrect est désactivée, cette opération ne permet pas d'appeler le gestionnaire d'événements onRelease. En revanche, celui-ci est appelé lorsque la propriété _focusrect est activée ou définie sur true. Voir aussi _focusrect (propriété Button._focusrect), _focusrect (propriété MovieClip._focusrect) 128 Eléments du langage ActionScript propriété _global _global.identifier Une référence à l'objet global qui contient les principales classes ActionScript, telles que String, Object, Math et Array. Par exemple, vous pouvez créer une bibliothèque qui est exposée en tant qu'objet global ActionScript, similaire à l'objet Math ou Date. Contrairement aux variables et aux fonctions déclarées dans le scénario ou en local, les variables et les fonctions globales restent visibles pour tous les scénarios et les domaines du fichier SWF, pourvues qu'elles ne soient pas masquées par des identificateurs portant le même nom dans les domaines internes. Remarque : Quand vous définissez une variable globale, vous devez utiliser le nom entièrement qualifié de la variable, par ex. _global.variableName. Le non respect de cette règle créera une variable locale du même nom qui masque la variable globale que vous essayez de définir. Valeur renvoyée Une référence à l'objet global qui contient les principales classes ActionScript, telles que String, Object, Math et Array. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant crée une fonction de haut niveau, factorial(),, accessible à tous les scénarios et domaines d'un fichier SWF : _global.factorial = function(n:Number) { if(n <= 1) { return 1; } else { return n * factorial(n - 1); } } trace(factorial(1)); trace(factorial(2)); trace(factorial(3)); trace(factorial(4)); // // // // 1 2 6 24 L'exemple suivant illustre la façon dont des résultats inattendus sont obtenus si vous ne pouvez pas utiliser le nom complet de la variable lors de la définition de la valeur d'une variable globale : _global.myVar = "globalVariable"; trace(_global.myVar); // globalVariable trace(myVar); // globalVariable propriétés globales 129 myVar = "localVariable"; trace(_global.myVar); // globalVariable trace(myVar); // localVariable Voir aussi Instruction var, Instruction set variable _highquality, propriété _highquality Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de _quality. Spécifie le niveau d'anti-aliasing appliqué au fichier SWF actuel. Spécifiez 2 (meilleure qualité) pour bénéficier de la meilleure qualité possible et activer le lissage de façon permanente. Spécifiez 1 (haute qualité) pour procéder à l'anti-aliasing ; ceci permet de lisser les bitmaps si le fichier SWF ne contient pas d'animation. Spécifiez 0 (faible qualité) pour empêcher l'anti-aliasing. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple Le code ActionScript suivant est placé sur le scénario principal et définit la propriété qualité globale de sorte qu'elle applique toujours le lissage des bitmaps dans les fichiers non animés. _highquality = 1; Voir aussi _quality, propriété _level, propriété _level N Une référence au scénario racine de _level N. Vous devez utiliser loadMovieNum() pour charger des fichiers SWF dans Flash Player avant d'utiliser la propriété _level pour les cibler. Vous pouvez également utiliser _level N pour cibler un fichier SWF au niveau affecté par N. Le fichier SWF initial qui est chargé dans une occurrence de Flash Player est chargé automatiquement dans _level0. Le fichier SWF dans _level0 définit le débit d'images, la couleur d'arrière-plan et la taille d'image de tous les fichiers SWF chargés par la suite. Les fichiers SWF sont alors empilés dans les niveaux situés au-dessus du fichier SWF de _level0. 130 Eléments du langage ActionScript Vous devez affecter un niveau à chaque fichier SWF que vous chargez dans Flash Player avec loadMovieNum(). L'ordre d'affectation des niveaux n'est pas important. Si vous affectez un niveau qui contient déjà un fichier SWF (ce qui inclut _level0), le fichier SWF de ce niveau est purgé et remplacé par le nouveau fichier SWF. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple L'exemple suivant arrête la tête de lecture dans le scénario principal du fichier SWF sub.swf chargé dans _level9. Le fichier sub.swf contient une animation et se trouve dans le même répertoire que le document incluant le code ActionScript suivant : loadMovieNum("sub.swf", 9); myBtn_btn.onRelease = function(){ _level9.stop(); }; Dans l'exemple précédent, vous pouvez remplacer _level9.stop() par le code suivant : _level9.gotoAndStop(5); Cette action place la tête de lecture du scénario principal du fichier SWF chargé dans _level9 sur l'image 5 au lieu de l'arrêter. Voir aussi Fonction loadMovie, swapDepths (méthode MovieClip.swapDepths) maxscroll, propriété variable_name.maxscroll Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de TextField.maxscroll. Indique le numéro de ligne de la ligne supérieure de texte visible dans un champ texte lorsque la dernière ligne du champ est également visible. La propriété maxscroll travaille conjointement avec la propriété scroll pour contrôler la façon dont les informations apparaissent dans un champ texte. Cette propriété peut être récupérée, mais pas modifiée. Disponibilité : ActionScript 1.0 ; Flash Player 4 Voir aussi maxscroll (propriété TextField.maxscroll), scroll (propriété TextField.scroll) propriétés globales 131 _parent, propriété _parent.property _parent._parent.property Spécifie ou renvoie une référence au clip ou à l'objet qui contient le clip ou l'objet actuel. L'objet actuel est celui qui contient le code ActionScript faisant référence à _parent. Utilisez _parent pour spécifier un chemin relatif vers les clips ou les objets situés au-dessus du clip ou de l'objet actuel. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple Dans l'exemple suivant, un clip portant le nom d'occurrence square_mc est placé sur la scène. Un autre clip portant le nom d'occurrence circle_mc figure dans ce clip. Le code ActionScript suivant vous permet de modifier l'occurrence circle_mc (à savoir square_mc) lorsque vous cliquez sur le cercle. Lorsque vous utilisez un adressage relatif (_parent au lieu de _root), il peut être judicieux d'utiliser le bouton Insérer un chemin cible dans le panneau Actions en premier. this.square_mc.circle_mc.onRelease = function() { this._parent._alpha -= 5; }; Voir aussi _root, propriété, Fonction targetPath _quality, propriété _quality :String Définit ou extrait la qualité du rendu appliqué à un clip. Les polices de périphérique sont toujours aliasées, ce qui implique qu'elles ne sont pas affectées par la propriété _quality. La propriété _quality peut être définie par les valeurs du tableau suivant. Valeur Description Anticrénelage des graphiques Lissage des bitmaps " LOW" " LOW " Qualité de rendu inférieure. Les graphiques ne sont pas anticrénelés. Les bitmaps ne sont pas lissés. 132 Eléments du langage ActionScript Valeur Description Anticrénelage des graphiques Lissage des bitmaps " MEDIUM" Qualité de rendu moyenne. Ce niveau de qualité convient aux animations qui ne contiennent pas de texte. Les graphiques sont anticrénelés en utilisant une grille de 2 x 2 pixels. Flash Player 8 : Les bitmaps sont lissés sur la base du paramètre smoothing utilisé dans les appels MovieClip.attachBitmap() et MovieClip.beginBitmapFill(). Flash Player 6 et 7 : Les bitmaps ne sont pas lissés. " HIGH" Qualité de rendu supérieure. Il s'agit du paramètre de qualité de rendu par défaut de Flash. Les graphiques sont anticrénelés en utilisant une grille de 4 x 4 pixels. Flash Player 8 : Les bitmaps sont lissés sur la base du paramètre smoothing utilisé dans les appels MovieClip.attachBitmap() et MovieClip.beginBitmapFill(). Flash Player 6 et 7 : Les bitmaps sont lissés si le clip est statique. " BEST" Très haute qualité de rendu. Les graphiques sont Flash Player 8 : Les bitmaps anticrénelés en sont lissés sur la base du utilisant une grille de 4 paramètre smoothing utilisé dans les appels x 4 pixels. MovieClip.attachBitmap() et MovieClip.beginBitmapFill(). Quand smoothing est réglé sur "Best", le rendu est de qualité supérieure quand le clip est réduit à l'échelle en utilisant un algorithme d'égalisation. Le rendu peut être ralenti, mais cela permet par exemple d'obtenir des vignettes de grandes images en haute qualité. Flash Player 6 et 7 : Les bitmaps sont toujours lissés. Disponibilité : ActionScript 1.0 ; Flash Player 5 Exemple L'exemple suivant définit la qualité du rendu sur LOW : _quality = "LOW"; propriétés globales 133 _root, propriété _root.movieClip _root.action _root.property Spécifie ou renvoie une référence au scénario du clip racine. Si un clip possède plusieurs niveaux, le scénario du clip racine se situe dans le niveau contenant le script en cours d'exécution. Par exemple, si un script de niveau 1 est évalué comme _root, _level1 est renvoyé. Le fait de spécifier _root revient à utiliser la notation déconseillée, à barre oblique (/), pour spécifier un chemin absolu au sein du niveau actuel. Remarque : Si un clip contenant _root est chargé dans un autre clip, _root fait référence au scénario du clip en cours de chargement et non pas au scénario qui contient _root. Si vous souhaitez vous assurer que _root fait référence au scénario du clip chargé, même si ce dernier a été chargé dans un autre clip, utilisez MovieClip._lockroot. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres movieClip: String action: String - Nom d'occurrence d'un clip. - Action ou méthode. property: String - Propriété de l'objet MovieClip. Exemple L'exemple suivant arrête le scénario du niveau contenant le script en cours d'exécution : _root.stop(); L'exemple suivant suit les variables et les occurrences du domaine de _root : for (prop in _root) { trace("_root."+prop+" = "+_root[prop]); } Voir aussi _lockroot (propriété MovieClip._lockroot), _parent, propriété, Fonction targetPath 134 Eléments du langage ActionScript scroll, propriété textFieldVariableName.scroll = x Déconseillée depuis Flash Player 5. Cette propriété a été déconseillée en faveur de TextField.scroll. Contrôle l'affichage des informations dans un champ texte associé à une variable. La propriété scroll définit l'emplacement à partir duquel le champ texte commence à afficher le contenu ; une fois l'emplacement défini, Flash Player le met à jour lorsque l'utilisateur fait défiler le champ texte. La propriété scroll est utile pour diriger les utilisateurs vers un paragraphe spécifique dans un long passage ou pour créer des champs de texte défilants. Cette propriété peut être récupérée et modifiée. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple Le code suivant est associé à un bouton Vers le haut qui fait défiler le champ de texte intitulé myText : on(release) { myText.scroll = myText.scroll + 1; } Voir aussi maxscroll (propriété TextField.maxscroll), scroll (propriété TextField.scroll) _soundbuftime, propriété _soundbuftime:Number = integer Etablit le nombre de secondes de son en diffusion continue à placer en mémoire tampon. La valeur par défaut est de 5 secondes. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres integer: Number - Nombre de secondes précédant la diffusion en continu du fichier SWF. propriétés globales 135 Exemple L'exemple suivant diffuse un fichier MP3 en continu et place le son en mémoire tampon afin qu'il ne soit lu par l'utilisateur. Deux champs de texte dédiés à l'horloge et aux informations de débogage sont créés lors de l'exécution. La propriété _soundbuftime est définie de sorte à mettre le fichier MP3 en mémoire tampon pendant 10 secondes. Une nouvelle occurrence de l'objet Sound est créée pour le fichier MP3. // Crée des champs texte contenant les informations de débogage. this.createTextField("counter_txt", this.getNextHighestDepth(), 0, 0, 100, 22); this.createTextField("debug_txt", this.getNextHighestDepth(), 0, 20, 100, 22); // Définit le tampon audio sur 10 secondes. _soundbuftime = 10; // Crée une occurrence de l'objet son var bg_sound:Sound = new Sound(); // Charge le fichier MP3 et définit la diffusion en flux sur true. bg_sound.loadSound("yourSound.mp3", true); // La fonction est déclenchée à l'issue du chargement du morceau. bg_sound.onLoad = function() { debug_txt.text = "sound loaded"; }; debug_txt.text = "sound init"; function updateCounter() { counter_txt.text++; } counter_txt.text = 0; setInterval(updateCounter, 1000); this, propriété this Fait référence à un objet ou une occurrence de clip. Lorsqu'un script s'exécute, this référence l'occurrence de clip qui contient le script. Lorsqu'une méthode est appelée, this contient une référence à l'objet qui contient la méthode appelée. Dans un gestionnaire d'événement on() associé à un bouton, this renvoie au scénario qui contient le bouton. Dans un gestionnaire d'événement onClipEvent() associé à un clip, this renvoie au scénario du clip. Dans la mesure où this est évalué dans le contexte du script qui le contient, vous ne pouvez pas utiliser this pour faire référence à une variable définie dans un fichier de classe. Disponibilité : ActionScript 1.0 ; Flash Player 5 136 Eléments du langage ActionScript Exemple Créez un fichier ActionScript nommé ApplyThis.as et entrez le code suivant : class ApplyThis { var str:String = "Defined in ApplyThis.as"; function conctStr(x:String):String { return x+x; } function addStr():String { return str; } } Ensuite, dans un fichier FLA ou un autre fichier ActionScript, ajoutez le code suivant : var obj:ApplyThis = new ApplyThis(); var abj:ApplyThis = new ApplyThis(); abj.str = "defined in FLA or AS"; trace(obj.addStr.call(abj, null)); // Renvoie : defined in FLA or AS trace(obj.addStr.call(this, null)); // Renvoie : non défini trace(obj.addStr.call(obj, null)); // Renvoie : Defined in applyThis.as De même, pour appeler une fonction définie dans une classe dynamique, vous devez utiliser this pour appeler la fonction dans le domaine adéquat : // 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()); } } Dans le fichier FLA ou un autre fichier ActionScript, ajoutez le code suivant : var obj:Simple = new Simple(); obj.num = 0; obj.func = function() { return true; }; obj.callfunc(); // Renvoie : true propriétés globales 137 Le code ci-dessus fonctionne quand vous utilisez this dans la méthode callfunc(). Cependant, vous aurez une erreur de syntaxe si vous avez utilisé la mauvaise version de Simple.as, qui a été commentée dans l'exemple ci-dessus. Dans l'exemple suivant, le mot-clé this fait référence à l'objet Circle : function Circle(radius:Number):Void { this.radius = radius; this.area = Math.PI*Math.pow(radius, 2); } var myCircle = new Circle(4); trace(myCircle.area); Dans l'instruction suivante affectée à une image dans un clip, le mot-clé this fait référence au clip actuel. // Définit la propriété alpha du clip actif sur 20 this._alpha = 20; Dans l'instruction suivante dans un gestionnaire MovieClip.onPress, le mot-clé this fait référence au clip actuel : this.square_mc.onPress = function() { startDrag(this); }; this.square_mc.onRelease = function() { stopDrag(); }; Voir aussi Gestionnaire on, Gestionnaire onClipEvent opérateurs Les opérateurs symboliques sont des caractères qui spécifient comment combiner, comparer ou modifier les valeurs d'une expression. Récapitulatif des opérateurs Opérateur Description + (addition) Ajoute des expressions numériques ou concatène (combine) des chaînes. += (affectation Affecte à expression1 la valeur de expression1 + expression2. d'addition) [] (accès au tableau) 138 Initialise un nouveau tableau ou tableau multidimensionnel avec les éléments spécifiés (a0 , etc.) ou accède aux éléments dans un tableau. Eléments du langage ActionScript Opérateur Description = (affectation) Affecte la valeur d'expression2 (le paramètre de droite) à la variable, à l'élément de tableau ou à la propriété dans expression1. & (AND au niveau du bit) Convertit expression1 et expression2 en entiers 32 bits non signés et applique une opération booléenne AND sur chaque bit des entiers entrés en tant que paramètres. &= (affectation AND Affecte à expression1 la valeur d'expression1 & expression2. au niveau du bit) << (décalage gauche au niveau du bit) <<= (décalage gauche au niveau du Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits d'expression1 vers la gauche du nombre d'unités spécifiées par l'entier résultant de la conversion d'expression2. Cet opérateur effectue un décalage vers la gauche au niveau du bit (<<=) et stocke ensuite le contenu dans expression1. bit et d'affectation) ~ (NOT au niveau du bit) Connu également sous la forme de complément d'opérateur du un ou opérateur de complément au niveau du bit. bit) Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2 ont la valeur 1. |= (affectation OR Affecte à expression1 la valeur de expression1 | expression2. | (OR au niveau du au niveau du bit) >> (décalage droit au niveau du bit) >>= (affectation de décalage droit au Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits d'expression1 vers la gauche du nombre d'unités spécifiées par l'entier résultant de la conversion d'expression2. Cet opérateur effectue un décalage vers la droite au niveau du bit et stocke ensuite le contenu dans expression1. niveau du bit) >>> (décalage droit non signé au niveau du bit) >>>= (décalage droit non signé au Identique à l'opérateur de décalage vers la droite (>>) au niveau du bit à l'exception du fait qu'il ne préserve pas le signe de l'expression d'origine dans la mesure où les bits de gauche sont toujours remplacés par 0. Les nombres à virgule flottante sont convertis en entiers en supprimant tous les chiffres situés après la virgule. Effectue un décalage vers la droite au niveau du bit non signé et stocke ensuite le contenu dans expression1. niveau du bit et d'affectation) opérateurs 139 Opérateur Description ^ (XOR au niveau du bit) Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2, mais pas les deux, ont la valeur 1. ^= (affectation XOR Affecte à expression1 la valeur de expression1 ^ expression2. au niveau du bit) /* (séparateur de Démarque une ou plusieurs lignes de commentaires de script. bloc de commentaires) , (virgule) Evalue expression1, puis expression2, etc. add (concaténation Déconseillé depuis Flash Player 5. Adobe recommande l'utilisation de l'opérateur add (+) lorsque vous créez du contenu pour Flash Player 5 ou une version ultérieure. Cet opérateur n'est pas supporté dans Flash Player 8 ou version supérieure. Concatène au moins deux chaînes. (chaînes)) ?: (conditionnel) Demande à Flash d'évaluer expression1, et si la valeur d'expression1 est true , la valeur d'expression2 est renvoyée ; sinon, la valeur d'expression3 est renvoyée. -- (décrément) Un opérateur unaire de pré et post-décrémentation qui soustrait 1 d'expression. / (division) Divise expression1 par expression2. /= (affectation de Affecte à expression1 la valeur de expression1 / expression2. division) . (point) Permet de naviguer au sein des hiérarchies de clips pour accéder aux clips incorporés (enfants), aux variables ou aux propriétés. == (égalité) Vérifie si deux expressions sont égales. eq (égalité Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur == (equality). Renvoie true si la représentation de chaîne de expression1 est égale à celle de expression2, sinon renvoie false. (chaînes)) > (supérieur à) Compare deux expressions et détermine si expression1 est supérieure à expression2; dans l'affirmative, cet opérateur renvoie true. gt (supérieur à Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur > (supérieur à). Compare la représentation de chaîne de expression1 avec celle de expression2 et renvoie true si expression1 est supérieur à expression2, sinon renvoie false. (chaînes)) 140 Eléments du langage ActionScript Opérateur Description >= (supérieur ou Compare deux expressions et détermine si expression1 est supérieure ou égale à expression2 (true) ou si expression1 est inférieure à expression2 (false). égal à) ge (supérieur ou égal à (chaînes) Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur >= (supérieur ou égal à). Renvoie true si expression1 est supérieur ou égal à expression2, sinon renvoie false. ++ (incrément) Un opérateur unaire de pré et post-incrémentation qui ajoute 1 à expression. != (inégalité) Recherche l'inverse de l'opérateur d'égalité (==). <> (inégalité) Déconseillé depuis Flash Player 5. Cet opérateur est déconseillé. Adobe recommande d'utiliser l'opérateur != (inequality). Recherche l'inverse de l'opérateur d'égalité (==). instanceof Teste si object est une occurrence de classConstructor ou une sous-classe de classConstructor. < (inférieur à) Compare deux expressions et détermine si expression1 est inférieure à expression2 ; dans l'affirmative, cet opérateur renvoie true. lt (inférieur à Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur < (inférieur à). Renvoie true si l'expression1 est inférieure à l'expression2 ; false sinon. (chaînes) <= (inférieur ou égal à) le (inférieur ou égal à (chaînes)) // (séparateur de Compare deux expressions et détermine si expression1 est inférieure ou égale à expression2; dans l'affirmative, cet opérateur renvoie true. Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé dans Flash 5 en faveur de l'opérateur <= (inférieur ou égal à). Renvoie true si expression1 est inférieur ou égal à expression2, sinon renvoie false. Signale le début d'un commentaire de script. lignes de commentaire) && (AND logique) Effectue une opération booléenne sur les valeurs des deux expressions. and (AND logique) Déconseillé depuis Flash Player 5. Adobe recommande d'utiliser l'opérateur AND logique (&&). Effectue une opération AND logique (&&)) dans Flash Player 4. ! (NOT logique) Inverse la valeur booléenne d'une variable ou d'une expression. opérateurs 141 Opérateur Description not (NOT logique) Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur ! (logical NOT). Effectue une opération NOT logique (!) dans Flash Player 4. || (OR logique) Evalue expression1 (l'expression située à gauche de l'opérateur) et renvoie true si cette expression est true. or (OR logique) Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur || (logical OR). Evalue condition1 et condition2, et si l'une des deux expressions est true, l'expression entière est true. % (modulo) Calcule le reste de expression1 divisé par expression2. %= (affectation Affecte à expression1 la valeur de expression1 % expression2. modulo) * (multiplication) Multiplie deux expressions numériques. *= (affectation de Affecte à expression1 la valeur de expression1 * expression2. multiplication) new Crée un objet, initialement anonyme, et appelle la fonction identifiée par le paramètre constructor. ne (différent de Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur != (inequality). Renvoie true si expression1 n'est pas égale à expression2, sinon renvoie false. (chaînes)) {} (initialiseur d'objet) Crée un objet et l'initialise avec les paires de propriétés spécifiées name et value. () (parenthèses) Effectue une opération de regroupement sur un ou plusieurs paramètres, évalue les expressions de façon séquentielle ou entoure un ou plusieurs paramètres et les transmet en tant que paramètres à une fonction en dehors des parenthèses. === (égalité stricte) Teste l'égalité de deux expressions ; l'opérateur d'égalité stricte (===) se comporte de la même façon que l'opérateur d'égalité (==), à la différence que les types de données ne sont pas convertis. !== (inégalité Recherche l'inverse exact de l'opérateur d'égalité stricte (===). stricte) " (séparateur de chaîne) - (soustraction) 142 Lorsqu'ils entourent des caractères, les guillemets (") indiquent que ces caractères ont une valeur littérale et doivent être traités en tant que chaîne et non pas en tant que variable, valeur numérique ou tout autre élément ActionScript. Utilisé pour la négation ou la soustraction. Eléments du langage ActionScript Opérateur Description -= (affectation de Affecte à expression1 la valeur de expression1 - expression2. soustraction) : (type) Utilisé pour le typage strict des données ; cet opérateur spécifie le type de variable, le type de renvoi de la fonction ou le type de paramètre de la fonction. typeof L'opérateur typeof évalue l'expression et renvoie une chaîne spécifiant si l'expression est une valeur de type String, MovieClip, Object, Function, Number, ou Boolean. void L'opérateur void évalue une expression, puis supprime sa valeur, renvoyant undefined. Opérateur d'addition + expression1 + expression2 Ajoute des expressions numériques ou concatène (combine) des chaînes. Si l'une des expressions est une chaîne, toutes les autres expressions sont converties en chaîne et concaténées. Si les deux expressions sont des entiers, la somme est un entier. Si l'une ou les deux expressions sont des nombres à virgule flottante, la somme est un nombre à virgule flottante. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, + est uniquement un opérateur numérique. A partir de Flash Player 5, + est un opérateur numérique ou un concaténateur de chaîne en fonction du type de données du paramètre. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5 ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. L'exemple suivant illustre la conversion d'un fichier Flash 4 incluant une comparaison de qualité numérique : Fichier Flash 4 : x + y Fichier Flash 5, ou version plus récente, converti : Number(x) + Number(y) Opérandes expression1 - Nombre ou chaîne. expression2 : Number - Nombre ou chaîne. Valeur renvoyée Object - Chaîne, entier ou nombre à virgule flottante. opérateurs 143 Exemple Usage 1 : L'exemple suivant concatène deux chaînes et affiche le résultat dans le panneau de sortie. var name:String = "Cola"; var instrument:String = "Drums"; trace(name + " plays " + instrument); // Renvoie : Cola plays Drums Usage 2 : Cette instruction additionne les entiers 2 et 3, puis affiche l'entier obtenu, 5, dans le panneau de sortie : trace(2 +3); // Renvoie : 5 Cette instruction additionne les nombres à virgule flottante 2,5 et 3,25, puis affiche le nombre obtenu, 5,75 dans le panneau Sortie : trace(2.5 +3.25); // Renvoie : 5.75 Usage 3 : Le type de données des variables associées aux champs de texte dynamique et de saisie est String. Dans l'exemple suivant, la variable deposit est un champ texte de saisie sur la scène. Lorsque l'utilisateur a entré un nombre pour la variable deposit, le script tente d'additionner deposit à oldBalance. Toutefois, étant donné que le type de données de deposit est String, le script concatène les valeurs de variable (les associe pour former une chaîne) au lieu de les additionner. var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance); Par exemple, si un utilisateur entre 475 dans le champ de texte deposit, l'instruction trace() envoie la valeur 4751345,23 vers le panneau de sortie. Pour y remédier, utilisez la fonction Number() pour convertir la chaîne en nombre de la manière suivante : var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance); L'exemple suivant montre que les sommes numériques à droite d'une expression de type String ne sont pas calculées : var a:String trace(a); // var b:String trace(b); // 144 = 3 + 10 + "asdf"; 13asdf = "asdf" + 3 + 10; asdf310 Eléments du langage ActionScript Opérateur d'affectation de l'addition += expression1 += expression2 Affecte à expression1 la valeur d'expression1 + expression2. Par exemple, les deux instructions suivantes ont le même résultat : x += y; x = x + y; Cette opérateur procède également à la concaténation de chaînes. Toutes les règles de l'opérateur d'addition (+) s'appliquent à l'opérateur d'affectation de l'addition ((+=)). Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Nombre ou chaîne. expression2 : Number - Nombre ou chaîne. Valeur renvoyée Number - Résultat de l'addition. Exemple Usage 1 : Cet exemple utilise l'opérateur += associé à une expression de type String et envoie « My name is Gilbert » au panneau Sortie. var x1:String = "My name is "; x1 += "Gilbert"; trace(x1); // Renvoie : My name is Gilbert Usage 2 : L'exemple suivant illustre une utilisation numérique de l'opérateur d'affectation de l'addition (+=) : var x:Number = 5; var y:Number = 10; x += y; trace(x); // Renvoie : 15 Voir aussi Opérateur d'addition + opérateurs 145 Opérateur d'accès au tableau [] myArray =[a0, a1,...aN] myArray[i]= value myObject[propertyName] Initialise un nouveau tableau ou tableau multidimensionnel avec les éléments spécifiés (a0 , etc.) ou accède aux éléments dans un tableau. L'opérateur d'accès au tableau permet de définir et extraire de façon dynamique une occurrence, une variable et des noms d'objet. Il permet également d'accéder aux propriétés d'objet. Usage 1 : Un tableau est un objet dont les propriétés sont appelées des éléments, qui sont tous identifiés par des nombres constituant un index. Lorsque vous créez un tableau, vous entourez les éléments avec l'opérateur d'accès au tableau ([]) ou crochets). Un tableau peut regrouper différents types d'éléments. Par exemple, le tableau suivant, appelé employee, comporte trois éléments ; le premier est un nombre et les deux suivants sont des chaînes (entre guillemets) : var employee:Array = [15, "Barbara", "Jay"]; Vous pouvez incorporer des crochets pour représenter les tableaux multi-dimensionnels. Vous pouvez incorporer les tableaux jusqu'à 256 niveaux. Le code suivant crée un tableau appelé ticTacToe comportant trois éléments correspondant tous à un tableau de trois éléments : var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // Sélectionner Debug > List Variables en mode de test // pour afficher la liste des éléments du tableau. Usage 2 : Mettez l'index de chaque élément entre crochets ([]) pour y accéder directement. Vous pouvez ajouter un nouvel élément à un tableau ou bien modifier ou extraire la valeur d'un élément existant. Le premier index d'un tableau a toujours la valeur 0, comme indiqué dans l'exemple suivant : var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true; Vous pouvez utiliser des crochets ([]) pour ajouter un quatrième élément, comme indiqué dans l'exemple suivant : my_array[3] = "George"; Vous pouvez utiliser les crochets ([]) pour accéder à un élément dans un tableau multidimensionnel. La première paire de crochets identifie l'élément dans le tableau d'origine, tandis que la deuxième identifie l'élément dans le tableau incorporé. Les lignes de code suivantes transmettent le chiffre 6 au panneau de sortie. var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]);// Renvoie : 6 146 Eléments du langage ActionScript Usage 3 : Vous pouvez utiliser l'opérateur d'accès au tableau ([]) à la place de la fonction eval() pour définir et extraire de façon dynamique les valeurs de nom de clip ou toute propriété d'un objet. La ligne de code suivante transmet le chiffre 6 au panneau de sortie. name["mc" + i] = "left_corner"; Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes myArray : Object - myArray Nom d'un tableau. a0, a1,...aN : Object - a0,a1,...aN Eléments d'un tableau ; tout type natif ou occurrence d'objet, ce qui inclut les tableaux imbriqués. i : Number - i Index entier supérieur ou égal à 0. myObject : Object - myObject Nom d'un objet. propertyName : String - propertyName Chaîne qui nomme une propriété de l'objet. Valeur renvoyée Object - Usage 1 : Référence à un tableau. Usage 2 : Une valeur du tableau ; soit un type natif, soit une occurrence d'objet (ce qui inclut une occurrence de tableau). Usage 3 : Une propriété de l'objet ; soit un type natif, soit une occurrence d'objet (ce qui inclut l'occurrence de tableau). Exemple L'exemple suivant illustre deux façons de créer un objet Array vide ; la première ligne utilise des crochets ([]) : var my_array:Array = []; var my_array:Array = new Array(); L'exemple suivant crée un tableau intitulé employee_array et utilise l'instruction trace() pour envoyer les éléments vers le panneau Sortie. À la quatrième ligne, un élément du tableau est modifié, et la cinquième ligne envoie le tableau qui vient d'être modifié vers le panneau de sortie : var employee_array = ["Barbara", "George", "Mary"]; trace(employee_array); // Renvoie : Barbara,George,Mary employee_array[2] = "Sam"; trace(employee_array); // Renvoie : Barbara,George,Sam opérateurs 147 Dans l'exemple suivant, l'expression placée entre crochets ("piece" + i) est évaluée et le résultat obtenu est utilisé en tant que nom de la variable à récupérer dans le clip my_mc. Dans cet exemple, la variable i doit se trouver sur le même scénario que le bouton. Si la variable i est égale à 5, par exemple, la valeur de la variable piece5 dans le clip my_mc s'affiche dans le panneau Sortie : myBtn_btn.onRelease = function(){ x = my_mc["piece"+i]; trace(x); }; Dans l'exemple suivant, l'expression placée entre crochets est évaluée et le résultat obtenu est utilisé en tant que nom de la variable à récupérer dans le clip name_mc : name_mc["A" + i]; Si vous maîtrisez la syntaxe à barre oblique ActionScript de Flash 4, vous pouvez utiliser la fonction eval() pour obtenir le même résultat : eval("name_mc.A" & i); Vous pouvez utiliser le code ActionScript suivant pour passer en boucle sur tous les objets du domaine _root, ce qui est particulièrement utile en vue du débogage : for (i in _root) { trace(i+": "+_root[i]); } Vous pouvez également utiliser l'opérateur d'accès au tableau ([]) dans la partie gauche d'une instruction d'affectation pour définir de façon dynamique les noms d'objet, de variable et d'occurrence : employee_array[2] = "Sam"; Voir aussi Array, Object, Fonction eval Opérateur d'affectation = expression1 = expression2 Affecte la valeur d'expression2 (le paramètre de droite) à la variable, à l'élément de tableau ou à la propriété dans expression1. L'affectation peut se faire par valeur ou par référence. L'affectation par valeur copie la valeur réelle d'expression2 et la place dans expression1. L'affectation par valeur est utilisée lorsqu'une variable se voit affecter un nombre ou une chaîne de littéral. L'affectation par référence place une référence à expression2 dans expression1. L'affectation par référence est généralement utilisée avec l'opérateur new. L'application de l'opérateur new crée un objet en mémoire. Une référence à l'emplacement de cet objet en mémoire est affectée à une variable. 148 Eléments du langage ActionScript Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, = est un opérateur d'égalité. A partir de Flash 5, = est un opérateur d'affectation et l'opérateur == est utilisé pour évaluer l'égalité. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5, ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. Fichier Flash 4 : x = y Fichier Flash 5, ou version plus récente, converti : Number(x) == Number(y) Opérandes expression1 : Object - Variable, élément de tableau ou propriété d'un objet. expression2 : Object - Valeur de tout type. Valeur renvoyée Object - Valeur affectée, expression2 . Exemple L'exemple suivant utilise l'affectation par valeur pour affecter la valeur de 5 à la variable x. var x:Number = 5; L'exemple suivant utilise l'affectation par valeur pour affecter la valeur « hello » à la variable x : var x:String; x = " hello "; L'exemple suivant utilise l'affectation par référence pour créer la variable moonsOfJupiter, qui contient une référence au nouvel objet Array créé. L'affectation par valeur est ensuite utilisée pour copier la valeur « Callisto » dans le premier élément du tableau référencé par la variable moonsOfJupiter : var moonsOfJupiter:Array = new Array(); moonsOfJupiter[0] = "Callisto"; L'exemple suivant utilise l'affectation par référence pour créer un objet et affecter une référence à cet objet à la variable mercury. L'affectation par valeur est ensuite utilisée pour affecter la valeur de 3030 à la propriété diameter de l'objet mercury : var mercury:Object = new Object(); mercury.diameter = 3030; // en miles trace (mercury.diameter); // Renvoie : 3030 opérateurs 149 L'exemple suivant s'articule autour de l'exemple précédent en créant une variable intitulée merkur (le mot allemand désignant le mercure) et en lui affectant la valeur de mercury. Deux variables faisant référence au même objet dans la mémoire sont ainsi créées, ce qui signifie que vous pouvez utiliser l'une ou l'autre pour accéder aux propriétés de cet objet. Nous pouvons ensuite modifier la propriété diameter pour utiliser les kilomètres au lieu des miles : var merkur:Object = mercury; merkur.diameter = 4878; // en kilomètres trace (mercury.diameter); // Renvoie : 4878 Voir aussi Opérateur == (égalité) & Opérateur AND au niveau du bit expression1 & expression2 Convertit expression1 et expression2 en entiers 32 bits non signés et applique une opération booléenne AND sur chaque bit des entiers entrés en tant que paramètres. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Le résultat est un nouvel entier de 32 bits. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus importants lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent également leurs chiffres les plus importants. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée est un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 - Dans Flash 4, l'opérateur AND (&) a été utilisé pour concaténer les chaînes. A partir de Flash 5, l'opérateur AND (&) est un opérateur AND au niveau du bit. Vous devez utiliser l'opérateur d'addition (+) pour concaténer les chaînes. Les fichiers Flash 4 qui utilisent l'opérateur AND (&) sont mis à jour automatiquement pour utiliser l'opérateur d'addition (+) lorsqu'ils sont importés dans l'environnement de programmation Flash 5 ou plus récent. 150 Eléments du langage ActionScript Opérandes expression1 : Number - Nombre. expression2 : Number - Nombre. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant compare la représentation des nombres au niveau du bit et renvoie 1 uniquement si les deux bits ont la valeur 1 à la même position. Dans ce code ActionScript, vous ajoutez 13 (binaire 1101) et 11 (binaire 1011) et renvoyez 1 uniquement à la position où les deux nombres ont la valeur 1. var insert:Number = 13; var update:Number = 11; trace(insert & update); // Renvoie : 9 (ou 1001 binaire) Pour les nombres 13 et 11, le résultat est 9 car seules les première et dernière positions des deux nombres ont la valeur 1. Les exemples suivants illustrent le comportement de la conversion de la valeur renvoyée : trace(0xFFFFFFFF); trace(0xFFFFFFFF & trace(0xFFFFFFFF & trace(4294967295 & trace(4294967295 & // 4294967295 0xFFFFFFFF); // -1 -1); // -1 -1); // -1 4294967295); // -1 Voir aussi &= Opérateur d'affectation AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit &= Opérateur d'affectation AND au niveau du bit expression1 &= expression2 Affecte à expression1 la valeur d'expression1 & expression2. Par exemple, les deux expressions suivantes sont équivalentes : x &= y; x = x & y; Disponibilité : ActionScript 1.0 ; Flash Player 5 opérateurs 151 Opérandes expression1 : Number - Nombre. expression2 : Number - Nombre. Valeur renvoyée Number - Valeur de expression1 & expression2 . Exemple L'exemple suivant affecte la valeur 9 à x : var x:Number = 15; var y:Number = 9; trace(x &= y); // Renvoie : 9 Voir aussi & Opérateur AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit Opérateur << de décalage gauche au niveau du bit expression1 << expression2 Convertit expression1 et expression2 en valeurs de nombres entiers 32 bits que vous pouvez appeler V1 et V2. Décale tous les bits de la valeur de V1 vers la gauche sur les positions de V2. Rejette les bits décalés à l'extrémité gauche de V1 par cette opération et insère des zéros aux emplacements de bits qui sont vides à droite. Le fait de décaler une valeur d'une unité vers la gauche revient à la multiplier par 2. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 152 Eléments du langage ActionScript Opérandes expression1 : Number - Nombre ou expression à décaler vers la gauche. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple Dans l'exemple suivant, l'entier 1 est décalé de 10 bits vers la gauche : x = 1 << 10 Le résultat de cette opération est x = 1024. Ce résultat est dû au fait qu'un 1 décimal égale un 1 binaire, le 1 binaire décalé de 10 bits à gauche est 10000000000 en binaire, et 10000000000 en binaire est 1024 en décimal. Dans l'exemple suivant, l'entier 7 est décalé de 8 bits vers la gauche : x = 7 << 8 Le résultat de cette opération est x = 1792. Ce résultat est dû au fait qu'un 7 décimal égale un 111 binaire, le 111 binaire décalé de 8 bits à gauche est 11100000000 en binaire, et 11100000000 en binaire est 1792 en décimal. Si vous suivez l'exemple suivant, vous remarquez que les bits ont été déplacés de deux espaces vers la gauche : // 2 binaire == 0010 // 8 binaire == 1000 trace(2 << 2); // Renvoie : 8 Voir aussi >>=, opérateur de décalage droit au niveau du bit et d'affectation, >>, opérateur de décalage droit au niveau du bit, Opérateur <<= de décalage gauche au niveau du bit et d'affectation, >>>, opérateur de décalage droit non signé au niveau du bit, >>>=, opérateur de décalage droit non signé au niveau du bit et d'affectation Opérateur <<= de décalage gauche au niveau du bit et d'affectation expression1 <<= expression2 Cet opérateur effectue un décalage vers la gauche au niveau du bit (<<=) et stocke ensuite le contenu dans expression1. Les deux expressions suivantes sont équivalentes : A <<= B; A = (A << B) Disponibilité : ActionScript 1.0 ; Flash Player 5 opérateurs 153 Opérandes expression1 : Number - Nombre ou expression à décaler vers la gauche. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple Dans l'exemple suivant, vous utilisez l'opérateur de décalage gauche au niveau du bit et d'affectation (<<=) pour décaler tous les bits d'un espace vers la gauche : var x:Number = 4; // Décale tous les bits d'un emplacement vers la gauche. x <<= 1; trace(x); // Renvoie : 8 // 4 décimal = 0100 binaire // 8 décimal = 1000 binaire Voir aussi Opérateur << de décalage gauche au niveau du bit, >>=, opérateur de décalage droit au niveau du bit et d'affectation, >>, opérateur de décalage droit au niveau du bit ~ Opérateur NOT au niveau du bit ~ expression Connu également sous la forme de complément d'opérateur du un ou opérateur de complément au niveau du bit. Convertit l'expressionen un entier signé de 32 bits, puis applique un complément à un au niveau du bit. Ainsi, tout bit 0 devient 1 et inversement. Le résultat est un nouvel entier signé de 32 bits. Par exemple, la valeur hexadécimale 0x7777 est représentée de la façon suivante en binaire : 0111011101110111 La négation au niveau du bit de cette valeur, ~0x7777, renvoie : 1000100010001000 En hexadécimal, ceci se traduit par 0x8888. Par conséquent, ~0x7777 donne 0x8888. L'utilisation la plus répandue des opérateurs au niveau du bit consiste à représenter les bits indicateurs (valeurs booléennes contractées sur 1 bit). 154 Eléments du langage ActionScript Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée est un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression : Number - Nombre. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant décrit l'utilisation de l'opérateur NOT (-) au niveau du bit avec les bits indicateurs : var ReadOnlyFlag:Number = 0x0001; // Définit le bit 0 en tant qu'indicateur //de lecture seule var flags:Number = 0; trace(flags); /* Pour définir l'indicateur de lecture seule dans la variable flags, le code suivant exploite l'opérateur OR au niveau du bit : */ flags |= ReadOnlyFlag; trace(flags); /* Pour supprimer l'indicateur de lecture seule dans la variable flags, créez tout d'abord un masque à l'aide de l'opérateur NOT au niveau du bit sur ReadOnlyFlag. Dans le masque, chaque bit est un 1, à l'exception de l'indicateur de lecture seule. Ensuite, utilisez l'opérateur AND au niveau du bit avec le masque pour supprimer l'indicateur de lecture seule. Le code suivant crée le masque et applique l'opérateur AND au niveau du bit : */ opérateurs 155 flags &= ~ReadOnlyFlag; trace(flags); // Renvoie : 0 1 0 Voir aussi & Opérateur AND au niveau du bit, &= Opérateur d'affectation AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit | Opérateur OR au niveau du bit expression1 | expression2 Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2 ont la valeur 1. Les nombres à virgule flottante sont convertis en entiers en supprimant tous les chiffres situés après la virgule. Le résultat est un nouvel entier de 32 bits. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre. expression2 : Number - Nombre. Valeur renvoyée Number 156 - Résultat de l'opération au niveau du bit. Eléments du langage ActionScript Exemple L'exemple suivant illustre une opération OR (|) au niveau du bit : // 15 décimal = 1111 binaire var x:Number = 15; // 9 décimal = 1001 binaire var y:Number = 9; // 1111 | 1001 = 1111 trace(x | y); // Renvoie le 15 décimal (1111 binaire) Ne confondez pas l'opération unique | (OR au niveau du bit) avec l'opérateur || (OR logique). Voir aussi & Opérateur AND au niveau du bit, &= Opérateur d'affectation AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit |= Opérateur d'affectation OR au niveau du bit expression1 |= expression2 Affecte à expression1 la valeur de expression1 | expression2. Par exemple, les deux instructions suivantes sont équivalentes : x |= y; x = x | y; Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre ou variable. expression2 : Number - Nombre ou variable. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant utilise l'opérateur (|=)) d'affectation OR au niveau du bit : // 15 décimal = 1111 binaire var x:Number = 15; // 9 décimal = 1001 binaire var y:Number = 9; // 1111 |= 1001 = 1111 trace(x |= y); // Renvoie le 15 décimal (1111 binaire) opérateurs 157 Voir aussi & Opérateur AND au niveau du bit, &= Opérateur d'affectation AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit >>, opérateur de décalage droit au niveau du bit expression1 >> expression2 Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits d'expression1 vers la gauche du nombre d'unités spécifiées par l'entier résultant de la conversion d'expression2. Les bits décalés vers la droite sont supprimés. Pour préserver le signe de l'expression, d'origine, les bits situés à gauche sont remplacés par des 0 si le bit le plus significatif (le bit le plus à gauche) d'expression1 est 0, et par des 1 si le bit le plus significatif est 1. Le décalage d'une valeur d'une unité équivaut à une division par 2 et au rejet du reste. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. La valeur renvoyée est interprétée en tant que nombre complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre ou expression à décaler vers la droite. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number 158 - Résultat de l'opération au niveau du bit. Eléments du langage ActionScript Exemple L'exemple suivant convertit 65535 en entier 32 bits et le décale de 8 bits vers la droite : var x:Number = 65535 >> 8; trace(x); // Renvoie 255 L'exemple suivant affiche le résultat de l'exemple précédent : var x:Number = 255; Ceci est dû au fait que 65535 en décimal équivaut à 1111111111111111 en binaire (seize 1), 1111111111111111 en binaire décalé de 8 bits vers la droite représente 11111111 en binaire, et que 11111111 en binaire est égal à 255 en décimal. Le bit le plus significatif est 0 car il s'agit d'entiers 32 bits, le bit de remplissage est donc 0. L'exemple suivant convertit -1 en entier 32 bits et le décale de 1 bit vers la droite : var x:Number = -1 >> 1; trace(x); // Renvoie -1 L'exemple suivant affiche le résultat de l'exemple précédent : var x:Number = -1; Ceci est dû au fait que -1 en décimal équivaut à 11111111111111111111111111111111 en binaire (trente-deux 1), le décalage de un bit vers la droite entraîne la suppression du bit le moins significatif (le bit le plus à droite) et le remplacement du bit le plus significatif par la valeur 1. Le résultat obtenu est 11111111111111111111111111111111 (trente-deux 1) en binaire, soit l'entier 32 bits -1. Voir aussi >>=, opérateur de décalage droit au niveau du bit et d'affectation >>=, opérateur de décalage droit au niveau du bit et d'affectation expression1 >>= expression2 Cet opérateur effectue un décalage vers la droite au niveau du bit et stocke ensuite le contenu dans expression1. Les deux instructions suivantes sont équivalentes : A >>= B; A = (A >> B); Disponibilité : ActionScript 1.0 ; Flash Player 5 opérateurs 159 Opérandes expression1 : Number - Nombre ou expression à décaler vers la droite. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple Le code commenté suivant utilise l'opérateur (>>=) de décalage droit au niveau du bit et d'affectation. function convertToBinary(numberToConvert:Number):String { var result:String = ""; for (var i = 0; i<32; i++) { // Extrait le bit le moins significatif qui utilise l'opérateur AND au // niveau du bit var lsb:Number = numberToConvert & 1; // Ajoute ce bit au résultat string result = (lsb ? "1" : "0")+result; // Décale numberToConvert d'un bit vers la droite, pour voir le bit suivant numberToConvert >>= 1; } return result; } trace(convertToBinary(479)); // Renvoie la chaîne 00000000000000000000000111011111 // Cette chaîne est la représentation binaire du nombre // décimal 479 Voir aussi >>, opérateur de décalage droit au niveau du bit >>>, opérateur de décalage droit non signé au niveau du bit expression1 >>> expression2 Identique à l'opérateur de décalage vers la droite au niveau du bit (>>), à la différence qu'il ne préserve pas le signe de l'expression d'origine car les bits de gauche sont toujours remplacés par des 0. 160 Eléments du langage ActionScript Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre ou expression à décaler vers la droite. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant convertit -1 en entier 32 bits et le décale de 1 bit vers la droite : var x:Number = -1 >>> 1; trace(x); // Renvoie : 2147483647 Ceci est dû au fait que -1 en décimal équivaut à 11111111111111111111111111111111 en binaire (trente-deux 1), et que lorsque vous effectuez un décalage de 1 bit vers la droite (non signé), le bit le moins significatif (le plus à droite) est supprimé, et le bit le plus significatif (le plus à gauche) est remplacé par la valeur 0. Le résultat obtenu est 01111111111111111111111111111111 en binaire, soit l'entier 32 bits 2147483647. Voir aussi >>=, opérateur de décalage droit au niveau du bit et d'affectation opérateurs 161 >>>=, opérateur de décalage droit non signé au niveau du bit et d'affectation expression1 >>>= expression2 Effectue un décalage vers la droite au niveau du bit non signé et stocke ensuite le contenu dans expression1. Les deux instructions suivantes sont équivalentes : A >>>= B; A = (A >>> B); Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre ou expression à décaler vers la droite. expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Voir aussi >>>, opérateur de décalage droit non signé au niveau du bit, >>=, opérateur de décalage droit au niveau du bit et d'affectation Opérateur ^ (XOR au niveau du bit) expression1 ^ expression2 Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2 ont la valeur 1. Les nombres à virgule flottante sont convertis en entiers en supprimant tous les chiffres situés après la virgule. Le résultat est un nouvel entier de 32 bits. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs. 162 Eléments du langage ActionScript La valeur renvoyée est interprétée en tant que nombre complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Number - Nombre. expression2 : Number - Nombre. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant utilise l'opérateur XOR au niveau du bit sur les décimales 15 et 9 et affecte le résultat à la variable x : // 15 décimal = 1111 binaire // 9 décimal = 1001 binaire var x:Number = 15 ^ 9; trace(x); // 1111 ^ 1001 = 0110 // Renvoie le nombre décimal 6 (0110 en binaire) Voir aussi & Opérateur AND au niveau du bit, &= Opérateur d'affectation AND au niveau du bit, Opérateur ^= (affectation XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit Opérateur ^= (affectation XOR au niveau du bit) expression1 ^= expression2 Affecte à expression1 la valeur de expression1 ^ expression2. Par exemple, les deux instructions suivantes sont équivalentes : x ^= y; x = x ^ y; Disponibilité : ActionScript 1.0 ; Flash Player 5 opérateurs 163 Opérandes expression1 : Number - Entiers et variables. expression2 : Number - Entiers et variables. Valeur renvoyée Number - Résultat de l'opération au niveau du bit. Exemple L'exemple suivant illustre l'opération (^=) d'affectation XOR au niveau du bit : // 15 décimal = 1111 binaire var x:Number = 15; // 9 décimal = 1001 binaire var y:Number = 9; trace(x ^= y); // Renvoie le nombre décimal 6 (0110 en binaire) Voir aussi & Opérateur AND au niveau du bit, &= Opérateur d'affectation AND au niveau du bit, Opérateur ^ (XOR au niveau du bit), | Opérateur OR au niveau du bit, |= Opérateur d'affectation OR au niveau du bit, ~ Opérateur NOT au niveau du bit Opérateur /*..*/ (séparateur de commentaires de bloc) /* commentaire */ /* commentaire commentaire */ Démarque une ou plusieurs lignes de commentaires de script. Tout caractère qui s'affiche entre la balise ouvrante de commentaires (/*) et la balise fermante (*/) est interprété en tant que commentaire et ignoré par l'interpréteur d'ActionScript. Préférez l'opérateur // (séparateur de commentaires) pour les commentaires sur une ligne. Retenez l'opérateur /* pour identifier les commentaires répartis sur plusieurs lignes. L'omission de la balise fermante (*/) renvoie un message d'erreur. Le fait d'incorporer plusieurs balises de commentaires les unes dans les autres renvoie également un message d'erreur. Ainsi, lorsque vous utilisez une balise ouvrante (/*), la première balise fermante (*/) termine ce commentaire, quel que soit le nombre de balises (/*) intercalées. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes comment 164 - Tout caractère. Eléments du langage ActionScript Exemple Le script suivant utilise des séparateurs de commentaires au début du script : /* Enregistre les coordonnées X et Y des clips ball et bat */ var ballX:Number = ball_mc._x; var ballY:Number = ball_mc._y; var batX:Number = bat_mc._x; var batY:Number = bat_mc._y; La tentative d'incorporation suivante de plusieurs balises de commentaires les unes dans les autres renvoie un message d'erreur : /* Tentative d'incorporation des commentaires. /* La première balise de fin correspond à la première balise de début, */ ce qui a pour résultat que le texte n'est pas interprété en tant que commentaire */ Voir aussi Opérateur // (séparateur de commentaires sur une ligne) Opérateur , (virgule) (expression1 , expression2 [, expressionN... ]) Evalue expression1, puis expression2, etc. Cet opérateur est destiné principalement à l'instruction loop for et est souvent utilisé en conjonction avec l'opérateur parenthèses (). Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Expression à évaluer. expression2 : Number - Expression à évaluer. expressionN : Number - Nombre quelconque d'expressions supplémentaires à évaluer. Valeur renvoyée Object - Valeur d'expression1, puis d'expression2, etc. opérateurs 165 Exemple L'exemple suivant utilise l'opérateur virgule (,) dans une boucle for : for (i = 0, j trace("i = " } // Renvoie : // i = 0, j = // i = 1, j = = 0; i < 3 && j < 3; i++, j+=2) { + i + ", j = " + j); 0 2 L'exemple suivant utilise l'opérateur virgule (,) sans l'opérateur parenthèses () pour montrer que l'opérateur virgule à une priorité inférieure à l'opérateur d'affectation (=) : var v:Number = 0; v = 4, 5, 6; trace(v); // Renvoie : 4 L'exemple suivant utilise l'opérateur virgule (,) en conjonction avec l'opérateur parenthèses () et montre que l'opérateur virgule renvoie la valeur de la dernière expression : var v:Number = 0; v = (4, 5, 6); trace(v); // Renvoie : 6 L'exemple suivant utilise l'opérateur virgule (,) en conjonction avec l'opérateur parenthèses () et montre que l'opérateur virgule évalue de façon séquentielle toutes les expressions. La première expression, v + 4, est affectée à la variable v car l'opérateur d'affectation (=) operator est prioritaire par rapport à l'opérateur virgule. La deuxième expression, z++, est évaluée et la valeur z est incrémentée de un. var v:Number = 0; var z:Number = 0; v = v + 4 , z++, v + 6; trace(v); // Renvoie : 4 trace(z); // Renvoie : 1 L'exemple suivant est identique à l'exemple précédent, à l'exception de l'ajout de l'opérateur de parenthèses () qui modifie l'ordre des opérations de telle manière que l'opérateur virgule est évalué avant l'opérateur d'affectation (=) : var v:Number = 0; var z:Number = 0; v = (v + 4, z++, v + 6); trace(v); // Renvoie : 6 trace(z); // Renvoie : 1 Voir aussi Opérateur () (parenthèses) 166 Eléments du langage ActionScript Opérateur de concaténation add (chaînes) string1 add string2 Déconseillé depuis Flash Player 5. Adobe recommande l'utilisation de l'opérateur add (+) lorsque vous créez du contenu pour Flash Player 5 ou une version ultérieure. Cet opérateur n'est pas supporté dans Flash Player 8 ou version supérieure. Concatène au moins deux chaînes. L'opérateur d'ajout (+) remplace l'opérateur & de Flash 4 ; les fichiers Flash Player 4 qui utilisent l'opérateur & sont automatiquement convertis pour pouvoir utiliser l'opérateur d'ajout (+) en vue de la concaténation de chaînes lorsqu'ils sont importés dans l'environnement de programmation Flash 5 ou version ultérieure. Utilisez l'opérateur d'ajout (+) pour concaténer des chaînes lorsque vous créez du contenu pour Flash Player 4 ou ses versions antérieures. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes string1 : String - Chaîne. string2 : String - Chaîne. Valeur renvoyée String - Chaîne concaténée. Voir aussi Opérateur d'addition + ?: opérateur conditionnel expression1 ? expression2 : expression3 Demande à Flash d'évaluer expression1, et si la valeur d'expression1 est true , la valeur d'expression2 est renvoyée ; sinon, la valeur d'expression3 est renvoyée. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Expression qui renvoie une valeur booléenne ; généralement une expression de comparaison, telle que x < 5. expression2 : Object - Valeurs de tout type. expression3 : Object - Valeurs de tout type. opérateurs 167 Valeur renvoyée Object - Valeur de expression2 ou expression3. Exemple L'instruction suivante affecte la valeur de la variable x à la variable z car expression1 renvoie true : var x:Number = 5; var y:Number = 10; var z = (x < 6) ? x: y; trace (z); // Renvoie 5 L'exemple suivant illustre une instruction conditionnelle abrégée : var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM"; trace(timecode); Cette même instruction conditionnelle peut également être écrite de manière non abrégée, comme indiqué dans l'exemple suivant : if (new Date().getHours() < 11) { var timecode:String = "AM"; } else { var timecode:String = "PM"; } trace(timecode); Opérateur -- (décrément) -- expression expression-- Un opérateur unaire de pré et post-décrémentation qui soustrait 1 d'expression. L'expressionpeut être une variable, un élément de tableau ou une propriété d'objet. La forme pré-décrément de l'opérateur (--expression) soustrait 1 d'expressionet renvoie le résultat. La forme post-décrément de l'opérateur (expression--) soustrait 1 de l'expression et renvoie la valeur initiale d'expression(la valeur précédant la soustraction). Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression : Number - Nombre ou variable évaluée sous forme de nombre Valeur renvoyée Number 168 - Résultat de la valeur décrémentée. Eléments du langage ActionScript Exemple La forme pré-décrément de l'opérateur décrémente x pour obtenir 2 (x - 1 = 2) et renvoie le résultat dans y : var x:Number = 3; var y:Number = --x; // y est égal à 2 La forme post-décrément de l'opérateur décrémente x pour obtenir 2 (x - 1 = 2) et renvoie la valeur d'origine de x comme résultat y : var x:Number = 3; var y:Number = x--; // y est égal à 3 L'exemple suivant boucle de 10 à 1 et chaque itération de la boucle diminue la variable du compteur i de 1. for (var i = 10; i>0; i--) { trace(i); } Opérateur / (division) expression1 / expression2 Divise expression1 par expression2. Le résultat de l'opération de division est un nombre à virgule flottante comportant deux décimales. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression : Number - Nombre ou variable évaluée sous forme de nombre Valeur renvoyée Number - Résultat, en virgule flottante, de l'opération. Exemple L'instruction suivante divise la largeur et la hauteur actuelles de la scène, puis affiche le résultat dans le panneau de sortie. trace(Stage.width/2); trace(Stage.height/2); Avec une largeur et une hauteur de scène de 550 x 400 par défaut, on obtient les valeurs 275 et 150. Voir aussi Opérateur % (modulo) opérateurs 169 Opérateur /= (affectation de division) expression1 /= expression2 Affecte à expression1 la valeur de expression1 / expression2. Par exemple, les deux instructions suivantes sont équivalentes : x /= y; x = x / y; Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Nombre ou variable évaluée sous forme de nombre expression2 : Number - Nombre ou variable évaluée sous forme de nombre Valeur renvoyée Number - Nombre. Exemple Le code suivant indique comment utiliser l'opérateur affectation de division (/=)) avec des variables et des nombres : var x:Number = 10; var y:Number = 2; x /= y; trace(x); // Renvoie : 5 Voir aussi Opérateur / (division) Opérateur point (.) object. property_or_method instancename. variable instancename. childinstance instancename. childinstance. variable Permet de naviguer au sein des hiérarchies de clips pour accéder aux clips incorporés (enfants), aux variables ou aux propriétés. L'opérateur point permet également de tester ou définir les propriétés d'un objet ou d'une classe de premier niveau, d'exécuter une méthode d'un objet ou d'une classe de premier niveau ou de créer une structure de données. Disponibilité : ActionScript 1.0 ; Flash Player 4 170 Eléments du langage ActionScript Opérandes object : Object - Occurrence de classe. Cet objet peut être une occurrence de l'une des classes ActionScript intégrées ou d'une classe personnalisée. Ce paramètre figure toujours à gauche de l'opérateur point (.). - Nom d'une propriété ou d'une méthode associée à un objet. Toutes les méthodes et les propriétés valides pour les classes intégrées figurent dans les tableaux récapitulatifs des méthodes et des propriétés pour cette classe. Ce paramètre figure toujours à droite de l'opérateur point (.). property_or_method instancename : MovieClip - Nom d'occurrence d'un clip. variable - Le nom d'occurrence à gauche de l'opérateur point (.) peut également représenter une variable sur le scénario du clip. childinstance : MovieClip - Occurrence de clip qui est un enfant d'un autre clip ou qui y est imbriquée. Valeur renvoyée Object - Méthode, propriété ou clip nommés à droite du point. Exemple L'exemple suivant identifie la valeur actuelle de la variable hairColor dans le clip person_mc : person_mc.hairColor L'environnement de programmation Flash 4 ne prenait pas en charge la syntaxe à point ; en revanche, les fichiers Flash MX 2004 publiés pour Flash Player 4 peuvent utiliser l'opérateur point. L'exemple précédent équivaut à la syntaxe Flash 4 (déconseillée) suivante : /person_mc:hairColor L'exemple suivant crée un nouveau clip dans le domaine _root. Ensuite, un champ texte est créé dans le clip intitulé container_mc. La propriété autoSize du champ texte est définie sur true, puis renseignée avec la date du jour. this.createEmptyMovieClip("container_mc", this.getNextHighestDepth()); this.container_mc.createTextField("date_txt", this.getNextHighestDepth(), 0, 0, 100, 22); this.container_mc.date_txt.autoSize = true; this.container_mc.date_txt.text = new Date(); L'opérateur point (.) est utilisé lorsque vous ciblez des occurrences dans le fichier SWF et lorsque vous devez définir leurs propriétés et valeurs. opérateurs 171 Opérateur == (égalité) expression1 == expression2 Vérifie si deux expressions sont égales. Le résultat est true lorsque les expressions sont égales. La définition de l'égalité dépend du type de données du paramètre : ■ ■ ■ Les nombres ou les valeurs booléennes sont considérés comme égaux lorsque leur valeur est identique. Les expressions de type String sont égales lorsqu'elles comportent le même nombre de caractères et que ces caractères sont identiques. Les variables représentant des objets, des tableaux et des fonctions sont comparées par référence. Deux variables sont égales lorsqu'elles font référence au même objet, au même tableau ou à la même fonction. Deux tableaux distincts ne sont jamais considérés comme égaux, même s'ils comportent le même nombre d'éléments. Lorsque la comparaison porte sur la valeur, si expression1 et expression2 ont un type de données différent, ActionScript tente de convertir le type de données d'expression2 pour le faire correspondre à celui d' expression1. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple L'exemple suivant utilise l'opérateur d'égalité (==) conjointement avec une instruction if: var a:String = "David", b:String = "David"; if (a == b) { trace("David is David"); } Les exemples suivants affichent les résultats des opérations qui comparent des types mixtes : var x:Number = var y:String = trace(x == y); var x:String = 172 5; "5"; // Renvoie : true "5"; Eléments du langage ActionScript var y:String = trace(x == y); var x:String = var y:String = trace(x == y); "66"; // Renvoie : false "chris"; "steve"; // Renvoie : false Les exemples suivants affichent la comparaison par référence. Le premier exemple compare deux tableaux dont la longueur et les éléments sont identiques. L'opérateur d'égalité renvoie la valeur false pour ces deux tableaux. Bien que les tableaux semblent équivalents, la comparaison par référence exige qu'ils se réfèrent tous deux au même tableau. Le deuxième exemple crée la variable thirdArray qui pointe vers le même tableau que la variable firstArray. L'opérateur d'égalité renvoie la valeur true pour ces deux tableaux car les deux variables font référence au même tableau. var firstArray:Array = new Array("one", "two", "three"); var secondArray:Array = new Array("one", "two", "three"); trace(firstArray == secondArray); // Renvoie false // Les tableaux sont toujours considérés comme égaux // si les variables se rapportent au même tableau. var thirdArray:Array = firstArray; trace(firstArray == thirdArray); // Renvoie true Voir aussi ! Opérateur NOT logique, Opérateur != (inégalité), Opérateur !== (inégalité stricte), &&, opérateur (AND logique), Opérateur || (OR logique), Opérateur === (égalité stricte) Opérateur eq d'égalité (chaînes) expression1 eq expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur == (equality). Compare l'égalité de deux expressions et renvoie une valeur true si la chaîne représentant l'expression1 est égale à celle d'expression2, false sinon. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. opérateurs 173 Valeur renvoyée Boolean - Résultat de la comparaison. Voir aussi Opérateur == (égalité) >, opérateur supérieur à expression1 > expression2 Compare deux expressions et détermine si expression1 est supérieure à expression2; dans l'affirmative, cet opérateur renvoie true. Si expression1 est inférieure ou égale à expression2, l'opérateur renvoie false. Les expressions de type chaîne sont évaluées en fonction de l'ordre alphabétique ; toutes les lettres majuscules précèdent les lettres minuscules. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, > est un opérateur numérique. A partir de Flash 5, l'opérateur supérieur à (>) devient un opérateur de comparaison capable de traiter différents types de données. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5, ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. L'exemple suivant illustre la conversion d'un fichier Flash 4 incluant une comparaison de qualité numérique. Fichier Flash 4 : x > y Fichier Flash 5, ou version plus récente, converti : Number(x) > Number(y) Opérandes expression1 : Object - Nombre ou chaîne. expression2 : Object - Nombre ou chaîne. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple Dans l'exemple suivant, l'opérateur supérieur à (>) est utilisé pour déterminer si la valeur du champ texte score_txt est supérieure à 90 : if (score_txt.text>90) { trace("Congratulations, you win!"); } else { trace("sorry, try again"); } 174 Eléments du langage ActionScript Opérateur gt supérieur à (chaînes) expression1 gt expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur > (supérieur à). Compare la représentation de chaîne de expression1 avec celle de expression2 et renvoie true si expression1 est supérieur à expression2, sinon renvoie false. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Voir aussi >, opérateur supérieur à >=, opérateur supérieur ou égal à expression1 >= expression2 Compare deux expressions et détermine si expression1 est supérieure ou égale à expression2 (true) ou si expression1 est inférieure à expression2 (false). Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, >= est un opérateur numérique. A partir de Flash 5, l'opérateur supérieur ou égal (>=) devient un opérateur de comparaison capable de traiter différents types de données. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5, ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. L'exemple suivant illustre la conversion d'un fichier Flash 4 incluant une comparaison de qualité numérique. Fichier Flash 4 : x >= y Fichier Flash 5, ou version plus récente, converti : Number(x) >= Number(y) Opérandes expression1 : Object - Chaîne, entier ou nombre à virgule flottante. expression2 : Object - Chaîne, entier ou nombre à virgule flottante. opérateurs 175 Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple Dans l'exemple suivant, l'opérateur supérieur ou égal à (>=) est utilisé pour déterminer si l'heure est supérieure ou égale à 12 : if (new Date().getHours() >= 12) { trace("good afternoon"); } else { trace("good morning"); } Opérateur ge supérieur ou égal à (chaînes) expression1 ge expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur >= (supérieur ou égal à). Compare la représentation de chaîne de expression1 avec celle de expression2 et renvoie true si expression1 est supérieure ou égale à expression2, sinon renvoie false. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. Valeur renvoyée Boolean - Résultat de la comparaison. Voir aussi >=, opérateur supérieur ou égal à 176 Eléments du langage ActionScript Opérateur ++ (incrément) ++ expression expression++ Un opérateur unaire de pré et post-incrémentation qui ajoute 1 à expression. L'expressionpeut être une variable, un élément de tableau ou une propriété d'objet. La forme pré-incrémentale de l'opérateur (++expression) ajoute 1 à expressionet renvoie le résultat. La forme post-incrémentale de l'opérateur (expression++) ajoute 1 à l'expression et renvoie la valeur initiale d'expression(la valeur précédant l'addition). The pre-increment form of the operator increments x to 2 (x + 1 = 2) and returns the result as y: var x:Number = var y:Number = trace("x:"+x); trace("y:"+y); 1; ++x; // Renvoie x:2 // Renvoie y:2 La forme post-incrément de l'opérateur incrémente x pour obtenir 2 (x + 1 = 2) et renvoie la valeur d'origine de xcomme résultat y : var x:Number = var y:Number = trace("x:"+x); trace("y:"+y); 1; x++; // Renvoie x:2 // Renvoie y:1 Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression : Number - Nombre ou variable évaluée sous forme de nombre Valeur renvoyée Number - Résultat de l'incrément. Exemple L'exemple suivant utilise ++ en tant qu'opérateur de post-incrémentation pour qu'une boucle whiles'exécute à cinq reprises : var i:Number = 0; while (i++ < 5) { trace("this is execution " + i); } /* Renvoie : this is execution 1 this is execution 2 this is execution 3 this is execution 4 this is execution 5 */ opérateurs 177 L'exemple suivant utilise ++ en tant qu'opérateur de pré-incrémentation : var a:Array = new Array(); var i:Number = 0; while (i < 10) { a.push(++i); } trace(a.toString()); // Renvoie : 1,2,3,4,5,6,7,8,9,10 Cet exemple utilise également ++ en tant qu'opérateur de pré-incrémentation. var a:Array = []; for (var i = 1; i <= 10; ++i) { a.push(i); } trace(a.toString()); // Renvoie : 1,2,3,4,5,6,7,8,9,10 Ce script affiche le résultat suivant dans le panneau de sortie : 1,2,3,4,5,6,7,8,9,10 L'exemple suivant utilise ++ en tant qu'opérateur de post-incrémentation dans une boucle while : // Boucle while var a:Array = new Array(); var i:Number = 0; while (i < 10) { a.push(i++); } trace(a.toString()); // Renvoie 0,1,2,3,4,5,6,7,8,9 L'exemple suivant utilise ++ en tant qu'opérateur de post-incrémentation dans une boucle for : // Boucle for var a:Array = new Array(); for (var i = 0; i<10; i++) { a.push(i); } trace(a.toString()); // Renvoie 0,1,2,3,4,5,6,7,8,9 Ce script affiche le résultat suivant dans le panneau de sortie : 0,1,2,3,4,5,6,7,8,9 178 Eléments du langage ActionScript Opérateur != (inégalité) expression1 != expression2 Recherche l'inverse de l'opérateur d'égalité (==). Si expression1 est égale à expression2, le résultat est false. Comme pour l'opérateur d'égalité (==), la définition de l'égalité dépend des types de données comparés, comme illustré dans la liste suivante : ■ Les valeurs booléennes, les nombres et les chaînes sont comparés en fonction de leur valeur. ■ Les objets, les tableaux et les fonctions sont comparés par référence. ■ Une variable est comparée par valeur ou par référence, en fonction de son type. La comparaison par valeur, comme son nom l'indique signifie que deux expressions ont la même valeur. Par exemple, l'expression (2 + 3) est égale à l'expression (1 + 4) lorsque la comparaison porte sur la valeur. La comparaison par référence signifie que deux expressions ne sont égales que si elles font toutes deux référence au même objet, tableau ou fonction. Les valeurs figurant dans l'objet, le tableau ou la fonction ne sont pas comparées. Lorsque la comparaison porte sur la valeur, si expression1 et expression2 ont un type de données différent, ActionScript tente de convertir le type de données d'expression2 pour le faire correspondre à celui d' expression1. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple L'exemple suivant affiche le résultat de l'opérateur d'inégalité (!=) : trace(5 != 8); // Renvoie true trace(5 != 5) // Renvoie false opérateurs 179 L'exemple suivant illustre l'utilisation de l'opérateur d'inégalité (!=) dans une instruction if : var a:String = "David"; var b:String = "Fool"; if (a != b) { trace("David is not a fool"); } L'exemple suivant illustre la comparaison par référence avec deux fonctions : var a:Function = function() { trace("foo"); }; var b:Function = function() { trace("foo"); }; a(); // foo b(); // foo trace(a != b); // true a = b; a(); // foo b(); // foo trace(a != b); // false // Renvoie la sortie de l'instruction : foo foo true foo foo false L'exemple suivant illustre la comparaison par référence avec deux tableaux : var a:Array = [ 1, 2, 3 ]; var b:Array = [ 1, 2, 3 ]; trace(a); // 1, 2, 3 trace(b); // 1, 2, 3 trace(a!=b); // true a = b; trace(a); // 1, 2, 3 trace(b); // 1, 2, 3 trace(a != b); // false // Renvoie la sortie de l'instruction : 1,2,3 1,2,3 true 1,2,3 1,2,3 false Voir aussi ! Opérateur NOT logique, Opérateur !== (inégalité stricte), &&, opérateur (AND logique), Opérateur || (OR logique), Opérateur == (égalité), Opérateur === (égalité stricte) 180 Eléments du langage ActionScript <>, opérateur d'inégalité expression1 <> expression2 Déconseillé depuis Flash Player 5. Cet opérateur est déconseillé. Adobe recommande d'utiliser l'opérateur != (inequality). Recherche l'inverse de l'opérateur d'égalité (==). Si expression1 est égale à expression2, le résultat est false. Comme pour l'opérateur d'égalité (==) , la définition de l'égalité dépend des types de données comparés : ■ Les valeurs booléennes, les nombres et les chaînes sont comparés en fonction de leur valeur. ■ Les objets, les tableaux et les fonctions sont comparés par référence. ■ Les variables sont comparées par valeur ou par référence, en fonction de leur type. Disponibilité : ActionScript 1.0 ; Flash Player 2 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Voir aussi Opérateur != (inégalité) Opérateur instanceof object instanceof classConstructor Teste si object est une occurrence de classConstructor ou une sous-classe de classConstructor. L'opérateur instanceof ne convertit pas les types primitifs en enveloppes. Par exemple, le code suivant renvoie true : new String("Hello") instanceof String; Tandis que le code suivant renvoie false : "Hello" instanceof String; Disponibilité : ActionScript 1.0 ; Flash Player 6 opérateurs 181 Opérandes object : Object - Objet ActionScript. classConstructor : Function - Référence à une fonction constructeur ActionScript, telle que String ou Date. Valeur renvoyée - Si object est une occurrence ou une sous-classe de classConstructor, renvoie true, sinon il renvoie false. De même, _global instanceof Object renvoie false. Boolean instanceof Voir aussi Opérateur typeof <, opérateur inférieur à expression1 < expression2 Compare deux expressions et détermine si expression1 est inférieure à expression2 ; dans l'affirmative, cet opérateur renvoie true. Si expression1 est supérieure ou égale à expression2, l'opérateur renvoie false. Les expressions de type chaîne sont évaluées en fonction de l'ordre alphabétique ; toutes les lettres majuscules précèdent les lettres minuscules. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, < est un opérateur numérique. A partir de Flash 5, l'opérateur inférieur à (<) devient un opérateur de comparaison capable de traiter différents types de données. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5, ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. L'exemple suivant illustre la conversion d'un fichier Flash 4 incluant une comparaison de qualité numérique. Fichier Flash 4 : x < y Fichier Flash 5, ou version plus récente, converti : Number(x) < Number(y) Opérandes expression1 : Number - Nombre ou chaîne. expression2 : Number - Nombre ou chaîne. Valeur renvoyée Boolean 182 - Résultat booléen de la comparaison. Eléments du langage ActionScript Exemple Les exemples suivants renvoient des valeurs true et false pour les comparaisons numériques et de type chaîne : trace(3 < 10); // true trace(10 < 3); // false trace("Allen" < "Jack"); // true trace("Jack" < "Allen"); //false trace("11" < "3"); // true trace("11" < 3); // false (comparaison numérique) trace("C" < "abc"); // true trace("A" < "a"); // true Opérateur lt inférieur à (chaînes) expression1 lt expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur < (inférieur à). Compare expression1 à expression2 et renvoie true si expression1 est inférieure à expression2, false dans les autres cas. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. Valeur renvoyée Boolean - Résultat de la comparaison. Voir aussi <, opérateur inférieur à <=, opérateur (inférieur ou égal à) expression1 <= expression2 Compare deux expressions et détermine si expression1 est inférieure ou égale à expression2; dans l'affirmative, cet opérateur renvoie true. Si expression1 est supérieure à expression2, l'opérateur renvoie false. Les expressions de type chaîne sont évaluées en fonction de l'ordre alphabétique ; toutes les lettres majuscules précèdent les lettres minuscules. opérateurs 183 Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans Flash 4, <= est un opérateur numérique. A partir de Flash 5, l'opérateur inférieur ou égal (<=) devient un opérateur de comparaison capable de traiter différents types de données. Les fichiers Flash 4 qui sont chargés dans l'environnement de programmation Flash 5, ou une version plus récente, sont convertis afin de préserver l'intégrité des types de données. L'exemple suivant illustre la conversion d'un fichier Flash 4 incluant une comparaison de qualité numérique. Fichier Flash 4 : x <= y Fichier Flash 5, ou version plus récente, converti : Number(x) <= Number(y) Opérandes expression1 : Object - Nombre ou chaîne. expression2 : Object - Nombre ou chaîne. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple Les exemples suivants renvoient des valeurs true et false pour les comparaisons numériques et de type chaîne : trace(5 <= 10); // true trace(2 <= 2); // true trace(10 <= 3); // false trace("Allen" <= "Jack"); // true trace("Jack" <= "Allen"); // false trace("11" <= "3"); // true trace("11" <= 3); // false (comparaison numérique) trace("C" <= "abc"); // true trace("A" <= a); // true Opérateur le inférieur ou égal à (chaînes) expression1 le expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé dans Flash 5 en faveur de l'opérateur <= (inférieur ou égal à). Compare expression1 à expression2 et renvoie une valeur true si expression1 est inférieure ou égale à expression2, false dans les autres cas. Disponibilité : ActionScript 1.0 ; Flash Player 4 184 Eléments du langage ActionScript Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. Valeur renvoyée Boolean - Résultat de la comparaison. Voir aussi <=, opérateur (inférieur ou égal à) Opérateur // (séparateur de commentaires sur une ligne) // comment Signale le début d'un commentaire de script. Tout caractère qui s'affiche entre le séparateur de commentaires (//) et le caractère de fin de ligne est interprété en tant que commentaire et ignoré par l'interpréteur d'ActionScript. Disponibilité : ActionScript 1.0 ; Flash Player 1.0 Opérandes comment - Tout caractère. Exemple Le script suivant utilise des séparateurs de commentaires pour identifier les première, troisième, cinquième et septième lignes en tant que commentaires : // Enregistre la coordonnée X du var ballX:Number = ball_mc._x; // Enregistre la coordonnée Y du var ballY:Number = ball_mc._y; // Enregistre la coordonnée X du var batX:Number = bat_mc._x; // Enregistre la coordonnée Y du var batY:Number = bat_mc._y; clip ball clip ball clip bat clip bat Voir aussi Opérateur /*..*/ (séparateur de commentaires de bloc) opérateurs 185 &&, opérateur (AND logique) expression1 && expression2 Effectue une opération booléenne sur les valeurs des deux expressions. Si expression1 et expression2 ont toutes deux la valeur true, true est renvoyé ; sinon, false est renvoyé. Expression Valeur renvoyée true&&true true true&&false false false&&false false false&&true false Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne. expression2 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne. Valeur renvoyée Boolean - Résultat booléen de l'opération logique. Exemple L'exemple suivant utilise l'opérateur AND logique (&&) pour effectuer un test permettant de déterminer si un joueur a gagné la partie. Les variables turns et score sont mises à jour lorsqu'un joueur prend la main ou marque des points au cours de la partie. Le script affiche le texte « You Win the Game ! » dans le panneau de sortie lorsque le score du joueur atteint au moins la valeur 75 pour 3 parties jouées ou moins. var turns:Number = 2; var score:Number = 77; if ((turns <= 3) && (score >= 75)) { trace("You Win the Game!"); } else { trace("Try Again!"); } // Renvoie : You Win the Game! 186 Eléments du langage ActionScript Voir aussi ! Opérateur NOT logique, Opérateur != (inégalité), Opérateur !== (inégalité stricte), Opérateur || (OR logique), Opérateur == (égalité), Opérateur === (égalité stricte) Opérateur AND (and logique) condition1 and condition2 Déconseillé depuis Flash Player 5. Adobe recommande d'utiliser l'opérateur AND logique (&&). Effectue une opération AND logique (&&) dans Flash Player 4. Si les deux expressions renvoient true, l'expression toute entière a la valeur true. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes condition1 : Boolean - Conditions ou expressions renvoyant true ou false. condition2 : Boolean - Conditions ou expressions renvoyant true ou false. Valeur renvoyée Boolean - Résultat booléen de l'opération logique. Voir aussi &&, opérateur (AND logique) ! Opérateur NOT logique ! expression Inverse la valeur booléenne d'une variable ou d'une expression. Si expression est une variable dont la valeur absolue ou convertie est true, la valeur de ! expression est false. Si l'expression x && y renvoie false, l'expression !(x && y) renvoie true. Les expressions suivantes illustrent le résultat de l'utilisation de l'opérateur logique NON (!) : ! true renvoie false ! false renvoie true Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression : Boolean - Expression ou variable qui renvoie une valeur booléenne. opérateurs 187 Valeur renvoyée Boolean - Résultat booléen de l'opération logique. Exemple Dans l'exemple suivant, la variable happy est définie sur false. La condition if évalue la condition !happy, et si elle est true, l'instruction trace() envoie une chaîne vers le panneau Sortie. var happy:Boolean = false; if (!happy) { trace("don't worry, be happy"); // Renvoie don't worry, be happy } L'instruction trace parce que !false égale true. Voir aussi Opérateur != (inégalité), Opérateur !== (inégalité stricte), &&, opérateur (AND logique), Opérateur || (OR logique), Opérateur == (égalité), Opérateur === (égalité stricte) Opérateur NOT non logique not expression Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur ! (logical NOT). Effectue une opération NOT logique (!) dans Flash Player 4. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression : Object - Variable ou autre expression qui se convertit en valeur booléenne. Valeur renvoyée Boolean - Résultat de l'opération logique. Voir aussi ! Opérateur NOT logique 188 Eléments du langage ActionScript Opérateur || (OR logique) expression1 || expression2 Evalue expression1 (l'expression située à gauche de l'opérateur) et renvoie true si cette expression est true. Si expression1 renvoie false, expression2 (l'expression située à droite de l'opérateur) est évaluée. Si expression2 renvoie false, le résultat final est false; sinon, le résultat est true. Si vous utilisez un appel de fonction en tant qu'expression2, la fonction ne sera pas exécutée par cet appel si expression1 renvoie true. Le résultat est true si l'une des expressions, voire les deux, renvoie(nt) true. Le résultat est false si et uniquement si les deux expressions renvoient false. Vous pouvez utiliser l'opérateur OR logique avec autant d'opérandes que nécessaire. Si l'un des opérandes renvoie true, le résultat est true. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne. expression2 : Number - Valeur booléenne ou expression qui se convertit en valeur booléenne. Valeur renvoyée Boolean - Résultat de l'opération logique. Exemple L'exemple suivant utilise l'opérateur OR logique ||) dans une instruction if. La deuxième expression renvoie true, par conséquent, le résultat final est true : var x:Number = 10; var y:Number = 250; var start:Boolean = false; if ((x > 25) || (y > 200) || (start)) { trace("the logical OR test passed"); // Renvoie : the logical OR test passed } Le message « the logical OR test passed » apparaît car l'une des conditions de l'instruction if est true (y>200). Bien que les deux autres expressions renvoient false, tant qu'une condition renvoie true, le bloc if s'exécute . opérateurs 189 L'exemple suivant illustre la façon dont des résultats inattendus peuvent être obtenus si vous utilisez un appel de fonction en tant qu'expression2. Si l'expression située à gauche de l'opérateur renvoie true, ce résultat est renvoyé sans évaluer l'expression située à droite (la fonction fx2() n'est pas appelée). function fx1():Boolean { trace("fx1 called"); return true; } function fx2():Boolean { trace("fx2 called"); return true; } if (fx1() || fx2()) { trace("IF statement entered"); } Les informations suivantes apparaissent dans le panneau de sortie : fonction fx1 appelée, instruction IF entrée Voir aussi ! Opérateur NOT logique, Opérateur != (inégalité), Opérateur !== (inégalité stricte), &&, opérateur (AND logique), Opérateur == (égalité), Opérateur === (égalité stricte) Opérateur OR ou logique condition1 or condition2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur || (logical OR). Evalue condition1 et condition2, et si l'une des deux expressions est true, l'expression entière est true. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes condition1 : Boolean - Expression à évaluer pour savoir si sa valeur est true ou false. condition2 : Boolean - Expression à évaluer pour savoir si sa valeur est true ou false. Valeur renvoyée Boolean 190 - Résultat de l'opération logique. Eléments du langage ActionScript Voir aussi Opérateur || (OR logique), | Opérateur OR au niveau du bit Opérateur % (modulo) expression1 % expression2 Calcule le reste de expression1 divisé par expression2. Si l'un des paramètres expression n'est pas numérique, l'opérateur modulo (%) tente de le convertir en nombre. L'expression peut être un nombre ou une chaîne à convertir en valeur numérique. Le signe du résultat de l'opération modulo correspond au signe du dividende (le premier nombre). Par exemple, -4 % 3 et -4 % -3 renvoient tous deux -1. Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans les fichiers Flash 4, l'opérateur % est développé dans le fichier SWF sous la forme x - int(x/y) * y et peut ne pas être aussi rapide ou précis que dans les versions précédentes de Flash Player. Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. Valeur renvoyée Number - Résultat de l'opération arithmétique. Exemple L'exemple numérique suivant utilise l'opérateur modulo (%) : trace(12%5); // Renvoie 2 trace(4,3%2,1); // Renvoie 0.0999999999999996 trace(4%4); // Renvoie 0 La première instruction trace renvoie 2, plutôt que 12/5 ou 2,4 car l'opérateur modulo (%) renvoie uniquement le reste. La deuxième instruction trace renvoie 0,0999999999999996 au lieu de la valeur 0,1 attendue en raison des limites d'exactitude des nombres à virgule flottante inhérentes au calcul binaire. Voir aussi Opérateur / (division), round (méthode Math.round) opérateurs 191 Opérateur %= (affectation modulo) expression1 %= expression2 Affecte à expression1 la valeur de expression1 % expression2. Les deux instructions suivantes sont équivalentes : x %= y; x = x % y; Disponibilité : ActionScript 1.0 ; Flash Player 4 - Dans les fichiers Flash 4, l'opérateur % est développé dans le fichier SWF sous la forme x - int(x/y) * y et peut ne pas être aussi rapide ou précis que dans les versions précédentes de Flash Player. Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. Valeur renvoyée Number - Résultat de l'opération arithmétique. Exemple L'exemple suivant affecte la valeur 4 à la variable x : var x:Number = 14; var y:Number = 5; trace(x = y); // Renvoie : 4 Voir aussi Opérateur % (modulo) Opérateur * (multiplication) expression1 * expression2 Multiplie deux expressions numériques. Lorsque les deux expressions sont des entiers, le produit est un entier. Lorsque l'une ou les deux expressions sont des nombres à virgule flottante, le produit est un nombre à virgule flottante. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. 192 Eléments du langage ActionScript Valeur renvoyée Number - Entier ou nombre à virgule flottante. Exemple Usage 1 : L'instruction suivante multiplie les entiers 2 et 3 : trace(2*3); // Renvoie : 6 Le résultat est 6 qui correspond à un entier. Usage 2 : Cette instruction multiplie les nombres à virgule flottante 2,0 et 3,1416 : trace(2,0*3,1416); // Renvoie : 6.2832 Le résultat est 6,2832 qui correspond à un nombre à virgule flottante. Opérateur *= (affectation de multiplication) expression1 *= expression2 Affecte à expression1 la valeur de expression1 * expression2. Par exemple, les deux expressions suivantes sont équivalentes : x *= y; x = x * y Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. Valeur renvoyée - Valeur de expression1 * expression2 . Si une expression ne peut pas être convertie en valeur numérique, elle renvoie NaN (non numérique). Number Exemple Usage 1 : L'exemple suivant affecte la valeur 50 à la variable x : var x:Number = 5; var y:Number = 10; trace(x *= y); // Renvoie : 50 opérateurs 193 Usage 2 : Les deuxième et troisième lignes de l'exemple suivant calculent les expressions situées à droite du signe égal et affectent les résultats à x et y : var i:Number = var x:Number = var y:Number = trace(x *= y); 5; 4 - 6; i + 2; // Renvoie : -14 Voir aussi Opérateur * (multiplication) Opérateur new new constructor() Crée un objet, initialement anonyme, et appelle la fonction identifiée par le paramètre constructor. L'opérateur new transmet à la fonction les paramètres facultatifs placés entre parenthèses, ainsi que le nouvel objet créé, référencé à l'aide du mot-clé this. La fonction constructor peut ensuite utiliser this pour définir les variables de l'objet. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes - Fonction suivie des paramètres facultatifs placés entre parenthèses. La fonction correspond généralement au nom du type d'objet (par exemple, Array, Number, ou Object) à construire. constructor : Object Exemple L'exemple suivant crée la fonction Book(), puis utilise l'opérateur new pour créer les objets book1 et book2. function Book(name, price){ this.name = name; this.price = price; } book1 = new Book("Confederacy of Dunces", 19.95); book2 = new Book("The Floating Opera", 10.95); L'exemple suivant utilise l'opérateur new pour créer un objet Array incluant 18 éléments : golfCourse_array = new Array(18); Voir aussi Opérateur d'accès au tableau [], Opérateur {} (initialiseur d'objet) 194 Eléments du langage ActionScript Opérateur ne n'est pas égal à (chaînes) expression1 ne expression2 Déconseillé depuis Flash Player 5. Cet opérateur a été déconseillé en faveur de l'opérateur != (inequality). Compare expression1 à expression2 et renvoie true si expression1 n'est pas égale à dans les autres cas. expression2, false Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes ou variables. expression2 : Object - Nombres, chaînes ou variables. Valeur renvoyée Boolean - Renvoie true si expression1 n'est pas égale à expression2 ; false sinon. Voir aussi Opérateur != (inégalité) Opérateur {} (initialiseur d'objet) object = { name1 : value1 , name2 : value2 ,... nameN : valueN } { expression1; [...expressionN]} Crée un objet et l'initialise avec les paires de propriétés spécifiées name et value. L'utilisation de cet opérateur a le même effet que la syntaxe new Object et le fait de compléter des paires de propriétés avec l'opérateur d'affectation. Le prototype du nouvel objet est génériquement appelé Object. Cet opérateur est également utilisé pour marquer des blocs de code contigus associés aux instructions de contrôle du flux (for, while, if, else, switch) et aux fonctions. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes - Objet à créer. name1,2,...N - Noms des propriétés. value1,2,...N Valeurs correspondantes pour chaque propriété name. object : Object Valeur renvoyée Object - opérateurs 195 Usage 1 : Un objet Object. Usage 2 : Rien, sauf lorsqu'une fonction renvoie une instruction return explicite, auquel cas le type renvoyé est spécifié lors de l'implémentation de la fonction. Exemple La première ligne du code suivant crée un objet vide à l'aide de l'opérateur ({}) initialiseur d'objet ; la deuxième ligne crée un nouvel objet à l'aide d'une fonction constructeur : var object:Object = {}; var object:Object = new Object(); L'exemple suivant crée un objet account et initialise les propriétés name, address, city, state, zip, et balance avec les valeurs suivantes : var account:Object = {name:"Adobe", address:"601 Townsend Street", city:"San Francisco", state:"California", zip:"94103", balance:"1000"}; for (i in account) { trace("account." + i + " = " + account[i]); } L'exemple suivant indique comment imbriquer un tableau et des initialiseurs d'objet : var person:Object = {name:"Gina Vechio", children:["Ruby", "Chickie", "Puppa"]}; L'exemple suivant utilise les informations de l'exemple précédent et permet d'obtenir le même résultat à l'aide des fonctions constructeur : var person:Object = new Object(); person.name = "Gina Vechio"; person.children = new Array(); person.children[0] = "Ruby"; person.children[1] = "Chickie"; person.children[2] = "Puppa"; L'exemple ActionScript précédent peut également être écrit au format suivant : var person:Object = new Object(); person.name = "Gina Vechio"; person.children = new Array("Ruby", "Chickie", "Puppa"); Voir aussi Object 196 Eléments du langage ActionScript Opérateur () (parenthèses) (expression1 [, expression2]) (expression1, expression2) function (parameter1,..., parameterN) Effectue une opération de regroupement sur un ou plusieurs paramètres, évalue les expressions de façon séquentielle ou entoure un ou plusieurs paramètres et les transmet en tant que paramètres à une fonction en dehors des parenthèses. Usage 1 : Contrôle l'ordre suivant lequel les opérateurs s'exécutent dans l'expression. Les parenthèses remplacent la séquence normale et entraînent l'évaluation des expressions entre parenthèses en premier. Lorsque les parenthèses sont imbriquées, le contenu entre les parenthèses de plus bas niveau est évalué en premier. Usage 2 : Evalue une série d'expressions, séparées par des virgules, dans la séquence et renvoie le résultat de l'expression finale. Usage 3 : Entoure un ou plusieurs paramètres et les transmet en tant que paramètres à la fonction située en dehors des parenthèses. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Object - Nombres, chaînes, variables ou texte. expression2 : Object - Nombres, chaînes, variables ou texte. function : Function - Fonction à exécuter sur le contenu des parenthèses. parameter1...parameterN : Object - Série de paramètres à exécuter avant de transmettre les résultats sous forme de paramètres à la fonction située en-dehors des parenthèses. Exemple Usage 1 : Les instructions suivantes illustrent l'utilisation de parenthèses afin de contrôler l'ordre dans lequel les expressions sont exécutées (la valeur de chaque expression apparaît dans le panneau de sortie) : trace((2 + 3)*(4 + 5)); // Renvoie : 45 trace((2 + 3)*(4 + 5)); // Renvoie : 45trace(2 + (3 * (4 + 5))); // écrit 29 trace(2 + (3 * (4 + 5))); // Renvoie : 29trace(2+(3*4)+5); // écrit 19 trace(2 + (3 * 4) + 5); // Renvoie : 19 Usage 2 : L'exemple suivant évalue la fonction foo(), puis la fonction bar() et renvoie le résultat de l'expression a + b : var a:Number = 1; var b:Number = 2; function foo() { a += b; } function bar() { b *= 10; } trace((foo(), bar(), a + b)); // Renvoie 23 opérateurs 197 Usage 3 : L'exemple suivant illustre l'utilisation des parenthèses avec des fonctions : var today:Date = new Date(); trace(today.getFullYear()); // Renvoie l'année en cours function traceParameter(param):Void { trace(param); } traceParameter(2 * 2); // Renvoie 4 Voir aussi Instruction with Opérateur === (égalité stricte) expression1 === expression2 Teste l'égalité de deux expressions ; l'opérateur d'égalité stricte (===) se comporte de la même façon que l'opérateur d'égalité (==), à la différence que les types de données ne sont pas convertis. Le résultat est true lorsque les deux expressions sont égales, types de données inclus. La définition de l'égalité dépend du type de données du paramètre : ■ ■ ■ Les nombres ou les valeurs booléennes sont considérés comme égaux lorsque leur valeur est identique. Les expressions de type String sont égales lorsqu'elles comportent le même nombre de caractères et que ces caractères sont identiques. Les variables représentant des objets, des tableaux et des fonctions sont comparées par référence. Deux variables sont égales lorsqu'elles font référence au même objet, au même tableau ou à la même fonction. Deux tableaux distincts ne sont jamais considérés comme égaux, même s'ils comportent le même nombre d'éléments. Disponibilité : ActionScript 1.0 ; Flash Player 6 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. Valeur renvoyée Boolean 198 - Résultat booléen de la comparaison. Eléments du langage ActionScript Exemple Les commentaires inclus dans le code suivant affichent la valeur renvoyée des opérations qui utilisent les opérateurs d'égalité et d'égalité stricte : // Les deux instructions renvoient true, car aucune conversion ne se produit var string1:String = "5"; var string2:String = "5"; trace(string1 == string2); // true trace(string1 === string2); // true // Le typage automatique des données convertit 5 en " 5 " dans cet exemple var string1:String = "5"; var num:Number = 5; trace(string1 == num); // true trace(string1 === num); // false // Le typage automatique des données convertit true en " 1 " dans cet // exemple var string1:String = "1"; var bool1:Boolean = true; trace(string1 == bool1); // true trace(string1 === bool1); // false // Le typage automatique des données convertit false en " 0 " dans cet // exemple var string1:String = "0"; var bool2:Boolean = false; trace(string1 == bool2); // true trace(string1 === bool2); // false Les exemples suivants illustrent la façon dont l'opérateur d'égalité stricte traite les références de variables différemment des variables incluant des valeurs littérales. C'est l'une des raisons pour laquelle il convient d'utiliser de façon systématique des littéraux de chaîne et d'éviter d'utiliser l'opérateur new avec la classe String. // Crée une variable de type chaîne à partir d'une valeur littérale var str:String = "asdf"; // Crée une variable qui est une référence var stringRef:String = new String("asdf"); // L'opérateur d'égalité ne fait pas de différence entre les littéraux, // les variables et les références trace(stringRef == "asdf"); // true trace(stringRef == str); // true trace("asdf" == str); // true // L'opérateur d'égalité stricte analyse les variables qui sont des // références par opposition aux littéraux et aux variables trace(stringRef === "asdf"); // false trace(stringRef === str); // false opérateurs 199 Voir aussi ! Opérateur NOT logique, Opérateur != (inégalité), Opérateur !== (inégalité stricte), &&, opérateur (AND logique), Opérateur || (OR logique), Opérateur == (égalité) Opérateur !== (inégalité stricte) expression1 !== expression2 Recherche l'inverse exact de l'opérateur d'égalité stricte (===). L'opérateur d'inégalité stricte opère de la même façon que l'opérateur d'inégalité, à la différence que le type de données n'est pas converti. Si expression1 est égale à expression2, et que leurs types de données sont égaux, le résultat est false. Comme pour l'opérateur d'égalité stricte (===), la définition de l'égalité dépend des types de données comparés, comme illustré dans la liste suivante : ■ Les valeurs booléennes, les nombres et les chaînes sont comparés en fonction de leur valeur. ■ Les objets, les tableaux et les fonctions sont comparés par référence. ■ Une variable est comparée par valeur ou par référence, en fonction de son type. Disponibilité : ActionScript 1.0 ; Flash Player 6 Opérandes expression1 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. expression2 : Object - Nombre, chaîne, valeur booléenne, variable, objet, tableau ou fonction. Valeur renvoyée Boolean - Résultat booléen de la comparaison. Exemple Les commentaires inclus dans le code suivant affichent la valeur renvoyée des opérations qui utilisent les opérateurs d'égalité (==), d'égalité stricte (===) et d'inégalité stricte (!==) : var s1:String = "5"; var s2:String = "5"; var s3:String = "Hello"; var n:Number = 5; var b:Boolean = true; trace(s1 == s2); // true 200 Eléments du langage ActionScript trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 == s3); // false == n); // true == b); // false === s2); // true === s3); // false === n); // false === b); // false !== s2); // false !== s3); // true !== n); // true !== b); // true Voir aussi ! Opérateur NOT logique, Opérateur != (inégalité), &&, opérateur (AND logique), Opérateur || (OR logique), Opérateur == (égalité), Opérateur === (égalité stricte) Opérateur " (séparateur de chaîne) " text" Lorsqu'ils entourent des caractères, les guillemets (") indiquent que ces caractères ont une valeur littérale et doivent être traités en tant que chaîne et non pas en tant que variable, valeur numérique ou tout autre élément ActionScript. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes text : String - Séquence de zéro ou de plusieurs caractères. Exemple L'exemple suivant utilise des guillemets (") pour indiquer que la valeur de la variable yourGuess est la chaîne littérale "Prince Edward Island", et non pas le nom d'une variable. La valeur province est une variable, et non un littéral ; pour déterminer la valeur de province, la valeur de yourGuess doit être déterminée. var yourGuess:String = "Prince Edward Island"; submit_btn.onRelease = function() { trace(yourGuess); }; // affiche Prince Edward Island Voir aussi String, Fonction String opérateurs 201 Opérateur - (soustraction) (Négation) -expression (Soustraction) expression1 - expression2 Utilisé pour la négation ou la soustraction. Usage 1 : Lorsque cet opérateur est utilisé pour la négation, il inverse le signe de l'expression numérique. Usage 2 : Lorsqu'il est utilisé pour la soustraction, il effectue une soustraction arithmétique sur deux expressions numériques, en soustrayant expression2 from expression1. Lorsque les deux expressions sont des entiers, la différence est un entier. Lorsque l'une ou les deux expressions sont des nombres à virgule flottante, la différence est un nombre à virgule flottante. Disponibilité : ActionScript 1.0 ; Flash Player 4 Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. Valeur renvoyée Number - Entier ou nombre à virgule flottante. Exemple Usage 1 : L'instruction suivante inverse le signe de l'expression 2 + 3 : trace(-(2+3)); // Renvoie : -5 Usage 2 : L'instruction suivante soustrait l'entier 2 de l'entier 5 : trace(5 -2); // Renvoie : 3 Le résultat est 3 qui correspond à un entier. Usage 3 : L'instruction suivante soustrait le nombre à virgule flottante 1,5 du nombre à virgule flottante 3,25 : trace(3,25 -1,5); // Renvoie : 1.75 Le résultat est 1,75 qui correspond à un nombre à virgule flottante. Opérateur -= (affectation de soustraction) expression1 -= expression2 Affecte à expression1 la valeur d'expression1 - expression2. Par exemple, les deux instructions suivantes sont équivalentes : x -= y ;x = x - y; Les expressions de type String doivent être converties en nombres. Sinon, NaN (non numérique) est renvoyé. Disponibilité : ActionScript 1.0 ; Flash Player 4 202 Eléments du langage ActionScript Opérandes expression1 : Number - Nombre ou expression évaluée sous forme de nombre. expression2 : Number - Nombre ou expression évaluée sous forme de nombre. Valeur renvoyée Number - Résultat de l'opération arithmétique. Exemple L'exemple suivant utilise l'opérateur (-=) d'affectation de soustraction pour soustraire 10 de 5 et affecte le résultat à la variable x : var x:Number = 5; var y:Number = 10; x -= y; trace(x); // Renvoie : -5 L'exemple suivant indique comment convertir des chaînes en nombres : var x:String = "5"; var y:String = "10"; x -= y; trace(x); // Renvoie : -5 Voir aussi Opérateur - (soustraction) : opérateur de type [ modifiers ] var variableName : type function functionName () : type { ... } function functionName (parameter1: type , ... , parameterN: type) [: type ]{ ... } Utilisé pour le typage strict des données ; cet opérateur spécifie le type de variable, le type de renvoi de la fonction ou le type de paramètre de la fonction. Lorsqu'il est utilisé dans une déclaration une affectation de variable, cet opérateur spécifie le type de variable. Lorsqu'il fait partie d'une déclaration ou une définition de fonction, cet opérateur spécifie le type de renvoi de la fonction. Lorsqu'il est utilisé avec un paramètre de fonction dans une définition de fonction, cet opérateur spécifie le type de variable attendu pour ce paramètre. Un type est une fonction de compilation uniquement. Tous les types sont vérifiés lors de la compilation et des erreurs sont générées en cas d'incompatibilité. Les incompatibilités peuvent se produire pendant les opérations d'affectation, les appels de fonction et les ruptures de référence des membres de classe avec l'opérateur (.). Pour éviter les erreurs liées aux incompatibilités, appliquez le typage strict des données. opérateurs 203 Les types utilisables incluent tous les types d'objet, les classes et les interfaces natifs que vous avez définis, ainsi que Function et Void. Les types natifs reconnus sont Boolean, Number et String. Toutes les classes intégrées sont également prises en charge en tant que types natifs. Disponibilité : ActionScript 1.0 ; Flash Player 6 Opérandes - Identificateur pour une variable. type - Type de données natif, nom de classe que vous avez défini ou nom d'interface. functionName - Identificateur pour une fonction. parameter - Identificateur pour un paramètre de fonction. variableName : Object Exemple Usage 1 : L'exemple suivant déclare une variable publique intitulée userName de type String et lui affecte une chaîne vide : var userName:String = ""; Usage 2 : L'exemple suivant indique comment spécifier le type de paramètre d'une fonction en définissant une fonction intitulée randomInt() qui prend un paramètre intitulé integer de type Number : function randomInt(integer:Number):Number { return Math.round(Math.random()*integer); } trace(randomInt(8)); Usage 3 : L'exemple suivant définit une fonction intitulée squareRoot() qui prend un paramètre intitulé val de type Number et renvoie la racine carrée de val, également de type Number : function squareRoot(val:Number):Number { return Math.sqrt(val); } trace(squareRoot(121)); Voir aussi Instruction var, Instruction function Opérateur typeof typeof(expression) Evalue l' expression et renvoie une chaîne spécifiant si l'expression est une valeur de type String, MovieClip, Object, Function, Number, ou Boolean. Disponibilité : ActionScript 1.0 ; Flash Player 5 204 Eléments du langage ActionScript Opérandes expression : Object - Chaîne, clip, bouton, objet ou fonction. Valeur renvoyée - Représentation sous forme de String du type d'expression. Le tableau suivant affiche les résultats de l'opérateur typeof pour chaque type d'expression. String Type d'expression Résultat String string Movie clip movieclip Button object Text field object Number number Boolean boolean Object object Function function Voir aussi Opérateur instanceof Opérateur void void expression L'opérateur void évalue une expression, puis supprime sa valeur, renvoyant undefined. L'opérateur void est souvent utilisé dans les comparaisons incluant l'opérateur == pour tester les valeurs non définies. Disponibilité : ActionScript 1.0 ; Flash Player 5 Opérandes expression : Object - Expression à évaluer. opérateurs 205 Instructions Les instructions sont des éléments de langage qui effectuent ou spécifient une action. Par exemple, l'instruction return renvoie un résultat sous forme de valeur de la fonction dans laquelle il s'exécute. L'instruction if évalue une condition pour déterminer l'action suivante à exécuter. L'instruction switch crée une structure arborescente pour les instructions ActionScript. Récapitulatif des instructions Instruction Description break Apparaît au sein d'une boucle (for , for..in, do..while ou while) ou dans un bloc d'instructions associées à un cas donné au sein d'une instruction switch. case Définit une condition pour l'instruction switch. class Définit une classe personnalisée, ce qui permet de créer des occurrences des objets qui partagent les méthodes et les propriétés que vous définissez. continue Ignore toutes les instructions restantes dans la boucle imbriquée de plus bas niveau et passe à l'itération suivante, comme si le contrôle avait été transmis à la fin de la boucle normalement. default Définit le cas par défaut d'une instruction switch. delete Détruit la référence d'objet spécifiée par le paramètre reference et renvoie true si la référence est supprimée correctement ; false sinon. do..while Semblable à une boucle while, à la différence que les instructions sont exécutées une fois avant l'évaluation initiale de la condition. dynamic Spécifie que les objets basés sur la classe spécifiée peuvent ajouter des propriétés dynamiques et y accéder pendant l'exécution. else Spécifie les instructions à exécuter si la condition incluse dans l'instruction ifrenvoie false. else if Evalue une condition et spécifie les instructions à exécuter si la condition incluse dans l'instruction if initiale renvoie false. extends Définit une classe qui est une sous-classe d'une autre classe, cette dernière formant la superclasse. for Evalue l'expression init (initialiser) une fois, puis amorce une séquence de bouclage. 206 Eléments du langage ActionScript Instruction Description for..in Répète en boucle les propriétés d'un objet ou d'éléments de tableau, puis exécute l'instruction statement pour chaque propriété ou élément. function Comprend un ensemble d'instructions que vous définissez pour effectuer une certaine tâche. get Autorise la lecture de propriétés associées aux objets sur la base des classes que vous avez définies dans les fichiers de classe externes. if Evalue une condition pour déterminer l'action suivante d'un fichier SWF. implements Spécifie qu'une classe doit définir toutes les méthodes déclarées dans l'interface (ou les interfaces) en cours d'implémentation. import Permet d'accéder aux classes sans spécifier leur nom complet, avec qualificatifs. interface Définit une interface. intrinsic Autorise la vérification des types lors de la compilation des classes définies précédemment. private Spécifie qu'une variable ou une fonction est disponible uniquement pour la classe qui la déclare ou la définit, ou pour les sous-classes de cette classe. public Spécifie qu'une variable ou une fonction est disponible à tout appelant. return Spécifie la valeur renvoyée par une fonction. set Autorise la définition implicite de propriétés associées aux objets sur la base des classes que vous avez définies dans les fichiers de classe externes. set variable Associe une valeur à une variable. static Spécifie qu'une variable ou une fonction n'est créée qu'une fois par classe et non pas créée dans chaque objet en fonction de cette classe. super Invoque la version superclass d'une méthode ou d'un constructeur. switch Crée une structure arborescente pour les instructions ActionScript. throw Génère ou renvoie une erreur qui peut être traitée ou interceptée par un bloc de code catch{}. try..catch..finally Entoure un bloc de code dans lequel une erreur peut se produire et être traitée. var Permet de déclarer des variables locales ou de scénario. Instructions 207 Instruction Description while Evalue une condition. Si cette condition renvoie true, exécute une instruction ou une série d'instructions avant de suivre la boucle et d'évaluer de nouveau la condition. with Permet de spécifier un objet (tel qu'un clip) avec le paramètre object et évalue les expressions et les actions au sein de cet objet avec le paramètre statement(s). Instruction break break Apparaît au sein d'une boucle (for , for..in, do..while ou while) ou dans un bloc d'instructions associées à un cas donné au sein d'une instruction switch. Lorsqu'elle est utilisée dans une boucle, l'instruction break force Flash à ignorer le reste du corps de la boucle, arrête l'action de la boucle et exécute l'instruction suivant l'instruction de bouclage. Lors de l'utilisation dans le cadre d'une instruction switch, l'instruction break force Flash à ignorer le reste des instructions de ce bloc case et passe à la première instruction suivant l'instruction switch qui l'encadre. Dans les boucles incorporées, l'instruction break ignore uniquement le reste de la boucle immédiate, sans sortir de la série de boucles incorporées. Pour sortir d'une série de boucles incorporées, voir try..catch..finally. Disponibilité : ActionScript 1.0 ; Flash Player 4 Exemple L'exemple suivant exploite l'instruction break pour fermer une boucle sans fin : var i:Number = 0; while (true) { trace(i); if (i >= 10) { break; // Cette instruction termine/quitte la boucle } i++; } ce qui permet de suivre les informations suivantes : 0 1 2 3 4 5 208 Eléments du langage ActionScript 6 7 8 9 10 Voir aussi Instruction for Instruction case case expression : statement(s) Définit une condition pour l'instruction switch. Si le paramètre expression est égal au paramètre expression de l'instruction switch en appliquant l'égalité stricte (===), Flash Player exécute les instructions du paramètre statement(s) jusqu'à ce qu'il détecte une instruction break ou la fin d'une instruction switch. Si vous exécutez l'instruction case en dehors d'une instruction switch, ceci produit une erreur et le script ne se compile pas. Remarque :Vous devez toujours compléter le paramètre statement(s) par une instruction break. Si vous omettez break statement dans le paramètre statement(s), l'exécution continue avec l'instruction case suivante au lieu de sortir de l'instruction switch. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres expression: String - Toute expression. Exemple L'exemple suivant définit les conditions de l'instruction switch thisMonth. Si thisMonth équivaut à l'expression de l'instruction case, l'instruction s'exécute. var thisMonth:Number = new Date().getMonth(); switch (thisMonth) { case 0 : trace("January"); break; case 1 : trace("February"); break; case 5 : case 6 : case 7 : trace("Some summer month"); Instructions 209 break; case 8 : trace("September"); break; default : trace("some other month"); } Voir aussi Instruction break Instruction class [dynamic] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { // Définition de classe ici } Définit une classe personnalisée, ce qui permet de créer des occurrences des objets qui partagent les méthodes et les propriétés que vous définissez. Par exemple, si vous développez un système de suivi de factures, vous pouvez créer une classe invoice (facturation) qui définit toutes les méthodes et propriétés communes à l'ensemble des factures. Vous pouvez alors exécuter la commande new invoice() pour créer des objets facture. Le nom de la classe doit correspondre au nom du fichier externe qui contient cette classe. Le nom du fichier externe doit être identique au nom de la classe auquel vient s'ajouter l'extension .as. Par exemple, si vous nommez une classe Stagiaire, le fichier qui définit la classe doit s'appeler Stagiaire.as. Si une classe appartient à un package, la déclaration de classe doit utiliser le nom de classe entièrement qualifié de la forme base.sub1.sub2.MyClass. De même, le fichier AS de la classe doit être stocké avec son chemin dans une structure d'adresse reflétant la structure du package, telle que base/sub1/sub2/MyClass.as. Si une définition de classe est de forme « class MyClass », elle est dans le package par défaut et le fichier MyClass.as doit se trouver au niveau supérieur d'une adresse dans le chemin. De ce fait, il est recommandé de planifier votre structure de répertoires avant de commencer la création de classes. En effet, si vous décidez de déplacer les fichiers de classe après leur création, vous devrez modifier les instructions de déclaration de classe pour indiquer leur nouvel emplacement. Vous ne pouvez pas incorporer des définitions de classe. En d'autres termes, vous ne pouvez pas définir de classes supplémentaires dans une définition de classe. 210 Eléments du langage ActionScript Pour indiquer que des objets peuvent ajouter des propriétés dynamiques pendant la période d'exécution et y accéder, faites précéder l'instruction class par un mot-clé dynamic. Pour déclarer qu'une classe implémente une interface, appliquez le mot-clé implements. Pour créer des sous-classes d'une classe, appliquez le mot-clé extends. (Une classe ne peut étendre qu'une seule autre classe, mais peut implémenter plusieurs interfaces.) Vous pouvez exécuter implements et extends au sein d'une instruction unique. Les exemples suivants présentent des exemples type des mots-clés implements et extends : class C implements Interface_i, Interface_j // Correct class C extends Class_d implements Interface_i, Interface_j // Correct class C extends Class_d, Class_e // Non correct Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres className: String - Nom de la classe avec tous ses attributs. Exemple L'exemple suivant crée une classe intitulée Plant. Le constructeur Plant réclame deux paramètres. // Nom de fichier Plant.as class Plant { // Définit les noms de propriété et les types var leafType:String; var bloomSeason:String; // La ligne suivante est un constructeur // car elle porte le même nom que la classe function Plant(param_leafType:String, param_bloomSeason:String) { // Affecte les valeurs transmises aux propriétés lorsque le nouvel objet // Plant est créé this.leafType = param_leafType; this.bloomSeason = param_bloomSeason; } // Crée des méthodes pour renvoyer des valeurs de propriété, dans la mesure // où la meilleure pratique // consiste à ne pas référencer directement la propriété d'une classe function getLeafType():String { return leafType; } function getBloomSeason():String { return bloomSeason; } } Instructions 211 Dans un fichier de script externe ou dans le panneau Actions, utilisez l'opérateur new pour créer un objet Plant. var pineTree:Plant = new Plant("Evergreen", "N/A"); // Confirme que les paramètres ont été passés correctement trace(pineTree.getLeafType()); trace(pineTree.getBloomSeason()); L'exemple suivant crée une classe intitulée ImageLoader. Le constructeur ImageLoader réclame trois paramètres. // Nom de fichier ImageLoader.as class ImageLoader extends MovieClip { function ImageLoader(image:String, target_mc:MovieClip, init:Object) { var listenerObject:Object = new Object(); listenerObject.onLoadInit = function(target) { for (var i in init) { target[i] = init[i]; } }; var JPEG_mcl:MovieClipLoader = new MovieClipLoader(); JPEG_mcl.addListener(listenerObject); JPEG_mcl.loadClip(image, target_mc); } } Dans un fichier de script externe ou dans le panneau Actions, utilisez l'opérateur new pour créer un objet ImageLoader. var jakob_mc:MovieClip = this.createEmptyMovieClip("jakob_mc", this.getNextHighestDepth()); var jakob:ImageLoader = new ImageLoader("http://www.helpexamples.com/flash/ images/image1.jpg", jakob_mc, {_x:10, _y:10, _alpha:70, _rotation:-5}); Voir aussi Instruction dynamic Instruction continue continue Ignore toutes les instructions restantes dans la boucle imbriquée de plus bas niveau et passe à l'itération suivante, comme si le contrôle avait été transmis à la fin de la boucle normalement. Elle n'a aucun effet en dehors d'une boucle. Disponibilité : ActionScript 1.0 ; Flash Player 4 212 Eléments du langage ActionScript Exemple Dans la boucle while suivante, l'instruction continue force l'interpréteur Flash à ignorer le reste du corps de la boucle et à passer au début de la boucle, où la condition est testée : trace("example 1"); var i:Number = 0; while (i < 10) { if (i % 3 == 0) { i++; continue; } trace(i); i++; } Dans la boucle do..while suivante, l'instruction continue force l'interpréteur Flash à ignorer le reste du corps de la boucle et à passer au début de la boucle, où la condition est testée : trace("example 2"); var i:Number = 0; do { if (i % 3 == 0) { i++; continue; } trace(i); i++; } while (i < 10); Dans une boucle for, l'instruction continue force l'interpréteur Flash à ignorer le reste du corps de la boucle. Dans l'exemple suivant, si le modulo i 3 est égal à 0, l'instruction trace(i) est ignorée : trace("example 3"); for (var i = 0; i<10; i++) { if (i % 3 == 0) { continue; } trace(i); } Dans la boucle for..in suivante, l'instruction continue force l'interpréteur Flash à ignorer le reste du corps de la boucle et à passer de nouveau au début de la boucle, où la valeur suivante de l'énumération est traitée : for (i in _root) { if (i == "$version") { continue; } Instructions 213 trace(i); } Voir aussi Instruction do..while Instruction default default: statements Définit le cas par défaut d'une instruction switch. Les instructions s'exécutent si le paramètre expression de l'instruction switch n'est pas égal (en appliquant l'opération d'égalité stricte [ ===]) à l'un des paramètres expression qui suivent les mots-clés case d'une instruction switch donnée. L'instruction switch ne doit pas nécessairement inclure l'instruction case par default. L'instruction case par default ne doit pas nécessairement figurer en fin de liste. Si vous exécutez l'instruction default en dehors d'une instruction switch, ceci produit une erreur et le script ne se compile pas. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres statements: String - Toute instruction. Exemple Dans l'exemple suivant, l'expression A n'est pas égale aux expressions B ou D, donc l'instruction suivant le mot clé default est exécutée et l'instruction trace() est envoyée vers le panneau Sortie. var dayOfWeek:Number = new Date().getDay(); switch (dayOfWeek) { case 1 : trace("Monday"); break; case 2 : trace("Tuesday"); break; case 3 : trace("Wednesday"); break; case 4 : trace("Thursday"); break; case 5 : trace("Friday"); 214 Eléments du langage ActionScript break; default : trace("Weekend"); } Voir aussi Instruction switch Instruction delete delete reference Détruit la référence d'objet spécifiée par le paramètre reference et renvoie true si la référence est supprimée correctement ; false sinon. Cet opérateur permet de libérer la mémoire utilisée par les scripts. Vous pouvez exploiter l'opérateur delete pour supprimer des références à des objets. Une fois toutes les références à un objet supprimées, Flash Player supprime cet objet et libère la mémoire qu'il utilise. Bien que delete soit un opérateur, il est généralement employé en tant qu'instruction, comme indiqué dans l'exemple suivant : delete x; L'opérateur delete peut échouer et renvoyer false si le paramètre reference n'existe pas ou ne peut pas être supprimé. L'instruction var ne vous permet pas de supprimer d'objets et de propriétés prédéfinis, ni de variables déclarées au sein d'une fonction. Vous ne pouvez pas utiliser l'opérateur delete pour supprimer des clips. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Boolean - Valeur booléenne. Paramètres reference: Object - Nom de la variable ou de l'objet à éliminer. Exemple Usage 1 : L'exemple suivant crée un objet, l'utilise, puis le supprime lorsqu'il n'est plus requis : var account:Object = new Object(); account.name = "Jon"; account.balance = 10000; trace(account.name); // Renvoie : Jon delete account; trace(account.name); // Renvoie : non défini Instructions 215 Usage 2 : L'exemple suivant supprime une propriété d'un objet : // Création de l'objet " account " var account:Object = new Object(); // Affectation du nom de propriété à account account.name = "Jon"; // Suppression de la propriété delete account.name; Usage 3 : L'exemple suivant supprime une propriété d'objet : var my_array:Array = new Array(); my_array[0] = "abc"; // my_array.length == 1 my_array[1] = "def"; // my_array.length == 2 my_array[2] = "ghi"; // my_array.length == 3 // my_array[2] est supprimé, mais Array.length n'est pas modifié delete my_array[2]; trace(my_array.length); // Renvoie : 3 trace(my_array); // Renvoie : abc,def,undefined Usage 4 : L'exemple suivant illustre le comportement de l'instruction delete sur des références à un objet : var ref1:Object = new Object(); ref1.name = "Jody"; // Copie la variable de référence dans une nouvelle variable // et supprime ref1 ref2 = ref1; delete ref1; trace("ref1.name "+ref1.name); // Renvoie : ref1.name undefined trace("ref2.name "+ref2.name); // Renvoie : ref2.name Jody Si ref1 n'avait pas été copié dans ref2, l'objet aurait été supprimé au moment de la suppression de ref1 car il ne contient aucune référence. Si vous supprimez ref2, il n'existe aucune référence à l'objet ; celui-ci sera détruit et la mémoire qu'il utilisait devient disponible. Usage 5 : L'exemple suivant montre comment la valeur booléenne renvoyée par delete peut être utilisée en tant que condition pour une exécution de code future. Si un élément a déjà été supprimé, rappeler delete sur cet élément renvoie false. var my_array:Array = [ "abc", "def", "ghi" ]; var deleteWasSuccessful:Boolean deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[1]; deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[2]; trace(my_array) // Renvoie : undefined,undefined,ghi Voir aussi Instruction var 216 Eléments du langage ActionScript Instruction do..while do { statement(s) } while (condition) Semblable à une boucle while, à la différence que les instructions sont exécutées une fois avant l'évaluation initiale de la condition. Par conséquent, les instructions ne sont exécutées que si la condition renvoie true. La boucle do..while permet de s'assurer que le code de la boucle s'exécute au moins une fois. Bien que ceci puisse également se faire avec une boucle while en plaçant une copie des instructions à exécuter avant le début de la boucle while, de nombreux programmeurs trouvent les boucles do..while plus faciles à lire. Si la condition renvoie toujours true, la boucle do..while est infinie. Si vous activez une boucle infinie, vous subirez des problèmes au niveau de Flash Player et recevrez un message d'avertissement, voire subirez un arrêt du lecteur. Dans la mesure du possible, utilisez une boucle for si vous connaissez le nombre de répétitions de la boucle. Bien que les boucles for soient plus faciles à lire et déboguer, elles ne sont pas totalement interchangeables avec les boucles do..while. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres - Condition à évaluer. Les instructions statement(s) à l'intérieur du bloc de code do sont exécutées tant que le paramètre condition renvoie true . condition: Boolean Exemple L'exemple suivant utilise une boucle do..while afin de déterminer si une condition a la valeur true, et suit myVar jusqu'à ce que la valeur de myVar soit supérieure à 5. Lorsque la valeur de myVar est supérieure à 5, la boucle se termine. var myVar:Number = 0; do { trace(myVar); myVar++; } while (myVar < 5); /* Renvoie : 0 1 2 3 4 */ Instructions 217 Voir aussi Instruction break Instruction dynamic dynamic class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { // Définition de classe ici } Spécifie que les objets basés sur la classe spécifiée peuvent ajouter des propriétés dynamiques et y accéder pendant l'exécution. La vérification du type des classes dynamiques est moins stricte que pour les classes non dynamiques, dans la mesure où les membres sollicités au sein de la définition de classe et dans les occurrences de classe ne sont pas comparées à celles qui sont définies dans le domaine de la classe. Les fonctions des membres de la classe, cependant, peuvent toujours faire l'objet d'une vérification du type de renvoi ou de paramètre. Ce comportement est particulièrement utile lorsque vous travaillez avec des objets MovieClip, dans la mesure où il existe de nombreuses façons d'ajouter de façon dynamique des propriétés et des objets à un clip, telles que MovieClip.createEmptyMovieClip() et MovieClip.createTextField(). Les sous-classes des classes dynamiques sont également des classes dynamiques. Spécifiez bien le type lors de la déclaration d'un objet, comme ci-dessous : var x:MyClass = new MyClass(); Si vous ne spécifiez pas le type lors de la déclaration d'un objet (comme ci-dessous), l'objet est alors considéré comme dynamique : var x = new MyClass(); Disponibilité : ActionScript 2.0 ; Flash Player 6 Exemple Dans l'exemple suivant, la classe Person2 n'a pas encore été définie comme étant dynamique ; par conséquent, l'appel d'une fonction non déclarée sur celle-ci génère une erreur lors de la compilation : class Person2 { var name:String; var age:Number; function Person2(param_name:String, param_age:Number) { trace ("anything"); this.name = param_name; this.age = param_age; } } 218 Eléments du langage ActionScript Dans un fichier FLA ou AS qui se trouve dans le même répertoire, ajoutez le code ActionScript suivant à l'image 1 sur le scénario : // Avant l'ajout de dynamic var craig:Person2 = new Person2("Craiggers", 32); for (i in craig) { trace("craig." + i + " = " + craig[i]); } /* Renvoie : craig.age = 32 craig.name = Craiggers */ Si vous ajoutez une fonction non déclarée, dance, une erreur est générée, comme indiqué dans l'exemple suivant : trace(""); craig.dance = true; for (i in craig) { trace("craig." + i + " = " + craig[i]); } /* Renvoie : **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 14: There is no property with the name 'dance'. craig.dance = true; Total ActionScript Errors: 1 Reported Errors: 1 */ Ajoutez le mot-clé dynamic à la classe Person2, de manière à ce que la première ligne s'affiche comme suit : dynamic class Person2 { Testez le code de nouveau ; vous obtenez le code suivant : craig.dance = true craig.age = 32 craig.name = Craiggers Voir aussi Instruction class Instruction else if (condition){ statement(s); } else { statement(s); } Spécifie les instructions à exécuter si la condition incluse dans l'instruction ifrenvoie false. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction else doit exécuter, peuvent être omises si une seule instruction doit s'exécuter. Disponibilité : ActionScript 1.0 ; Flash Player 4 Instructions 219 Paramètres condition: Boolean - Expression à évaluer pour savoir si sa valeur est true ou false. Exemple Dans l'exemple suivant, la condition else est utilisée afin de vérifier si la variable age_txt est supérieure ou inférieure à 18 : if (age_txt.text>=18) { trace("welcome, user"); } else { trace("sorry, junior"); userObject.minor = true; userObject.accessAllowed = false; } Dans l'exemple suivant, les accolades (({})) ne sont pas nécessaires car une seule instruction suit l'instruction else : if (age_txt.text>18) { trace("welcome, user"); } else trace("sorry, junior"); Voir aussi Instruction if Instruction else if if (condition){ statement(s); } else if(condition) { statement(s); } Evalue une condition et spécifie les instructions à exécuter si la condition incluse dans l'instruction if initiale renvoie false. Lorsque la condition else if renvoie true, l'interpréteur Flash exécute les instructions qui suivent la condition entre accolades ({}). Si la condition else if est false, Flash ignore les instructions entre accolades et exécute les instructions qui suivent ces accolades. Utilisez l'instruction else if pour créer des arborescences logiques dans vos scripts. En présence de plusieurs branches, envisagez l'utilisation d'une instruction switch. Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres condition: Boolean 220 - Expression à évaluer pour savoir si sa valeur est true ou false. Eléments du langage ActionScript Exemple L'exemple suivant utilise des instructions else if pour comparer score_txt à une valeur spécifiée : if (score_txt.text>90) { trace("A"); } else if (score_txt.text>75) { trace("B"); } else if (score_txt.text>60) { trace("C"); } else { trace("F"); } Voir aussi Instruction if Instruction extends class className extends otherClassName {} interface interfaceName extends otherInterfaceName {} Définit une classe qui est une sous-classe d'une autre classe, cette dernière formant la superclasse. La sous-classe hérite de toutes les méthodes, propriétés, fonctions, etc. qui sont définies dans la superclasse. Les interfaces peuvent également être développées avec le mot clé extends. Une interface qui développe une autre interface reprend toutes les déclarations de méthode de l'interface d'origine. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres className: String - Nom de la classe en cours de définition. Exemple Dans l'exemple suivant, la classe Car étend la classe Vehicle de manière à ce que toutes ses méthodes, propriétés et fonctions soient héritées. Si votre script instancie un objet Car, les méthodes de la classe Car et de la classe Vehicle peuvent être utilisées. Instructions 221 L'exemple suivant affiche le contenu d'un fichier intitulé Vehicle.as, qui définit la classe Vehicle : class Vehicle { var numDoors:Number; var color:String; function Vehicle(param_numDoors:Number, param_color:String) { this.numDoors = param_numDoors; this.color = param_color; } function start():Void { trace("[Vehicle] start"); } function stop():Void { trace("[Vehicle] stop"); } function reverse():Void { trace("[Vehicle] reverse"); } } L'exemple suivant affiche un deuxième fichier AS, intitulé Car.as, dans le même répertoire. Cette classe étend la classe Vehicle, la modifiant de trois façons. D'abord, la classe Car ajoute une variable fullSizeSpare afin de déterminer si, oui ou non, l'objet car est doté d'un pneu de secours de taille normale. Ensuite, elle ajoute une nouvelle méthode spécifique aux voitures, activateCarAlarm(), permettant d'activer l'alarme antivol de la voiture. Enfin, elle remplace la fonction stop() pour spécifier que la classe Car utilise un système de frein antiblocage pour s'arrêter. class Car extends Vehicle { var fullSizeSpare:Boolean; function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) { this.numDoors = param_numDoors; this.color = param_color; this.fullSizeSpare = param_fullSizeSpare; } function activateCarAlarm():Void { trace("[Car] activateCarAlarm"); } function stop():Void { trace("[Car] stop with anti-lock brakes"); } } 222 Eléments du langage ActionScript L'exemple suivant instancie un objet Car, appelle une méthode définie dans la classe Vehicle (start()), puis celle remplacée par la classe Car (stop()) ; il appelle enfin une méthode de la classe Car (activateCarAlarm()) : var myNewCar:Car = new Car(2, "Red", true); myNewCar.start(); // Renvoie : [Vehicle] start myNewCar.stop(); // Renvoie : [Car] stop with anti-lock brakes myNewCar.activateCarAlarm(); // Renvoie : [Car] activateCarAlarm Une sous-classe de la classe Vehicle peut également être écrite à l'aide du mot-clé super que la sous-classe peut utiliser pour accéder aux propriétés et méthodes de la superclasse. L'exemple suivant affiche un troisième fichier AS, intitulé Truck.as, une fois encore dans le même répertoire. La classe Truck utilise le mot-clé super dans le constructeur et, de nouveau, dans la fonction reverse() remplacée. class Truck extends Vehicle { var numWheels:Number; function Truck(param_numDoors:Number, param_color:String, param_numWheels:Number) { super(param_numDoors, param_color); this.numWheels = param_numWheels; } function reverse():Void { beep(); super.reverse(); } function beep():Void { trace("[Truck] make beeping sound"); } } L'exemple suivant instancie un objet Truck, appelle une méthode remplacée par la classe Truck (reverse()), puis une méthode définie dans la classe Vehicle (stop()) : var myTruck:Truck = new Truck(2, "White", 18); myTruck.reverse(); // Renvoie : [Truck] make beeping sound [Vehicle] reverse myTruck.stop(); // Renvoie : [Vehicle] stop Voir aussi Instruction class Instructions 223 Instruction for for(init; condition; next) { statement(s); } Evalue l'expression init (initialiser) une fois, puis amorce une séquence de bouclage. La séquence de bouclage commence par évaluer l'expression condition. Si l'expression condition renvoie true, l'instruction statement s'exécute et l'expression next est évaluée. La séquence de bouclage reprend par l'évaluation de l'expression condition. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction for doit exécuter, peuvent être omises si une seule instruction doit s'exécuter. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres init - Expression à évaluer avant d'amorcer la séquence de bouclage ; généralement une expression d'affectation. Ce paramètre autorise également une instruction var. Exemple L'exemple suivant utilise l'instruction for pour ajouter les éléments dans un tableau : var my_array:Array = new Array(); for (var i:Number = 0; i < 10; i++) { my_array[i] = (i + 5) * 10; } trace(my_array); // Renvoie : 50,60,70,80,90,100,110,120,130,140 L'exemple suivant utilise l'instruction for pour effectuer la même action à plusieurs reprises. Dans le code, la boucle for ajoute les nombres de 1 à 100. var sum:Number = 0; for (var i:Number = 1; i <= 100; i++) { sum += i; } trace(sum); // Renvoie : 5050 L'exemple suivant montre que les accolades ({}) ne sont pas nécessaires si une seule instruction s'exécute : var sum:Number = 0; for (var i:Number = 1; i <= 100; i++) sum += i; trace(sum); // Renvoie : 5050 Voir aussi Opérateur ++ (incrément) 224 Eléments du langage ActionScript Instruction for..in for (variableIterant in object) { statement(s); } Répète en boucle les propriétés d'un objet ou d'éléments de tableau, puis exécute l'instruction statement pour chaque propriété ou élément. Les méthodes d'un objet ne sont pas énumérées par l'action for..in. Certaines propriétés ne peuvent pas être énumérées par l'action for..in. Par exemple, les propriétés de clip, telles que _x et_y, ne sont pas énumérées. Dans les fichiers de classe externes, les membres statiques ne peuvent pas être énumérés, contrairement aux membres d'occurrences. L'instruction for..in itère sur des propriétés des objets du chaînage de prototype de l'objet itéré. Les propriétés de l'objet sont énumérées en premier, puis les propriétés de son prototype immédiat, puis les propriétés du prototype du prototype, etc. Elle itère sur les propriétés dans le sens inverse de l'index. L'instruction for..in n'énumère pas le même nom de propriété deux fois. Si l'objet child comporte un prototype parent et que tous deux contiennent la propriété prop, l'instruction for..in appelée pour child énumère les propriétés prop de child, mais ignore celles de parent. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction for..in doit exécuter, peuvent être omises si une seule instruction doit s'exécuter. Si vous écrivez une boucle for..in dans un fichier de classe (un fichier externe AS), les membres d'instance ne seront plus disponibles pour la boucle, contrairement aux membres statiques. Cependant, si vous écrivez une boucle for..in dans un fichier FLA pour une occurrence de la classe, les membres de l'occurrence restent disponibles, contrairement aux membres statiques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - Nom d'une variable devant servir d'itération, référençant chaque propriété d'un objet ou d'un élément dans un tableau. variableIterant: String Exemple L'exemple suivant utilise une boucle for..in sur les propriétés d'un objet : var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; for (var prop in myObject) { trace("myObject."+prop+" = "+myObject[prop]); } // Renvoie Instructions 225 myObject.firstName = Tara myObject.age = 27 myObject.city = San Francisco L'exemple suivant utilise une boucle for..in sur les éléments d'un tableau : var myArray:Array = new Array("one", "two", "three"); for (var index in myArray) trace("myArray["+index+"] = " + myArray[index]); // Renvoie : myArray[2] = three myArray[1] = two myArray[0] = one L'exemple suivant utilise l'opérateur typeof conjointement avec for..in pour faire une itération sur un type d'enfant particulier : for (var name in this) { if (typeof (this[name]) == "movieclip") { trace("I have a movie clip child named "+name); } } Remarque :Si vous disposez de plusieurs clips, le code obtenu inclut leurs noms d'occurrence. L'exemple suivant énumère les enfants d'un clip et les envoie à l'image 2 de leurs scénarios respectifs. Le clip RadioButtonGroup est un parent ayant trois enfants : _RedRadioButton_, _GreenRadioButton_, et _BlueRadioButton_. for (var name in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); } Instruction function Usage 1 : (Déclare une fonction nommée.) function functionname([ parameter0, parameter1,... parameterN]){ statement(s) } Usage 2 : (Déclare une fonction anonyme et renvoie une référence à cette dernière.) function ([ parameter0, parameter1,... parameterN]){ statement(s) } Comprend un ensemble d'instructions que vous définissez pour effectuer une certaine tâche. Vous pouvez définir une fonction à un emplacement et l'appeler à partir de différents scripts dans un fichier SWF. Lorsque vous définissez une fonction, vous pouvez également spécifier des paramètres pour la fonction. Les paramètres sont des espaces réservés pour les valeurs sur lesquelles la fonction opère. Vous pouvez passer différents paramètres à une fonction lors de chaque appel, de façon à pouvoir utiliser une fonction dans différentes situations. 226 Eléments du langage ActionScript Utilisez le paramètre return dans le paramètre statement(s) d'une fonction pour que cette dernière génère ou renvoie une valeur. Vous pouvez utiliser cette instruction pour définir une function ayant les paramètres spécifiés functionname, parameters et statement(s). Lorsqu'un script appelle une fonction, les instructions figurant dans la définition de la fonction s'exécute. Les références anticipées sont autorisées. Dans un script, une fonction peut être déclarée après son appel. Une définition de fonction remplace toute définition précédente de la même fonction. Vous pouvez utiliser cette syntaxe dans toutes les circonstances où une instruction est autorisée. Vous pouvez également utiliser cette instruction pour créer une fonction anonyme et lui renvoyer une référence. Cette syntaxe est utilisée dans des expressions et est particulièrement utile pour l'installation des méthodes dans les objets. Pour bénéficier de fonctionnalités supplémentaires, vous pouvez utiliser l'objet arguments dans votre définition de fonction. Certaines utilisations communes de l'objet arguments créent une fonction qui accepte un nombre variable de paramètres et créent une fonction anonyme récursive. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Usage 1 : Le formulaire de déclaration ne doit rien renvoyer. Usage 2 : référence à la fonction anonyme. Paramètres functionname: String - Nom de la fonction déclarée. Exemple L'exemple suivant définit la fonction sqr qui accepte un paramètre et renvoie la valeur Math.pow(x, 2) du paramètre : function sqr(x:Number) { return Math.pow(x, 2); } var y:Number = sqr(3); trace (y); // Renvoie : 9 Si la fonction est définie et utilisée dans le même script, la définition de fonction peut apparaître lorsque vous l'avez utilisée : var y:Number = sqr(3); trace (y); // Renvoie : 9 function sqr(x:Number) { return Math.pow(x, 2); } Instructions 227 La fonction suivante crée un objet LoadVars et charge params.txt dans le fichier SWF. Si le chargement du fichier réussit, variables loaded est renvoyé : var myLV:LoadVars = new LoadVars(); myLV.load("params.txt"); myLV.onLoad = function(success:Boolean) { trace("variables loaded"); } Instruction get function get property () { // Vos instructions ici } Autorise la lecture de propriétés associées aux objets sur la base des classes que vous avez définies dans les fichiers de classe externes. L'utilisation de méthodes get implicites permet d'accéder aux propriétés des objets sans accéder à la propriété directement. Les méthodes get/ set implicites sont des abréviations syntaxiques de la méthode Object.addProperty() dans ActionScript 1.0. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres - Mot que vous utilisez pour faire référence à la propriété qui est lue par ; cette valeur doit être identique à celle utilisée dans la commande set correspondante. property: String get Exemple Dans l'exemple suivant, vous définissez une classe Team. La classe Team inclut les méthodes get/set qui vous permettent de récupérer et de définir les propriétés au sein de la classe : class Team { var teamName:String; var teamCode:String; var teamPlayers:Array = new Array(); function Team(param_name:String, param_code:String) { this.teamName = param_name; this.teamCode = param_code; } function get name():String { return this.teamName; } function set name(param_name:String):Void { this.teamName = param_name; } } 228 Eléments du langage ActionScript Entrez le code ActionScript suivant dans une image du scénario : var giants:Team = new Team("San Fran", "SFO"); trace(giants.name); giants.name = "San Francisco"; trace(giants.name); /* Renvoie : San Fran San Francisco */ Lorsque vous appliquez une instruction trace à giants.name, vous utilisez la méthode get pour renvoyer la valeur de la propriété. Voir aussi addProperty (méthode Object.addProperty) Instruction if if (condition){ statement(s); } Evalue une condition pour déterminer l'action suivante d'un fichier SWF. Lorsque cette condition est true, Flash exécute les instructions qui suivent la condition entre accolades ({}). Si la condition est false, Flash ignore les instructions entre accolades et exécute les instructions qui suivent ces accolades. Utilisez l'instruction if en conjonction avec les instructions else et else if pour introduire une arborescence logique dans vos scripts. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction doit exécuter, peuvent être omises si une seule instruction doit s'exécuter. if Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres condition: Boolean - Expression à évaluer pour savoir si sa valeur est true ou false. Exemple Dans l'exemple suivant, la condition placée entre parenthèses évalue le nom name de la variable afin de déterminer s'il a la valeur littérale "Erica". Si tel est le cas, la fonction play() placée entre accolades s'exécute. if(name == "Erica"){ play(); } Instructions 229 L'exemple suivant utilise une instruction if pour évaluer le temps nécessaire à un utilisateur pour cliquer sur l'occurrence submit_btn d'un fichier SWF. Si l'utilisateur clique sur le bouton plus de 10 secondes après le début de la lecture du fichier SWF, la condition renvoie true et le message placé entre accolades ({}) apparaît dans un champ texte créé lors de l'exécution (via createTextField()). Si l'utilisateur clique sur le bouton moins de 10 secondes après le début de la lecture du fichier SWF, la condition renvoie false et un message différent apparaît. this.createTextField("message_txt", this.getNextHighestDepth, 0, 0, 100, 22); message_txt.autoSize = true; var startTime:Number = getTimer(); this.submit_btn.onRelease = function() { var difference:Number = (getTimer() - startTime) / 1000; if (difference > 10) { this._parent.message_txt.text = "Not very speedy, you took "+difference+" seconds."; } else { this._parent.message_txt.text = "Very good, you hit the button in "+difference+" seconds."; } }; Voir aussi Instruction else Instruction implements myClass implements interface01 [, interface02 , ...] Spécifie qu'une classe doit définir toutes les méthodes déclarées dans l'interface (ou les interfaces) en cours d'implémentation. Disponibilité : ActionScript 2.0 ; Flash Player 6 Exemple Reportez-vous à la section interface. Voir aussi Instruction class 230 Eléments du langage ActionScript Instruction import import className import packageName.* Permet d'accéder aux classes sans spécifier leur nom complet, avec qualificatifs. Par exemple, si vous souhaitez utiliser une classe personnalisée, telle que macr.util.users.UserClass, dans un script, vous devez y faire référence avec son nom suivi de tous ses attributs ou l'importer. Si vous l'importez, vous pouvez y faire référence avec le nom de classe : // Avant l'importation var myUser:macr.util.users.UserClass = new macr.util.users.UserClass(); // Après l'importation import macr.util.users.UserClass; var myUser:UserClass = new UserClass(); Lorsque le package contient plusieurs fichiers de classe (working_directory /macr/utils/ users) auxquels vous devez accéder, vous pouvez les importer tous dans une instruction unique, comme indiqué dans l'exemple suivant : import macr.util.users.*; Vous devez émettre l'instruction import avant de tenter d'accéder à la classe importée sans spécifier l'ensemble du nom. Si vous importez une classe, mais ne l'utilisez pas dans votre script, cette dernière n'est pas exportée avec le fichier SWF. Ceci signifie que vous pouvez importer des packages volumineux sans vous soucier de la taille du fichier SWF. Le pseudo-code binaire associé à une classe n'est inclus dans un fichier SWF que si cette classe est véritablement utilisée. L'instruction import s'applique uniquement au script courant (image ou objet) dans lequel elle est appelée. Par exemple, supposons que vous deviez importer l'ensemble des classes du package macr.util dans l'image 1 d'un document Flash. Dans cette image, vous pouvez faire référence aux classes de ce package par leur nom simple : // Sur l'image 1 d'un FLA : import macr.util.*; var myFoo:foo = new foo(); Dans un autre script d'image, cependant, vous devez faire référence aux classes de ce package par leur nom suivi de tous leurs attributs (var myFoo:foo = new macr.util.foo();) ou ajouter une instruction import à l'image qui importe les classes dans ce package. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres className: String - Nom qualifié d'une classe définie dans un fichier de classe externe. Instructions 231 Instruction interface interface InterfaceName [extends InterfaceName ] {} Définit une interface. Une interface est similaire à une classe. Les différences fondamentales sont regroupées ci-dessous : ■ ■ ■ Les interfaces contiennent uniquement les déclarations des méthodes, pas leur implémentation. Ainsi, toute classe qui implémente une interface doit fournir une implémentation pour chaque méthode déclarée dans l'interface. Seuls les membres publics sont autorisés dans la définition d'une interface. Les instances et les membres de classe ne sont pas permis. Les instructions get et set ne sont pas autorisées dans les définitions d'interface. Disponibilité : ActionScript 2.0 ; Flash Player 6 Exemple L'exemple suivant présente plusieurs façons de définir et d'implémenter des interfaces : (in top-level package .as files Ia, B, C, Ib, D, Ic, E) // Nom de fichier la.as interface Ia { function k():Number; // Déclaration de méthode uniquement function n(x:Number):Number; // Sans implémentation } // Nom de fichier B.as class B implements Ia { function k():Number { return 25; } function n(x:Number):Number { return x + 5; } } // Script externe ou fichier script dans le panneau Actions var mvar:B = new B(); trace(mvar.k()); // 25 trace(mvar.n(7)); // 12 // Nom de fichier c.as class C implements Ia { function k():Number { return 25; } } // Erreur : la classe doit implémenter toutes les méthodes d'interface // Nom de fichier lb.as interface Ib { function o():Void; } class D implements Ia, Ib { function k():Number { 232 Eléments du langage ActionScript return 15; } function n(x:Number):Number { return x * x; } function o():Void { trace("o"); } } // Script externe ou fichier script dans le panneau Actions mvar = new D(); trace(mvar.k()); // 15 trace(mvar.n(7)); // 49 trace(mvar.o()); // "o" interface Ic extends Ia { function p():Void; } class E implements Ib, Ic { function k():Number { return 25; } function n(x:Number):Number { return x + 5; } function o():Void { trace("o"); } function p():Void { trace("p"); } } Voir aussi Instruction class instruction intrinsic intrinsic class className [extends superClass] [implements interfaceName [, interfaceName...] ] { // Définition de classe ici } Autorise la vérification des types lors de la compilation des classes définies précédemment. Flash utilise des déclarations de classe intrinsèques pour permettre la vérification des types de classes intégrées tels que Array, Object et String lors de la compilation. Ce mot-clé indique au compilateur qu'aucune implémentation de fonction n'est requise et qu'il n'est pas nécessaire de générer un pseudo-code binaire pour celle-ci. Instructions 233 Le mot-clé intrinsic peut également être utilisé conjointement avec des déclarations de variable et de fonction. Flash utilise ce mot-clé pour permettre la vérification des types des fonctions et des propriétés globales lors de la compilation. Le mot-clé intrinsic a été spécialement créé pour permettre la vérification des types de classes et objets intégrés, ainsi que des variables et des fonctions lors de la compilation. Ce mot-clé n'est pas destiné à un usage général mais peut s'avérer utile pour les développeurs qui cherchent à autoriser la vérification des types lors de la compilation à l'aide de classes définies précédemment, notamment ci celles-ci sont définies via ActionScript 1.0. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions. Disponibilité : ActionScript 2.0 ; Flash Player 6 Exemple L'exemple suivant indique comment activer la vérification de fichiers lors de la compilation pour une classe ActionScript 1.0 définie précédemment. Le code génère une erreur de compilation car l'appel myCircle.setRadius() envoie une valeur de type String en tant que paramètre au lieu d'une valeur de type Number. Vous pouvez éviter cette erreur en modifiant le paramètre pour le définir sur une valeur de type Number (par exemple, en changeant "10" par 10). // Le code suivant doit être placé dans le fichier Circle.as // qui réside dans le chemin de classe : intrinsic class Circle { var radius:Number; function Circle(radius:Number); function getArea():Number; function getDiameter():Number; function setRadius(param_radius:Number):Number; } // Cette définition de classe ActionScript 1.0 peut être placée dans votre // fichier FLA. // La classe Circle est définie à l'aide du code ActionScript 1.0 function Circle(radius) { this.radius = radius; this.getArea = function(){ return Math.PI*this.radius*this.radius; }; this.getDiameter = function() { return 2*this.radius; }; this.setRadius = function(param_radius) { this.radius = param_radius; } 234 Eléments du langage ActionScript } // Le code ActionScript 2.0 utilisant la classe Circle var myCircle:Circle = new Circle(5); trace(myCircle.getArea()); trace(myCircle.getDiameter()); myCircle.setRadius("10"); trace(myCircle.radius); trace(myCircle.getArea()); trace(myCircle.getDiameter()); Voir aussi Instruction class Instruction private class someClassName{ private var name; private function name() { // Vos instructions ici } } Spécifie qu'une variable ou une fonction est disponible uniquement pour la classe qui la déclare ou la définit, ou pour les sous-classes de cette classe. Par défaut, une variable ou une fonction est disponible à tout appelant. Utilisez ce mot-clé si vous devez restreindre l'accès à une variable ou une fonction. Ce mot-clé est voulu comme une aide au développement du logiciel afin de faciliter de bonnes méthodes de codage telles que l'encapsulation, et non comme un mécanisme de sécurité permettant de dissimuler ou sécuriser les données sensibles. Il n'empêche pas obligatoirement l'accès à une variable lors de l'exécution. Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres name: String - Nom de la variable ou de la fonction à spécifier en tant que privée. Exemple L'exemple suivant montre comment restreindre l'accès aux variables ou fonctions par l'utilisation du mot-clé private. Créez un nouveau fichier AS intitulé Alpha.as : class Alpha { private var privateProperty = "visible only within class and subclasses"; public var publicProperty = "visible everywhere"; } Instructions 235 Dans le même répertoire qu'Alpha.as, créez un nouveau fichier AS nommé Beta.as qui contiendra le code suivant : class Beta extends Alpha { function Beta() { trace("privateProperty is " + privateProperty); } } Comme le montre le code suivant, le constructeur de la classe Beta peut accéder à la propriété privateProperty qui est héritée de la classe Alpha : var myBeta:Beta = new Beta(); // Renvoie : privateProperty is visible only within class and subclasses Des essais pour accéder à la variable privateProperty en dehors de la classe Alpha ou d'une classe héritant de la classe Alpha entraînent une erreur. Le code suivant, qui est hors de toute classe, entraîne une erreur : trace(myBeta.privateProperty); // Erreur Voir aussi Instruction public Instruction public class someClassName { public var name; public function name() { // Vos instructions ici } } Spécifie qu'une variable ou une fonction est disponible à tout appelant. Dans la mesure où les variables et les fonctions sont publiques par défaut, ce mot-clé est utilisé surtout pour des raisons de style. Par exemple, vous pouvez l'utiliser pour des raisons de cohérence dans un bloc de code qui contient également des variables privées ou statiques. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres name: String 236 - Nom de la variable ou de la fonction à spécifier en tant que publique. Eléments du langage ActionScript Exemple L'exemple suivant indique comment utiliser des variables publiques dans un fichier de classe. Créez un nouveau fichier de classe intitulé User.as et entrez le code suivant : class User { public var age:Number; public var name:String; } Créez ensuite un nouveau fichier FLA ou AS dans le même répertoire, puis entrez le code ActionScript suivant dans l'image 1 du scénario : Importation utilisateur ; var jimmy:User = new User(); jimmy.age = 27; jimmy.name = "jimmy"; Si vous convertissez l'une des variables publiques de la classe User en variable privée, une erreur est générée lorsque vous tentez d'accéder à la propriété. Voir aussi Instruction private return, instruction return[ expression] Spécifie la valeur renvoyée par une fonction. L'instruction return évalue expressionet renvoie un résultat sous forme de valeur de la fonction dans laquelle elle s'exécute. L'instruction return transfère immédiatement l'exécution à la fonction appelante. Si l'instruction return est utilisée seule, elle renvoie undefined. (non défini). Vous ne pouvez pas renvoyer des valeurs multiples. En effet, seule la dernière valeur est renvoyée. Dans l'exemple suivant, la valeur c est renvoyée : return a, b, c ; Si vous devez renvoyer des valeurs multiples, utilisez un tableau ou un objet. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Paramètre expression évalué, si disponible. Paramètres - Chaîne, nombre, valeur booléenne, tableau ou objet à évaluer et renvoyer sous forme de valeur de la fonction. Ce paramètre est facultatif. expression Instructions 237 Exemple L'exemple suivant utilise l'instruction return qui figure dans le corps de la fonction sum() pour renvoyer la valeur ajoutée des trois paramètres. La ligne de code suivante appelle sum() et affecte la valeur renvoyée à la variable newValue. function sum(a:Number, b:Number, c:Number):Number { return (a + b + c); } var newValue:Number = sum(4, 32, 78); trace(newValue); // Renvoie : 114 Voir aussi Instruction function Instruction set function set property(varName) { // Vos instructions ici } Autorise la définition implicite de propriétés associées aux objets sur la base des classes que vous avez définies dans les fichiers de classe externes. L'utilisation de méthodes set implicites permet de modifier la valeur de la propriété d'un objet sans accéder directement à cette propriété. Les méthodes get/set implicites sont des abréviations syntaxiques de la méthode Object.addProperty() dans ActionScript 1.0. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres property: String - Mot faisant référence à la propriété cible de set ; cette valeur doit être identique à la valeur utilisée par la commande get correspondante. Exemple L'exemple suivant crée une classe Login qui montre comment utiliser le mot-clé set pour définir des variables privées : class Login { private var loginUserName:String; private var loginPassword:String; public function Login(param_username:String, param_password:String) { this.loginUserName = param_username; this.loginPassword = param_password; } 238 Eléments du langage ActionScript public function get username():String { return this.loginUserName; } public function set username(param_username:String):Void { this.loginUserName = param_username; } public function set password(param_password:String):Void { this.loginPassword = param_password; } } Dans un fichier FLA ou AS qui se trouve dans le même répertoire que le fichier Login.as, entrez le code ActionScript suivant dans l'image 1 du scénario : var gus:Login = new Login("Gus", "Smith"); trace(gus.username); // Renvoie : Gus gus.username = "Rupert"; trace(gus.username); // Renvoie : Rupert Dans l'exemple suivant, la fonction get s'exécute lorsque la valeur est tracée. La fonction set se déclenche uniquement lorsque vous lui transmettez une valeur, comme indiqué sur la ligne : gus.username = "Rupert"; Voir aussi Instruction get Instruction set variable set(" variableString", expression) Associe une valeur à une variable. Une variable est un conteneur qui stocke des données. Le conteneur reste toujours le même, c'est le contenu qui peut varier. La modification de la valeur d'une variable pendant la lecture du fichier SWF permet d'enregistrer les informations relatives aux actions de l'utilisateur, d'enregistrer les valeurs modifiées pendant la lecture du fichier SWF ou d'évaluer si une condition est true ou false. Les variables peuvent recouvrir tous les types de données, tels que String, Number, Boolean, Object ou MovieClip. Le scénario de chaque fichier SWF et clip comporte son propre jeu de variables, et chaque variable dispose de sa propre valeur, indépendamment des variables des autres scénarios. Le typage strict des données n'est pas pris en charge dans une instruction set. Si vous utilisez cette instruction pour définir une variable sur une valeur dont le type de données diffère du type associé à cette variable dans un fichier de classe, aucune erreur de compilation n'est générée. Instructions 239 Il est important de noter que le paramètre variableString est une chaîne et non pas un nom de variable. Si vous transmettez une variable existante en tant que premier paramètre à set() sans le placer entre guillemets (""), la variable est évaluée avant que la valeur d'expression ne lui soit affectée. Par exemple, si vous créez une variable de type chaîne appelée myVariable et lui affectez la valeur « Tuesday » sans mettre cette dernière entre guillemets, vous créez une nouvelle variable appelée Tuesday et contenant la valeur normalement destinée à myVariable : var myVariable:String = "Tuesday"; set (myVariable, "Saturday"); trace(myVariable); // Renvoie Tuesday trace(Tuesday); // Renvoie Saturday Pour remédier à cette situation, incluez les guillemets ("") : set ("myVariable", "Saturday"); trace(myVariable); // Renvoie Saturday Disponibilité : ActionScript 1.0 ; Flash Player 4 Paramètres variableString: String - Chaîne nommant la variable devant contenir la valeur du paramètre expression. Exemple Dans l'exemple suivant, vous affectez une valeur à une variable. Vous affectez la valeur "Jakob" à la variable name. set("name", "Jakob"); trace(name); Le code suivant boucle à trois reprises et crée trois nouvelles variables intitulées caption0, caption1, et caption2 : for (var i = 0; i<3; i++) { set("caption" + i, "this is caption " + i); } trace(caption0); trace(caption1); trace(caption2); Voir aussi Instruction var 240 Eléments du langage ActionScript Instruction static class someClassName { static var name; static function name() { // Vos instructions ici } } Spécifie qu'une variable ou une fonction n'est créée qu'une fois par classe et non pas créée dans chaque objet en fonction de cette classe. Vous pouvez accéder à un membre de classe statique sans créer une occurrence de sa classe en utilisant la syntaxe someClassName.name. Si vous créez une occurrence de la classe, vous pouvez également accéder à un membre statique en utilisant l'occurrence, mais uniquement par le biais d'une fonction non statique qui accède au membre statique. Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface. Disponibilité : ActionScript 2.0 ; Flash Player 6 Paramètres name: String - Nom de la variable ou de la fonction à spécifier en tant que statique. Exemple L'exemple suivant présente l'utilisation du mot-clé static pour créer un compteur chargé de suivre le nombre d'occurrences de la classe créées. La variable numInstances étant statique, elle ne sera créée qu'une fois pour l'ensemble de la classe, pas pour chaque occurrence. Créez un nouveau fichier AS intitulé Users.as et entrez le code suivant : class Users { private static var numInstances:Number = 0; function Users() { numInstances++; } static function get instances():Number { return numInstances; } } Créez un document FLA ou AS dans le même répertoire, puis entrez le code ActionScript suivant dans l'image 1 du scénario : trace(Users.instances); var user1:Users = new Users(); trace(Users.instances); var user2:Users = new Users(); trace(Users.instances); Instructions 241 Voir aussi Instruction private Instruction super super.method([arg1, ..., argN]) super([arg1, ..., argN]) Le premier style de syntaxe peut être utilisé dans le corps d'une méthode d'objet pour appeler la version superclass d'une méthode et peut transmettre des paramètres en option (arg1 ... argN) à la méthode superclass. Cet opérateur permet non seulement de créer des méthodes de sous-classe qui ajoutent des comportements supplémentaires aux méthodes superclass, mais encore d'exécuter leur comportement d'origine. Le deuxième style de syntaxe peut s'utiliser dans le corps d'une fonction constructeur pour appeler la version superclass de cette fonction et peut lui transférer des paramètres en option. Ceci permet non seulement de créer une sous-classe qui procède à une initialisation supplémentaire, mais encore d'appeler la fonction constructeur superclass pour initialiser la superclasse. Disponibilité : ActionScript 1.0 ; Flash Player 6 Valeur renvoyée Les deux formes appellent une fonction. Cette fonction peut renvoyer toutes sortes de valeur. Paramètres method: Function - Méthode à appeler dans la superclasse. argN - Paramètres facultatifs qui sont transmis à la version superclass de la méthode (syntaxe 1) ou à la fonction constructeur de la superclasse (syntaxe 2). Instruction switch switch (expression){ caseClause: [ defaultClause:] } Crée une structure arborescente pour les instructions ActionScript. Comme pour l'instruction if, l'instruction switch teste une condition et exécute des instructions si cette condition renvoie la valeur true. Toutes les instructions switch doivent inclure un cas par défaut. Ce cas doit inclure une instruction break pour prévenir les erreurs fall-through en cas d'ajout d'un autre cas. Lorsqu'un cas subit une erreur fall-through, il ne comporte pas d'instruction break. Disponibilité : ActionScript 1.0 ; Flash Player 4 242 Eléments du langage ActionScript Paramètres expression - Toute expression. Exemple Dans l'exemple suivant, si le paramètre String.fromCharCode(Key.getAscii()) évalue A, l'instruction trace() qui suit case "A" s'exécute; si le paramètre évalue a, l'instruction trace() qui suit case "a" s'exécute ; etc. Si aucune expression case ne correspond au paramètre String.fromCharCode(Key.getAscii()), l'instruction trace() suivant le motclé default s'exécute. var listenerObj:Object = new Object(); listenerObj.onKeyDown = function() { switch (String.fromCharCode(Key.getAscii())) { case "A" : trace("you pressed A"); break; case "a" : trace("you pressed a"); break; case "E" : case "e" : trace("you pressed E or e"); break; case "I" : case "i" : trace("you pressed I or i"); break; default : trace("you pressed some other key"); break; } }; Key.addListener(listenerObj); Voir aussi Opérateur === (égalité stricte) Instruction throw throw expression Génère ou renvoie une erreur qui peut être traitée ou interceptée par un bloc de code catch{}. Si aucune exception n'est interceptée par le bloc catch, la chaîne représentant la valeur renvoyée s'affiche dans le panneau Sortie. Instructions 243 De manière générale, le système renvoie des occurrences de la classe Error ou de ses sousclasses (consultez la section Exemple). Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres expression: Object - Expression ou objet ActionScript. Exemple Dans cet exemple, une fonction intitulée checkEmail() vérifie si la chaîne qui lui est transmise est une adresse électronique correctement formatée. Si la chaîne ne contient pas le symbole @, la fonction renvoie une erreur. function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new Error("Invalid email address"); } } checkEmail("someuser_theirdomain.com"); Le code suivant appelle ensuite la fonction checkEmail() dans un bloc de code try. Si la chaîne email_txt ne contient pas une adresse de messagerie valide, le message d'erreur apparaît dans un champ texte (error_txt). try { checkEmail("Joe Smith"); } catch (e) { error_txt.text = e.toString(); } Dans l'exemple suivant, une sous-classe de la classe Error est renvoyée. La fonction checkEmail() est modifiée pour renvoyer une occurrence de cette sous-classe. // Définissez la sous-classe d'erreur, InvalidEmailError, dans InvalidEmailError.as : class InvalidEmailAddress extends Error { var message = "Invalid email address."; } Dans un fichier FLA ou AS, entrez le code ActionScript suivant dans l'image 1 du scénario : import InvalidEmailAddress; function checkEmail(email:String) { if (email.indexOf("@") == -1) { throw new InvalidEmailAddress(); } } try { checkEmail("Joe Smith"); } catch (e) { 244 Eléments du langage ActionScript this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22); error_txt.autoSize = true; error_txt.text = e.toString(); } Voir aussi Erreur Instruction try..catch..finally try { // ... bloc try ... } finally { // ... bloc finally ... } try { // ... bloc try ... } catch(error [ :ErrorType1]) { // ... bloc catch ... } [catch(error[ :ErrorTypeN]) { // ... bloc catch ... }] [finally { // ... bloc finally ... }] Entoure un bloc de code dans lequel une erreur peut se produire et être traitée. Si du code figurant dans le bloc try renvoie une erreur (avec l'instruction throw), le contrôle passe au bloc catch, s'il existe, puis au bloc finally, s'il existe. Le bloc finallys'exécute toujours, qu'une erreur ait été renvoyée ou non. Si le code figurant dans le bloc try ne renvoie pas d'erreur (ce qui signifie que le bloc try se termine normalement), le code du bloc finally est toujours exécuté. Le bloc finally s'exécute même si le bloc try se termine par une instruction return. Un bloc try doit être suivi par un bloc catch, un bloc finally ou les deux. Un bloc try peut comporter plusieurs blocs catch mais un seul bloc finally. Vous pouvez incorporer plusieurs blocs try et créer autant de niveaux que nécessaire. Le paramètre error spécifié dans un gestionnaire catch doit être un simple identifiant tel que ou x. La variable d'un gestionnaire catch peut également être typée. Lorsqu'elles sont utilisées en conjonction avec plusieurs blocs catch, les erreurs typées permettent d'intercepter plusieurs types d'erreur à partir d'un bloc try unique. e, theException Instructions 245 Si l'exception renvoyée est un objet, le type correspond lorsque l'objet renvoyé constitue une sous-classe du type spécifié. Si une erreur de type spécifique est renvoyée, le bloc catch qui traite l'erreur correspondante s'exécute. Si l'exception renvoyée n'est pas du type spécifié, le bloc catch ne s'exécute pas et l'exception est renvoyée automatiquement du bloc try, à destination du gestionnaire catch correspondant. Si une erreur est renvoyée au sein d'une fonction et si cette fonction n'inclut pas de gestionnaire catch, l'interpréteur ActionScript quitte alors cette fonction, ainsi que toute fonction appelante, jusqu'à ce qu'il détecte un bloc catch. Pendant ce processus, les gestionnaires finally sont appelés à tous les niveaux. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres error: Object - Expression renvoyée par une instruction throw, en général une instance de la classe Error ou l'une de ses sous-classes. Exemple L'exemple suivant indique comment créer une instruction try..finally. Etant donné que l'exécution du code dans le bloc finally est garantie, ce code est généralement utilisé pour effectuer le nettoyage nécessaire après l'exécution d'un bloc try. Dans l'exemple suivant, setInterval() appelle une fonction toutes les 1000 millisecondes (1 seconde). Si une erreur se produit, elle est renvoyée et interceptée par le bloc catch. Le bloc finally est toujours exécuté, qu'une erreur se produise ou non. Etant donné que la méthode setInterval() est utilisée, clearInterval() doit être placé dans le bloc finally afin de s'assurer que l'intervalle est supprimé de la mémoire. myFunction = function () { trace("this is myFunction"); }; try { myInterval = setInterval(this, "myFunction", 1000); throw new Error("my error"); } catch (myError:Error) { trace("error caught: "+myError); } finally { clearInterval(myInterval); trace("error is cleared"); } 246 Eléments du langage ActionScript Dans l'exemple suivant, le bloc finally est utilisé pour supprimer un objet ActionScript, qu'une erreur se soit produite ou non. Créez un nouveau fichier AS intitulé Account.as. class Account { var balance:Number = 1000; function getAccountInfo():Number { return (Math.round(Math.random() * 10) % 2); } } Dans le répertoire du fichier Account.as, créez un nouveau document AS ou FLA et entrez le code ActionScript suivant dans l'image 1 du scénario : import Account; var account:Account = new Account(); try { var returnVal = account.getAccountInfo(); if (returnVal != 0) { throw new Error("Error getting account information."); } } finally { if (account != null) { delete account; } } L'exemple ci-dessous illustre une instruction try..catch. Le code inclus dans le bloc try est exécuté. Si une exception est renvoyée par du code inclus dans le bloc try, le contrôle passe au bloc catch qui affiche le message d'erreur dans un champ de texte à l'aide de la méthode Error.toString(). Dans le répertoire du fichier Account.as, créez un nouveau document FLA et entrez le code ActionScript suivant dans l'image 1 du scénario : import Account; var account:Account = new Account(); try { var returnVal = account.getAccountInfo(); if (returnVal != 0) { throw new Error("Error getting account information."); } trace("success"); } catch (e) { this.createTextField("status_txt", this.getNextHighestDepth(), 0, 0, 100, 22); status_txt.autoSize = true; status_txt.text = e.toString(); } Instructions 247 L'exemple suivant présente un bloc de code try en conjonction avec plusieurs blocs de code typés catch. Selon le type d'erreur qui s'est produite, le bloc de code try renvoie un type d'objet différent. Dans ce cas, myRecordSet est une occurrence d'une classe (hypothétique) intitulée RecordSet dont la méthode sortRows() peut renvoyer deux types d'erreurs, RecordSetException et MalformedRecord. Dans l'exemple suivant, les objets RecordSetException et MalformedRecord sont des sousclasses de la classe Error. Chacune d'entre elles est définie dans son propre fichier de classe AS. // Dans RecordSetException.as : class RecordSetException extends Error { var message = "Record set exception occurred."; } // Dans MalformedRecord.as : class MalformedRecord extends Error { var message = "Malformed record exception occurred."; } Dans la méthode sortRows() de la classe RecordSet, l'un des objets d'erreur définis précédemment est renvoyé, en fonction du type d'exception rencontré. L'exemple suivant illustre l'aspect éventuel de ce code : class RecordSet { function sortRows() { var returnVal:Number = randomNum(); if (returnVal == 1) { throw new RecordSetException(); } else if (returnVal == 2) { throw new MalformedRecord(); } } function randomNum():Number { return Math.round(Math.random() * 10) % 3; } } Enfin, dans un autre fichier AS ou script FLA, le code suivant appelle la méthode sortRows() sur une occurrence de la classe RecordSet. Il définit les blocs catch de chaque type d'erreur renvoyé par sortRows() import RecordSet; var myRecordSet:RecordSet = new RecordSet(); try { myRecordSet.sortRows(); trace("everything is fine"); } catch (e:RecordSetException) { trace(e.toString()); } 248 Eléments du langage ActionScript catch (e:MalformedRecord) { trace(e.toString()); } Voir aussi Erreur Instruction var var variableName [= value1][..., variableNameN[= valueN]] Permet de déclarer des variables locales. Si vous déclarez des variables dans une fonction, ces variables sont locales. Elles sont définies pour la fonction et expirent à la fin de l'appel de fonction. De façon plus précise, une variable définie avec var est une variable locale pour le bloc de code qui la contient. Les blocs de code sont signalés par des accolades ({}). Si vous déclarez des variables en dehors d'une fonction, ces variables restent disponibles tout au long du scénario contenant l'instruction. Vous ne pouvez pas déclarer une variable dont le domaine est limité à un autre objet en tant que variable locale. my_array.length = 25; // ok var my_array.length = 25; // Erreur de syntaxe Lorsque vous utilisez var, vous pouvez typer la variable de façon stricte. Vous pouvez déclarer plusieurs variables dans une instruction, en séparant les déclarations par des virgules (bien que cette syntaxe puisse réduire la clarté du code) : var first:String = "Bart", middle:String = "J.", last:String = "Bartleby"; Remarque :Vous devez également utiliser var lorsque vous déclarez des propriétés au sein de définitions de classe dans les scripts externes. Les fichiers de classe prennent également en charge des domaines de variables publics, privés et statiques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres variableName: String - Identificateur. Instructions 249 Exemple Le script ActionScript suivant crée un nouveau tableau contenant des noms de produits. Array.push ajoute un élément à la fin du tableau. Si vous souhaitez utiliser le typage strict, vous devez impérativement utiliser le mot-clé var. Si le mot-clé var ne précède pas product_array, des erreurs se produisent lorsque vous tentez d'utiliser le typage strict. var product_array:Array = new Array("MX 2004", "Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); product_array.push("Flex"); trace(product_array); // Renvoie : MX 2004,Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex Instruction while while(condition) { statement(s); } Evalue une condition. Si cette condition renvoie true, exécute une instruction ou une série d'instructions avant de suivre la boucle et d'évaluer de nouveau la condition. Lorsque la condition renvoie false, l'instruction ou la série d'instructions est ignorée et la boucle se termine. L'instruction while exécute les séries d'instructions suivantes. Toute répétition des étapes 1 à 4 constitue une itération de la boucle. La condition condition est testée de nouveau au début de chaque itération, comme indiqué dans les étapes suivantes : ■ ■ L'expression condition est évaluée.LINEBREAK Si condition renvoie true ou une valeur convertie en valeur booléenne true, telle qu'un nombre différent de zéro, passez à l'étape 3.LINEBREAKSinon, l'instruction while se termine et l'exécution reprend au niveau de l'instruction qui suit la boucle while. ■ Exécutez le bloc d'instructions statement(s). ■ Passez à l'étape 1. Les boucles permettent d'exécuter une action tant que la valeur de la variable de décompte est inférieure à la valeur spécifiée. A la fin de chaque boucle, le compteur est incrémenté jusqu'à ce qu'il atteigne la valeur maximale spécifiée. A ce stade, condition n'a plus la valeur true, et la boucle se termine. Les accolades ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction while doit exécuter, peuvent être omises si une seule instruction doit s'exécuter. Disponibilité : ActionScript 1.0 ; Flash Player 4 250 Eléments du langage ActionScript Paramètres condition: Boolean - Expression à évaluer pour savoir si sa valeur est true ou false. Exemple Dans l'exemple suivant, l'instruction while est utilisée pour tester une expression. Lorsque la valeur de i est inférieure à 20, la valeur de i est tracée. Lorsque la valeur de la condition n'est plus true, la boucle s'arrête. var i:Number = 0; while (i < 20) { trace(i); i += 3; } Le résultat suivant s'affiche dans le panneau Sortie. 0 3 6 9 12 15 18 Voir aussi Instruction continue Instruction with with (object:Object) { statement(s); } Permet de spécifier un objet (tel qu'un clip) avec le paramètre object et évalue les expressions et les actions au sein de cet objet avec le paramètre statement(s). Ceci évite d'avoir à écrire plusieurs fois le nom de l'objet ou son chemin. Le paramètre object forme alors le contexte de lecture des propriétés, variables et fonctions du paramètre statement(s). Par exemple, si object est my_array, et que deux des propriétés spécifiées sont length et concat, ces propriétés sont automatiquement lues comme my_array. length et my_array.concat. Un autre exemple, si object est state.california, toutes les actions et instructions contenues dans l'instruction with sont appelées de l'intérieur de l'occurrence california. Instructions 251 Pour déterminer la valeur d'un identificateur dans le paramètre statement(s), ActionScript commence au début de la chaîne de domaine spécifiée par object et recherche l'identificateur à tous les niveaux de la chaîne de domaine, selon un ordre spécifique. La chaîne de domaine utilisée par l'instruction with pour résoudre les identificateurs commence par le premier élément dans la liste suivante et se poursuit jusqu'au dernier : ■ ■ ■ L'objet spécifié dans le paramètre object dans l'instruction with de plus bas niveau. L'objet spécifié dans le LINEBREAK,paramètre object de l'instruction with de plus haut niveau. Objet Activation. (Un objet temporaire qui est créé automatiquement lorsqu'une fonction est appelée et contient les variables locales appelées par la fonction.) ■ Le clip qui contient le script en cours d'exécution. ■ L'objet Global (objets intégrés tels que Math et String). Pour définir une variable dans une instruction with, vous devez avoir déclaré cette variable endehors de l'instruction with ou vous devez entrer le chemin complet du scénario cible de la variable. Si vous définissez une variable dans une instruction with sans la déclarer, l'instruction with recherche la valeur en fonction de la chaîne de domaine. Si la variable n'existe pas, la nouvelle valeur est définie sur le scénario ayant servi à appeler l'instruction with. Vous pouvez utiliser des chemins directs pour éviter with(). Si les chemins sont longs et difficiles à taper, créez une variable locale et enregistrez le chemin dans cette dernière. Vous pourrez alors le réutiliser dans votre code, comme indiqué dans le code ActionScript suivant. var shortcut = this._parent._parent.name_txt; shortcut.text = "Hank"; shortcut.autoSize = true; Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres object: Object - Occurrence de l'objet ActionScript ou du clip. Exemple L'exemple suivant définit les propriétés _x et _y de l'occurrence someOther_mc, puis indique à someOther_mc de se rendre à l'image 3 et de s'arrêter. with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); } 252 Eléments du langage ActionScript Le fragment de code suivant indique comment écrire le code qui précède sans instruction with. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); L'instruction with est utile pour accéder à plusieurs éléments dans la liste de chaîne de domaine de manière simultanée. Dans l'exemple suivant, l'objet Math intégré est placé au début de la chaîne de domaine. Déterminer Math comme objet par défaut convertit respectivement les identificateurs cos, sin et PI en Math.cos, Math.sin et Math.PI. Les identificateurs a, x, y et r ne sont pas des méthodes ou des propriétés de l'objet Math mais, puisqu'ils existent dans le domaine d'activation d'objet de la fonction polar(), ils renvoient aux variables locales correspondantes. function polar(r:Number):Void { var a:Number, x:Number, y:Number; with (Math) { a = PI * pow(r, 2); x = r * cos(PI); y = r * sin(PI / 2); } trace("area = " + a); trace("x = " + x); trace("y = " + y); } polar(3); Le résultat suivant s'affiche dans le panneau Sortie. area = 28.2743338823081 x = -3 y = 3 Instructions 253 254 Eléments du langage ActionScript 2 CHAPITRE 2 Classes ActionScript La documentation relative aux classes ActionScript comprend, outre des exemples de code, des informations sur la syntaxe et l'utilisation des méthodes, propriétés, gestionnaires d'événements et écouteurs appartenant à une classe spécifique dans ActionScript (par opposition aux fonctions ou propriétés globales). Les classes sont répertoriées par ordre alphabétique et englobent les classes, nouvelles auparavant dans Flash Player 8 et qui, aujourd'hui, sont disponibles dans les paquets flash.*. Si vous ne savez pas à quelle classe appartient une méthode ou une propriété spécifique, reportez-vous à l'index. Accessibility Object | +-Accessibility public class Accessibility extends Object La classe Accessibility gère la communication avec les logiciels de lecture d'écran. Les logiciels de lecture d'écran sont un type de technologie d'assistance conçu pour les utilisateurs malvoyants fournissant une version sonore du contenu de l'écran. Les méthodes de la classe Accessibility sont statiques : ainsi, vous n'avez pas besoin de créer d'occurence de la classe pour utiliser ses méthodes. Pour obtenir et définir les propriétés d'accessibilité d'un objet spécifique, tel qu'un bouton, clip ou champ de texte, utilisez la propriété _accProps. Pour spécifier si le lecteur doit s'exécuter dans un environnement qui prend en charge les fonctions d'accessibilité, utilisez System.capabilities.hasAccessibility. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir aussi hasAccessibility (propriété capabilities.hasAccessibility), _accProps, propriété 255 Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Modificateurs Signature Description static Indique si une option d'accessibilité est actuellement active et si le lecteur communique avec elle. isActive() : Boolean static updateProperties() : Void Entraîne l'entrée en vigueur de toutes les modifications apportées aux objets _accProps (propriétés d'accessibilité). Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) isActive (méthode Accessibility.isActive) statique publique isActive() : Boolean Indique si une option d'accessibilité est actuellement active et si le lecteur communique avec elle. Utilisez cette méthode si vous souhaitez que votre application se comporte différemment en présence d'un logiciel de lecture d'écran ou de toute autre option d'accessibilité. Remarque :Si vous appelez cette méthode une ou deux secondes après que la fenêtre Flash, dans laquelle vous pouvez lire votre document, se soit affichée pour la première fois, vous recevrez peut-être une valeur de retour false même si le client Microsoft Active Accessibility (MSAA) est actif. Ceci est dû à un mécanisme de communication asynchrone entre les clients Flash et d'accessibilité. Vous pouvez contourner cette restriction en respectant un délai de une à deux secondes, après avoir chargé votre document, avant d'appeler cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 6 256 Classes ActionScript Valeur renvoyée - Une valeur booléenne : true si Flash Player communique avec une option d'accessibilité (généralement un logiciel de lecture d'écran) ; false sinon. Boolean Exemple L'exemple suivant vérifie si une option d'accessibilité est actuellement active : if (Accessibility.isActive()) { trace ("An accessibility aid is currently active"); } else { trace ("There is currently no active accessibility aid"); } Voir aussi updateProperties (méthode Accessibility.updateProperties), _accProps, propriété, hasAccessibility (propriété capabilities.hasAccessibility) updateProperties (méthode Accessibility.updateProperties) public static updateProperties() : Void Entraîne l'entrée en vigueur de toutes les modifications apportées aux objets _accProps (propriétés d'accessibilité). Pour plus d'informations sur la configuration des propriétés d'accessibilité, consultez _accProps. Si vous modifiez les propriétés d'accessibilité de plusieurs objets, un seul appel de Accessibility.updateProperties() est nécessaire ; plusieurs appels peuvent entraîner des performances réduites et des résultats du logiciel de lecture d'écran inintelligibles. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple Si vous modifiez une image et souhaitez mettre à jour sa description d'accessibilité, vous pouvez utiliser le code ActionScript suivant : my_mc.gotoAndStop(2); if (my_mc._accProps == undefined) { my_mc._accProps = new Object(); } my_mc._accProps.name = "Photo of Mount Rushmore"; Accessibility.updateProperties(); Accessibility 257 Voir aussi isActive (méthode Accessibility.isActive), _accProps, propriété, hasAccessibility (propriété capabilities.hasAccessibility) arguments Object | +-arguments public class arguments extends Object Un objet arguments est utilisé pour stocker les arguments d'une fonction et y accéder. Lorsqu'il se trouve dans le corps de la fonction, vous pouvez y accéder via la variable arguments locale. Les arguments sont stockés en tant qu'éléments de tableau, le premier étant accessible en tant que arguments[0], le deuxième en tant que arguments[1], etc. La propriété arguments.length indique le nombre d'arguments transmis à la fonction. Sachez que le nombre d'arguments transmis peut différer de celui ayant été déclaré par la fonction. Disponibilité : ActionScript 1.0 ; Flash Player 5 - Depuis Flash Player 6 l'objet arguments prend en charge toutes les méthodes et toutes les propriétés de la classe Array. Voir aussi Function Résumé des propriétés Modificateurs Propriété Description callee: Object Référence à la fonction en cours d'exécution. caller: Object Référence à la fonction ayant appelé la fonction en cours d'exécution ou null si elle n'a pas été appelée à partir d'une autre fonction. length: Number Nombre d'arguments transmis à la fonction. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 258 Classes ActionScript Résumé de la méthode Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) callee (propriété arguments.callee) public callee : Object Référence à la fonction en cours d'exécution. Disponibilité : ActionScript 1.0 ; Flash Player 5 Voir aussi caller (propriété arguments.caller) caller (propriété arguments.caller) public caller : Object Référence à la fonction ayant appelé la fonction en cours d'exécution ou null si elle n'a pas été appelée à partir d'une autre fonction. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir aussi callee (propriété arguments.callee) length (propriété arguments.length) public length : Number Nombre d'arguments transmis à la fonction. Ce nombre peut être supérieur ou inférieur à celui ayant été déclaré par la fonction. Disponibilité : ActionScript 1.0 ; Flash Player 5 arguments 259 Array Object | +-Array public dynamic class Array extends Object La classe Array vous permet d'accéder aux tableaux indexés et de les manipuler. Un tableau indexé est un objet dont les propriétés sont identifiées par un nombre représentant leur position au sein de celui-ci. Ce nombre est appelé index. Tous les tableaux indexés sont basés sur zéro, ce qui signifie que le premier élément du tableau est [0], le deuxième est [1], etc. Pour créer un objet Array, utilisez le constructeur new Array(). Pour accéder aux éléments d'un tableau, utilisez l'opérateur d'accès au tableau ([]). Vous pouvez stocker divers types de données dans un élément de tableau, y compris les nombres, les chaînes, les objets et même d'autres tableaux. Vous pouvez créer un tableau multidimensionnel en concevant un tableau indexé et en affectant à chacun de ses éléments un tableau indexé différent. Ce type de tableau est considéré comme étant miltidimensionnel car il peut être utilisé pour représenter des données dans un tableau. L'affectation au tableau s'effectue par référence plutôt que par valeur : lorsque vous affectez une variable de tableau à une autre variable de tableau, elles renvoient toutes deux au même tableau : var oneArray:Array = new Array("a", "b", "c"); var twoArray:Array = oneArray; // Les deux variables array se rapportent au même tableau. twoArray[0] = "z"; trace(oneArray); // Renvoie : z,b,c. La classe Array ne doit pas être utilisée pour créer des tableaux associatifs car il s'agit de structures de données différentes qui contiennent des éléments nommés au lieu d'éléments numérotés. Il est recommandé d'utiliser la classe Object pour créer des tableaux associatifs (également appelés hachages). Bien que ActionScript vous permette de créer des tableaux associatifs à l'aide de la classe Array, vous ne pouvez pas utiliser les méthodes ou les propriétés de cette dernière. Sous sa forme de base, un tableau associatif est une occurrence de la classe Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez également déclarer un tableau associatif à l'aide du type de données Object pour la raison suivante : cela vous permet d'utiliser ensuite un littéral d'objet pour alimenter votre tableau associatif (uniquement au moment de la déclaration). L'exemple suivant crée un tableau associatif à l'aide d'un littéral d'objet, accède aux éléments à l'aide de l'opérateur point et d'accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété : var myAssocArray:Object = {fname:"John", lname:"Public"}; 260 Classes ActionScript trace(myAssocArray.fname); // Renvoie : John trace(myAssocArray["lname"]); // Renvoie : Public myAssocArray.initial = "Q"; trace(myAssocArray.initial); // Renvoie : Q Disponibilité : ActionScript 1.0 ; Flash Player 5 - Devenu un objet natif dans Flash Player 6, ce qui a amélioré considérablement les performances. Exemple Dans l'exemple suivant, my_array contient quatre mois de l'année : var my_array:Array = new Array(); my_array[0] = "January"; my_array[1] = "February"; my_array[2] = "March"; my_array[3] = "April"; Résumé des propriétés Modificateurs Propriété Description static Dans les méthodes de tri, cette constante spécifie le tri non sensible à la casse. CASEINSENSITIVE: Number DESCENDING: Number Dans les méthodes de tri, cette constante spécifie l'ordre de tri décroissant. length: Number Entier non négatif spécifiant le nombre d'éléments contenus dans le tableau. static NUMERIC: Number Dans les méthodes de tri, cette constante spécifie le tri numérique (au lieu de la chaîne de caractères). static RETURNINDEXEDARRAY: Spécifie qu'un tri renvoie un tableau indexé résultant de l'appel de la méthode sort() ou sortOn(). static Number static UNIQUESORT: Number Dans les méthodes de tri, cette constante spécifie l'unique exigence de tri. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Array 261 Résumé des constructeurs Signature Description Array([value: Permet de créer un tableau. Object]) Résumé de la méthode Modificateurs Signature concat([value: Object]) : Array join([delimiter: String]) : String Description Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans un tableau et crée un nouveau tableau. Convertit les éléments d'un tableau en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue. pop() : Object Supprime le dernier élément d'un tableau et renvoie la valeur de cet élément. push(value: Object) : Number Ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau. reverse() : Void Inverse le tableau. shift() : Object Supprime le premier élément d'un tableau et renvoie cet élément. slice([startIndex: Renvoie un nouveau tableau constitué d'un éventail d'éléments issus du tableau original, sans modifier ce dernier. Number], [endIndex: Number]) : Array sort([compareFuncti Trie les éléments d'un tableau. on: Object], [options: Number]) : Array sortOn(fieldName: Object, [options: Trie les éléments d'un tableau selon un ou plusieurs champs du tableau. Object]) : Array splice(startIndex: Number, [deleteCount: Number], [value: Object]) : Array 262 Classes ActionScript Ajoute et supprime des éléments dans un tableau. Modificateurs Signature Description toString() : String Renvoie une valeur de chaîne représentant les éléments dans l'objet Array spécifié. unshift(value: Object) : Number Ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur Array public Array([value: Object]) Permet de créer un tableau. Vous pouvez utiliser le constructeur pour créer différents types de tableaux : un tableau vide, un tableau d'une longueur spécifique mais dont les éléments ont des valeurs non définies, ou un tableau dont les éléments ont des valeurs spécifiques. Utilisation 1 : si vous ne spécifiez aucun paramètre, un tableau d'une longueur de 0 est créé. Utilisation 2 : si vous spécifiez uniquement une longueur, un tableau contenant un nombre d'éléments de length est créé. La valeur de chaque élément est définie sur undefined. Utilisation 3 : Si vous utilisez les paramètres element pour spécifier des valeurs, un tableau est créé avec des valeurs spécifiques. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value: Object ■ ■ [facultatif ] - Soit : Entier spécifiant le nombre d'éléments contenus dans le tableau. Liste d'une ou plusieurs valeurs arbitraires au minimum. Les valeurs peuvent être de type Boolean, Number, String, Object ou Array. La valeur de l'index ou de la position du premier élément d'un tableau est toujours 0. Remarque :Si un seul paramètre numérique est transmis au constructeur Array, il s'agit du paramètre length par défaut ; celui-ci est converti en entier à l'aide de la fonction Integer(). Array 263 Exemple Utilisation 1 : l'exemple suivant crée un nouvel objet Array d'une longueur initiale de 0 : var my_array:Array = new Array(); trace(my_array.length); // Renvoie 0. Utilisation 2 : L'exemple suivant crée un nouvel objet Array d'une longueur initiale de 4 : var my_array:Array = new Array(4); trace(my_array.length); // Renvoie 4. trace(my_array[0]); // Renvoie undefined. if (my_array[0] == undefined) { // Aucun guillemet autour de undefined. trace("undefined is a special value, not a string"); } // Renvoie : undefined is a special value, not a string. Utilisation 3 : l'exemple suivant crée le nouvel objet Array go_gos_array d'une longueur initiale de 5 : var go_gos_array:Array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane"); trace(go_gos_array.length); // Renvoie 5. trace(go_gos_array.join(", ")); // Affiche des éléments. Les éléments initiaux du tableau go_gos_array sont identifiés, comme indiqué dans l'exemple suivant : 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 sixième élément au tableau go_gos_array et modifie le deuxième élément : go_gos_array[5] = "Donna"; go_gos_array[1] = "Nina" trace(go_gos_array.join(" + ")); // Renvoie Belinda + Nina + Kathy + Charlotte + Jane + Donna. Voir aussi Opérateur d'accès au tableau [], length (propriété Array.length) 264 Classes ActionScript CASEINSENSITIVE (propriété Array.CASEINSENSITIVE) public static CASEINSENSITIVE : Number Dans les méthodes de tri, cette constante spécifie le tri non sensible à la casse. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn(). La valeur de cette constante est 1. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn) concat (méthode Array.concat) public concat([value: Object]) Array Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans un tableau et crée un nouveau tableau. Si les paramètres value spécifient un tableau, les éléments de celuici sont concaténés, au lieu du tableau lui-même. Le tableau my_array demeure inchangé. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres [facultatif ] - Nombres, éléments ou chaînes à concaténer dans un nouveau tableau. Si vous ne transmettez aucune valeur, une duplication de my_array est créée. value: Object Valeur renvoyée Array - Tableau qui contient les éléments de ce tableau suivi des éléments des paramètres. Exemple Le code suivant concatène deux tableaux : var alpha_array:Array = new Array("a","b","c"); var numeric_array:Array = new Array(1,2,3); var alphaNumeric_array:Array =alpha_array.concat(numeric_array); trace(alphaNumeric_array); // Crée le tableau [a,b,c,1,2,3]. Le code suivant concatène trois tableaux : var var var var num1_array:Array = [1,3,5]; num2_array:Array = [2,4,6]; num3_array:Array = [7,8,9]; nums_array:Array=num1_array.concat(num2_array,num3_array) Array 265 trace(nums_array); // Crée le tableau [1,3,5,2,4,6,7,8,9]. Les tableaux incorporés ne sont pas aplatis de la même manière que les tableaux normaux. Les éléments d'un tableau incorporé ne sont pas séparés en éléments distincts dans le tableau x_array, comme indiqué dans l'exemple suivant : var a_array:Array = new Array ("a","b","c"); // 2 et 3 sont des éléments dans un tableau imbriqué. var n_array:Array = new Array(1, [2, 3], 4); var x_array: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 DESCENDING (propriété Array.DESCENDING) statique publique DESCENDING : Number Dans les méthodes de tri, cette constante spécifie l'ordre de tri décroissant. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn(). La valeur de cette constante est 2. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn) join (méthode Array.join) public join([delimiter: String]) : String Convertit les éléments d'un tableau en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue. Un tableau imbriqué est toujours séparé par une virgule (,), et non pas par le séparateur transmis à la méthode join(). Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres delimiter: String [facultatif ] - Caractère ou chaîne séparant les éléments du tableau dans la chaîne renvoyée. Si vous omettez ce paramètre, une virgule (,) est utilisée en tant que séparateur par défaut. 266 Classes ActionScript Valeur renvoyée String - Chaîne. Exemple L'exemple suivant crée un tableau incluant trois éléments : Earth, Moon et Sun. Il relie ensuite le tableau trois fois, d'abord à l'aide du séparateur par défaut (une virgule [,] et un espace), puis à l'aide d'un tiret (-) et enfin d'un signe plus (+). var a_array:Array = new Array("Earth","Moon","Sun") trace(a_array.join()); // Affiche Earth,Moon,Sun. trace(a_array.join(" - ")); // Affiche Earth - Moon - Sun. trace(a_array.join(" + ")); // Affiche Earth + Moon + Sun. L'exemple suivant crée un tableau incorporé qui contient deux tableaux. Le premier tableau inclut trois éléments : Europa, Io et Callisto. Le deuxième tableau inclut deux éléments : Titan et Rhea. Il relie le tableau à l'aide d'un signe plus (+) mais les éléments de chaque tableau incorporé restent séparés par des virgules (,). var a_nested_array:Array = new Array(["Europa", "Io", "Callisto"], ["Titan", "Rhea"]); trace(a_nested_array.join(" + ")); // Renvoie Europa,Io,Callisto + Titan,Rhea. Voir aussi split (méthode String.split) length (propriété Array.length) public length : Number Entier non négatif spécifiant le nombre d'éléments contenus dans le tableau. Cette propriété est automatiquement mise à jour lorsque vous ajoutez de nouveaux éléments dans le tableau. Lorsque vous affectez une valeur à un élément de tableau (par exemple, my_array[index] = value), si index est un nombre et si index+1 est supérieur à la propriété length, la propriété length est mise à jour et définie sur la valeur index+1. Remarque :Si vous affectez une valeur plus courte que la valeur existante à la propriété le tableau sera tronqué. length, Disponibilité : ActionScript 1.0 ; Flash Player 5 Array 267 Exemple Le code suivant explique la façon dont la propriété length est mise à jour. La valeur de la longueur initiale est 0, puis 1, 2 et 10. Si vous affectez une valeur plus courte que la valeur existante à la propriété length, le tableau sera tronqué : var my_array:Array = new Array(); trace(my_array.length); // Longueur initiale de 0 my_array[0] = "a"; trace(my_array.length); // my_array.length prend la valeur 1 my_array[1] = "b"; trace(my_array.length); // my_array.length prend la valeur 2 my_array[9] = "c"; trace(my_array.length); // my_array.length prend la valeur 10 trace(my_array); // Affiche : // a,b,undefined,undefined,undefined,undefined,undefined,undefined,undefine d,c // si la propriété length est définie sur 5, le tableau est tronqué my_array.length = 5; trace(my_array.length); // my_array.length prend la valeur 5 trace(my_array); // Renvoie : a,b,undefined,undefined,undefined NUMERIC (propriété Array.NUMERIC) public static NUMERIC : Number Dans les méthodes de tri, cette constante spécifie le tri numérique (au lieu de la chaîne de caractères). Si vous l'incluez au paramètre options, cela oblige les méthodes sort() et sortOn() à trier les nombres en tant que valeurs numériques, et non en tant que chaînes de caractères numériques. En l'absence de la constante NUMERIC, le tri traite chaque élément de tableau en tant que chaîne de caractère et donne les résultats selon l'ordre Unicode. Prenons l'exemple suivant pour le tableau de valeurs [2005, 7, 35] : si la constante NUMERIC n'est pas incluse dans le paramètre options, le tableau trié est [2005, 35, 7] ; en revanche, si la constante NUMERIC est incluse, le tableau trié est [7, 35, 2005]. Notez que cette constante s'applique uniquement aux nombres contenus dans le tableau ; elle ne s'applique pas aux chaînes qui contiennent des données numériques (telles que [« 23 », « 5 »]). La valeur de cette constante est 16. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn) 268 Classes ActionScript pop (méthode Array.pop) public pop() : Object Supprime le dernier élément d'un tableau et renvoie la valeur de cet élément. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Object - Valeur du dernier élément dans le tableau spécifié. Exemple Le code suivant crée le tableau myPets_array contenant quatre éléments, puis supprime son dernier élément : var myPets_array:Array = new Array("cat", "dog", "bird", "fish"); var popped:Object = myPets_array.pop(); trace(popped); // Affiche fish. trace(myPets_array); // Affiche cat,dog,bird. Voir aussi push (méthode Array.push), shift (méthode Array.shift), unshift (méthode Array.unshift) push (méthode Array.push) public push(value: Object) : Number Ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value: Object - Une ou plusieurs valeurs à ajouter au tableau. Valeur renvoyée Number - Entier représentant la longueur du nouveau tableau. Exemple L'exemple suivant crée le tableau myPets_array incluant deux éléments, cat et dog. La deuxième ligne ajoute deux éléments au tableau. Array 269 Etant donné que la méthode push() renvoie la nouvelle longueur du tableau, l'instruction trace() de la dernière ligne envoie la nouvelle longueur du tableau myPets_array (4) vers le panneau Sortie. var myPets_array:Array = new Array("cat", "dog"); var pushed:Number = myPets_array.push("bird", "fish"); trace(pushed); // Affiche 4. Voir aussi pop (méthode Array.pop), shift (méthode Array.shift), unshift (méthode Array.unshift) RETURNINDEXEDARRAY (propriété Array.RETURNINDEXEDARRAY) statique publique RETURNINDEXEDARRAY : Number Spécifie qu'un tri renvoie un tableau indexé résultant de l'appel de la méthode sort() ou sortOn(). Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn(). Cette méthode fournit les fonctions d'aperçu et de copie en renvoyant un tableau qui représente les résultats du tri et ne modifie pas le tableau d'origine. La valeur de cette constante est 8. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn) reverse (méthode Array.reverse) public reverse() : Void Inverse le tableau. Disponibilité : ActionScript 1.0 ; Flash Player 5 270 Classes ActionScript Exemple L'exemple suivant utilise cette méthode pour inverser le tableau numbers_array : var numbers_array:Array = new Array(1, 2, 3, 4, 5, 6); trace(numbers_array); // Affiche 1,2,3,4,5,6. numbers_array.reverse(); trace(numbers_array); // Affiche 6,5,4,3,2,1. shift (méthode Array.shift) public shift() : Object Supprime le premier élément d'un tableau et renvoie cet élément. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Object - Premier élément d'un tableau. Exemple Le code suivant crée le tableau myPets_array, supprime le premier élément du tableau, puis l'affecte à la variable shifted : var myPets_array:Array = new Array("cat", "dog", "bird", "fish"); var shifted:Object = myPets_array.shift(); trace(shifted); // Affiche "cat". trace(myPets_array); // Affiche dog,bird,fish. Voir aussi pop (méthode Array.pop), push (méthode Array.push), unshift (méthode Array.unshift) slice (méthode Array.slice) public slice([startIndex: Number], [endIndex: Number]) : Array Renvoie un nouveau tableau constitué d'un éventail d'éléments issus du tableau original, sans modifier ce dernier. Le tableau renvoyé inclut l'élément startIndex et tous les éléments, excepté l'élément endIndex. Si vous ne transmettez aucun paramètre, une duplication du tableau d'origine est créée. Disponibilité : ActionScript 1.0 ; Flash Player 5 Array 271 Paramètres startIndex: Number [facultatif ] - Un nombre spécifiant l'index du point de départ pour la découpe. Si start est un nombre négatif, le point de départ se trouve à la fin du tableau, où la valeur -1 est le dernier élément. [facultatif ] - Un nombre spécifiant l'index du point d'arrivée pour la découpe. Si vous omettez ce paramètre, la découpe inclut tous les éléments du point de départ à la fin du tableau. Si end est un nombre négatif, le point d'arrivée spécifié se trouve à la fin du tableau, où la valeur -1 est le dernier élément. endIndex: Number Valeur renvoyée Array - Tableau constitué d'un éventail d'éléments issus du tableau original. Exemple L'exemple suivant crée un tableau incluant cinq animaux domestiques et utilise la méthode slice() pour alimenter un nouveau tableau contenant uniquement les animaux à quatre pattes : var myPets_array:Array = new Array("cat", "dog", "fish", "canary", "parrot"); var myFourLeggedPets_array:Array = new Array(); var myFourLeggedPets_array = myPets_array.slice(0, 2); trace(myFourLeggedPets_array); // Renvoie cat,dog. trace(myPets_array); // Renvoie cat,dog,fish,canary,parrot. L'exemple suivant crée un tableau incluant cinq animaux domestiques, puis utilise la méthode slice() avec un paramètre start négatif pour copier les deux derniers éléments du tableau : var myPets_array:Array = new Array("cat", "dog", "fish", "canary", "parrot"); var myFlyingPets_array:Array = myPets_array.slice(-2); trace(myFlyingPets_array); // Renvoie canary,parrot. L'exemple suivant crée un tableau incluant cinq animaux domestiques et utilise la méthode slice() avec un paramètre end négatif pour copier l'élément central du tableau : var myPets_array:Array = new Array("cat", "dog", "fish", "canary", "parrot"); var myAquaticPets_array:Array = myPets_array.slice(2,-2); trace(myAquaticPets_array); // Renvoie fish. 272 Classes ActionScript sort (méthode Array.sort) public sort([compareFunction: Object], [options: Number]) : Array Trie les éléments d'un tableau. Flash trie selon les valeurs Unicode. (ASCII est un sousensemble de Unicode.) Par défaut, Array.sort() fonctionne comme décrit dans la liste suivante : ■ Le tri tient compte de la casse (Z précède a). ■ Le tri est ascendant (a précède b). ■ ■ Le tableau est modifié afin de refléter l'ordre de tri ; plusieurs éléments, dont les champs de tri sont identiques, sont placés de manière consécutive dans le tableau trié dans un ordre quelconque. Les champs numériques sont triés comme s'il s'agissait de chaînes : ainsi, 100 précède 99 car « 1 » est une valeur de chaîne inférieure à « 9 ». Si vous voulez trier un tableau à l'aide de paramètres qui ne correspondent pas aux paramètres par défaut, vous pouvez utiliser l'une des options de tri décrites dans l'entrée du paramètre options ou vous pouvez créer votre propre fonction personnalisée pour effectuer le tri. Si vous créez une fonction personnalisée, vous pouvez l'utiliser en appelant la méthode sort() et en utilisant le nom de votre fonction personnalisée en tant que premier paramètre (compareFunction). Disponibilité : ActionScript 1.0 ; Flash Player 5 - Option de tri de tableau ajoutée dans Flash Player 7. Paramètres [facultatif ] - Une fonction de comparaison utilisée pour déterminer l'ordre de tri des éléments dans un tableau. Etant donné les éléments A et B, le résultat de compareFunction peut être l'une des trois valeurs suivantes : compareFunction: Object ■ -1, si A apparaît avant B dans la séquence triée ■ 0, si A = B ■ 1, si A apparaît après B dans la séquence triée [facultatif ] - Un ou plusieurs nombres ou noms de constantes définies, séparés par l'opérateur OR | au niveau du bit, ce qui remplace le comportement de tri par défaut. Les valeurs suivantes sont valides pour le paramètre options : options: Number ou 1 ■ Array.CASEINSENSITIVE ■ Array.DESCENDING ou 2 ■ Array.UNIQUESORT ou 4 ■ Array.RETURNINDEXEDARRAY ou 8 Array 273 ■ Array.NUMERIC ou 16 Pour plus d'informations sur ce paramètre, consultez la méthode Array.sortOn(). Remarque : La méthode Array.sort() est définie dans la norme ECMA-262 mais les options de tri de tableau introduites dans Flash Player 7 sont des extensions spécifiques à Flash de la spécification ECMA-262. Valeur renvoyée Array - La valeur de renvoi dépend du fait que vous transmettiez ou non des paramètres, comme décrit dans la liste suivante : ■ ■ ■ Si vous spécifiez une valeur de 4 ou Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau. Si vous spécifiez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour le paramètre options, Flash renvoie un tableau qui reflète les résultats du tri et ne modifie pas le tableau. Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l'ordre de tri. Exemple Utilisation 1 : l'exemple suivant illustre l'utilisation de Array.sort(), avec et sans valeur transmise à options : var fruits_array:Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries"); trace(fruits_array); // Affiche oranges,apples,strawberries,pineapples,cherries. fruits_array.sort(); trace(fruits_array); // Affiche apples,cherries,oranges,pineapples,strawberries. trace(fruits_array); // Ecrit apples,cherries,oranges,pineapples,strawberries. fruits_array.sort(Array.DESCENDING); trace(fruits_array); // Affiche strawberries,pineapples,oranges,cherries,apples. trace(fruits_array); // Ecrit strawberries,pineapples,oranges,cherries,apples. Utilisation 2 : l'exemple suivant utilise Array.sort() avec une fonction de comparaison. Les entrées sont triées sous la forme nom:mot de passe. Triez en utilisant uniquement la partie nom de l'entrée en tant que clé : var passwords_array:Array = new Array("mom:glam", "ana:ring", "jay:mag", "anne:home", "regina:silly"); function order(a, b):Number { var name1:String = a.split(":")[0]; 274 Classes ActionScript var name2:String = b.split(":")[0]; if (name1<name2) { return -1; } else if (name1>name2) { return 1; } else { return 0; } } trace("Unsorted:"); // Affiche Unsorted: trace(passwords_array); // Affiche mom:glam,ana:ring,jay:mag,anne:home,regina:silly. // Ecrit mom:glam,ana:ring,jay:mag,anne:home,regina:silly. passwords_array.sort(order); trace("Sorted:"); // Affiche Sorted: trace(passwords_array); // Affiche ana:ring,anne:home,jay:mag,mom:glam,regina:silly. // Ecrit ana:ring,anne:home,jay:mag,mom:glam,regina:silly. Voir aussi | Opérateur OR au niveau du bit, sortOn (méthode Array.sortOn) sortOn (méthode Array.sortOn) public sortOn(fieldName: Object, [options: Object]) Array Trie les éléments d'un tableau selon un ou plusieurs champs du tableau. Le tableau doit être doté des caractéristiques suivantes : ■ Le tableau est indexé et non associatif. ■ Chaque élément du tableau contient un objet doté d'une ou de plusieurs propriétés. ■ Tous les objets ont au moins une propriété en commun dont les valeurs peuvent être utilisées pour trier le tableau. Ce type de propriété est connu sous le nom de champ. Si vous transmettez plusieurs paramètres fieldName, le premier champ représente le champ de tri principal, le deuxième représente le champ de tri suivant, etc. Flash trie selon les valeurs Unicode. (ASCII est un sous-ensemble de Unicode.) Si l'un des éléments comparés ne contient pas le champ spécifié dans le paramètre fieldName, le champ est considéré comme étant undefined et les éléments sont placés de manière consécutive dans le tableau trié dans un ordre quelconque. Par défaut, Array.sortOn() fonctionne de la façon suivante : ■ Le tri tient compte de la casse (Z précède a). ■ Le tri est ascendant (a précède b). Array 275 ■ ■ Le tableau est modifié afin de refléter l'ordre de tri ; plusieurs éléments, dont les champs de tri sont identiques, sont placés de manière consécutive dans le tableau trié dans un ordre quelconque. Les champs numériques sont triés comme s'il s'agissait de chaînes : ainsi, 100 précède 99 car « 1 » est une valeur de chaîne inférieure à « 9 ». Flash Player 7 a jouté le paramètre options que vous pouvez utiliser pour annuler le comportement de tri par défaut. Pour trier un tableau simple (par exemple, un tableau contenant un seul champ) ou pour spécifier un ordre de tri non pris en charge par le paramètre options, utilisez Array.sort(). Pour définir plusieurs indicateurs, séparez-les à l'aide de l'opérateur OR (|) au niveau du bit : my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC); La fonctionnalité ajoutée à Flash Player 8 permet de spécifier une option de tri différente pour chaque champ lors d'un tri selon plusieurs champs. Dans Flash Player 8, le paramètre options accepte un tableau d'options de tri de telle sorte que chaque option de tri correspond à un champ de tri dans le paramètre fieldName. L'exemple suivant trie le champ de tri principal, a, selon un tri décroissant, le deuxième champ de tri, b, selon un tri numérique et le troisième champ de tri, c, selon un tri non sensible à la casse : Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]); Remarque :les tableaux fieldName et options doivent contenir le même nombre d'éléments ; sinon, le tableau options est ignoré. En outre, les options Array.UNIQUESORT et Array.RETURNINDEXEDARRAY ne peuvent être utilisées qu'en tant que premier élément du tableau, sinon elles sont ignorées. Disponibilité : ActionScript 1.0 ; Flash Player 6 - Le paramètre options a été ajouté dans Flash Player 7. La possibilité d'utiliser différents paramètres d'options dans plusieurs champs de tri a été ajoutée dans Flash Player 8. Paramètres fieldName: Object - Chaîne identifiant un champ à utiliser en tant que valeur de tri ou tableau dans lequel le premier élément représente le champ de tri principal, le deuxième le champ de tri secondaire, etc. [facultatif ] - Un ou plusieurs nombres ou noms de constantes définies, séparés par l'opérateur bitwise OR (|), ce qui remplace le comportement de tri. Les valeurs suivantes sont valides pour le paramètre options : options: Object ■ Array.CASEINSENSITIVE ■ Array.DESCENDING ou 2 ■ Array.UNIQUESORT ou 4 276 Classes ActionScript ou 1 ■ Array.RETURNINDEXEDARRAY ■ Array.NUMERIC ou 8 ou 16 Les conseils de code sont activés si vous utilisez le format chaîne de l'indicateur (par exemple, DESCENDING) au lieu du format numérique (2). Valeur renvoyée Array ■ ■ ■ - La valeur de renvoi dépend du fait que vous transmettiez ou non des paramètres : Si vous spécifiez une valeur de 4 ou Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, la valeur 0 est renvoyée et le tableau n'est pas modifié. Si vous spécifiez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour le paramètre options, un tableau qui reflète les résultats du tri est renvoyé et le tableau n'est pas modifié. Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l'ordre de tri. Exemple L'exemple suivant crée un nouveau tableau et le trie selon les champs name et city. Le premier tri utilise name en tant que première valeur de tri et city en tant que deuxième valeur de tri. Le deuxième tri utilise city en tant que première valeur de tri et name en tant que deuxième valeur de tri. var rec_array:Array = new Array(); rec_array.push({name: "john", city: "omaha", zip: 68144}); rec_array.push({name: "john", city: "kansas city", zip: 72345}); rec_array.push({name: "bob", city: "omaha", zip: 94010}); for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Résultats : // john, omaha // john, kansas city // bob, omaha rec_array.sortOn(["name", "city"]); for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Résultats : // bob, omaha // john, kansas city // john, omaha rec_array.sortOn(["city", "name" ]); Array 277 for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Résultats : // john, kansas city // bob, omaha // john, omaha Le tableau d'objets suivant est utilisé par les exemples suivants, qui montrent comment utiliser le paramètre options : var my_array:Array = new my_array.push({password: my_array.push({password: my_array.push({password: my_array.push({password: Array(); "Bob", age:29}); "abcd", age:3}); "barb", age:35}); "catchy", age:4}); La réalisation d'un tri par défaut à partir du champ du mot de passe donne les résultats suivants : my_array.sortOn("password"); // Bob // abcd // barb // catchy La réalisation d'un tri non sensible à la casse à partir du champ du mot de passe donne les résultats suivants : my_array.sortOn("password", Array.CASEINSENSITIVE); // abcd // barb // Bob // catchy La réalisation d'un tri décroissant non sensible à la casse à partir du champ du mot de passe donne les résultats suivants : my_array.sortOn("password", Array.CASEINSENSITIVE | Array.DESCENDING); // catchy // Bob // barb // abcd La réalisation d'un tri par défaut à partir du champ âge donne les résultats suivants : my_array.sortOn("age"); // 29 // 3 // 35 // 4 La réalisation d'un tri numérique à partir du champ âge donne les résultats suivants : my_array.sortOn("age", Array.NUMERIC); // my_array[0].age = 3 278 Classes ActionScript // my_array[1].age = 4 // my_array[2].age = 29 // my_array[3].age = 35 La réalisation d'un tri numérique décroissant à partir du champ âge donne les résultats suivants : my_array.sortOn("age", Array.DESCENDING | Array.NUMERIC); // my_array[0].age = 35 // my_array[1].age = 29 // my_array[2].age = 4 // my_array[3].age = 3 Lorsque vous utilisez l'option de tri Array.RETURNEDINDEXARRAY, vous devez affecter la valeur renvoyée à un tableau différent. Le tableau d'origine n'est pas modifié. var indexArray:Array = my_array.sortOn("age", Array.RETURNINDEXEDARRAY); Voir aussi | Opérateur OR au niveau du bit, sort (méthode Array.sort) splice (méthode Array.splice) public splice(startIndex: Number, [deleteCount: Number], [value: Object]) : Array Ajoute et supprime des éléments dans un tableau. Cette méthode modifie le tableau sans faire de copie. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres startIndex: Number - Un entier spécifiant l'index de la position d'insertion ou de suppression de l'élément dans le tableau. Vous pouvez spécifier un entier négatif pour définir une position par rapport à la fin du tableau (par exemple, la valeur -1 représente le dernier élément du tableau). deleteCount: Number [facultatif ] - Un entier spécifiant le nombre d'éléments à supprimer. Ce nombre inclut l'élément spécifié dans le paramètre startIndex. Si aucune valeur n'est spécifiée pour le paramètre deleteCount, la méthode supprime toutes les valeurs comprises entre l'élément startIndex et le dernier élément du tableau. Si la valeur est 0, aucun élément n'est supprimé. [facultatif ] - Spécifie les valeurs à insérer dans le tableau au point d'insertion défini dans le paramètre startIndex. value: Object Array 279 Valeur renvoyée Array - Tableau contenant les éléments supprimés du tableau original. Exemple L'exemple suivant crée un tableau et le relie à l'aide de l'élément index 1 pour le paramètre startIndex. Tous les éléments du tableau à partir du deuxième élément sont ainsi supprimés : seul l'élément à l'index 0 est conservé dans le tableau d'origine : var myPets_array:Array = new Array("cat", "dog", "bird", "fish"); trace(myPets_array.splice(1)); // Affiche dog,bird,fish. trace(myPets_array); // cat L'exemple suivant crée un tableau et le relie à l'aide de l'élément index 1 pour le paramètre startIndex et du nombre 2 pour le paramètre deleteCount. Deux éléments du tableau à partir du deuxième élément sont ainsi supprimés : seuls les premier et dernier éléments sont conservés dans le tableau d'origine : var myFlowers_array:Array = new Array("roses", "tulips", "lilies", "orchids"); trace(myFlowers_array.splice(1,2)); // Affiche tulips,lilies. trace(myFlowers_array); // roses,orchids L'exemple suivant crée un tableau et le relie ç l'aide de l'élément index 1 pour le paramètre startIndex, du nombre 0 pour le paramètre deleteCount et de la chaîne chair pour le paramètre value. Aucun élément n'est supprimé du tableau d'origine et la chaîne chair est ajoutée à l'index 1 : var myFurniture_array:Array = new Array("couch", "bed", "desk", "lamp"); trace(myFurniture_array.splice(1,0, "chair")); // Affiche un tableau vide. trace(myFurniture_array); // Affiche couch,chair,bed,desk,lamp toString (méthode Array.toString) public toString() : String Renvoie une valeur de chaîne représentant les éléments dans l'objet Array spécifié. Chaque élément du tableau, commençant par l'index 0 et se terminant par l'index le plus élevé, est converti en chaîne concaténée et séparé par des virgules. Pour spécifier un séparateur personnalisé, utilisez la méthode Array.join(). Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String 280 - Chaîne. Classes ActionScript Exemple L'exemple suivant crée le tableau my_array et le convertit en chaîne. var my_array:Array = new Array(); my_array[0] = 1; my_array[1] = 2; my_array[2] = 3; my_array[3] = 4; my_array[4] = 5; trace(my_array.toString()); // Affiche 1,2,3,4,5. Cet exemple renvoie le résultat 1,2,3,4,5 de l'instruction trace. Voir aussi split (méthode String.split), join (méthode Array.join) UNIQUESORT (propriété Array.UNIQUESORT) public static UNIQUESORT : Number Dans les méthodes de tri, cette constante spécifie l'unique exigence de tri. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn(). L'option de tri unique abandonne le tri si deux éléments ou champs triés ont des valeurs identiques. La valeur de cette constante est 4. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi sort (méthode Array.sort), sortOn (méthode Array.sortOn) unshift (méthode Array.unshift) public unshift(value: Object) : Number Ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value: Object - Un ou plusieurs nombres, éléments ou variables à insérer au début du tableau. Valeur renvoyée Number - Un entier représentant la nouvelle longueur du tableau. Array 281 Exemple L'exemple suivant illustre l'utilisation de la méthode Array.unshift() : var pets_array:Array = new Array("dog", "cat", "fish"); trace(pets_array); // Affiche dog,cat,fish. pets_array.unshift("ferrets", "gophers", "engineers"); trace(pets_array); // Affiche ferrets,gophers,engineers,dog,cat,fish. Voir aussi pop (méthode Array.pop), push (méthode Array.push), shift (méthode Array.shift) AsBroadcaster Object | +-AsBroadcaster public class AsBroadcaster extends Object Offre des fonctionnalités de notification d'événements et de gestion des écouteurs pouvant être ajoutées à des objets définis par l'utilisateur. Cette classe est destinée aux utilisateurs expérimentés qui souhaitent créer des mécanismes de gestion d'événements personnalisés. Vous pouvez utiliser cette classe pour définir un objet en tant que diffuseur d'événements et pour créer un ou plusieurs objets écouteurs qui reçoivent une notification à chaque fois que l'objet de diffusion appelle la méthode broadcastMessage(). Aucune fonction constructeur n'existe pour la classe AsBroadcaster. Pour utiliser cette classe, procédez comme suit : ■ ■ ■ ■ Sélectionnez ou créez un objet faisant office de diffuseur d'événements. Définissez l'objet en tant que diffuseur d'événements en appelant la méthode AsBroadcaster.initialize(obj:Object) statique, où le paramètre obj est le nom de l'objet que vous avez sélectionné en tant que diffuseur. Sélectionnez ou créez un ou plusieurs objets écouteurs. Les objets écouteurs reçoivent une notification à chaque fois que l'objet de diffusion envoie un message Définissez une méthode d'écouteur pour chaque objet écouteur. La méthode d'écouteur exécute le code ActionScript en réponse à la notification d'événement. Le nom de la méthode doit correspondre à celui de l'événement diffusé par l'objet de diffusion. 282 Classes ActionScript ■ ■ Enregistrez chaque objet écouteur avec le diffuseur d'événements en appelant myBroadcaster.addListener(myListener), où myBroadcaster est le nom de l'objet diffuseur d'événements et myListener le nom de l'objet écouteur. Chaque diffuseur d'événements stocke une liste d'objets écouteurs devant être informés lorsqu'un message est diffusé. Utilisez la méthode addListener() pour ajouter des écouteurs dans la liste et removeListener() pour les supprimer de la liste. Enfin, pour envoyer un message, appelez la méthode myBroadcaster.broadcastMessage(eventName:String), où myBroadcaster est le nom du diffuseur d'événements et eventName le nom de l'événement correspondant à celui de la méthode d'écouteur. Remarque :Une erreur courante consiste à mettre en majuscule la deuxième lettre de AsBroadcaster. Lorsque vous appelez la méthode AsBroadcaster.initialize(), assurezvous que la deuxième lettre est en minuscule. Toute faute d'orthographe apparaissant dans AsBroadcaster échoue sans indication. Disponibilité : ActionScript 1.0 ; Flash Player 6 Résumé des propriétés Modificateurs Propriété _listeners: Array [lecture seule] Description Une liste de références à tous les objets écouteurs enregistrés. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Modificateurs Signature Description addListener(listene Enregistre un objet de façon à ce que ce dernier rObj: Object) : reçoive les messages de notification. Boolean broadcastMessage(ev Envoie un message d'événement à chaque objet de entName: String) : la liste d'écouteurs. Void AsBroadcaster 283 Modificateurs Signature Description static Ajoute une fonctionnalité de notification d'événements et de gestion des écouteurs à un objet donné. initialize(obj: Object) : Void removeListener(list Supprime un objet de la liste d'objets recevant des enerObj: Object) : messages de notification d'événement. Boolean Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) addListener (méthode AsBroadcaster.addListener) public addListener(listenerObj: Object) : Boolean Enregistre un objet de façon à ce que ce dernier reçoive les messages de notification. Cette méthode est appelée sur l'objet de diffusion et l'objet écouteur est envoyé en tant qu'argument. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres listenerObj: Object - Le nom de l'objet écouteur recevant la notification d'événement. Valeur renvoyée Boolean - Bien que, d'un point de vue technique, cette méthode renvoie une valeur booléenne, elle renvoie Void dans la pratique car elle renvoie toujours la valeur true. Exemple L'exemple suivant est tiré de l'exemple détaillé en intégralité dans l'entrée de la méthode AsBroadcaster.initialize(). someObject.addListener(myListener1); // Enregistrez myListener1 en tant qu'écouteur. someObject.addListener(myListener2); // Enregistrez myListener2 en tant qu'écouteur. 284 Classes ActionScript Voir aussi initialize (méthode AsBroadcaster.initialize), removeListener (méthode AsBroadcaster.removeListener) broadcastMessage (méthode AsBroadcaster.broadcastMessage) public broadcastMessage(eventName: String) : Void Envoie un message d'événement à chaque objet de la liste d'écouteurs. Dès que l'objet d'écoute a reçu le message, Flash Player tente d'appeler une fonction du même nom sur l'objet d'écoute. Supposons que votre objet envoie un message d'événement tel que celui-ci : obj.broadcastMessage("onAlert"); Une fois ce message reçu, Flash Player appelle une méthode intitulée onAlert() sur l'objet écouteur de réception. Remarque :Vous pouvez transmettre des arguments à vos fonctions d'écouteur en incluant des arguments supplémentaires à la méthode broadcastMessage(). Tous les arguments apparaissant après le paramètre eventName sont reçus en tant qu'arguments par la méthode d'écouteur. Cette méthode ne peut être appelée qu'à partir d'un objet ayant été initialisé à l'aide de la méthode AsBroadcaster.initialize(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Le nom de l'événement à diffuser. Le nom des méthodes d'écouteur doit correspondre à ce paramètre afin de pouvoir recevoir l'événement de diffusion. Vous pouvez transmettre des arguments aux méthodes d'écouteur en incluant des arguments supplémentaires après eventName. eventName: String Exemple L'exemple suivant est tiré de l'exemple détaillé en intégralité dans l'entrée de la méthode : AsBroadcaster.initialize() someObject.broadcastMessage("someEvent"); // Diffuser le message "someEvent". L'exemple suivant est tiré du deuxième exemple détaillé en intégralité dans l'entrée de la méthode AsBroadcaster.initialize(). Il indique comment envoyer des arguments aux méthodes d'écouteur. someObject.broadcastMessage("someEvent", 3, "arbitrary string"); AsBroadcaster 285 Voir aussi initialize (méthode AsBroadcaster.initialize), removeListener (méthode AsBroadcaster.removeListener) initialize (méthode AsBroadcaster.initialize) public static initialize(obj: Object) : Void Ajoute une fonctionnalité de notification d'événements et de gestion des écouteurs à un objet donné. Il s'agit d'une méthode statique ; elle doit être appelée à l'aide de la classe AsBroadcaster (où someObject est le nom de l'objet à initialiser en tant que diffuseur d'événements) : AsBroadcaster.initialize(someObject); Remarque :Une erreur courante consiste à mettre en majuscule la deuxième lettre de AsBroadcaster. Lorsque vous appelez la méthode AsBroadcaster.initialize(), assurezvous que la deuxième lettre est en minuscule. Toute faute d'orthographe apparaissant dans AsBroadcaster échoue sans indication. Cette méthode ajoute la propriété _listeners, ainsi que les trois méthodes suivantes, à l'objet spécifié par le paramètre obj : ■ obj.addListener() ■ obj.removeListener() ■ obj.broadcastMessage() Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres obj: Object - Un objet faisant office d'objet de diffusion. Exemple L'exemple suivant crée un objet générique, someObject, et le transforme en diffuseur d'événements. Les valeurs obtenues doivent correspondre aux chaînes affichées dans les deux instructions trace() : var someObject:Object = new Object(); // Crée un objet diffuseur. var myListener1:Object = new Object(); // Crée un objet écouteur. var myListener2:Object = new Object(); // Crée un objet écouteur. myListener1.someEvent = function() { // Crée une méthode d'écouteur. trace("myListener1 received someEvent"); } myListener2.someEvent = function() { // Crée une méthode d'écouteur. 286 Classes ActionScript trace("myListener2 received someEvent"); } AsBroadcaster.initialize(someObject); // Transforme someObject en diffuseur d'événements. someObject.addListener(myListener1); // Enregistre myListener1 en tant qu'écouteur. someObject.addListener(myListener2); // Enregistre myListener2 en tant qu'écouteur. someObject.broadcastMessage("someEvent"); // Diffuse le message "someEvent". L'exemple suivant indique comment transmettre des arguments supplémentaires à une méthode d'écouteur à l'aide de la méthode broadcastMessage(). Les valeurs obtenues doivent correspondre aux trois chaînes affichées dans les trois instructions trace(), qui incluent également les arguments transmis via la méthode broadcastMessage(). var someObject:Object = new Object(); var myListener:Object = new Object(); myListener.someEvent = function(param1:Number, param2:String) { trace("myListener received someEvent"); trace("param1: " + param1); trace("param2: " + param2); } AsBroadcaster.initialize(someObject); someObject.addListener(myListener); someObject.broadcastMessage("someEvent", 3, "arbitrary string"); _listeners (propriété AsBroadcaster._listeners) public _listeners : Array [lecture seule] Une liste de références à tous les objets écouteurs enregistrés. Cette propriété est réservée à un usage interne uniquement et n'est pas destinée à une manipulation directe. Les objets sont ajoutés et supprimés dans ce tableau en appelant les méthodes addListener() et removelistener(). Cette propriété ne peut être appelée qu'à partir d'un objet ayant été initialisé à l'aide de la méthode AsBroadcaster.initialize(). Disponibilité : ActionScript 1.0 ; Flash Player 6 AsBroadcaster 287 Exemple L'exemple suivant indique comment utiliser la propriété length pour déterminer le nombre d'objets écouteurs actuellement enregistrés auprès d'un diffuseur d'événements. Le code suivant fonctionne s'il est ajouté au premier exemple détaillé en intégralité dans la section Exemples de l'entrée AsBroadcaster.initialize() : trace(someObject._listeners.length); // Renvoie : 2 Pour les utilisateurs expérimentés, l'exemple suivant indique comment utiliser la propriété _listeners pour répertorier tous les écouteurs enregistrés avec un diffuseur d'événements, ainsi que toutes les propriétés de chaque objet écouteur. L'exemple suivant crée deux méthodes d'écouteur différentes pour le premier objet écouteur. var someObject:Object = new Object(); // crée un objet diffuseur var myListener1:Object = new Object(); // crée un objet écouteur var myListener2:Object = new Object(); // crée un objet écouteur myListener1.someEvent = function() { // crée une méthode d'écouteur trace("myListener1 received someEvent"); } myListener1.anotherEvent = function() { // crée une autre méthode d'écouteur trace("myListener1 received anotherEvent"); } myListener2.someEvent = function() { // crée une méthode d'écouteur trace("myListener2 received someEvent"); } AsBroadcaster.initialize(someObject); // transforme someObject en diffuseur d'événements someObject.addListener(myListener1); // enregistre myListener1 en tant qu'écouteur someObject.addListener(myListener2); // enregistre myListener2 en tant qu'écouteur var numListeners:Number = someObject._listeners.length; // obtenir le nombre d'écouteurs enregistrés // parcourir tous les objets écouteurs, en répertoriant toutes les propriétés de chaque objet écouteur for (var i:Number = 0; i < numListeners; i++) { trace("Listener " + i + " listens for these events:"); for (item in someObject._listeners[i]) { trace (" " + item + ": " + someObject._listeners[i][item]); } } 288 Classes ActionScript Voir aussi initialize (méthode AsBroadcaster.initialize) removeListener (méthode AsBroadcaster.removeListener) public removeListener(listenerObj: Object) : Boolean Supprime un objet de la liste d'objets recevant des messages de notification d'événement. Cette méthode ne peut être appelée qu'à partir d'un objet ayant été initialisé à l'aide de la méthode AsBroadcaster.initialize(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres - Le nom d'un objet écouteur enregistré pour recevoir des notifications d'événement émanant de l'objet de diffusion. listenerObj: Object Valeur renvoyée Boolean - Renvoie true si l'objet écouteur est supprimé ; false sinon. Exemple L'exemple suivant indique comment supprimer un écouteur de la liste des écouteurs enregistrés. Le code suivant fonctionne s'il est ajouté au premier exemple détaillé en intégralité dans la section Exemples de l'entrée AsBroadcaster.initialize(). Les instructions trace() sont incluses uniquement pour s'assurer que le nombre d'écouteurs enregistrés est réduit d'une unité après avoir appelé la méthode removeListener(). trace(someObject._listeners.length); // Renvoie : 2 someObject.removeListener(myListener1); trace(someObject._listeners.length); // Renvoie : 1 Voir aussi addListener (méthode AsBroadcaster.addListener), initialize (méthode AsBroadcaster.initialize) AsBroadcaster 289 BevelFilter (flash.filters.BevelFilter) Object | +- BitmapFilter | +-flash.filters.BevelFilter public class BevelFilter extends BitmapFilter La classe BevelFilter vous permet d'ajouter un effet de biseau à divers objets dans Flash. L'effet de biseau donne aux objets tels que des boutons un aspect tridimensionnel. Vous pouvez personnaliser l'aspect du biseau grâce à différentes couleurs de soulignement et d'ombre, au montant de flou sur le biseau, à l'angle du biseau, au positionnement du biseau et à un effet de poinçonnage. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■ ■ Pour appliquer des filtres aux clips, champs de texte et boutons lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel de applyFilter sur un objet BitmapData prend l'objet BitmapData source et l'objet de filtre, et génère une image filtrée. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Toutefois, le redimensionnement général, la rotation et l'inclinaison ne sont pas pris en charge. Si l'objet est redimensionné (si _xscale et _yscale ne sont pas définis sur 100 %), le filtre ne l'est pas. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Aucun filtre n'est appliqué si l'image obtenue dépasse 2 880 pixels en hauteur ou en largeur. Si, par exemple, vous effectuez un zoom avant sur un clip volumineux auquel est appliqué un filtre, celui-ci est désactivé si l'image obtenue dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 290 Classes ActionScript Voir aussi filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap), filters (propriété Button.filters), cacheAsBitmap (propriété Button.cacheAsBitmap), filters (propriété TextField.filters), applyFilter (méthode BitmapData.applyFilter), MovieClip Résumé des propriétés Modificateurs Propriété Description angle: Number L'angle du biseau. blurX: Number Le montant de flou horizontal dans les pixels. blurY: Number Le montant de flou vertical dans les pixels. distance: Number La distance de décalage du biseau. highlightAlpha: Number La valeur de transparence alpha de la couleur de soulignement. highlightColor: La couleur de soulignement du biseau. Number knockout: Boolean Applique un effet de poinçonnage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. quality: Number Le nombre d'applications du filtre. shadowAlpha: Number La valeur de transparence alpha de la couleur d'ombre. shadowColor: Number La couleur d'ombre du biseau. strength: Number L'intensité de l'impression ou du recouvrement. type: String Le type de biseau. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) BevelFilter (flash.filters.BevelFilter) 291 Résumé des constructeurs Signature Description BevelFilter([distance: Number], [angle: Initialise une nouvelle occurrence BevelFilter avec les paramètres spécifiés. Number], [highlightColor: Number], [highlightAlpha: Number], [shadowColor: Number], [shadowAlpha: Number], [blurX: Number], [blurY: Number], [strength: Number], [quality: Number], [type: String], [knockout: Boolean]) Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. BevelFilter Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) angle (propriété BevelFilter.angle) public angle : Number L'angle du biseau. Les valeurs valides sont comprises entre 0 et 360 degrés. La valeur par défaut est 45. La valeur d'angle représente l'angle de la source lumineuse théorique projetée sur l'objet et détermine le positionnement de l'effet par rapport à l'objet. Si la distance est définie sur 0, l'effet n'est pas décalé par rapport à l'objet ; par conséquent, la propriété angle n'a pas d'effet. Disponibilité : ActionScript 1.0 ; Flash Player 8 292 Classes ActionScript Exemple L'exemple suivant modifie la propriété angle d'une occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelDistance"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.angle = 225; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } Constructeur BevelFilter public BevelFilter([distance: Number], [angle: Number], [highlightColor: Number], [highlightAlpha: Number], [shadowColor: Number], [shadowAlpha: Number], [blurX: Number], [blurY: Number], [strength: Number], [quality: Number], [type: String], [knockout: Boolean]) Initialise une nouvelle occurrence BevelFilter avec les paramètres spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 BevelFilter (flash.filters.BevelFilter) 293 Paramètres distance: Number [facultatif ] - La distance de décalage du biseau, en pixels (virgule flottante). La valeur par défaut est 4. angle: Number [facultatif ] - L'angle du biseau, de 0 à 360 degrés. La valeur par défaut est 45. [facultatif ] - La couleur de soulignement du biseau, 0xRRVVBB. La valeur par défaut est 0xFFFFFF. highlightColor: Number [facultatif ] - La valeur de transparence alpha de la couleur de soulignement. Les valeurs valides sont comprises entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. highlightAlpha: Number shadowColor: Number [facultatif ] - La couleur d'ombre du biseau, 0xRRVVBB. La valeur par défaut est 0x000000. shadowAlpha: Number [facultatif ] - La valeur de transparence alpha de la couleur d'ombre. Les valeurs valides sont comprises entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. blurX: Number [facultatif ] - Le montant de flou horizontal dans les pixels. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs qui sont une puissance de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées de manière à ce que leur rendu soit obtenu plus rapidement que celui des autres valeurs. [facultatif ] - Le montant de flou vertical dans les pixels. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs qui sont une puissance de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées de manière à ce que leur rendu soit obtenu plus rapidement que celui des autres valeurs. blurY: Number strength: Number [facultatif ] - Intensité de l'impression ou du recouvrement. Plus la valeur est élevée, plus l'intensité des couleurs apparaît à l'impression et plus le contraste est important entre le biseau et l'arrière-plan. Les valeurs valides sont comprises entre 0 et 255. La valeur par défaut est 1. quality: Number [facultatif ] - Nombre d'applications du filtre. La valeur par défaut est 1, ce qui correspond à un niveau de qualité faible. La valeur 2 correspond à une qualité moyenne et la valeur 3 à une qualité élevée. [facultatif ] - Le type de biseau. Les valeurs valides sont "inner", "outer" et "full". La valeur par défaut est "inner". type: String [facultatif ] - Applique un effet de poinçonnage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. La valeur par défaut est false (pas de poinçonnage). knockout: Boolean 294 Classes ActionScript Exemple L'exemple suivant instancie une nouvelle occurrence BevelFilter et l'applique à l'occurrence MovieClip (rect) : import flash.filters.BevelFilter; var var var var var var var var var var var var distance:Number = 5; angleInDegrees:Number = 45; highlightColor:Number = 0xFFFF00; highlightAlpha:Number = 0.8; shadowColor:Number = 0x0000FF; shadowAlpha:Number = 0.8; blurX:Number = 5; blurY:Number = 5; strength:Number = 5; quality:Number = 3; type:String = "inner"; knockout:Boolean = false; var filter:BevelFilter = new BevelFilter(distance, angleInDegrees, highlightColor, highlightAlpha, shadowColor, shadowAlpha, blurX, blurY, strength, quality, type, knockout); var rect:MovieClip = createRectangle(100, 100, 0x00CC00, "bevelFilterExample"); rect.filters = new Array(filter); function createRectangle(w:Number, h:Number, bgColor:Number, name:String):MovieClip { var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; return rect; } BevelFilter (flash.filters.BevelFilter) 295 blurX (propriété BevelFilter.blurX) public blurX : Number Le montant de flou horizontal dans les pixels. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs qui sont une puissance de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées de manière à ce que leur rendu soit obtenu plus rapidement que celui des autres valeurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété blurX de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelBlurX"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.blurX = 10; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } 296 Classes ActionScript blurY (propriété BevelFilter.blurY) public blurY : Number Le montant de flou vertical dans les pixels. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs qui sont une puissance de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées de manière à ce que leur rendu soit obtenu plus rapidement que celui des autres valeurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété blurY de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelBlurY"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.blurY = 10; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } BevelFilter (flash.filters.BevelFilter) 297 clone (méthode BevelFilter.clone) public clone() : BevelFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée BevelFilter - Une nouvelle occurrence BevelFilter dont toutes les propriétés sont identiques à celles de l'occurrence BevelFilter d'origine. Exemple L'exemple suivant crée trois objets BevelFilter et les compare. Vous pouvez créer l'objet à l'aide du constructeur BevelFilter. Créez l'objet filter_2 en lui attribuant une valeur égale à filter_1. Créez clonedFilter en clonant filter_1. Vous pouvez constater que, contrairement à filter_2, considéré comme étant égal à filter_1, clonedFilter ne l'est pas, même s'il contient les mêmes valeurs que filter_1. filter_1 import flash.filters.BevelFilter; var filter_1:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); var filter_2:BevelFilter = filter_1; var clonedFilter:BevelFilter = filter_1.clone(); trace(filter_1 == filter_2); // true trace(filter_1 == clonedFilter); // false for(var i in filter_1) { trace(">> " + i + ": " + filter_1[i]); // >> clone: [type Function] // >> type: inner // >> blurY: 20 // >> blurX: 20 // >> knockout: false // >> strength: 1 // >> quality: 3 // >> shadowAlpha: 0.8 // >> shadowColor: 255 // >> highlightAlpha: 0.8 // >> highlightColor: 16776960 // >> angle: 45 // >> distance: 5 } 298 Classes ActionScript for(var i in clonedFilter) { trace(">> " + i + ": " + clonedFilter[i]); // >> clone: [type Function] // >> type: inner // >> blurY: 20 // >> blurX: 20 // >> knockout: false // >> strength: 1 // >> quality: 3 // >> shadowAlpha: 0.8 // >> shadowColor: 255 // >> highlightAlpha: 0.8 // >> highlightColor: 16776960 // >> angle: 45 // >> distance: 5 } Pour illustrer plus précisément la relation entre filter_1, filter_2 et clonedFilter, l'exemple suivant modifie la propriété knockout de filter_1. La modification de la propriété knockout démontre que la méthode clone() crée une occurrence en fonction des valeurs de filter_1 au lieu de se référer à ces valeurs. import flash.filters.BevelFilter; var filter_1:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); var filter_2:BevelFilter = filter_1; var clonedFilter:BevelFilter = filter_1.clone(); trace(filter_1.knockout); // false trace(filter_2.knockout); // false trace(clonedFilter.knockout); // false filter_1.knockout = true; trace(filter_1.knockout); // true trace(filter_2.knockout); // true trace(clonedFilter.knockout); // false distance (propriété BevelFilter.distance) public distance : Number La distance de décalage du biseau. Les valeurs valides sont en pixels (virgule flottante). La valeur par défaut est 4. Disponibilité : ActionScript 1.0 ; Flash Player 8 BevelFilter (flash.filters.BevelFilter) 299 Exemple L'exemple suivant modifie la propriété distance de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelDistance"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.distance = 3; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } highlightAlpha (propriété BevelFilter.highlightAlpha) public highlightAlpha : Number La valeur de transparence alpha de la couleur de soulignement. La valeur spécifiée est une valeur normalisée comprise entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 300 Classes ActionScript Exemple L'exemple suivant modifie la propriété highlightAlpha de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelHighlightAlpha"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.highlightAlpha = 0.2; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } highlightColor (propriété BevelFilter.highlightColor) public highlightColor : Number La couleur de soulignement du biseau. Les valeurs valides sont au format hexadécimal, 0xRRVVBB. La valeur par défaut est 0xFFFFFF. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété highlightColor de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; BevelFilter (flash.filters.BevelFilter) 301 var rect:MovieClip = createBevelRectangle("BevelHighlightColor"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.highlightColor = 0x0000FF; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } knockout (propriété BevelFilter.knockout) public knockout : Boolean Applique un effet de poinçonnage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. La valeur par défaut est false (pas de poinçonnage). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété knockout de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelKnockout"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.knockout = true; this.filters = new Array(filter); 302 Classes ActionScript } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } quality (propriété BevelFilter.quality) public quality : Number Le nombre d'applications du filtre. La valeur par défaut est 1, ce qui correspond à un niveau de qualité faible. La valeur 2 correspond à une qualité moyenne et la valeur 3 à une qualité élevée. Les rendus des filtres de valeurs inférieures sont obtenus plus rapidement. Pour la plupart des applications, une valeur de quality de 1, 2 ou 3 est suffisante. Bien que vous puissiez utiliser des valeurs numériques supplémentaires pouvant aller jusqu'à 15 pour obtenir d'autres effets, les rendus des valeurs plus élevées sont obtenus moins rapidement. Sans augmenter la valeur de quality, vous pouvez généralement obtenir un effet similaire, avec un rendu plus rapide, en augmentant simplement les valeurs de blurX et blurY. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété quality de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelQuality"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; BevelFilter (flash.filters.BevelFilter) 303 filter.quality = 1; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } shadowAlpha (propriété BevelFilter.shadowAlpha) public shadowAlpha : Number La valeur de transparence alpha de la couleur d'ombre. Cette valeur spécifiée est une valeur normalisée comprise entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété shadowAlpha de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelShadowAlpha"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.shadowAlpha = 0.2; this.filters = new Array(filter); } 304 Classes ActionScript function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } shadowColor (propriété BevelFilter.shadowColor) public shadowColor : Number La couleur d'ombre du biseau. Les valeurs valides sont au format hexadécimal, 0xRRVVBB. La valeur par défaut est 0x000000. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété shadowColor de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelShadowColor"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.shadowColor = 0xFFFF00; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; BevelFilter (flash.filters.BevelFilter) 305 var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } strength (propriété BevelFilter.strength) public strength : Number L'intensité de l'impression ou du recouvrement. Les valeurs valides sont comprises entre 0 et 255. Plus la valeur est élevée, plus l'intensité des couleurs apparaît à l'impression et plus le contraste est important entre le biseau et l'arrière-plan. La valeur par défaut est 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété strength de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelStrength"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.strength = 10; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); 306 Classes ActionScript rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } type (propriété BevelFilter.type) public type : String Le type de biseau. Les valeurs valides sont "inner", "outer" et "full". Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété type de l'occurrence MovieClip existante (rect) lorsqu'un utilisateur clique sur celle-ci : import flash.filters.BevelFilter; var rect:MovieClip = createBevelRectangle("BevelType"); rect.onRelease = function() { var filter:BevelFilter = this.filters[0]; filter.type = "outer"; this.filters = new Array(filter); } function createBevelRectangle(name:String):MovieClip { var w:Number = 100; var h:Number = 100; var bgColor:Number = 0x00CC00; var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); rect.beginFill(bgColor); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; BevelFilter (flash.filters.BevelFilter) 307 var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); rect.filters = new Array(filter); return rect; } BitmapData (flash.display.BitmapData) Object | +-flash.display.BitmapData public class BitmapData extends Object La classe BitmapData vous permet de créer des images bitmap transparentes ou opaques dimensionnées de manière arbitraire et de les manipuler à votre guise lors de l'exécution. Cette classe vous permet de séparer les opérations de rendu de bitmap dans les routines de mise à jour de l'affichage interne de Flash Player. En manipulant un objet BitmapData directement, vous pouvez créer des images très complexes sans utiliser de temps système supplémentaire par image résultant du retraçage du contenu des données vectorielles. Les méthodes de la classe BitmapData prennent en charge de nombreux effets qui ne sont pas disponibles dans l'interface du filtre générique. Un objet BitmapData contient un tableau de données de pixels. Ces données peuvent représenter un bitmap entièrement opaque ou entièrement transparent contenant des données de canal alpha. Chaque type d'objet BitmapData est stocké en tant que tampon converti en entiers 32 bits. Chaque entier 32 bits détermine les propriétés d'un pixel unique du bitmap. Chaque entier 32 bits est une combinaison de quatre valeurs de canal de 8 bits (de zéro à 255) décrivant les valeurs de transparence alpha et de rouge, vert et bleu (ARVB) du pixel. Les quatre canaux (rouge, vert, bleu et alpha) sont représentés sous forme de nombres lorsque vous les utilisez avec la méthode BitmapData.copyChannel() ou avec les propriétés DisplacementMapFilter.componentX et DisplacementMapFilter.componentY, comme suit : ■ 1 (rouge) ■ 2 (vert) ■ 4(bleu) ■ 8 (alpha) Vous pouvez associer des objets BitmapData à un objet MovieClip à l'aide de la méthode MovieClip.attachBitmap(). 308 Classes ActionScript Vous pouvez utiliser un objet BitmapData pour remplir une zone d'un clip à l'aide de la méthode MovieClip.beginBitmapFill(). Les largeur et hauteur maximales d'un objet BitmapData sont de 2880 pixels. Les appels des méthodes ou propriétés d'un objet BitmapData échouent si l'objet BitmapData n'est pas valide (par exemple, s'il a les valeurs height == 0 et width == 0), et lorsque ces appels échouent, ces propriétés et méthodes qui renvoient des valeurs numériques renvoient 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi attachBitmap (méthode MovieClip.attachBitmap), beginBitmapFill (méthode MovieClip.beginBitmapFill) Résumé des propriétés Modificateurs Propriété height: Number Description La hauteur de l'image bitmap en pixels. [lecture seule] rectangle: Rectangle Le rectangle qui délimite la taille et l'emplacement [lecture seule] de l'image bitmap. transparent: Boolean Définit si l'image bitmap prend en charge la [lecture seule] transparence par pixel. width: Number [lecture La largeur de l'image bitmap en pixels. seule] Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé des constructeurs Signature Description BitmapData(width: Number, height: Number, Crée un objet BitmapData à la largeur et la hauteur spécifiées. [transparent: Boolean], [fillColor: Number]) BitmapData (flash.display.BitmapData) 309 Résumé de la méthode Modificateurs Signature Description applyFilter(sourceBitmap: Prend une image source et un objet filtre et génère l'image filtrée. BitmapData, sourceRect: Rectangle, destPoint: Point, filter: BitmapFilter) : Number clone() : BitmapData Renvoie un nouvel objet BitmapData, clone de l'occurrence d'origine avec une copie exacte du bitmap contenu. colorTransform(rect: Rectangle, Définit les valeurs de couleur dans une zone spécifiée d'une image bitmap avec un objet ColorTransform. colorTransform: ColorTransform) : Void compare(otherBitmapData: BitmapData) : Object copyChannel(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, sourceChannel: Number, Compare deux objets BitmapData. Transfère les données du canal d'un autre objet BitmapData ou de l'objet actuel vers un canal de l'objet BitmapData actuel. destChannel: Number) : Void copyPixels(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, [alphaBitmap: BitmapData], [alphaPoint: Point], Met en place une routine rapide permettant de manipuler les pixels de différentes images sans effets d'étirement, de rotation ou de couleur. [mergeAlpha: Boolean]) : Void dispose() : Void Libère la mémoire utilisée pour stocker l'objet BitmapData. Dessine une image source ou un clip sur une image de destination avec la fonctionnalité de rendu ColorTransform], [blendMode: Object], [clipRect: Rectangle], vectoriel de Flash Player. draw(source: Object, [matrix: Matrix], [colorTransform: [smooth: Boolean]) : Void fillRect(rect: Rectangle, color: Number) : Void 310 Classes ActionScript Remplit une zone rectangulaire de pixels avec une couleur ARVB spécifiée. Modificateurs Signature Description floodFill(x: Number, y: Number, Effectue une opération de peinture sur une image à partir de certaines coordonnées (x, y) et à l'aide d'une certaine couleur. color: Number) : Void generateFilterRect(sourceRect: Rectangle, filter: BitmapFilter) : Rectangle Détermine le rectangle de destination affecté par l'appel de la méthode applyFilter(), en fonction d'un objet BitmapData, d'un rectangle source et d'un objet filtre spécifiés. Détermine une zone rectangulaire qui regroupe tous les pixels d'une couleur spécifiée au sein de l'image bitmap. getColorBoundsRect(mask: Number, color: Number, [findColor: Boolean]) : Rectangle getPixel(x: Number, y: Number) : Number Renvoie un entier représentant une valeur de pixels RVB à partir d'un objet BitmapData à un point spécifique (x, y). Renvoie une valeur de couleur ARVB qui contient des données de canal alpha, ainsi que les données RVB. getPixel32(x: Number, y: Number) : Number Procède à la détection des clics au niveau des pixels entre une image bitmap et un point, un secondObject: Object, rectangle ou toute autre image [secondBitmapPoint: Point], [secondAlphaThreshold: Number]) bitmap. hitTest(firstPoint: Point, firstAlphaThreshold: Number, : Boolean static Renvoie un nouvel objet BitmapData qui contient une version bitmap du symbole identifié par un ID de liaison spécifié dans la bibliothèque. loadBitmap(id: String) : BitmapData merge(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, redMult: Procède au fondu canal par canal d'une image source vers une image de destination. Number, greenMult: Number, blueMult: Number, alphaMult: Number) : Void BitmapData (flash.display.BitmapData) 311 Modificateurs Signature Description noise(randomSeed: Number, [low: Remplit une image avec des pixels représentant un bruit aléatoire. Number], [high: Number], [channelOptions: Number], [grayScale: Boolean]) : Void Remappe les valeurs des canaux de couleur dans une image recevant jusqu'à quatre tableaux Rectangle, destPoint: Point, [redArray: Array], [greenArray: de données de palette de couleurs, un pour chaque canal. Array], [blueArray: Array], paletteMap(sourceBitmap: BitmapData, sourceRect: [alphaArray: Array]) : Void perlinNoise(baseX: Number, baseY: Number, numOctaves: Génère une image de bruit Perlin. Number, randomSeed: Number, stitch: Boolean, fractalNoise: Boolean, [channelOptions: Number], [grayScale: Boolean], [offsets: Object]) : Void pixelDissolve(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, [randomSeed: Number], Procède à la dissolution de pixels, soit d'une image source vers une image de destination, soit en utilisant la même image. [numberOfPixels: Number], [fillColor: Number]) : Number scroll(x: Number, y: Number) : Void setPixel(x: Number, y: Number, color: Number) : Void setPixel32(x: Number, y: Number, color: Number) : Void Fait défiler une image en fonction d'un certain montant en pixels (x, y). Définit la couleur d'un pixel unique d'un objet BitmapData. Définit la couleur et les valeurs de transparence alpha d'un pixel unique d'un objet BitmapData. Teste les valeurs de pixels d'une image selon un seuil spécifié et définit les pixels qui réussissent Rectangle, destPoint: Point, le test sur de nouvelles valeurs operation: String, threshold: Number, [color: Number], [mask: de couleur. threshold(sourceBitmap: BitmapData, sourceRect: Number], [copySource: Boolean]) : Number 312 Classes ActionScript Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) applyFilter (méthode BitmapData.applyFilter) public applyFilter(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, filter: BitmapFilter) : Number Prend une image source et un objet filtre et génère l'image filtrée. Cette méthode repose sur le comportement des objets filtres intégrés, contenant du code leur permettant de déterminer le rectangle de destination affecté par un rectangle source d'entrée. Une fois le filtre appliqué, la taille de l'image obtenue peut être supérieure à celle de l'image d'entrée. Par exemple, si vous utilisez une classe BlurFilter pour rendre flou un rectangle source de (50,50,100,100) et un point de destination de (10,10), la zone modifiée sur l'image de destination est supérieure à (10,10,60,60) en raison du flou. Cela se produit en interne au cours de l'appel applyFilter(). Si le paramètre sourceRect du paramètre sourceBitmapData est une zone intérieure, telle que (50,50,100,100) sur une image 200 x 200, le filtre utilise les pixels source hors du paramètre sourceRect pour générer le rectangle de destination. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'occurrence BitmapData actuelle. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. destPoint: Point - Le point sur l'image de destination (l'occurrence BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. BitmapData (flash.display.BitmapData) 313 filter: BitmapFilter - L'objet filtre utilisé pour effectuer l'opération de filtrage. Chaque type de filtre dispose d'exigences spécifiques, comme suit : ■ ■ ■ ■ ■ BlurFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes. Si les formats des images ne correspondent pas, la copie de l'image source effectuée lors du filtrage correspond au format de l'image de destination. BevelFilter, DropShadowFilter, GlowFilter - L'image de destination de ces filtres doit être transparente. L'appel de DropShadowFilter ou de GlowFilter permet de créer une image contenant les données de canal alpha de l'ombre portée ou du rayonnement. Il ne permet pas de créer l'ombre portée sur l'image de destination. Si vous utilisez l'un de ces filtres sur une image de destination opaque, une valeur de code d'erreur de -6 est renvoyée. ConvolutionFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes. ColorMatrixFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes. DisplacementMapFilter - Ce filtre peut utiliser les images source et de destination opaques ou transparentes à condition que leurs formats soient identiques. Valeur renvoyée Number - Un nombre indiquant si le filtre a été appliqué avec succès. Si 0 est renvoyé, cela signifie que le filtre a été appliqué avec succès. Si un nombre négatif est renvoyé, cela signifie qu'une erreur s'est produite au cours de l'application du filtre. Exemple L'exemple suivant indique comment appliquer un filtre de biseau à une occurrence BitmapData : import flash.display.BitmapData; import flash.filters.BevelFilter; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCCCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "inner", false); 314 Classes ActionScript mc.onPress = function() { myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } Voir aussi BevelFilter (flash.filters.BevelFilter), BlurFilter (flash.filters.BlurFilter), ColorMatrixFilter (flash.filters.ColorMatrixFilter), ConvolutionFilter (flash.filters.ConvolutionFilter), DisplacementMapFilter (flash.filters.DisplacementMapFilter), DropShadowFilter (flash.filters.DropShadowFilter), GlowFilter (flash.filters.GlowFilter), filters (propriété MovieClip.filters) Constructeur BitmapData public BitmapData(width: Number, height: Number, [transparent: Boolean], [fillColor: Number]) Crée un objet BitmapData à la largeur et la hauteur spécifiées. Si vous spécifiez une valeur pour le paramètre fillColor, chaque pixel du bitmap est défini sur cette couleur. Par défaut, le bitmap créé est transparent, sauf si vous transmettez la valeur false au paramètre transparent. Une fois le bitmap opaque créé, vous ne pouvez pas le transformer en bitmap transparent. Chaque pixel d'un bitmap opaque utilise uniquement 24 bits d'informations de canal de couleur. Si vous définissez le bitmap sur transparent, chaque pixel utilise 32 bits d'informations de canal de couleur, y compris un canal de transparence alpha. Les largeur et hauteur maximales d'un objet BitmapData sont de 2880 pixels. Si vous spécifiez une valeur de largeur ou de hauteur supérieure à 2880, la nouvelle occurrence n'est pas créée. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres width: Number - La largeur de l'image bitmap en pixels. height: Number - La hauteur de l'image bitmap en pixels. [facultatif ] - Spécifie si l'image bitmap prend en charge la transparence par pixel. La valeur par défaut est true (transparent). Pour créer un bitmap entièrement transparent, définissez la valeur du paramètre transparent sur true et celle du paramètre fillColor sur 0x00000000 (ou sur 0). transparent: Boolean fillColor: Number [facultatif ] - Une valeur de couleur ARVB 32 bits utilisée pour remplir la zone de l'image bitmap. La valeur par défaut est 0xFFFFFFFF (blanc uni). BitmapData (flash.display.BitmapData) 315 Exemple L'exemple suivant crée un nouvel objet BitmapData. Les valeurs utilisées dans cet exemple sont les valeurs par défaut des paramètres transparent et fillColor ; vous pouvez appeler le constructeur sans ces paramètres et obtenir le même résultat. import flash.display.BitmapData; var var var var width:Number = 100; height:Number = 80; transparent:Boolean = true; fillColor:Number = 0xFFFFFFFF; var bitmap_1:BitmapData = new BitmapData(width, height, transparent, fillColor); trace(bitmap_1.width); // 100 trace(bitmap_1.height); // 80 trace(bitmap_1.transparent); // true var bitmap_2:BitmapData = new BitmapData(width, height); trace(bitmap_2.width); // 100 trace(bitmap_2.height); // 80 trace(bitmap_2.transparent); // true clone (méthode BitmapData.clone) public clone() : BitmapData Renvoie un nouvel objet BitmapData, clone de l'occurrence d'origine avec une copie exacte du bitmap contenu. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée BitmapData - Un nouvel objet BitmapData identique à l'original. Exemple L'exemple suivant crée trois objets BitmapData et les compare. Vous pouvez créer l'occurrence à l'aide du constructeur BitmapData. Créez l'occurrence bitmap_2 en lui attribuant une valeur égale à bitmap_1. Créez l'occurrence clonedBitmap en clonant bitmap_1. Veuillez noter que bitmap_2 est considéré comme égal à bitmap_1, clonedBitmap ne l'est pas, même s'il contient les mêmes valeurs que bitmap_1. bitmap_1 import flash.display.BitmapData; var bitmap_1:BitmapData = new BitmapData(100, 80, false, 0x000000); 316 Classes ActionScript var bitmap_2:BitmapData = bitmap_1; var clonedBitmap:BitmapData = bitmap_1.clone(); trace(bitmap_1 == bitmap_2); // true trace(bitmap_1 == clonedBitmap); // false for(var i in bitmap_1) { trace(">> " + i + ": " + bitmap_1[i]); // >> generateFilterRect: [type Function] // >> dispose: [type Function] // >> clone: [type Function] // >> copyChannel: [type Function] // >> noise: [type Function] // >> merge: [type Function] // >> paletteMap: [type Function] // >> hitTest: [type Function] // >> colorTransform: [type Function] // >> perlinNoise: [type Function] // >> getColorBoundsRect: [type Function] // >> floodFill: [type Function] // >> setPixel32: [type Function] // >> getPixel32: [type Function] // >> pixelDissolve: [type Function] // >> draw: [type Function] // >> threshold: [type Function] // >> scroll: [type Function] // >> applyFilter: [type Function] // >> copyPixels: [type Function] // >> fillRect: [type Function] // >> setPixel: [type Function] // >> getPixel: [type Function] // >> transparent: false // >> rectangle: (x=0, y=0, w=100, h=80) // >> height: 80 // >> width: 100 } for(var i in clonedBitmap) { trace(">> " + i + ": " + clonedBitmap[i]); // >> generateFilterRect: [type Function] // >> dispose: [type Function] // >> clone: [type Function] // >> copyChannel: [type Function] // >> noise: [type Function] // >> merge: [type Function] // >> paletteMap: [type Function] // >> hitTest: [type Function] // >> colorTransform: [type Function] // >> perlinNoise: [type Function] // >> getColorBoundsRect: [type Function] BitmapData (flash.display.BitmapData) 317 // // // // // // // // // // // // // // // // >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> floodFill: [type Function] setPixel32: [type Function] getPixel32: [type Function] pixelDissolve: [type Function] draw: [type Function] threshold: [type Function] scroll: [type Function] applyFilter: [type Function] copyPixels: [type Function] fillRect: [type Function] setPixel: [type Function] getPixel: [type Function] transparent: false rectangle: (x=0, y=0, w=100, h=80) height: 80 width: 100 } Pour illustrer de manière plus détaillée les relations qui existent entre bitmap_1, bitmap_2 et clonedBitmap, l'exemple suivant modifie la valeur de pixels au point (1, 1) de bitmap_1. La modification de la valeur de pixels au point (1, 1) montre que la méthode clone() crée une occurrence en fonction des valeurs de l'occurrence bitmap_1 au lieu de se référer à ces valeurs. import flash.display.BitmapData; var bitmap_1:BitmapData = new BitmapData(100, 80, false, 0x000000); var bitmap_2:BitmapData = bitmap_1; var clonedBitmap:BitmapData = bitmap_1.clone(); trace(bitmap_1.getPixel32(1, 1)); // -16777216 trace(bitmap_2.getPixel32(1, 1)); // -16777216 trace(clonedBitmap.getPixel32(1, 1)); // -16777216 bitmap_1.setPixel32(1, 1, 0xFFFFFF); trace(bitmap_1.getPixel32(1, 1)); // -1 trace(bitmap_2.getPixel32(1, 1)); // -1 trace(clonedBitmap.getPixel32(1, 1)); // -16777216 colorTransform (méthode BitmapData.colorTransform) public colorTransform(rect: Rectangle, colorTransform: ColorTransform) : Void Définit les valeurs de couleur dans une zone spécifiée d'une image bitmap avec un objet ColorTransform. Si le rectangle correspond aux limites de l'image bitmap, cette méthode transforme les valeurs de couleur de l'image toute entière. Disponibilité : ActionScript 1.0 ; Flash Player 8 318 Classes ActionScript Paramètres rect: Rectangle - Un objet Rectangle qui définit la zone de l'image dans laquelle l'objet ColorTransform est appliqué. colorTransform: ColorTransform - Un objet ColorTransform décrivant les valeurs de transformation de couleur à appliquer. Exemple L'exemple suivant indique comment appliquer une opération de transformation de couleurs à une occurrence BitmapData. import flash.display.BitmapData; import flash.geom.ColorTransform; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { myBitmapData.colorTransform(myBitmapData.rectangle, new ColorTransform(1, 0, 0, 1, 255, 0, 0, 0)); } Voir aussi ColorTransform (flash.geom.ColorTransform), Rectangle (flash.geom.Rectangle) compare (méthode BitmapData.compare) public compare(otherBitmapData: BitmapData) : Object Compare deux objets BitmapData. Si les deux objets BitmapData ont les mêmes dimensions (largeur et hauteur), la méthode renvoie un nouvel objet BitmapData, dans lequel chaque pixel représente la « différence » entre les pixels des deux objets sources : ■ ■ ■ Si deux pixels sont égaux, le pixel de différence est 0x00000000. Si deux pixels ont des valeurs RVB différentes (sans tenir compte de la valeur alpha), le pixel de différence est 0xFFRRGGBB, où RR/VV/BB correspondent aux valeurs de différence spécifiques entre les canaux rouge, vert et bleu. Dans ce cas, les différences de canaux alpha sont ignorées. Si seule la valeur du canal alpha est différente, la valeur du pixel est 0x ZZFFFFFF, où ZZ correspond à la différence de la valeur alpha. BitmapData (flash.display.BitmapData) 319 Par exemple, soit les deux objets BitmapData suivants: var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFF0000); var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00); var diffBmpData:BitmapData = bmd1.compare(bmd2); Remarque : Les couleurs de remplissage utilisées pour les deux objets BitmapData ont des valeurs RVB légèrement différentes (0xFF0000 et 0xFFAA00). Le résultat de la méthode compare() est un nouvel objet BitmapData dans lequel chaque pixel montre la différence des valeurs RVB entre les deux bitmaps. Prenons les deux objets BitmapData suivants pour lesquels les couleurs RVB sont identiques mais les valeurs alpha sont différentes : var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFFAA00); var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00); var diffBmpData:BitmapData = bmd1.compare(bmd2); Le résultat de la méthode compare() est un nouvel objet BitmapData dans lequel chaque pixel montre la différence des valeurs alpha entre les deux bitmaps. Si les objets BitmapData sont équivalents (ont la même largeur, la même hauteur et des valeurs de pixel identiques), la méthode renvoie le nombre 0. Si aucun argument n'est transmis ou si l'argument n'est pas un objet BitmapData, la méthode renvoie -1. Si l'un des deux objets BitmapData a été disposé, la méthode renvoie -2. Si les largeurs des objets BitmapData ne sont pas identiques mais que les hauteurs le sont, la méthode renvoie le nombre -3. Si les hauteurs des objets BitmapData ne sont pas identiques mais que les largeurs le sont, la méthode renvoie le nombre -4. L'exemple suivant compare deux objets Bitmap ayant des largeurs différentes (50 et 60) : var bmd1:BitmapData = new BitmapData(100, 50, false, 0xFFFF0000); var bmd2:BitmapData = new BitmapData(100, 60, false, 0xFFFFAA00); trace(bmd1.compare(bmd2)); // -3 Disponibilité : ActionScript 1.0 ; Flash Player 9 Paramètres otherBitmapData: BitmapData - Objet BitmapData à comparer à l'autre objet BitmapData source. 320 Classes ActionScript Valeur renvoyée Object - Si les deux objets BitmapData ont les mêmes dimensions (largeur et hauteur), la méthode renvoie un nouvel objet BitmapData correspondant à la différence entre les deux objets (se reporter à la discussion principale). Si les objets BitmapData sont équivalents, la méthode renvoie le nombre 0. Si aucun argument n'est transmis ou si l'argument n'est pas un objet BitmapData, la méthode renvoie -1. Si l'iun des deux objets BitmapData a été disposé, la méthode renvoie -2. Si les largeurs des objets BitmapData ne sont pas identiques, la méthode renvoie le nombre -3. Si les hauteurs des objets BitmapData ne sont pas identiques, la méthode renvoie le nombre -4. copyChannel (méthode BitmapData.copyChannel) public copyChannel(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, sourceChannel: Number, destChannel: Number) : Void Transfère les données du canal d'un autre objet BitmapData ou de l'objet actuel vers un canal de l'objet BitmapData actuel. Toutes les données contenues dans les autres canaux de l'objet BitmapData de destination sont préservées. La valeur du canal source et de destination peut être l'une des valeurs suivantes ou la somme de n'importe laquelle de ces valeurs : ■ 1 (rouge) ■ 2 (vert) ■ 4(bleu) ■ 8 (alpha) Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'objet BitmapData actuel. sourceBitmap: BitmapData sourceRect: Rectangle - L'objet Rectangle source. Si vous souhaitez uniquement copier les données de canal à partir d'une zone de taille inférieure sur le bitmap, spécifiez un rectangle source dont la taille est inférieure à la taille globale de l'objet BitmapData. destPoint: Point - L'objet Point de destination qui représente le coin supérieur gauche de la zone rectangulaire dans laquelle les nouvelles données de canal sont placées. Si vous souhaitez copier les données de canal d'une zone vers une autre sur l'image de destination, spécifiez un point autre que (0,0). sourceChannel: Number - Le canal source. Utilisez l'une des valeurs de l'ensemble (1,2,4,8), représentant respectivement les canaux rouge, vert, bleu et alpha ou la somme de ces valeurs. BitmapData (flash.display.BitmapData) 321 destChannel: Number - Le canal de destination. Utilisez l'une des valeurs de l'ensemble (1,2,4,8), représentant respectivement les canaux rouge, vert, bleu et alpha ou la somme de ces valeurs. Exemple L'exemple suivant indique comment copier un canal ARVB source à partir d'un objet BitmapData situé à un emplacement différent : import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { myBitmapData.copyChannel(myBitmapData, new Rectangle(0, 0, 50, 80), new Point(51, 0), 3, 1); } Voir aussi Rectangle (flash.geom.Rectangle) copyPixels (méthode BitmapData.copyPixels) public copyPixels(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, [alphaBitmap: BitmapData], [alphaPoint: Point], [mergeAlpha: Boolean]) : Void Met en place une routine rapide permettant de manipuler les pixels de différentes images sans effets d'étirement, de rotation ou de couleur. Cette méthode copie une zone rectangulaire d'une image source dans une zone rectangulaire de taille identique au point de destination de l'objet BitmapData de destination. Si elle inclut les paramètres alphaBitmap et alphaPoint, vous pouvez utiliser une image secondaire en tant que source alpha pour l'image source. Si l'image source contient des données alpha, les deux ensembles de données alpha sont utilisés pour composer des pixels de l'image source vers l'image de destination. Le paramètre alphaPoint est le point, sur l'image alpha, correspondant au coin supérieur gauche du rectangle source. Tous les pixels situés hors de l'intersection de l'image source et de l'image alpha ne sont pas copiés sur l'image de destination. 322 Classes ActionScript La propriété mergeAlpha contrôle si le canal alpha est utilisé ou non lorsqu'une image transparente est copiée sur une autre image transparente. Pour copier des pixels (sans utiliser de valeur alpha), il vous suffit de définir la propriété mergeAlpha sur false. Tous les pixels sont ensuite copiés de la source vers la destination. Par défaut, la propriété mergeAlpha est définie sur false. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - L'image bitmap d'entrée à partir de laquelle les pixels sont copiés. L'image source peut être une occurrence BitmapData différente ou peut faire référence à l'occurrence BitmapData actuelle. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. destPoint: Point - Le point de destination représentant le coin supérieur gauche de la zone rectangulaire dans laquelle les nouveaux pixels sont placés. alphaBitmap: BitmapData [facultatif ] - Une source de l'objet BitmapData alpha secondaire. alphaPoint: Point [facultatif ] - Le point, sur l'objet BitmapData alpha, correspondant au coin supérieur gauche du paramètre sourceRect. [facultatif ] - Une valeur booléenne. Pour utiliser le canal alpha, définissez la valeur sur true. Pour copier des pixels sans canal alpha, définissez la valeur sur false. mergeAlpha: Boolean Exemple L'exemple suivant indique comment copier les pixels d'une occurrence BitmapData vers une autre. import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var bitmapData_1:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var bitmapData_2:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(bitmapData_1, this.getNextHighestDepth()); var mc_2:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_2.attachBitmap(bitmapData_2, this.getNextHighestDepth()); mc_2._x = 101; BitmapData (flash.display.BitmapData) 323 mc_1.onPress = function() { bitmapData_2.copyPixels(bitmapData_1, new Rectangle(0, 0, 50, 80), new Point(51, 0)); } mc_2.onPress = function() { bitmapData_1.copyPixels(bitmapData_2, new Rectangle(0, 0, 50, 80), new Point(51, 0)); } dispose (méthode BitmapData.dispose) public dispose() : Void Libère la mémoire utilisée pour stocker l'objet BitmapData. Lorsque cette méthode est appelée sur une image, la largeur et la hauteur de cette dernière sont définies sur 0. Une fois la mémoire d'un objet BitmapData libérée, les appels d'accès aux méthodes et propriétés de l'occurrence BitmapData échouent et une valeur -1 est renvoyée. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant indique comment libérer de la mémoire sur une occurrence BitmapData, entraînant ainsi la suppression de l'occurrence. import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { myBitmapData.dispose(); trace(myBitmapData.width); // -1 trace(myBitmapData.height); // -1 trace(myBitmapData.transparent); // -1 } 324 Classes ActionScript draw (méthode BitmapData.draw) public draw(source: Object, [matrix: Matrix], [colorTransform: ColorTransform], [blendMode: Object], [clipRect: Rectangle], [smooth: Boolean]) : Void Dessine une image source ou un clip sur une image de destination avec la fonctionnalité de rendu vectoriel de Flash Player. Vous pouvez spécifier une matrice de transformation, un objet ColorTransform, un paramètre de mode de fondu et un objet Rectangle de destination pour contrôler la qualité du rendu. Vous pouvez également spécifier si le bitmap doit être lissé lorsqu'il est dimensionné. Cela fonctionne uniquement si l'objet source est un objet BitmapData. Cette méthode correspond directement au mode de traçage des objets à l'aide de la fonctionnalité de rendu vectoriel standard pour les objets dans l'interface de l'outil de programmation. Un objet MovieClip source n'utilise pas ses transformations sur scène pour cet appel. Il est traité de la manière dont il apparaît dans la bibliothèque ou dans le fichier, sans transformation de matrice, de couleurs et sans mode de fondu. Si vous souhaitez dessiner le clip en utilisant ses propres propriétés de transformation, vous pouvez utiliser son objet Transform pour transmettre les diverses propriétés de transformation. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres source: Object - L'objet BitmapData à dessiner. [facultatif ] - Un objet Matrix utilisé pour redimensionner, faire pivoter ou traduire les coordonnées du bitmap. Si aucun objet n'est fourni, l'image bitmap ne sera pas transformée. Définissez ce paramètre sur une matrice d'identité, créée à l'aide du constructeur new Matrix() par défaut, si vous devez le transmettre mais ne souhaitez pas transformer l'image. matrix: Matrix [facultatif ] - Un objet ColorTransform utilisé pour définir les valeurs de couleur du bitmap. Si aucun objet n'est fourni, les couleurs de l'image bitmap ne seront pas transformées. Définissez ce paramètre sur un objet ColorTransform, créé à l'aide du constructeur new ColorTransform() par défaut, si vous devez le transmettre mais ne souhaitez pas transformer l'image. colorTransform: ColorTransform [facultatif ] - Paramètre du mode de fondu pour la transformation. Ce paramètre peut être soit un entier (de 1 à 14), soit une chaîne (telle que "normal" ou "darken"). Pour une liste des valeurs blendMode valides, veuillez consulter la propriété blendMode de la classe MovieClip. blendMode: Object BitmapData (flash.display.BitmapData) 325 clipRect: Rectangle [facultatif ] - Un objet Rectangle. Si cette valeur n'est pas fournie, aucun découpage n'est effectué. smooth: Boolean [facultatif ] - Une valeur booléenne indiquant si un objet BitmapData doit être lissé lorsqu'il est dimensionné ou a subi une rotation, en raison d'une mise à l'échelle ou d'une rotation du paramètre matrix. La valeur par défaut est false. Appliquez le paramètre smoothing uniquement si le paramètre source est un objet BitmapData. Avec le paramètre smoothing défini sur false, l'image BitmapData redimensionnée ou ayant subi une rotation peut avoir un aspect pixélisé ou irrégulier. Par exemple, les deux images suivantes utilisent le même objet BitmapData pour le paramètre source, mais le paramètre smoothing est défini sur true à gauche et sur false à droite : Dessiner un bitmap ayant le paramètre smoothing défini sur true prend plus de temps que si le paramètre smoothing est défini sur false. Exemple L'exemple suivant indique comment dessiner à partir d'une occurrence MovieClip source sur un objet BitmapData. import import import import flash.display.BitmapData; flash.geom.Rectangle; flash.geom.Matrix; flash.geom.ColorTransform; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(myBitmapData, this.getNextHighestDepth()); var mc_2:MovieClip = createRectangle(50, 40, 0xFF0000); mc_2._x = 101; var myMatrix:Matrix = new Matrix(); myMatrix.rotate(Math.PI/2); var translateMatrix:Matrix = new Matrix(); translateMatrix.translate(70, 15); myMatrix.concat(translateMatrix); var myColorTransform:ColorTransform = new ColorTransform(0, 0, 1, 1, 0, 0, 255, 0); var blendMode:String = "normal"; 326 Classes ActionScript var myRectangle:Rectangle = new Rectangle(0, 0, 100, 80); var smooth:Boolean = true; mc_1.onPress = function() { myBitmapData.draw(mc_2, myMatrix, myColorTransform, blendMode, myRectangle, smooth); } function createRectangle(width:Number, height:Number, color:Number):MovieClip { var depth:Number = this.getNextHighestDepth(); var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } Voir aussi blendMode (propriété MovieClip.blendMode), ColorTransform (flash.geom.ColorTransform), Matrix (flash.geom.Matrix), Rectangle (flash.geom.Rectangle) fillRect (méthode BitmapData.fillRect) public fillRect(rect: Rectangle, color: Number) : Void Remplit une zone rectangulaire de pixels avec une couleur ARVB spécifiée. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres rect: Rectangle - La zone rectangulaire à remplir. - La valeur de couleur ARVB qui remplit la zone. Les couleurs ARVB sont souvent spécifiées au format hexadécimal, par exemple 0xFF336699. color: Number Exemple L'exemple suivant indique comment remplir une zone définie par un Rectangle dans un à l'aide d'une couleur. BitmapData import flash.display.BitmapData; import flash.geom.Rectangle; BitmapData (flash.display.BitmapData) 327 var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { myBitmapData.fillRect(new Rectangle(0, 0, 50, 40), 0x00FF0000); } Voir aussi Rectangle (flash.geom.Rectangle) floodFill (méthode BitmapData.floodFill) public floodFill(x: Number, y: Number, color: Number) : Void Effectue une opération de peinture sur une image à partir de certaines coordonnées (x, y) et à l'aide d'une certaine couleur. La méthode floodFill() est similaire à l'outil Pot de peinture dans divers programmes de dessin. La couleur ARVB contient des informations alpha ainsi que des informations sur les couleurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres x: Number - La coordonnée x de l'image. y: Number - La coordonnée y de l'image. - La couleur ARVB à utiliser pour le remplissage. Les couleurs ARVB sont souvent spécifiées au format hexadécimal, tel que 0xFF336699. color: Number Exemple L'exemple suivant indique comment appliquer une couleur de peinture à une image à partir du point sur lequel l'utilisateur clique sur le bouton de la souris au sein d'un objet BitmapData. import flash.display.BitmapData; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.fillRect(new Rectangle(0, 0, 50, 40), 0x00FF0000); 328 Classes ActionScript mc.onPress = function() { myBitmapData.floodFill(_xmouse, _ymouse, 0x000000FF); } generateFilterRect (méthode BitmapData.generateFilterRect) public generateFilterRect(sourceRect: Rectangle, filter: BitmapFilter) : Rectangle Détermine le rectangle de destination affecté par l'appel de la méthode applyFilter(), en fonction d'un objet BitmapData, d'un rectangle source et d'un objet filtre spécifiés. Par exemple, un filtre de flou affecte normalement une zone dont la taille est supérieure à celle de l'image d'origine. Une image de 100 x 200 pixels filtrée par une occurrence BlurFilter par défaut, où blurX = blurY = 4 génère un rectangle de destination de (-2,-2,104,204). La méthode generateFilterRect() vous permet de déterminer la taille de ce rectangle de destination à l'avance de manière à ce que vous puissiez dimensionner l'image de destination de manière appropriée avant d'effectuer une opération de filtrage. Certains filtres découpent leur rectangle de destination selon la taille de l'image source. Par exemple, un filtre DropShadow interne ne génère pas de résulat dont la taille est supérieure à celle de son image source. Dans cette interface API, l'objet BitmapData fait office de bornes source et n'est pas utilisé en tant que paramètre rect. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres sourceRect: Rectangle - Un rectangle définissant la zone de l'image source à utiliser en tant qu'entrée. filter: BitmapFilter - Un objet filtre utilisé pour calculer les dimensions du rectangle de destination. Valeur renvoyée - Un rectangle de destination dont les dimensions ont été calculées à l'aide d'une image, du paramètre sourceRect et d'un filtre. Rectangle BitmapData (flash.display.BitmapData) 329 Exemple L'exemple suivant indique comment déterminer le rectangle de destination affecté par la méthode applyfilter() : import flash.display.BitmapData; import flash.filters.BevelFilter; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCCCCCCC); var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "outter", false); var filterRect:Rectangle = myBitmapData.generateFilterRect(myBitmapData.rectangle, filter); trace(filterRect); // (x=-31, y=-31, w=162, h=142) getColorBoundsRect (méthode BitmapData.getColorBoundsRect) public getColorBoundsRect(mask: Number, color: Number, [findColor: Boolean]) : Rectangle Détermine une zone rectangulaire qui regroupe tous les pixels d'une couleur spécifiée au sein de l'image bitmap. Par exemple, si vous disposez d'une image source et souhaitez déterminer le rectangle de l'image qui contient un canal alpha différent de zéro, utilisez {mask: 0xFF000000, color: 0x00000000} en tant que paramètres. Les bornes de pixels ayant le paramètre (value & mask) != color sont recherchées dans l'image toute entière. Pour déterminer les espaces blancs autour d'une image, utilisez {mask: 0xFFFFFFFF, color: 0xFFFFFFFF} pour rechercher les bornes des pixels autres que blanc. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres mask: Number - Une valeur de couleur hexadécimale. color: Number - Une valeur de couleur hexadécimale. findColor: Boolean [facultatif ] - Si la valeur est définie sur true, renvoie les bornes d'une valeur de couleur dans une image. Si la valeur est définie sur false, renvoie les bornes sur lesquelles cette couleur n'existe pas dans une image. La valeur par défaut est true. 330 Classes ActionScript Valeur renvoyée Rectangle - La zone de l'image correspondant à la couleur spécifiée. Exemple L'exemple suivant indique comment déterminer une zone rectangulaire qui regroupe tous les pixels d'une couleur spécifiée au sein de l'image bitmap : import flash.display.BitmapData; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.fillRect(new Rectangle(0, 0, 50, 40), 0x00FF0000); mc.onPress = function() { var colorBoundsRect:Rectangle = myBitmapData.getColorBoundsRect(0x00FFFFFF, 0x00FF0000, true); trace(colorBoundsRect); // (x=0, y=0, w=50, h=40) } getPixel (méthode BitmapData.getPixel) public getPixel(x: Number, y: Number) : Number Renvoie un entier représentant une valeur de pixels RVB à partir d'un objet BitmapData à un point spécifique (x, y). La méthode getPixel() renvoie une valeur de pixels non multipliée. Aucune information alpha n'est renvoyée. Tous les pixels d'un objet BitmapData sont stockés en tant que valeurs de couleur prémultipliées. Les valeurs des canaux de couleur rouge, vert et bleu d'un pixel image prémultiplié sont déjà multipliées par les données alpha. Par exemple, si la valeur alpha est 0, les canaux RVB sont également définis sur 0, indépendamment de leurs valeurs non multipliées. Cette perte de données peut entraîner certains problèmes lorsque vous effectuez ces opérations. Toutes les méthodes Flash Player utilisent et renvoient des valeurs non multipliées. La représentation des pixels interne est non multipliée avant d'être renvoyée en tant que valeur. Au cours d'une opération de définition, la valeur de pixels est prémultipliée avant de définir le pixel d'image brut. Disponibilité : ActionScript 1.0 ; Flash Player 8 BitmapData (flash.display.BitmapData) 331 Paramètres x: Number - La coordonnée x du pixel. y: Number - La coordonnée y du pixel. Valeur renvoyée - Un nombre représentant une valeur de pixels RVB. Si les coordonnées (x, y) se trouvent à l'extérieur des limites de l'image, la valeur 0 est renvoyée. Number Exemple L'exemple suivant utilise la méthode getPixel() pour récupérer la valeur RVB d'un pixel à un emplacement x et y spécifique. import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); trace("0x" + myBitmapData.getPixel(0, 0).toString(16)); // 0xcccccc Voir aussi getPixel32 (méthode BitmapData.getPixel32) getPixel32 (méthode BitmapData.getPixel32) public getPixel32(x: Number, y: Number) : Number Renvoie une valeur de couleur ARVB qui contient des données de canal alpha, ainsi que les données RVB. Cette méthode est similaire à la méthode getPixel() qui renvoie une couleur RVB sans les données de canal alpha. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres x: Number - La coordonnée x du pixel. y: Number - La coordonnée y du pixel. Valeur renvoyée Number - Un nombre représentant une valeur de pixels ARVB. Si les coordonnées (x, y) se trouvent à l'extérieur des limites de l'image, la valeur 0 est renvoyée. Si le bitmap créé est opaque et non transparent, cette méthode renvoie alors un code d'erreur de -1. 332 Classes ActionScript Exemple L'exemple suivant utilise la méthode getPixel32() pour récupérer la valeur ARVB d'un pixel à un emplacement x et y spécifique : import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xFFAACCEE); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); var alpha:String = (myBitmapData.getPixel32(0, 0) >> 24 & 0xFF).toString(16); trace(">> alpha: " + alpha); // ff var red:String = (myBitmapData.getPixel32(0, 0) >> 16 & 0xFF).toString(16); trace(">> red: " + red); // aa var green:String = (myBitmapData.getPixel32(0, 0) >> 8 & 0xFF).toString(16); trace(">> green: " + green); // cc var blue:String = (myBitmapData.getPixel32(0, 0) & 0xFF).toString(16); trace(">> blue: " + blue); // ee trace("0x" + alpha + red + green + blue); // 0xffaaccee Voir aussi getPixel (méthode BitmapData.getPixel) height (propriété BitmapData.height) public height : Number [lecture seule] La hauteur de l'image bitmap en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre que la propriété height de l'occurrence BitmapData est en lecture seule car il essaie de la définir mais échoue : import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); BitmapData (flash.display.BitmapData) 333 var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); trace(myBitmapData.height); // 80 myBitmapData.height = 999; trace(myBitmapData.height); // 80 hitTest (méthode BitmapData.hitTest) public hitTest(firstPoint: Point, firstAlphaThreshold: Number, secondObject: Object, [secondBitmapPoint: Point], [secondAlphaThreshold: Number]) : Boolean Procède à la détection des clics au niveau des pixels entre une image bitmap et un point, un rectangle ou toute autre image bitmap. Aucun étirement, aucune rotation ou autre transformation n'est pris en compte lorsque vous effectuez un test de recherche. Si une image est opaque, elle est considérée comme étant un rectangle entièrement opaque pour cette méthode. Les deux images doivent être transparentes pour effectuer un test de recherche au niveau des pixels tenant compte de la transparence. Lorsque vous testez deux images transparentes, les paramètres de seuil alpha déterminent les valeurs des canaux alpha, comprises entre 0 et 255, considérées comme étant opaques. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres firstPoint: Point - Un point qui définit l'emplacement d'un pixel dans l'occurrence BitmapData actuelle. - La valeur du canal alpha la plus élevée considéré comme étant opaque pour ce test de recherche. firstAlphaThreshold: Number secondObject: Object - Un objet Rectangle, Point ou BitmapData. [facultatif ] - Un point qui définit l'emplacement d'un pixel dans le deuxième objet BitmapData. Utilisez uniquement ce paramètre lorsque la valeur de secondObject est un objet BitmapData. secondBitmapPoint: Point secondAlphaThreshold: Number [facultatif ] - La valeur du canal alpha la plus élevée considéré comme étant opaque dans le deuxième objet BitmapData. Utilisez uniquement ce paramètre lorsque la valeur de secondObject est un objet BitmapData et que les deux objets BitmapData sont transparents. 334 Classes ActionScript Valeur renvoyée Boolean - Valeur booléenne. En cas de correspondance, renvoie une valeur de true ; false dans le cas contraire. Exemple L'exemple suivant indique comment déterminer si un objet BitmapData entre en collision avec MovieClip. import flash.display.BitmapData; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(myBitmapData, this.getNextHighestDepth()); var mc_2:MovieClip = createRectangle(20, 20, 0xFF0000); var destPoint:Point = new Point(myBitmapData.rectangle.x, myBitmapData.rectangle.y); var currPoint:Point = new Point(); mc_1.onEnterFrame = function() { currPoint.x = mc_2._x; currPoint.y = mc_2._y; if(myBitmapData.hitTest(destPoint, 255, currPoint)) { trace(">> Collision at x:" + currPoint.x + " and y:" + currPoint.y); } } mc_2.startDrag(true); function createRectangle(width:Number, height:Number, color:Number):MovieClip { var depth:Number = this.getNextHighestDepth(); var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } BitmapData (flash.display.BitmapData) 335 loadBitmap (méthode BitmapData.loadBitmap) Statique publique loadBitmap(id: String) : BitmapData Renvoie un nouvel objet BitmapData qui contient une version bitmap du symbole identifié par un ID de liaison spécifié dans la bibliothèque. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres id: String - Un ID de liaison d'un symbole dans la bibliothèque. Valeur renvoyée BitmapData - Le symbole représenté sous forme d'image bitmap. Exemple L'exemple suivant charge un bitmap avec l'ID de liaison libraryBitmap à partir de votre bibliothèque. Vous devez l'associer à un objet MovieClip pour lui attribuer une représentation visuelle. import flash.display.BitmapData; var linkageId:String = "libraryBitmap"; var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId); trace(myBitmapData instanceof BitmapData); // true var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); merge (méthode BitmapData.merge) public merge(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, redMult: Number, greenMult: Number, blueMult: Number, alphaMult: Number) : Void Procède au fondu canal par canal d'une image source vers une image de destination. La formule suivante est utilisée pour chaque canal : new red dest = (red source * redMult) + (red dest * (256 - redMult) / 256; Les valeurs redMult, greenMult, blueMult et alphaMult sont les multiplicateurs utilisés pour chaque canal de couleur. Leur plage valide est comprise entre 0 et 256. Disponibilité : ActionScript 1.0 ; Flash Player 8 336 Classes ActionScript Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'objet BitmapData actuel. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. - Le point sur l'image de destination (l'occurrence BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. destPoint: Point redMult: Number - Un nombre par lequel la valeur de canal red doit êre multipliée. greenMult: Number blueMult: Number - Un nombre par lequel la valeur de canal green doit être multipliée. - Un nombre par lequel la valeur de canal blue doit être multipliée. alphaMult: Number - Un nombre par lequel la valeur de transparence alpha doit être multipliée. Exemple L'exemple suivant indique comment fusionner deux parties d'une occurrence BitmapData. import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var bitmapData_1:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var bitmapData_2:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(bitmapData_1, this.getNextHighestDepth()); var mc_2:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_2.attachBitmap(bitmapData_2, this.getNextHighestDepth()); mc_2._x = 101; mc_1.onPress = function() { bitmapData_1.merge(bitmapData_2, new Rectangle(0, 0, 50, 40), new Point(25, 20), 128, 0, 0, 0); } BitmapData (flash.display.BitmapData) 337 noise (méthode BitmapData.noise) public noise(randomSeed: Number, [low: Number], [high: Number], [channelOptions: Number], [grayScale: Boolean]) : Void Remplit une image avec des pixels représentant un bruit aléatoire. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres randomSeed: Number - La valeur de départ aléatoire à utiliser. [facultatif ] - La valeur la plus faible à générer pour chaque canal (de 0 à 255). La valeur par défaut est 0. low: Number high: Number [facultatif ] - La valeur la plus élevée à générer pour chaque canal (de 0 à 255). La valeur par défaut est 255. [facultatif ] - Un nombre pouvant être une combinaison des quatre valeurs de canaux de couleur : 1 (rouge), 2 (vert), 4 (bleu) et 8(alpha). Vous pouvez utiliser l'opérateur logique OR | pour combiner les valeurs de canaux. La valeur par défaut est (1 | 2 | 4). channelOptions: Number grayScale: Boolean [facultatif ] - Une valeur booléenne. Si la valeur est true, une image en nuances de gris est créée en définissant tous les canaux de couleur sur la même valeur. La sélection du canal alpha n'est pas affectée en définissant ce paramètre sur true. La valeur par défaut est false. Exemple L'exemple suivant indique comment appliquer un bruit pixel à un objet BitmapData pour un bitmap couleur et noir et blanc. import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var bitmapData_1:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var bitmapData_2:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(bitmapData_1, this.getNextHighestDepth()); var mc_2:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_2.attachBitmap(bitmapData_2, this.getNextHighestDepth()); mc_2._x = 101; 338 Classes ActionScript mc_1.onPress = function() { bitmapData_1.merge(bitmapData_2, new Rectangle(0, 0, 50, 40), new Point(25, 20), 128, 0, 0, 0); } mc_1.onPress = function() { bitmapData_1.noise(128, 0, 255, 1, true); } mc_2.onPress = function() { bitmapData_2.noise(128); } paletteMap (méthode BitmapData.paletteMap) public paletteMap(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, [redArray: Array], [greenArray: Array], [blueArray: Array], [alphaArray: Array]) : Void Remappe les valeurs des canaux de couleur dans une image recevant jusqu'à quatre tableaux de données de palette de couleurs, un pour chaque canal. Flash Player utilise la formule suivante pour générer l'image résultante : Une fois le calcul des valeurs rouge, vert, bleu et alpha effectué, celles-ci sont additionnées en effectuant une opération arithmétique standard s'articulant autour d'un entier 32 bits. Les valeurs de couleur rouge, vert, bleu et alpha de chaque pixel sont extraites dans des valeurs comprises entre 0 et 255 distinctes. Ces valeurs sont utilisées pour rechercher les nouvelles valeurs de couleur dans le tableau approprié : redArray, greenArray, blueArray et alphaArray. Chacun de ces quatre tableaux doit contenir 256 valeurs. Une fois les quatre nouvelles valeurs de canaux récupérées, elles sont combinées dans une valeur ARVB standard appliquée au pixel. Les effets multi-canaux sont pris en charge par cette méthode. Chaque tableau d'entrée peut contenir des valeurs entières 32 bits ; aucun décalage ne se produit lorsque les valeurs sont additionnées. Cette routine ne prend pas en charge le verrouillage canal par canal. Si aucun tableau n'est spécifié pour un canal, le canal de couleur est simplement copié de l'image source vers l'image de destination. Vous pouvez utiliser cette méthode pour de nombreux effets, tel que le mappage de palette général (qui consiste à sélectionner un canal pour le convertir en image couleur de valeur false). Vous pouvez également utiliser cette méthode pour de nombreux algorithmes de manipulation de couleurs avancés, tels que gamma, courbes, niveaux et quantification. Disponibilité : ActionScript 1.0 ; Flash Player 8 BitmapData (flash.display.BitmapData) 339 Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un objet BitmapData différent ou peut faire référence à l'objet BitmapData actuel. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. - Le point sur l'image de destination (l'objet BitmapData actuel) correspondant au coin supérieur gauche du rectangle source. destPoint: Point redArray: Array [facultatif ] - Si redArray n'est pas null, red = redArray[source red value] else red = source rect value. greenArray: Array [facultatif ] - Si greenArray n'est pas null, green = greenArray[source green value] else green = source green value. blueArray: Array [facultatif ] - Si blueArray n'est pas null, blue = blueArray[source blue value] else blue = source blue value. alphaArray: Array [facultatif ] - Si alphaArray n'est pas null, alpha = alphaArray[source alpha value] else alpha = source alpha value. Exemple L'exemple suivant indique comment utiliser une palette pour convertir le rouge uni en vert, et le vert uni en rouge, dans un objet BitmapData unique. import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.fillRect(new Rectangle(51, 0, 50, 80), 0x0000FF00); mc.onPress = function() { var redArray:Array = new Array(256); var greenArray:Array = new Array(256); for(var i = 0; i < 255; i++) { redArray[i] = 0x00000000; greenArray[i] = 0x00000000; } redArray[0xFF] = 0x0000FF00; greenArray[0xFF] = 0x00FF0000; 340 Classes ActionScript myBitmapData.paletteMap(myBitmapData, new Rectangle(0, 0, 100, 40), new Point(0, 0), redArray, greenArray, null, null); } perlinNoise (méthode BitmapData.perlinNoise) public perlinNoise(baseX: Number, baseY: Number, numOctaves: Number, randomSeed: Number, stitch: Boolean, fractalNoise: Boolean, [channelOptions: Number], [grayScale: Boolean], [offsets: Object]) : Void Génère une image de bruit Perlin. L'algorithme permettant de générer un bruit Perlin interpole et combine des fonctions de bruit aléatoire individuelles (appelées octaves) en fonction unique qui génère un bruit aléatoire qui semble plus naturel. Tout comme les octaves musicales, la fréquence de chaque fonction d'octave est doublée par rapport à celle qui la précède. Le bruit Perlin est décrit comme étant une « somme de bruit fractale » car il combine plusieurs ensembles de données de bruit avec différents niveaux de détails. Vous pouvez utiliser les fonctions de bruit Perlin pour simuler des phénomènes naturels et des paysages tels que le grain du bois, les nuages ou les chaînes de montagnes. Dans la plupart des cas, la sortie d'une fonction de bruit Perlin ne s'affiche pas directement mais est utilisée pour améliorer d'autres images et leur attribuer des variations pseudo-aléatoires. Les fonctions de bruit aléatoire numériques simples produisent souvent des images aux points durs et contrastés. On ne retrouve pas souvent ce type de contraste dur dans la nature. L'algorithme de bruit Perlin mélange plusieurs fonctions de bruit ayant des niveaux de détails différents. Cet algorithme engendre des variations plus petites parmi les valeurs des pixels environnants. Remarque :On doit l'algorithme de bruit Perlin à Ken Perlin qui a été le premier à le mettre au point après avoir créé des images graphiques sur ordinateur pour le film Tron. Perlin a reçu un Oscar pour avoir mis au point la fonction de bruit Perlin en 1997. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Fréquence à utiliser dans la direction x. Par exemple, pour générer un bruit adapté à une image de 64 x 128 pixels, définissez la valeur baseX sur 64. baseX: Number - Fréquence à utiliser dans la direction y. Par exemple, pour générer un bruit adapté à une image de 64 x 128 pixels, définissez la valeur baseY sur 128. baseY: Number BitmapData (flash.display.BitmapData) 341 numOctaves: Number - Nombre d'octaves ou fonctions de bruit individuelles à combiner pour créer ce bruit. Plus les nombres d'octaves sont élevés, plus les images créées sont détaillées. Les nombres d'octaves plus élevés nécessitent également un temps de traitement plus important. randomSeed: Number - Le nombre de la valeur de départ aléatoire à utiliser. Si vous conservez tous les autres paramètres, vous pouvez générer différents résultats pseudo-aléatoires en variant la valeur de départ aléatoire. La fonction de bruit Perlin est une fonction de mappage et non une fonction permettant de générer des nombres aléatoires de valeur true. Elle permet donc de créer les mêmes résultats à chaque fois à partir de la même valeur de départ aléatoire. stitch: Boolean - Valeur booléenne. Si la valeur est true, la méthode tente de lisser les bords de transition de l'image pour créer des textures transparentes en vue du remplissage du bitmap en forme de mosaïque. - Valeur booléenne. Si la valeur est true, la méthode génère un bruit fractal ; sinon, elle génère une turbulence. Les dégradés d'une image créée à partir d'une turbulence présentent des discontinuités visibles qui lui permettent de mieux appréhender les effets visuels plus saillants, comme les flammes ou les vagues de l'océan. fractalNoise: Boolean [facultatif ] - Un nombre indiquant un ou plusieurs canaux de couleur. Pour créer cette valeur, vous pouvez utiliser ou combiner l'une des quatre constantes de canaux de couleur : 1 (rouge), 2 (vert), 4 (bleu) et 8(alpha). Vous pouvez combiner les valeurs de canaux à l'aide de l'opérateur logique OR ; par exemple, vous pouvez combiner les canaux rouge et vert en utilisant le code suivant : 1 | 2. channelOptions: Number grayScale: Boolean [facultatif ] - Une valeur booléenne. Si la valeur est true, une image en nuances de gris est créée en définissant les canaux de couleur rouge, vert et bleu sur des valeurs identiques. La valeur du canal alpha n'est pas affectée si cette valeur est définie sur true. La valeur par défaut est false. offsets: Object [facultatif ] - Un tableau de points correspondant aux décalages x et y pour chaque octave. En manipulant les valeurs de décalage, vous pouvez effectuer un défilement lisse d'une image perlinNoise. Chaque point du tableau de décalage affecte une fonction de bruit d'octave spécifique. Exemple L'exemple suivant indique comment appliquer un bruit Perlin à un objet BitmapData. import flash.display.BitmapData; var bitmapData_1:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var bitmapData_2:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); 342 Classes ActionScript var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_1.attachBitmap(bitmapData_1, this.getNextHighestDepth()); var mc_2:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc_2.attachBitmap(bitmapData_2, this.getNextHighestDepth()); mc_2._x = 101; mc_1.onPress = function() { var randomNum:Number = Math.floor(Math.random() * 10); bitmapData_1.perlinNoise(100, 80, 6, randomNum, false, true, 1, true, null); } mc_2.onPress = function() { var randomNum:Number = Math.floor(Math.random() * 10); bitmapData_2.perlinNoise(100, 80, 4, randomNum, false, false, 15, false, null); } pixelDissolve (méthode BitmapData.pixelDissolve) public pixelDissolve(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, [randomSeed: Number], [numberOfPixels: Number], [fillColor: Number]) : Number Procède à la dissolution de pixels, soit d'une image source vers une image de destination, soit en utilisant la même image. Flash Player utilise une valeur randomSeed pour générer une dissolution de pixels aléatoire. La valeur renvoyée par la fonction doit être transmise lors des appels suivants pour poursuivre la dissolution de pixels jusqu'à ce qu'elle soit terminée. Si l'image source diffère de l'image de destination, les pixels sont copiés de la source vers la destination à l'aide de toutes les propriétés. Cela permet de procéder à la dissolution d'une image vide dans une image entièrement remplie. Si les images source et de destination sont équivalentes, les pixels sont remplis avec le paramètre color. Cela permet de procéder à la dissolution d'une image entièrement remplie. Dans ce mode, le paramètre point de destination est ignoré. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un autre objet BitmapData ou faire référence à l'occurrence de BitmapData actuelle. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. BitmapData (flash.display.BitmapData) 343 destPoint: Point - Le point sur l'image de destination (l'occurrence BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. [facultatif ] - La valeur de départ aléatoire à utiliser pour démarrer la dissolution de pixels. La valeur par défaut est 0. randomSeed: Number numberOfPixels: Number [facultatif ] - La valeur par défaut est égale à 1/30 de la zone source (largeur x hauteur). fillColor: Number [facultatif ] - Une valeur de couleur ARVB utilisée pour remplir les pixels dont la valeur source est égale à sa valeur de destination. La valeur par défaut est 0. Valeur renvoyée Number - La nouvelle valeur de départ aléatoire à utiliser pour les prochains appels. Exemple L'exemple suivant utilise pixelDissolve() pour convertir un objet BitmapData gris en rouge en procédant à la dissolution de 40 pixels à la fois jusqu'à ce que les 8000 pixels aient changé de couleurs : import flash.display.BitmapData; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { var randomNum:Number = Math.floor(Math.random() * 10); dissolve(randomNum); } var intervalId:Number; var totalDissolved:Number = 0; var totalPixels:Number = 8000; function dissolve(randomNum:Number) { var newNum:Number = myBitmapData.pixelDissolve(myBitmapData, myBitmapData.rectangle, new Point(0, 0), randomNum, 40, 0x00FF0000); clearInterval(intervalId); if(totalDissolved < totalPixels) { intervalId = setInterval(dissolve, 10, newNum); } totalDissolved += 40; } 344 Classes ActionScript rectangle (propriété BitmapData.rectangle) public rectangle : Rectangle [lecture seule] Le rectangle qui délimite la taille et l'emplacement de l'image bitmap. Le haut et le côté gauche du rectangle sont définis sur 0 ; la largeur et la hauteur sont égales à la largeur et à la hauteur, en pixels, de l'objet BitmapData. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre que la propriété rectangle de l'occurrence Bitmap est en lecture seule car il essaie de la définir mais échoue : import flash.display.BitmapData; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); trace(myBitmapData.rectangle); // (x=0, y=0, w=100, h=80) myBitmapData.rectangle = new Rectangle(1, 2, 4, 8); trace(myBitmapData.rectangle); // (x=0, y=0, w=100, h=80) scroll (méthode BitmapData.scroll) public scroll(x: Number, y: Number) : Void Fait défiler une image en fonction d'un certain montant en pixels (x, y). Les zones du bord situées hors de la zone de défilement demeurent inchangées. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres x: Number - La valeur définie en vue du défilement horizontal. y: Number - La valeur définie en vue du défilement vertical. Exemple L'exemple suivant illustre comment faire défiler un objet BitmapData. import flash.display.BitmapData; import flash.geom.Rectangle; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); BitmapData (flash.display.BitmapData) 345 var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.fillRect(new Rectangle(0, 0, 25, 80), 0x00FF0000); mc.onPress = function() { myBitmapData.scroll(25, 0); } setPixel (méthode BitmapData.setPixel) public setPixel(x: Number, y: Number, color: Number) : Void Définit la couleur d'un pixel unique d'un objet BitmapData. La valeur de canal alpha actuelle du pixel de l'image est préservée au cours de cette opération. La valeur du paramètre de couleur RVB est traitée en tant que valeur de couleur non multipliée. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres x: Number - La coordonnée x du pixel dont la valeur change. y: Number - La coordonnée y du pixel dont la valeur change. color: Number - La couleur RVB sur laquelle le pixel va être défini. Exemple L'exemple suivant utilise la méthode setPixel() pour affecter la valeur RVB à un pixel à un emplacement x et y spécifique. Vous pouvez dessiner sur le bitmap créé sur la valeur 0x000000 en le faisant glisser. import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { this.onEnterFrame = sketch; } mc.onRelease = function() { delete this.onEnterFrame; } 346 Classes ActionScript function sketch() { myBitmapData.setPixel(_xmouse, _ymouse, 0x000000); } Voir aussi getPixel (méthode BitmapData.getPixel), setPixel32 (méthode BitmapData.setPixel32) setPixel32 (méthode BitmapData.setPixel32) public setPixel32(x: Number, y: Number, color: Number) : Void Définit la couleur et les valeurs de transparence alpha d'un pixel unique d'un objet BitmapData. Cette méthode est similaire à la méthode setPixel() ; la principale différence réside dans le fait que la méthode setPixel32() adopte une valeur de couleur ARVB contenant les informations de canal alpha. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres x: Number - La coordonnée x du pixel dont la valeur change. y: Number - La coordonnée y du pixel dont la valeur change. - La couleur ARVB sur laquelle le pixel va être défini. Si vous avez créé un bitmap opaque (non transparent), la partie de transparence alpha de cette valeur de couleur est ignorée. color: Number Exemple L'exemple suivant utilise la méthode setPixel32() pour affecter une valeur ARVB à un pixel à un emplacement x et y spécifique. Vous pouvez dessiner sur le bitmap créé sur la valeur 0x000000 en l'absence de valeur alpha. Pour ce faire, il vous suffit d'appuyer sur le bouton de la souris et de le faire glisser. import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xFFCCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); mc.onPress = function() { this.onEnterFrame = sketch; } BitmapData (flash.display.BitmapData) 347 mc.onRelease = function() { delete this.onEnterFrame; } function sketch() { myBitmapData.setPixel32(_xmouse, _ymouse, 0x00000000); } Voir aussi getPixel32 (méthode BitmapData.getPixel32), setPixel (méthode BitmapData.setPixel) threshold (méthode BitmapData.threshold) public threshold(sourceBitmap: BitmapData, sourceRect: Rectangle, destPoint: Point, operation: String, threshold: Number, [color: Number], [mask: Number], [copySource: Boolean]) : Number Teste les valeurs de pixels d'une image selon un seuil spécifié et définit les pixels qui réussissent le test sur de nouvelles valeurs de couleur. L'utilisation de la méthode threshold() vous permet d'isoler et de remplacer les gammes de couleurs d'une image et d'effectuer d'autres opérations logiques sur les pixels de l'image. La logique du test de seuil est définie comme suit : if ((pixelValue & mask) operation (threshold & mask)) then set pixel to color else if (copySource) then set pixel to corresponding pixel value from sourceBitmap Le paramètre operation spécifie l'opérateur de comparaison à utiliser pour le test de seuil. Par exemple, si vous utilisez « == », vous pouvez isoler une valeur de couleur spécifique dans une image. Ou si vous utilisez {operation: "<", mask: 0xFF000000, threshold: 0x7f000000, color: 0x00000000}, vous pouvez définir tous les pixels de destination comme étant entièrement transparents lorsque la valeur alpha du pixel de l'image source est inférieure à 0x7F. Vous pouvez utiliser cette technique pour les transitions animées et les autres effets. Disponibilité : ActionScript 1.0 ; Flash Player 8 348 Classes ActionScript Paramètres - L'image bitmap d'entrée à utiliser. L'image source peut être un autre objet BitmapData ou faire référence à l'occurrence de BitmapData actuelle. sourceBitmap: BitmapData sourceRect: Rectangle - Un rectangle qui définit la zone de l'image source à utiliser en tant qu'entrée. - Le point sur l'image de destination (l'occurrence BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source. destPoint: Point operation: String - L'un des opérateurs de comparaison suivants, transmis en tant que chaîne : "<", "<=", ">", ">=", "==", "!=" threshold: Number - La valeur par rapport à laquelle chaque pixel est testé afin de déterminer s'il se trouve dans la plage du seuil ou s'il le dépasse. [facultatif ] - La valeur de couleur sur laquelle un pixel est défini si le test de seuil réussit. La valeur par défaut est 0x00000000. color: Number [facultatif ] - Le masque à utiliser pour isoler un composant de couleur. La valeur par défaut est 0xFFFFFFFF. mask: Number [facultatif ] - Une valeur booléenne. Si la valeur est true, les valeurs de pixels de l'image source sont copiées vers la destination lorsque le test de seuil échoue. Si la valeur est false, l'image source n'est pas copiée lorsque le test de seuil échoue. La valeur par défaut est false. copySource: Boolean Valeur renvoyée Number - Le nombre de pixels modifiés. Exemple L'exemple suivant indique comment modifier la valeur de couleur des pixels dont la valeur de couleur est supérieure ou égale à un seuil donné. import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.fillRect(new Rectangle(0, 0, 50, 80), 0x00FF0000); mc.onPress = function() { BitmapData (flash.display.BitmapData) 349 myBitmapData.threshold(myBitmapData, new Rectangle(0, 0, 100, 40), new Point(0, 0), "==", 0x00CCCCCC, 0x000000FF, 0x00FF0000, false); } transparent (propriété BitmapData.transparent) public transparent : Boolean [lecture seule] Définit si l'image bitmap prend en charge la transparence par pixel. Vous pouvez définir cette valeur uniquement lorsque vous créez un objet BitmapData en transmettant la valeur true au paramètre transparent. Après avoir créé un objet BitmapData, vous pouvez vérifier s'il prend en charge la transparence par pixel en déterminant si la valeur de la propriété transparent est true. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre que la propriété transparent de l'occurrence Bitmap est en lecture seule car il essaie de la définir mais échoue : importer flash.display.BitmapData ; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); trace(myBitmapData.transparent); // false myBitmapData.transparent = true; trace(myBitmapData.transparent); // false width (propriété BitmapData.width) public width : Number [lecture seule] Largeur de l'image bitmap en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant montre que la propriété width de l'occurrence Bitmap est en lecture seule car il essaie de la définir mais échoue : import flash.display.BitmapData; var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC); 350 Classes ActionScript var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); trace(myBitmapData.width); // 100 myBitmapData.width = 999; trace(myBitmapData.width); // 100 BitmapFilter (flash.filters.BitmapFilter) Object | +-flash.filters.BitmapFilter public class BitmapFilter extends Object Classe de base BitmapFilter pour tous les effets de filtrage d'image. Les classes BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter, DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter et GradientGlowFilter étendent toutes la classe BitmapFilter. Vous pouvez appliquer ces effets de filtre aux bitmaps et aux occurrences MovieClip. Vous pouvez créer des sous-classes uniquement pour les précédentes sous-classes de la classe BitmapFilter. Disponibilité : ActionScript 1.0 ; Flash Player 8 Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Modificateurs Signature clone() : BitmapFilter Description Renvoie un objet BitmapFilter qui est une copie exacte de l'objet BitmapFilter d'origine. BitmapFilter (flash.filters.BitmapFilter) 351 Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) clone (méthode BitmapFilter.clone) public clone() : BitmapFilter Renvoie un objet BitmapFilter qui est une copie exacte de l'objet BitmapFilter d'origine. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée BitmapFilter - Objet BitmapFilter. BlurFilter (flash.filters.BlurFilter) Object | +- BitmapFilter | +-flash.filters.BlurFilter public class BlurFilter extends BitmapFilter La classe BlurFilter vous permet d'appliquer un effet visuel de flou à divers objets dans Flash. Un effet de flou adoucit les détails d'une image. Vous pouvez produire une panoplie de flous vous permettant d'obtenir un aspect doux n'ayant pas le focus, un flou gaussien ou encore un aspect voilé dont l'effet est identique à celui d'une image que l'on regarde à travers un verre semi-opaque. Quand la propriété quality de ce filtre est réglée sur 1, vous obtenez un aspect doux n'ayant pas le focus. Quand la propriété quality est réglée sur 3, il se rapproche d'un filtre de flou gaussien. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■ Pour appliquer des filtres aux clips, champs de texte et boutons lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. 352 Classes ActionScript ■ Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel de applyFilter pour un objet BitmapData génère une image filtrée à partir de l'objet BitmapData source et de l'objet filtre. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Cependant, il ne prend pas en charge la mise à l'échelle, la rotation ni l'inclinaison. Si l'objet lui-même est redimensionné (_xscale et _yscale ne sont pas à 100%), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel un filtre est appliqué, le filtre est désactivé si l'image résultante dépasse la limite de 2880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap), filters (propriété Button.filters), cacheAsBitmap (propriété Button.cacheAsBitmap), filters (propriété TextField.filters), applyFilter (méthode BitmapData.applyFilter) Résumé des propriétés Modificateurs Propriété Description blurX: Number Le montant de flou horizontal. blurY: Number Le montant de flou vertical. quality: Number Le nombre d'applications du flou. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) BlurFilter (flash.filters.BlurFilter) 353 Récapitulatif des constructeurs Signature Description BlurFilter([blurX: Initialise le filtre avec les paramètres spécifiés. Number], [blurY: Number], [quality: Number]) Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. BlurFilter Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur BlurFilter() public BlurFilter([blurX: Number], [blurY: Number], [quality: Number]) Initialise le filtre avec les paramètres spécifiés. Les valeurs par défaut créent une image douce, n'ayant pas le focus. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres [facultatif ] - Quantité de flou à appliquer horizontalement. Les valeurs valides sont comprises entre 0 et 255 (valeur en virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. blurX: Number 354 Classes ActionScript [facultatif ] - Quantité de flou à appliquer verticalement. Les valeurs valides sont comprises entre 0 et 255 (valeur en virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. blurY: Number quality: Number [facultatif ] - Nombre d'applications du filtre. La valeur par défaut est 1, ce qui correspond à la qualité inférieure. Une valeur de 2 est une qualité moyenne et une valeur de 3 est la qualité supérieure s'approchant du flou gaussien. Exemple L'exemple suivant instancie un nouveau constructeur BlurFilter et l'applique à un rectangle plat : import flash.filters.BlurFilter ; var rect:MovieClip = createRectangle(100, 100, 0x003366, "BlurFilterExample"); var blurX:Number = 30; var blurY:Number = 30; var quality:Number = 3; var filter:BlurFilter = new BlurFilter(blurX, blurY, quality); var filterArray:Array = new Array(); filterArray.push(filter); rect.filters = filterArray; function createRectangle(w:Number, h:Number, bgColor:Number, name:String):MovieClip { var mc:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); mc.beginFill(bgColor); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc._x = 20; mc._y = 20; return mc; } blurX (propriété BlurFilter.blurX) public blurX : Number Le montant de flou horizontal. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. BlurFilter (flash.filters.BlurFilter) 355 Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant change la propriété blurX sur une occurrence de clip existant quand un utilisateur clique dessus. import flash.filters.BlurFilter ; var mc:MovieClip = createBlurFilterRectangle("BlurFilterBlurX"); mc.onRelease = function() { var filter:BlurFilter = this.filters[0]; filter.blurX = 200; this.filters = new Array(filter); } function createBlurFilterRectangle(name:String):MovieClip { var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; rect.beginFill(0x003366); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BlurFilter = new BlurFilter(30, 30, 2); var filterArray:Array = new Array(); filterArray.push(filter); rect.filters = filterArray; return rect; } blurY (propriété BlurFilter.blurY) public blurY : Number Le montant de flou vertical. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 356 Classes ActionScript Exemple L'exemple suivant change la propriété blurY sur une occurrence de clip existant quand un utilisateur clique dessus. import flash.filters.BlurFilter ; var mc:MovieClip = createBlurFilterRectangle("BlurFilterBlurY"); mc.onRelease = function() { var filter:BlurFilter = this.filters[0]; filter.blurY = 200; this.filters = new Array(filter); } function createBlurFilterRectangle(name:String):MovieClip { var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; rect.beginFill(0x003366); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; var filter:BlurFilter = new BlurFilter(30, 30, 2); var filterArray:Array = new Array(); filterArray.push(filter); rect.filters = filterArray; return rect; } clone (méthode BitmapFilter.clone) public clone() : BlurFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée - Nouvelle occurrence BlurFilter dont toutes les propriétés sont identiques à celles de l'occurrence BlurFilter d'origine. BlurFilter BlurFilter (flash.filters.BlurFilter) 357 Exemple L'exemple suivant crée trois objets BlurFilter et les compare. Vous pouvez créer l'objet filter_1 à l'aide du constructeur BlurFilter. Vous pouvez créer l'objet filter_2 en lui attribuant des réglages égaux à ceux de filter_1. Vous pouvez créer l'objet clonedFilter en clonant filter_1. Veuillez noter que filter_2 est considéré comme égal à filter_1, clonedFilter ne l'est pas, même s'il contient les mêmes valeurs que filter_1. import flash.filters.BlurFilter ; var filter_1:BlurFilter = new BlurFilter(30, 30, 2); var filter_2:BlurFilter = filter_1; var clonedFilter:BlurFilter = filter_1.clone(); trace(filter_1 == filter_2); // true trace(filter_1 == clonedFilter); // false for(var i in filter_1) { trace(">> " + i + ": " + filter_1[i]); // >> clone: [type Function] // >> quality: 2 // >> blurY: 30 // >> blurX: 30 } for(var i in clonedFilter) { trace(">> " + i + ": " + clonedFilter[i]); // >> clone: [type Function] // >> quality: 2 // >> blurY: 30 // >> blurX: 30 } Pour illustrer plus précisément la relation entre filter_1, filter_2 et clonedFilter, l'exemple suivant modifie la propriété quality de filter_1. La modification de quality démontre que la méthode clone() crée une nouvelle occurrence basée sur les valeurs de filter_1 au lieu de faire référence à ces valeurs. import flash.filters.BlurFilter ; var filter_1:BlurFilter = new BlurFilter(30, 30, 2); var filter_2:BlurFilter = filter_1; var clonedFilter:BlurFilter = filter_1.clone(); trace(filter_1.quality); // 2 trace(filter_2.quality); // 2 trace(clonedFilter.quality); // 2 filter_1.quality = 1; 358 Classes ActionScript trace(filter_1.quality); // 1 trace(filter_2.quality); // 1 trace(clonedFilter.quality); // 2 quality (propriété BlurFilter.quality) public quality : Number Le nombre d'applications du flou. Les valeurs valides sont 0 à 15. La valeur par défaut est 1, ce qui équivaut à une qualité inférieure. Une valeur de 2 est une qualité moyenne. Une valeur de 3 est une haute qualité et se rapproche d'un flou gaussien. Pour la plupart des applications, une valeur de quality de 1, 2 ou 3 est suffisante. Vous pouvez cependant utiliser les valeurs numériques jusqu'à 15 pour augmenter le nombre de fois où le flou est appliqué pour obtenir un effet de flou plus important. Mais les valeurs les plus hautes donnent un rendu plus lent. Sans augmenter la valeur de quality, vous pouvez généralement obtenir un effet similaire, avec un rendu plus rapide, en augmentant simplement les valeurs de blurX et blurY. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée un rectangle et lui applique un filtre de flou avec une valeur de de 1. Quand vous cliquez sur le rectangle, la valeur de quality augmente à 3, et le rectangle devient plus flou. quality import flash.filters.BlurFilter ; var mc:MovieClip = createBlurFilterRectangle("BlurFilterQuality"); mc.onRelease = function() { var filter:BlurFilter = this.filters[0]; filter.quality = 3; this.filters = new Array(filter); } function createBlurFilterRectangle(name:String):MovieClip { var rect:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; rect.beginFill(0x003366); rect.lineTo(w, 0); rect.lineTo(w, h); rect.lineTo(0, h); rect.lineTo(0, 0); rect._x = 20; rect._y = 20; BlurFilter (flash.filters.BlurFilter) 359 var filter:BlurFilter = new BlurFilter(30, 30, 1); var filterArray:Array = new Array(); filterArray.push(filter); rect.filters = filterArray; return rect; } Boolean Object | +-Boolean public class Boolean extends Object La classe Boolean est une enveloppe disposant des mêmes fonctionnalités que l'objet JavaScript Boolean standard. Utilisez la classe Boolean pour extraire le type de données primitif ou la représentation d'un objet booléen sous forme de chaîne. Vous devez utiliser le constructeur new Boolean() pour créer un objet Boolean avant d'appeler ses méthodes. Disponibilité : ActionScript 1.0 ; Flash Player 5 - (devenu un objet natif dans Flash Player 6, ce qui a considérablement amélioré les performances) Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description Boolean([value: Crée un objet Boolean. Object]) 360 Classes ActionScript Résumé de la méthode Modificateurs Signature Description toString() : String Renvoie la représentation de l'objet Boolean sous forme de chaîne ("true" ou "false"). valueOf() : Boolean Renvoie true si le type de valeur primitif de l'objet booléen spécifié est true ; false sinon. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur Boolean() public Boolean([value: Object]) Crée un objet Boolean. Si vous omettez le paramètre value, l'objet Boolean est initialisé avec la valeur false. Si vous spécifiez une valeur pour le paramètre value, la méthode l'évalue et renvoie le résultat sous forme de valeur booléenne conformément aux règles de la fonction globale Boolean(). Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres value: Object [facultatif ] - Toute expression. La valeur par défaut est false. Exemple Le code suivant crée un nouvel objet booléen vide intitulé myBoolean : var myBoolean:Boolean = new Boolean(); Boolean 361 toString (méthode Boolean.toString) public toString() : String Renvoie la représentation de l'objet Boolean sous forme de chaîne ("true" ou "false"). Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Chaîne ; "true" ou "false". Exemple Cet exemple crée une variable de type booléen et utilise la méthode toString() pour convertir la valeur en chaîne à utiliser dans un tableau de chaînes : var myStringArray:Array = new Array("yes", "could be"); var myBool:Boolean = 0; myBool.toString(); myStringArray.push(myBool); valueOf (méthode Boolean.valueOf) public valueOf() : Boolean Renvoie true si le type de valeur primitif de l'objet booléen spécifié est true ; false sinon. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Boolean - Valeur booléenne. Exemple L'exemple suivant indique le mode de fonctionnement de cette méthode et montre également que le type de valeur primitif d'un nouvel objet booléen est false : var x:Boolean = new Boolean(); trace(x.valueOf()); // false x = (6==3+3); trace(x.valueOf()); // true 362 Classes ActionScript Button Object | +-Button public class Button extends Object Tous les symboles de bouton présents dans un fichier SWF sont des occurrences de l'objet Button. Vous pouvez donner un nom d'occurrence à un bouton dans l'inspecteur Propriétés, puis utiliser les méthodes et les propriétés de la classe Button pour manipuler les boutons avec ActionScript. Les noms d'occurrence de boutons s'affichent dans l'explorateur d'animations et dans la boîte de dialogue Insérer un chemin cible du panneau Actions. La classe Button hérite de la classe Object. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir aussi Object Résumé des propriétés Modificateurs Propriété Description _alpha: Number La valeur de transparence alpha du bouton spécifié par my_btn. blendMode: Object Le mode de fondu de cet objet. cacheAsBitmap: Si défini sur true, Flash Player place en mémoire cache une version bitmap interne du bouton. Boolean enabled: Boolean Une valeur booléenne spécifiant si un bouton est activé. filters: Array Un tableau indexé contenant tous les objets filtre associés au bouton. _focusrect: Boolean Une valeur booléenne indiquant si un bouton est entouré d'un rectangle jaune lorsqu'il a le focus clavier. _height: Number La hauteur du bouton, en pixels. Button 363 Modificateurs Propriété Description _highquality: Number Déconseillée depuis Flash Player 7. Cette propriété a été déconseillée en faveur de Button._quality. Spécifie le niveau d'anti-aliasing appliqué au fichier SWF actuel. menu: ContextMenu Associe l'objet ContextMenu, contextMenu à l'objet bouton my_button. _name: String Nom d'occurrence du bouton spécifié par my_btn. _parent: MovieClip Référence au clip ou à l'objet contenant le clip ou l'objet actuel. _quality: String Propriété (globale) ; définit ou récupère la qualité de rendu utilisée pour un fichier SWF. _rotation: Number La rotation du bouton, en degrés, à partir de son orientation d'origine. scale9Grid: La zone rectangulaire qui définit les neuf zones de redimensionnement du bouton. Rectangle _soundbuftime: Number Propriété qui spécifie le nombre de secondes pendant lequel les sons sont chargés en mémoire tampon avant d'être diffusés en continu. tabEnabled: Boolean Spécifie si my_btn est inclus dans l'ordre de tabulation automatique. tabIndex: Number Permet de personnaliser l'ordre de tabulation des objets dans un fichier SWF. _target: String Renvoie le chemin cible de l'occurrence de bouton spécifiée par my_btn. [lecture seule] trackAsMenu: Boolean Valeur booléenne indiquant si d'autres boutons ou clips peuvent recevoir des événements de relâchement de souris. _url: String [lecture seule] useHandCursor: Boolean 364 Récupère l'URL du fichier SWF qui a créé le bouton. Valeur booléenne qui, lorsqu'elle est définie sur true (par défaut), indique si un curseur en forme de main s'affiche lorsque la souris survole un bouton. _visible: Boolean Une valeur booléenne indiquant si le bouton spécifié par my_btn est visible. _width: Number La largeur du bouton, en pixels. Classes ActionScript Modificateurs Propriété Description _x: Number Un entier qui définit la coordonnée x d'un bouton par rapport aux coordonnées locales du clip parent. _xmouse: Number Renvoie la coordonnée x de la position de la souris par rapport au bouton. [lecture seule] _xscale: Number Le redimensionnement horizontal du bouton tel qu'il est appliqué à partir du point d'alignement du bouton, exprimé en pourcentage. _y: Number La coordonnée y du bouton par rapport aux coordonnées locales du clip parent. _ymouse: Number Indique la coordonnée y de la position de la souris par rapport au bouton. [lecture seule] _yscale: Number Le redimensionnement vertical du bouton tel qu'il est appliqué à partir du point d'alignement du bouton, exprimé en pourcentage. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé des événements Evénement Description onDragOut = function() {} Invoqué lorsque vous cliquez sur le bouton à l'aide du bouton de la souris, puis faites glisser le pointeur hors du bouton. onDragOver = function() {} Invoqué lorsque l'utilisateur appuie sur le bouton de la souris, le fait glisser hors du bouton, puis sur le bouton. onKeyDown = function() {} Invoqué lorsqu'un bouton reçoit le focus clavier et lorsque l'utilisateur appuie sur une touche. onKeyUp = function() {} Invoqué lorsqu'un bouton reçoit le focus d'entrée et lorsque l'utilisateur relâche une touche. onKillFocus = function(newFocus: Invoqué lorsqu'un bouton perd le focus clavier. Object) {} onPress = function() {} Invoqué lorsqu'un bouton est enfoncé. Button 365 Evénement Description onRelease = function() {} Invoqué lorsqu'un bouton est relâché. onReleaseOutside = function() {} Invoqué lorsque l'utilisateur relâche la souris tandis que le pointeur se trouve hors du bouton après avoir appuyé sur celui-ci lorsque le pointeur se trouvait à l'intérieur du bouton. onRollOut = function() {} Invoqué lorsque le pointeur se déplace hors d'une zone du bouton. onRollOver = function() {} Invoqué lorsque le pointeur se déplace sur une zone du bouton. onSetFocus = function(oldFocus: Invoqué lorsqu'un bouton reçoit le focus clavier. Object) {} Résumé de la méthode Modificateurs Signature Description getDepth() : Number Renvoie la profondeur d'une occurrence de bouton. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) _alpha (propriété Button._alpha) public _alpha : Number La valeur de transparence alpha du bouton spécifié par my_btn. Les valeurs possibles sont comprises entre 0 (entièrement transparent) et 100 (entièrement opaque). La valeur par défaut est 100. Les objets d'un bouton dont la propriété _alpha est définie sur 0 sont actifs, même s'ils sont invisibles. Disponibilité : ActionScript 1.0 ; Flash Player 6 366 Classes ActionScript Exemple Le code suivant définit la propriété _alpha d'un bouton intitulé myBtn_btn sur 50 % lorsque l'utilisateur clique sur le bouton : D'abord, ajoutez une occurrence de Button sur la scène. Ensuite, donnez lui un nom d'occurrence de myBtn_btn. Pour terminer, l'image 1 étant sélectionnée, placez le code suivant dans le panneau Actions : myBtn_btn.onRelease = function(){ this._alpha = 50; }; Voir aussi _alpha (propriété MovieClip._alpha), _alpha (propriété TextField._alpha) blendMode (propriété Button.blendMode) public blendMode : Object Le mode de fondu de cet objet. Le mode fondu modifie l'apparence du bouton quand il est sur un calque au dessus d'un autre objet à l'écran. Flash Player applique la propriété blendMode à chaque pixel du bouton. Chaque pixel est composé de trois couleurs élémentaires (rouge, vert et bleu), chacune de ces couleurs ayant une valeur située entre 0x00 et 0xFF. Flash Player compare chaque couleur élémentaire d'un pixel du bouton avec la couleur correspondante du pixel de l'arrière-plan. Par exemple, si blendMode est réglé sur "lighten", Flash Player compare la valeur de rouge du bouton avec la valeur de rouge de l'arrière-plan et utilise la plus légère des deux comme valeur du composant rouge de la couleur affichée. Le tableau suivant répertorie les réglages blendMode. Pour définir la propriété blendMode, vous pouvez utiliser un entier compris entre 1 et 14 ou une chaîne. Les illustrations du tableau montrent blendMode appliqué sur un bouton (2) quand il est superposé à un autre objet à l'écran (1). Button 367 Valeur de l'entier Valeur de chaîne 1 "normal" Le bouton apparaît devant l'arrière-plan. Les valeurs de pixels du bouton écrasent celles de l'arrière-plan. Si le bouton est transparent, l'arrière-plan est visible. 2 "layer" Force la création d'un tampon temporaire pour la précomposition du bouton. Ceci se fait automatiquement s'il existe plus d'un objet enfant dans un bouton et un réglage blendMode autre que "normal" est choisi pour l'enfant. 3 "multiply" Multiplie les valeurs des couleurs primaires du bouton par celles de la couleur d'arrière-plan, et ensuite normalise en divisant par 0xFF, ce qui donne des couleurs plus foncées. Utilisé de façon commune pour les effets d'ombre et de profondeur. Par exemple, si une couleur primaire (telle que le rouge) d'un pixel du bouton et que la couleur correspondante du pixel de l'arrière-plan ont toutes les deux la valeur 0x88, le résultat de la multiplication est 0x4840. La division par 0xFF donne une valeur de 0x48 pour cette couleur primaire, ce qui est une ombre plus foncée que celle du bouton ou de l'arrière-plan. 4 "screen" Multiplie le complément (l'inverse) de la couleur du bouton par le complément de la couleur d'arrièreplan, ce qui donne un effet de blanchissement. Ce réglage est habituellement utilisé pour les surbrillances ou pour éliminer les zones noires du bouton. 5 "lighten" Choisit la plus claire des couleurs primaires du bouton et celle de l'arrière-plan (celles qui ont les plus grandes valeurs). Ce réglage est habituellement utilisé pour les superpositions. Par exemple, si le bouton a un pixel ayant une valeur RVB de 0xFFCC33, et le pixel d'arrièreplan une valeur RVB de 0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0xFFF833 (parce que 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33). 368 Classes ActionScript Illustration Description Valeur de l'entier Valeur de chaîne 6 "darken" Choisit la plus foncée des couleurs primaires du bouton et celle de l'arrière-plan (celles qui ont les plus petites valeurs). Ce réglage est habituellement utilisé pour les superpositions. Par exemple, si le bouton a un pixel ayant une valeur RVB de 0xFFCC33, et le pixel d'arrièreplan une valeur RVB de 0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0xDDCC00 (parce que 0xFF > 0xDD, 0xCC < 0xF8, et 0x33 > 0x00 = 33). 7 "difference Compare les couleurs primaires du bouton avec celles de son arrière-plan et soustrait la plus foncée des deux couleurs de la plus claire. Ce réglage est habituellement utilisé pour obtenir des couleurs plus vibrantes. Par exemple, si le bouton a un pixel ayant une valeur RVB de 0xFFCC33, et le pixel d'arrièreplan une valeur RVB de 0xDDF800, la valeur RVB résultante pour le pixel affiché est de 0x222C33 (parce que 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C et 0x33 - 0x00 = 0x33). " 8 "add" Illustration Description Ajoute les couleurs primaires du bouton à celles de son arrière-plan, et applique un plafond de 0xFF. Ce réglage est habituellement utilisé pour animer un fondu d'éclaircissement entre deux objets. Par exemple, si le bouton a un pixel ayant une valeur RVB de 0xAAA633, et le pixel d'arrièreplan une valeur RVB de 0xDD2200, la valeur RVB résultante pour le pixel affiché est de 0xFFC833 (parce que 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, et 0x33 + 0x00 = 0x33). Button 369 Valeur de l'entier Valeur de chaîne 9 "subtract" Soustrait les couleurs primaires du bouton de celles de son arrière-plan, et applique un plancher de 0. Ce réglage est habituellement utilisé pour animer un fondu d'assombrissement entre deux objets. Par exemple, si le bouton a un pixel ayant une valeur RVB de 0xAA2233, et le pixel d'arrièreplan une valeur RVB de 0xDDA600, la valeur RVB résultante pour le pixel affiché est de 0x338400 (parce que 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, et 0x00 - 0x33 < 0x00). 10 "invert" Inverse l'arrière-plan. 11 "alpha" Applique la valeur alpha de chaque pixel du bouton à l'arrière-plan. Ceci requiert que le "calque" blendMode soit appliqué à un bouton parent. Par exemple, sur l'illustration, le bouton parent, qui est un arrière-plan blanc, a la propriété blendMode = "layer". 12 "erase" Efface l'arrière plan sur la base de la valeur alpha du bouton. Ceci requiert que le réglage "layer" blendMode soit appliqué à un bouton parent. Par exemple, sur l'illustration, le bouton parent, qui est un arrière-plan blanc, a la propriété blendMode = "layer". 370 Classes ActionScript Illustration Description Valeur de l'entier Valeur de chaîne Illustration Description 13 "overlay" Ajuste la couleur de chaque bitmap sur la base de l'obscurité de l'arrière-plan. Si l'arrière-plan est plus clair qu'un gris à 50 %, les couleurs du bouton et de l'arrière-plan sont masquées, ce qui donne une couleur plus claire. Si l'arrière-plan est plus foncé qu'un gris à 50 %, les couleurs sont multipliées, ce qui donne une couleur plus sombre. Ce réglage est habituellement utilisé pour les effets d'ombrage. 14 "hardlight" Ajuste la couleur de chaque bitmap sur la base de l'obscurité du bouton. Si le bouton est plus clair qu'un gris à 50 %, les couleurs du bouton et de l'arrière-plan sont masquées, ce qui donne une couleur plus claire. Si l'arrière-plan est plus foncé qu'un gris à 50 %, les couleurs sont multipliées, ce qui donne une couleur plus sombre. Ce réglage est habituellement utilisé pour les effets d'ombrage. Si vous tentez de définir la propriété blendMode sur une autre valeur, Flash la définit sur "normal". Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant vous montrera que si vous définissez la propriété sur un entier, Flash convertit immédiatement cette valeur en une chaîne correspondante : my_button.blendMode = 8; trace (my_button.blendMode) // ajouter Pour un exemple similaire, veuillez consulter la description de la propriété blendMode de la classe MovieClip. Voir aussi blendMode (propriété MovieClip.blendMode) Button 371 cacheAsBitmap (propriété Button.cacheAsBitmap) public cacheAsBitmap : Boolean Si défini sur true, Flash Player place en mémoire cache une version bitmap interne du bouton. Cela permet d'améliorer les performances des boutons qui intègrent du contenu vectoriel complexe. Pour un bouton ayant sa propriété cacheAsBitmap sur true, Flash Player stocke une représentation de bitmap pour chacun des quatre états du bouton. Toutes les données vectorielles d'un bouton contenant un bitmap en mémoire cache sont tracées sur le bitmap et non pas sur la scène principale. Ce bitmap est ensuite copié sur la scène principale sous forme de pixels sans étirement ou rotation et accrochés aux limites de pixels les plus proches. Les correspondances des pixels avec l'objet parent se font selon un rapport de 1 à 1. Si les limites du bitmap changent, il est recréé au lieu d'être étiré. Aucun bitmap interne n'est créé sauf si la propriété cacheAsBitmap est définie sur true. Après avoir défini la propriété cacheAsBitmap du bouton sur true, le rendu ne change pas, bien que le bouton procède automatiquement à l'accrochage aux pixels. La vitesse d'animation peut être beaucoup plus importante selon la complexité du contenu vectoriel. La propriété cacheAsBitmap est définie automatiquement sur true lorsque vous appliquez un filtre à un bouton (lorsque son tableau filter n'est pas vide). Lorsqu'un bouton est filtré, cacheAsBitmap renvoie la valeur true pour ce bouton, même si vous l'avez définie sur false. Si vous supprimez tous les filtres d'un bouton, le paramètre cacheAsBitmap reprend sa définition précédente. Dans les cas suivants, les boutons n'utilisent pas de bitmap, même si la propriété cacheAsBitmap est définie sur true et procède au rendu à partir de données vectorielles : ■ ■ Quand le bitmap est trop grand, c'est à dire supérieur à 2800 pixels dans l'un des deux sens. Quand le bitmap manque de mémoire allouée (en raison d'une erreur mémoire) La propriété cacheAsBitmap est utilisée de préférence avec les boutons dont le contenu est principalement statique et qui n'est ni redimensionné, ni pivoté de façon fréquente. Avec ce genre de bouton, cacheAsBitmap peut entraîner une augmentation de performance quand le bouton est déplacé (quand ses positions x et y sont changées). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant applique une ombre portée à une occurrence de bouton existant sous le nom de myButton. Il trace ensuite la valeur de cacheAsBitmap, qui est réglée sur true lors de l'application d'un filtre. 372 Classes ActionScript import flash.filters.DropShadowFilter ; trace(myButton.cacheAsBitmap); // false var dropShadow:DropShadowFilter = new DropShadowFilter(6, 45, 0x000000, 50, 5, 5, 1, 2, false, false, false); myButton.filters = new Array(dropShadow); trace(myButton.cacheAsBitmap); // true enabled (propriété Button.enabled) public enabled : Boolean Une valeur booléenne spécifiant si un bouton est activé. Lorsqu'il est désactivé (la propriété enabled est alors réglée sur false), le bouton est visible mais vous ne pouvez pas cliquer dessus. La valeur par défaut est true. Cette propriété s'avère utile si vous souhaitez désactiver certains des boutons de navigation ; par exemple, il peut être souhaitable de désactiver un bouton dans la page actuellement affichée afin d'empêcher tout clic sur celui-ci et d'empêcher de recharger la page. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant démontre comment vous pouvez désactiver et activer le clic de boutons. Deux boutons, myBtn1_btn et myBtn2_btn,, se trouvent sur la scène et le code ActionScript suivant est ajouté afin que l'utilisateur ne puisse pas cliquer sur le bouton myBtn2_btn : D'abord, ajoutez deux occurrences de boutons sur la scène. Ensuite, attribuez leur les noms d'occurrence myBtn1_btn et myBtn2_btn. Pour finir, placez le code suivant sur l'image 1 pour activer ou désactiver les boutons. myBtn1_btn.enabled = true; myBtn2_btn.enabled = false; // Code du bouton // La fonction suivante ne va pas être appelée, // car myBtn2_btn.enabled a été défini sur false myBtn1_btn.onRelease = function() { trace("you clicked : "+this._name); }; myBtn2_btn.onRelease = function() { trace("you clicked : "+this._name); }; Button 373 filters (propriété Button.filters) public filters : Array Un tableau indexé contenant tous les objets filtre associés au bouton. Le package flash.filters contient plusieurs classes qui définissent des filtres spécifiques. Ces filtres peuvent s'appliquer dans l'outil de programmation de Flash pendant la phase de conception ou d'exécution du code ActionScript. Pour appliquer un filtre avec ActionScript, vous devez créer une copie temporaire de l'intégralité du tableau Button.filters, modifier le tableau temporaire, puis reporter les valeurs de ce tableau temporaire dans le tableau Button.filters. Vous ne pouvez pas appliquer directement un nouvel objet filtre au tableau Button.filters. Le code suivant n'a aucun effet sur le bouton cible, appelé myButton : myButton.filters[0].push(myDropShadow); Pour ajouter un filtre avec ActionScript, vous devez suivre les étapes ci-dessous (dans cet exemple le bouton cible est appelé myButton) : ■ ■ Créez un objet filtre avec la fonction constructeur de la classe de filtre retenue. Assignez la valeur du tableau myButton.filters à un tableau temporaire, tel que celui qui est nommé myFilters. ■ Ajoutez le nouvel objet filtre au tableau temporaire, myFilters. ■ Affectez la valeur du tableau temporaire au tableau myButton.filters. Si le tableau filters est vide, il n'est pas nécessaire d'utiliser un tableau temporaire. Par contre, vous pouvez affecter directement un littéral de tableau contenant un ou plusieurs des objets filter que vous avez créés. Pour modifier un objet filtre existant, que ce dernier ait été créé pendant la phase de conception ou d'exécution, vous devez appliquer la technique de modification d'une copie du tableau filters : ■ ■ ■ Assignez la valeur du tableau myButton.filters à un tableau temporaire, tel que celui qui est nommé myFilters. Modifiez la propriété avec le tableau temporaire, myFilters. Par exemple, si vous souhaitez définir la propriété quality du premier filtre du tableau, utilisez le code suivant : myList[0].quality = 1; Affectez la valeur du tableau temporaire au tableau myButton.filters. Pour supprimer les filtres d'un bouton, définissez filters par un tableau vide ([]). 374 Classes ActionScript Lors du chargement, si un bouton est associé à un filtre, ce bouton se place en mémoire cache en tant que bitmap transparent. A partir de ce stade, tant que le bouton possède une liste de filtres valide, le lecteur place le clip en mémoire cache au format bitmap. Ce bitmap source est ensuite repris en tant qu'image source pour les effets de filtrage. Habituellement, chaque bouton a deux jeux de bitmaps : Un avec le bouton d'origine non filtré et un autre pour les images finales après filtrage (dans chacun des quatre états du bouton). L'image finale est utilisée pour le rendu. Tant que le bouton ne change pas, l'image source ne nécessite aucune mise à jour. Si vous manipulez un tableau filters contenant plusieurs filtres et devez suivre le type de filtre affecté à chaque index de tableau, vous pouvez conserver votre propre tableau filters et utiliser une structure de données distincte pour suivre le type de filtre associé à chaque index de tableau. Il n'existe aucune méthode simple permettant de déterminer le type de filtre associé à chaque index de tableau filters. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant ajoute un filtre d'ombre portée à un bouton appelé myButton. import flash.filters.DropShadowFilter ; var myDropFilter:DropShadowFilter = new DropShadowFilter(6, 45, 0x000000, 50, 5, 5, 1, 2, false, false, false); var myFilters:Array = myButton.filters; myFilters.push(myDropFilter); myButton.filters = myFilters; L'exemple suivant donne au paramètre quality du premier filtre du tableau la valeur 15 (cet exemple ne peut fonctionner que si au moins un objet filtre a été associé au champ texte myButton). var myList:Array = myButton.filters; myList[0].quality = 15; myButton.filters = myList; Voir aussi cacheAsBitmap (propriété Button.cacheAsBitmap) Button 375 _focusrect (propriété Button._focusrect) public _focusrect : Boolean Une valeur booléenne indiquant si un bouton est entouré d'un rectangle jaune lorsqu'il a le focus clavier. Cette propriété peut annuler la propriété _focusrect globale. Par défaut, la propriété _focusrect d'une occurrence de bouton est nulle, ce qui signifie que l'occurrence de bouton n'annule pas la propriété globale _focusrect. Si la propriété _focusrect d'une occurrence de bouton est définie sur true ou false, elle annule le paramètre de la propriété globale _focusrect de l'occurrence unique de bouton. Dans les fichiers SWF de Flash Player 4 ou Flash Player 5, la propriété _focusrect contrôle la propriété globale _focusrect. Il s'agit d'une valeur booléenne. Ce comportement a été modifié dans Flash Player 6 et les versions ultérieures afin de pouvoir personnaliser la propriété _focusrect sur un clip individuel. Si la propriété _focusrect est définie sur false, la navigation au clavier se limite à la touche Tab pour ce bouton. Toutes les autres touches, ce qui inclut la touche Entrée et les touches directionnelles, sont ignorées. Pour restaurer l'intégralité de l'accès clavier, vous devez définir _focusrect sur true. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple démontre comment masquer le rectangle jaune autour d'une occurrence de bouton spécifiée d'un fichier SWF lorsqu'elle a le focus dans une fenêtre de navigateur. Créez trois boutons intitulés myBtn1_btn, myBtn2_btn et myBtn3_btn, puis ajoutez le code ActionScript suivant à l'image 1 du scénario : myBtn2_btn._focusrect = false; Définissez les paramètres de publication sur Flash Player 6, puis testez le fichier SWF dans une fenêtre de navigateur en pointant sur Fichier > Aperçu avant publication > HTML. Attribuez le focus au fichier SWF en cliquant sur celui-ci dans la fenêtre de navigateur, puis utilisez la touche Tab pour appliquer le focus à chaque occurrence. Vous ne pourrez pas exécuter le code de ce bouton en appuyant sur la touche Entrée ou Espace lorsque la propriété _focusrect est désactivée. getDepth (méthode Button.getDepth) public getDepth() : Number Renvoie la profondeur d'une occurrence de bouton. 376 Classes ActionScript Tout clip, bouton et champ texte est associé à une profondeur unique qui détermine l'aspect de l'objet devant ou derrière d'autres objets. Les objets dont la profondeur est la plus importante s'affichent au premier plan. Disponibilité : ActionScript 1.0 ; Flash Player 6 Valeur renvoyée Number - Profondeur d'une occurrence de bouton. Exemple Si vous créez myBtn1_btn et myBtn2_btn sur la scène, vous pouvez suivre leur profondeur à l'aide du code ActionScript suivant : trace(myBtn1_btn.getDepth()); trace(myBtn2_btn.getDepth()); Si vous chargez un fichier SWF intitulé buttonMovie.swf dans ce document, vous pouvez suivre la profondeur d'un bouton, myBtn4_btn, dans ce fichier SWF à l'aide d'un autre bouton du fichier SWF principal : this.createEmptyMovieClip("myClip_mc", 999); myClip_mc.loadMovie("buttonMovie.swf"); myBtn3_btn.onRelease = function(){ trace(myClip_mc.myBtn4_btn.getDepth()); }; Vous remarquerez que deux de ces boutons ont la même valeur de profondeur, l'un dans le fichier SWF principal et l'autre dans le fichier SWF chargé. Cela peut vous induire en erreur car buttonMovie.swf a été chargé à la profondeur 999, ce qui signifie que le bouton qu'il contient aura également une profondeur de 999 par rapport aux boutons du fichier SWF principal. N'oubliez pas que chaque clip dispose de son propre ordre z interne, ce qui signifie que chaque clip possède son propre jeu de valeurs de profondeur. Les deux boutons peuvent avoir la même valeur de profondeur mais les valeurs ne sont significatives que par rapport aux autres objets du même ordre z. Dans ce cas, les boutons ont la même valeur de profondeur mais les valeurs se rapportent à des clips différents. Par exemple, la valeur de profondeur du bouton dans le fichier SWF principal se rapporte à l'ordre z du scénario principal, tandis que la valeur de profondeur du bouton du fichier SWF chargé se rapporte à l'ordre z interne du clip myClip_mc. Voir aussi getDepth (méthode MovieClip.getDepth), getDepth (méthode TextField.getDepth), getInstanceAtDepth (méthode MovieClip.getInstanceAtDepth) Button 377 _height (propriété Button._height) public _height : Number La hauteur du bouton, en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit la hauteur et la largeur d'un bouton intitulé my_btn sur des valeurs spécifiées. my_btn._width = 500; my_btn._height = 200; _highquality (propriété Button._highquality) public _highquality : Number Déconseillée depuis Flash Player 7. Cette propriété a été déconseillée en faveur de Button._quality. Spécifie le niveau d'anti-aliasing appliqué au fichier SWF actuel. Spécifiez 2 (meilleure qualité) pour bénéficier de la meilleure qualité possible et activer le lissage de façon permanente. Spécifiez 1 (haute qualité) pour procéder à l'anti-aliasing ; ceci permet de lisser les bitmaps si le fichier SWF ne contient pas d'animation et constitue la valeur par défaut. Spécifiez 0 (faible qualité) pour empêcher l'anti-aliasing. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Ajoutez une occurrence de bouton sur la scène et appelez-la myBtn_btn. Tracez un ovale sur la scène à l'aide de l'outil Ovale ayant une couleur de trait et de remplissage. Sélectionnez l'image 1 et ajoutez le code ActionScript suivant via le panneau Actions : myBtn_btn.onRelease = function(){ myBtn_btn._highquality = 0; }; Lorsque vous cliquez sur myBtn_btn, le trait du cercle est irrégulier. Vous pouvez ajouter le code ActionScript suivant pour affecter l'ensemble du fichier SWF : _quality = 0; Voir aussi _quality (propriété Button._quality), _quality, propriété 378 Classes ActionScript menu (propriété Button.menu) public menu : ContextMenu Associe l'objet ContextMenu, contextMenu à l'objet bouton my_button. La classe ContextMenu permet de modifier le menu contextuel qui s'affiche lorsque l'utilisateur clique avec le bouton droit de la souris (Windows) ou en appuyant sur la touche Contrôle (Macintosh) dans Flash Player. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant affecte un objet ContextMenu à une occurrence de bouton intitulée myBtn_btn. L'objet ContextMenu contient un élément de menu unique (intitulé « Save... ») incluant une fonction de gestionnaire de rappel intitulée doSave. Ajoutez l'occurrence de bouton sur la scène et appelez-la myBtn_btn. var menu_cm:ContextMenu = new ContextMenu(); menu_cm.customItems.push(new ContextMenuItem("Save...", doSave)); function doSave(menu:Object, obj:Object):Void { trace(" You selected the 'Save...' menu item "); } myBtn_btn.menu = menu_cm; Pointez sur Contrôle > Tester l'animation pour tester le fichier SWF. Après avoir placé le pointeur sur myBtn_btn, cliquez avec le bouton droit de la souris ou maintenez la touche Contrôle enfoncée. Le menu contextuel incluant le bouton Enregistrer apparaît dans le menu. Lorsque vous cliquez sur Enregistrer dans le menu, le panneau de sortie s'affiche. Voir aussi ContextMenu, ContextMenuItem, menu (propriété MovieClip.menu), menu (propriété TextField.menu) _name (propriété Button._name) public _name : String Nom d'occurrence du bouton spécifié par my_btn. Disponibilité : ActionScript 1.0 ; Flash Player 6 Button 379 Exemple L'exemple suivant présente tous les noms d'occurrence des occurrences Button dans le scénario actuel d'un fichier SWF. for (i in this) { if (this[i] instanceof Button) { trace(this[i]._name); } } onDragOut (gestionnaire Button.onDragOut) onDragOut = function() {} Invoqué lorsque vous cliquez sur le bouton à l'aide du bouton de la souris, puis faites glisser le pointeur hors du bouton. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant démontre comment vous pouvez exécuter des instructions lorsque le pointeur ne se trouve plus sur un bouton. Créez un bouton intitulé my_btn sur la scène et entrez le code ActionScript suivant dans une image du scénario : my_btn.onDragOut = function() { trace("onDragOut: "+this._name); }; my_btn.onDragOver = function() { trace("onDragOver: "+this._name); }; onDragOver (gestionnaire Button.onDragOver) onDragOver = function() {} Invoqué lorsque l'utilisateur appuie sur le bouton de la souris, le fait glisser hors du bouton, puis sur le bouton. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 380 Classes ActionScript Exemple L'exemple suivant définit une fonction pour le gestionnaire onDragOver qui envoie une instruction trace() au panneau Sortie. Créez un bouton intitulé my_btn sur la scène et entrez le code ActionScript suivant sur le scénario : my_btn.onDragOut = function() { trace("onDragOut: "+this._name); }; my_btn.onDragOver = function() { trace("onDragOver: "+this._name); }; Lorsque vous testez le fichier SWF, éloignez le pointeur de l'occurrence de bouton en le faisant glisser. Ensuite, tout en maintenant le bouton de la souris enfoncé, faites-le glisser vers l'occurrence de bouton à nouveau. Vous pouvez constater que le panneau de sortie suit vos mouvements. Voir aussi onDragOut (gestionnaire Button.onDragOut) onKeyDown (gestionnaire Button.onKeyDown) onKeyDown = function() {} Invoqué lorsqu'un bouton reçoit le focus clavier et lorsque l'utilisateur appuie sur une touche. Le gestionnaire d'événements onKeyDown est appelé sans paramètre. Vous pouvez utiliser les méthodes Key.getAscii() et Key.getCode() afin d'identifier la touche sur laquelle l'utilisateur a appuyé. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction qui envoie du texte vers le panneau Sortie est définie pour le gestionnaire onKeyDown. Créez un bouton intitulé my_btn sur la scène et entrez le code ActionScript suivant dans une image du scénario : my_btn.onKeyDown = function() { trace("onKeyDown: "+this._name+" (Key: "+getKeyPressed()+")"); }; function getKeyPressed():String { var theKey:String; switch (Key.getAscii()) { case Key.BACKSPACE : theKey = "BACKSPACE"; break; Button 381 case Key.SPACE : theKey = "SPACE"; break; default : theKey = chr(Key.getAscii()); } return theKey; } Pointez sur Contrôle > Tester l'animation pour tester le fichier SWF. Assurez-vous de sélectionner Contrôle > Désactivez les raccourcis clavier dans l'environnement de test. Ensuite, appuyez sur la touche de tabulation jusqu'à ce que le bouton ait le focus (un rectangle jaune entoure l'occurrence my_btn) et commencez à appuyer sur les touches de votre clavier. Lorsque vous appuyez sur les touches, elles s'affichent dans le panneau de sortie. Voir aussi onKeyUp (gestionnaire Button.onKeyUp), getAscii (méthode Key.getAscii), getCode (méthode Key.getCode) onKeyUp (gestionnaire Button.onKeyUp) onKeyUp = function() {} Invoqué lorsqu'un bouton reçoit le focus d'entrée et lorsque l'utilisateur relâche une touche. Le gestionnaire d'événements onKeyUp est appelé sans paramètre. Vous pouvez utiliser les méthodes Key.getAscii() et Key.getCode() afin d'identifier la touche sur laquelle l'utilisateur a appuyé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction qui envoie du texte vers le panneau Sortie est définie pour le gestionnaire onKeyDown handler. Créez un bouton intitulé my_btn sur la scène et entrez le code ActionScript suivant dans une image du scénario : my_btn.onKeyDown = function() { trace("onKeyDown: "+this._name+" (Key: "+getKeyPressed()+")"); }; my_btn.onKeyUp = function() { trace("onKeyUp: "+this._name+" (Key: "+getKeyPressed()+")"); }; function getKeyPressed():String { var theKey:String; switch (Key.getAscii()) { case Key.BACKSPACE : theKey = "BACKSPACE"; 382 Classes ActionScript break; case Key.SPACE : theKey = "SPACE"; break; default : theKey = chr(Key.getAscii()); } return theKey; } Appuyez sur Ctrl+Entrée pour tester le fichier SWF. Assurez-vous de sélectionner Contrôle > Désactivez les raccourcis clavier dans l'environnement de test. Ensuite, appuyez sur la touche de tabulation jusqu'à ce que le bouton ait le focus (un rectangle jaune entoure l'occurrence my_btn) et commencez à appuyer sur les touches de votre clavier. Lorsque vous appuyez sur les touches, elles s'affichent dans le panneau de sortie. Voir aussi onKeyDown (gestionnaire Button.onKeyDown), getAscii (méthode Key.getAscii), getCode (méthode Key.getCode) onKillFocus (gestionnaire Button.onKillFocus) onKillFocus = function(newFocus: Object) {} Invoqué lorsqu'un bouton perd le focus clavier. La gestionnaire onKillFocus reçoit un paramètre, newFocus : il s'agit d'un objet représentant le nouvel objet recevant le focus. Si aucun objet ne reçoit le focus, newFocus contient la valeur null. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres newFocus: Object - Objet recevant le focus. Exemple L'exemple suivant démontre comment exécuter des instructions lorsqu'un bouton perd le focus. Créez une occurrence de bouton intitulée my_btn sur la scène et ajoutez le code ActionScript suivant à l'image 1 du scénario : this.createTextField("output_txt", this.getNextHighestDepth(), 0, 0, 300, 200); output_txt.wordWrap = true; output_txt.multiline = true; output_txt.border = true; my_btn.onKillFocus = function() { output_txt.text = "onKillFocus: "+this._name+newline+output_txt.text; }; Button 383 Testez le fichier SWF dans une fenêtre de navigateur et essayez d'utiliser la touche Tab pour faire défiler les éléments dans la fenêtre. Lorsque l'occurrence de bouton perd le focus, le texte est envoyé vers le champ texte output_txt. La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple requiert Flash Player 7 ou version ultérieure. Si votre fichier SWF comprend un composant de version 2, utilisez la classe DepthManager avec composants version 2 plutôt que la méthode MovieClip.getNextHighestDepth() onPress (gestionnaire Button.onPress) onPress = function() {} Invoqué lorsqu'un bouton est enfoncé. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau Sortie est définie pour le gestionnaire onPress : my_btn.onPress = function () { trace ("onPress called"); }; onRelease (gestionnaire Button.onRelease) onRelease = function() {} Invoqué lorsqu'un bouton est relâché. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau Sortie est définie pour le gestionnaire onRelease : my_btn.onRelease = function(){ trace ("onRelease called"); }; 384 Classes ActionScript onReleaseOutside (gestionnaire Button.onReleaseOutside) onReleaseOutside = function() {} Invoqué lorsque l'utilisateur relâche la souris tandis que le pointeur se trouve hors du bouton après avoir appuyé sur celui-ci lorsque le pointeur se trouvait à l'intérieur du bouton. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau Sortie est définie pour le gestionnaire onReleaseOutside : my_btn.onReleaseOutside = function () { trace ("onReleaseOutside called"); }; onRollOut (gestionnaire Button.onRollOut) onRollOut = function() {} Invoqué lorsque le pointeur se déplace hors d'une zone du bouton. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau Sortie est définie pour le gestionnaire onRollOut : my_btn.onRollOut = function () { trace ("onRollOut called"); }; onRollOver (gestionnaire Button.onRollOver) onRollOver = function() {} Invoqué lorsque le pointeur se déplace sur une zone du bouton. Vous devez définir une fonction qui s'exécute lorsque le gestionnaire d'événements est appelé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Button 385 Exemple Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau Sortie est définie pour le gestionnaire onRollOver : my_btn.onRollOver = function () { trace ("onRollOver called"); }; onSetFocus (gestionnaire Button.onSetFocus) onSetFocus = function(oldFocus: Object) {} Invoqué lorsqu'un bouton reçoit le focus clavier. Le paramètre oldFocus est l'objet qui perd le focus. Par exemple, si l'utilisateur appuie sur la touche de tabulation pour déplacer le focus d'entrée d'un champ de texte vers un bouton, le paramètre oldFocus contient l'occurrence de champ de texte. Si aucun objet n'avait précédemment reçu le focus, le paramètre oldFocus contient une valeur null. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres oldFocus: Object - Objet perdant le focus du clavier. Exemple L'exemple suivant démontre comment vous pouvez exécuter des instructions lorsque l'utilisateur d'un fichier SWF déplace le focus d'un bouton vers un autre. Créez deux boutons, btn1_btn et btn2_btn, puis entrez le code ActionScript suivant dans l'image 1 du scénario : Selection.setFocus(btn1_btn); trace(Selection.getFocus()); btn2_btn.onSetFocus = function(oldFocus) { trace(oldFocus._name + "lost focus"); }; Testez le fichier SWF en appuyant sur Ctrl+Entrée. Assurez-vous de sélectionner Contrôle > Désactivez les raccourcis clavier si vous ne l'avez pas déjà fait. Le focus est défini sur btn1_btn. Lorsque btn1_btn perd le focus au détriment de btn2_btn, les informations s'affichent dans le panneau Sortie. 386 Classes ActionScript _parent (propriété Button._parent) public _parent : MovieClip Référence au clip ou à l'objet contenant le clip ou l'objet actuel. L'objet actuel est l'objet qui contient le code ActionScript faisant référence à _parent. Utilisez _parent pour spécifier un chemin relatif vers les clips ou les objets situés au-dessus du clip ou de l'objet actuel. Vous pouvez utiliser _parent pour remonter de plusieurs niveaux dans l'arborescence de la liste d'affichage, comme dans l'exemple suivant : this._parent._parent._alpha = 20; Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, un bouton intitulé my_btn est placé dans un clip intitulé my_mc. Le code suivant montre comment utiliser la propriété _parent pour obtenir une référence au clip my_mc : trace(my_mc.my_btn._parent); Le panneau de sortie affiche le code suivant : _level0.my_mc Voir aussi _parent (propriété MovieClip._parent), _target (propriété MovieClip._target), _root, propriété _quality (propriété Button._quality) public _quality : String Propriété (globale) ; définit ou récupère la qualité de rendu utilisée pour un fichier SWF. Les polices de périphérique sont toujours aliasées, ce qui implique qu'elles ne sont pas affectées par la propriété _quality. La propriété _quality peut être définie sur les valeurs suivantes : ■ LOW Qualité de rendu inférieure. Les images ne sont pas anti-aliasées et les bitmaps ne sont pas lissés. ■ Qualité de rendu moyenne. Les images sont anti-aliasées selon une grille de 2 x 2 pixels, mais les bitmaps ne sont pas lissés. Ce niveau de qualité convient aux animations qui ne contiennent pas de texte. MEDIUM Button 387 ■ ■ HIGH Qualité de rendu supérieure. Les images sont anti-aliasées en appliquant une grille de 4 x 4 pixels et les bitmaps sont lissés lorsque l'animation est statique. Il s'agit du paramètre de qualité de rendu par défaut de Flash. BEST Très haute qualité de rendu. Les graphiques sont anti-aliasés selon une grille de 4 x 4 pixels et les bitmaps sont toujours lissés. Remarque : Bien que vous puissiez spécifier cette propriété pour un objet Button, il s'agit en fait d'une propriété globale : il vous suffit donc de définir sa valeur sur _quality. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple définit la qualité de rendu d'un bouton intitulé my_btn sur LOW : my_btn._quality = "LOW"; _rotation (propriété Button._rotation) public _rotation : Number La rotation du bouton, en degrés, à partir de son orientation d'origine. Les valeurs comprises entre 0 et 180 représentent la rotation en sens horaire ; les valeurs comprises entre 0 et -180 représentent la rotation en sens anti-horaire. Les valeurs hors de cette plage sont ajoutées ou soustraites de 360 pour obtenir une valeur comprise dans la plage. Par exemple, l'instruction my_btn._rotation = 450 est identique à my_btn._rotation = 90. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant fait pivoter deux boutons sur la scène. Créez deux boutons intitulés control_btn et my_btn sur la scène. Assurez-vous que my_btn n'est pas parfaitement arrondi afin que vous puissiez le voir pivoter. Entrez ensuite le code ActionScript suivant dans l'image 1 du scénario : var control_btn:Button; var my_btn:Button; control_btn.onRelease = function() { my_btn._rotation += 10; }; Créez maintenant un autre bouton intitulé myOther_btn sur la scène, en veillant à ce qu'il ne soit pas parfaitement arrondi (afin que vous puissiez le voir pivoter). Entrez le code ActionScript suivant dans l'image 1 du scénario. var myOther_btn:Button; this.createEmptyMovieClip("rotater_mc", this.getNextHighestDepth()); rotater_mc.onEnterFrame = function() { 388 Classes ActionScript myOther_btn._rotation += 2; }; La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple requiert Flash Player 7 ou version ultérieure. Si votre fichier SWF comprend un composant de version 2, utilisez la classe DepthManager avec composants version 2 plutôt que la méthode MovieClip.getNextHighestDepth() Voir aussi _rotation (propriété MovieClip._rotation), _rotation (propriété TextField._rotation) scale9Grid (propriété Button.scale9Grid) public scale9Grid : Rectangle La zone rectangulaire qui définit les neuf zones de redimensionnement du bouton. Si la valeur est définie sur null, le bouton tout entier est alors dimensionné normalement lorsqu'une transformation par redimensionnement est appliquée. Lorsque vous définissez une propriété scale9Grid pour un bouton, le bouton est divisé dans une grille comportant neuf zones, en fonction du rectangle scale9Grid, qui définit le centre de la grille. La grille est constituée des huit autres zones suivantes : ■ La zone située dans le coin supérieur gauche, en dehors du rectangle. ■ la zone située au-dessus du rectangle, ■ La zone située dans le coin supérieur droit, en dehors du rectangle. ■ La zone située à gauche du rectangle ■ La zone située à droite du rectangle ■ La zone située dans le coin inférieur gauche, en dehors du rectangle. ■ La zone située en dessous du rectangle ■ La zone située dans le coin inférieur droit, en dehors du rectangle. Les huit zones entourant la partie centrale (définie par le rectangle) peuvent être conçues comme un cadre qui bénéficie de règles spécifiques de redimensionnement. Lorsque la propriété scale9Grid est définie et qu'un bouton est redimensionné, la totalité du texte et les dégradés sont dimensionnés normalement ; toutefois, les règles suivantes s'appliquent pour les autres types d'objets : ■ Le contenu de la zone centrale est redimensionné normalement. ■ Le contenu apparaissant dans les coins n'est pas redimensionné. Button 389 ■ Le contenu apparaissant dans les zones supérieures et inférieures est redimensionné horizontalement uniquement. Le contenu apparaissant dans les zones de gauche et de droite est redimensionné verticalement uniquement. Si vous faites pivoter un bouton, tout redimensionnement effectué ultérieurement est normal et la propriété scale9Grid est ignorée. L'un des modes d'utilisation de la propriété scale9Grid le plus répandu consiste à configurer un bouton dont les contours conservent la même largeur lorsque celui-ci est redimensionné. Vous obtiendrez davantage d'informations, y compris des illustrations et un exemple s'y rapportant en consultant MovieClip.scale9Grid. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi Rectangle (flash.geom.Rectangle), scale9Grid (propriété MovieClip.scale9Grid) _soundbuftime (propriété Button._soundbuftime) public _soundbuftime : Number Propriété qui spécifie le nombre de secondes pendant lequel les sons sont chargés en mémoire tampon avant d'être diffusés en continu. Remarque :Bien que vous puissiez spécifier cette propriété pour un objet Button, il s'agit en fait d'une propriété globale qui s'applique à tous les sons chargés : il vous suffit donc de définir sa valeur sur _soundbuftime. La définition de cette propriété pour un objet Button permet de définir la propriété globale. Pour plus d'informations et un exemple, consultez la propriété globale _soundbuftime. Disponibilité : ActionScript 1.0 ; Flash Player 6 Voir aussi _soundbuftime, propriété 390 Classes ActionScript tabEnabled (propriété Button.tabEnabled) public tabEnabled : Boolean Spécifie si my_btn est inclus dans l'ordre de tabulation automatique. La valeur par défaut est undefined. Si la propriété tabEnabled est définie sur undefined ou true, l'objet est inclus dans l'ordre de tabulation automatique. Si la propriété tabIndex est également définie sur une valeur, l'objet est également inclus dans l'ordre de tabulation personnalisé. Si la propriété tabEnabled est définie sur false, l'objet n'est pas inclus dans l'ordre de tabulation automatique ou personnalisé, même si la propriété tabIndex est définie. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Le code ActionScript suivant est utilisé pour définir la propriété tabEnabled sur false pour l'un des quatre boutons. Cependant, les quatre boutons (one_btn, two_btn, three_btn, et four_btn) sont placés dans un ordre de tabulation personnalisé à l'aide de tabIndex. Bien que la propriété tabIndex soit définie pour le bouton three_btn, ce dernier n'est pas inclus dans un ordre de tabulation personnalisé ou automatique car la propriété tabEnabled est définie sur false pour cette occurrence. Pour définir l'ordre de tabulation des quatre boutons, ajoutez le code ActionScript suivant à l'image 1 du scénario : three_btn.tabEnabled = false; two_btn.tabIndex = 1; four_btn.tabIndex = 2; three_btn.tabIndex = 3; one_btn.tabIndex = 4; Veillez à désactiver les raccourcis clavier lorsque vous testez le fichier SWF. Pour ce faire, il vous suffit de pointer sur Contrôle > Désactiver les raccourcis clavier dans l'environnement de test. Voir aussi tabIndex (propriété Button.tabIndex), tabEnabled (propriété MovieClip.tabEnabled), tabEnabled (propriété TextField.tabEnabled) tabIndex (propriété Button.tabIndex) public tabIndex : Number Permet de personnaliser l'ordre de tabulation des objets dans un fichier SWF. Vous pouvez définir la propriété tabIndex sur un bouton, un clip ou une occurrence de champ texte ; sa valeur par défaut est undefined. Button 391 Si un objet actuellement affiché dans le fichier SWF contient une propriété tabIndex, l'ordre de tabulation automatique est désactivé : l'ordre de tabulation est alors calculé à partir des propriétés tabIndex des objets contenus dans le fichier SWF. L'ordre de tabulation personnalisé inclut uniquement des objets dotés de propriétés tabIndex. La propriété tabIndex peut être un entier non négatif. Les objets sont triés selon leurs propriétés tabIndex, par ordre croissant. Un objet possédant une valeur tabIndex de 1 précède un objet ayant une valeur tabIndex de 2. Si deux objets ont la même valeur tabIndex, celui qui précède l'autre dans l'ordre de tabulation est undefined (non défini). L'ordre de tabulation personnalisé défini par la propriété tabIndex est plat. Cela signifie qu'on ne prête aucune attention aux relations hiérarchiques des objets contenus dans le fichier SWF. Tous les objets du fichier SWF dotés de propriétés tabIndex sont placés dans l'ordre de tabulation, qui est déterminé par l'ordre des valeurs tabIndex. Si deux objets ont la même valeur tabIndex, celui qui apparaît en premier est undefined(non défini). Il est recommandé de ne pas affecter la même valeur tabIndex à plusieurs objets. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Le code ActionScript suivant est utilisé pour définir la propriété tabEnabled sur false pour l'un des quatre boutons. Cependant, les quatre boutons (one_btn, two_btn, three_btn, et four_btn) sont placés dans un ordre de tabulation personnalisé à l'aide de tabIndex. Bien que la propriété tabIndex soit définie pour le bouton three_btn, ce dernier n'est pas inclus dans un ordre de tabulation personnalisé ou automatique car la propriété tabEnabled est définie sur false pour cette occurrence. Pour définir l'ordre de tabulation des quatre boutons, ajoutez le code ActionScript suivant à l'image 1 du scénario : three_btn.tabEnabled = false; two_btn.tabIndex = 1; four_btn.tabIndex = 2; three_btn.tabIndex = 3; one_btn.tabIndex = 4; Veillez à désactiver les raccourcis clavier lorsque vous testez le fichier SWF. Pour ce faire, il vous suffit de pointer sur Contrôle > Désactiver les raccourcis clavier dans l'environnement de test. Voir aussi tabEnabled (propriété Button.tabEnabled), tabChildren (propriété MovieClip.tabChildren), tabEnabled (propriété MovieClip.tabEnabled), tabIndex (propriété MovieClip.tabIndex), tabIndex (propriété TextField.tabIndex) 392 Classes ActionScript _target (propriété Button._target) public _target : String [read-only] Renvoie le chemin cible de l'occurrence de bouton spécifiée par my_btn. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Ajoutez une occurrence de bouton intitulée my_btn sur la scène, puis ajoutez le code suivant à l'image 1 du scénario : trace(my_btn._target); // Affiche /my_btn Sélectionnez my_btn et convertissez-le en clip. Attribuez au nouveau clip un nom d'occurrence my_mc. Supprimez le code ActionScript existant dans l'image 1 du scénario et remplacez-le par le code suivant : my_mc.my_btn.onRelease = function(){ trace(this._target); // Affiche /my_mc/my_btn }; Pour convertir la notation avec barre oblique en notation avec point, modifiez l'exemple de code précédent comme suit : my_mc.my_btn.onRelease = function(){ trace(eval(this._target)); //Affiche _level0.my_mc.my_btn }; Ceci vous permet d'accéder aux méthodes et paramètres de l'objet cible, tels que : my_mc.my_btn.onRelease = function(){ var target_btn:Button = eval(this._target); trace(target_btn._name); // Affiche my_btn }; Voir aussi _target (propriété MovieClip._target) trackAsMenu (propriété Button.trackAsMenu) public trackAsMenu : Boolean Valeur booléenne indiquant si d'autres boutons ou clips peuvent recevoir des événements de relâchement de souris. Si vous faites glisser un bouton, puis relâchez un deuxième bouton, l'événement onRelease est enregistré pour le deuxième bouton. Cette opération vous permet de créer des menus. Vous pouvez définir la propriété trackAsMenu sur n'importe quel bouton ou objet de clip. Si la propriété trackAsMenu n'a pas été définie, la valeur du comportement par défaut est false. Button 393 Vous pouvez modifier la propriété trackAsMenu à tout moment ; le bouton modifié accepte immédiatement le nouveau comportement. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant démontre comment identifier deux boutons en tant que menu. Placez deux occurrences de bouton intitulées one_btn et two_btn sur la scène. Entrez le code ActionScript suivant dans le scénario : var one_btn:Button; var two_btn:Button; one_btn.trackAsMenu = true; two_btn.trackAsMenu = true one_btn.onRelease = function() { trace("clicked one_btn"); }; two_btn.onRelease = function() { trace("clicked two_btn"); }; Testez le fichier SWF. Pour ce faire, il vous suffit de cliquer sur one_btn dans la scène, en maintenant le bouton de la souris enfoncé, puis de le relâcher sur two_btn. Essayez ensuite de commenter les deux lignes du code ActionScript contenant trackAsMenu et testez à nouveau le fichier SWF pour voir la différence de comportement du bouton. Voir aussi trackAsMenu (propriété MovieClip.trackAsMenu) _url (propriété Button._url) public _url : String [read-only] Récupère l'URL du fichier SWF qui a créé le bouton. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Créez deux occurrences de bouton intitulées one_btn et two_btn sur la scène. Entrez le code ActionScript suivant dans l'image 1 du scénario : var one_btn:Button; var two_btn:Button; this.createTextField("output_txt", 999, 0, 0, 100, 22); output_txt.autoSize = true; one_btn.onRelease = function() { trace("clicked one_btn"); 394 Classes ActionScript trace(this._url); }; two_btn.onRelease = function() { trace("clicked "+this._name); var url_array:Array = this._url.split("/"); var my_str:String = String(url_array.pop()); output_txt.text = unescape(my_str); }; Lorsque vous cliquez sur chaque bouton, le nom du fichier SWF contenant les boutons s'affiche dans le panneau de sortie. useHandCursor (propriété Button.useHandCursor) public useHandCursor : Boolean Valeur booléenne qui, lorsqu'elle est définie sur true (par défaut), indique si un curseur en forme de main s'affiche lorsque la souris survole un bouton. Si cette propriété est définie sur false, le pointeur flèche est utilisé. Vous pouvez modifier la propriété useHandCursor à tout moment ; le bouton modifié accepte immédiatement le nouveau comportement du curseur. La propriété useHandCursor peut être extraite d'un objet prototype. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Créez deux boutons portant les noms d'occurrence myBtn1_btn et myBtn2_btn sur la scène. Entrez le code ActionScript suivant dans l'image 1 du scénario : myBtn1_btn.useHandCursor = false; myBtn1_btn.onRelease = buttonClick; myBtn2_btn.onRelease = buttonClick; function buttonClick() { trace(this._name); } Lorsque le curseur de la souris survole myBtn1_btn et clique sur celui-ci, aucun curseur en forme de main n'apparaît. En revanche, le curseur en forme de main apparaît lorsque le bouton survole myBtn2_btn et clique sur celui-ci. Button 395 _visible (propriété Button._visible) public _visible : Boolean Une valeur booléenne indiquant si le bouton spécifié par my_btn est visible. Les boutons qui ne sont pas visibles (propriété _visible définie sur false) sont désactivés. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Créez deux boutons portant les noms d'occurrence myBtn1_btn et myBtn2_btn sur la scène. Entrez le code ActionScript suivant dans l'image 1 du scénario : myBtn1_btn.onRelease = function() { this._visible = false; trace("clicked "+this._name); }; myBtn2_btn.onRelease = function() { this._alpha = 0; trace("clicked "+this._name); }; Vous remarquez que vous pouvez toujours cliquer sur myBtn2_btn lorsque la valeur alpha est définie sur 0. Voir aussi _visible (propriété MovieClip._visible), _visible (propriété TextField._visible) _width (propriété Button._width) public _width : Number La largeur du bouton, en pixels. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant augmente la valeur de la propriété width d'un bouton intitulé my_btn et affiche la largeur dans le panneau Sortie. Entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn.onRelease = function(){ trace(this._width); this._width *= 1.1; }; 396 Classes ActionScript Voir aussi _width (propriété MovieClip._width) _x (propriété Button._x) public _x : Number Un entier qui définit la coordonnée x d'un bouton par rapport aux coordonnées locales du clip parent. Si un bouton se trouve sur le scénario principal, son système de coordonnées se réfère alors au coin supérieur gauche de la scène : (0, 0). Si le bouton est imbriqué dans un clip subissant des transformations, le bouton se trouve dans le système de coordonnées local du clip qui l'encadre. Ainsi, dans le cas d'un clip qui a effectué une rotation à 90 degrés en sens anti-horaire, le bouton imbriqué hérite d'un système de coordonnées ayant effectué une rotation à 90 degrés en sens anti-horaire. Les coordonnées du bouton renvoient à la position du point d'alignement. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit les coordonnées de my_btn sur 0 sur la scène. Créez un bouton intitulé my_btn et entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn._x = 0; my_btn._y = 0; Voir aussi _xscale (propriété Button._xscale), _y (propriété Button._y), _yscale (propriété Button._yscale) _xmouse (propriété Button._xmouse) public _xmouse : Number [lecture seule] Renvoie la coordonnée x de la position de la souris par rapport au bouton. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant affiche la position xmouse pour la scène et un bouton intitulé my_btn placé sur celle-ci. Entrez le code ActionScript suivant dans l'image 1 du scénario : this.createTextField("mouse_txt", 999, 5, 5, 150, 40); mouse_txt.html = true; mouse_txt.wordWrap = true; mouse_txt.border = true; Button 397 mouse_txt.autoSize = true; mouse_txt.selectable = false; // var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() { var table_str:String = "<textformat tabstops='[50,100]'>"; table_str += "<b>Stage</b>\t"+"x:"+_xmouse+"\t"+"y:"+_ymouse+newline; table_str += "<b>Button</ b>\t"+"x:"+my_btn._xmouse+"\t"+"y:"+my_btn._ymouse+newline; table_str += "</textformat>"; mouse_txt.htmlText = table_str; }; Mouse.addListener(mouseListener); Voir aussi _ymouse (propriété Button._ymouse) _xscale (propriété Button._xscale) public _xscale : Number Le redimensionnement horizontal du bouton tel qu'il est appliqué à partir du point d'alignement du bouton, exprimé en pourcentage. Le point d'alignement par défaut est (0,0). Le redimensionnement du système de coordonnées local affecte les paramètres des propriétés _x et _y, définis en pixels. Par exemple, si le clip parent est redimensionné à 50 %, le paramétrage de la propriété _x déplace un objet sur le bouton selon un nombre de pixels réduit de moitié par rapport à celui qui serait appliqué si le fichier SWF était défini sur 100 %. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant redemandions un bouton intitulé m_btn. Lorsque vous cliquez sur le bouton et le relâchez, sa taille augmente de 10 % sur l'axe x et y. Entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn.onRelease = function(){ this._xscale *= 1.1; this._yscale *= 1.1; }; Voir aussi _x (propriété Button._x), _y (propriété Button._y), _yscale (propriété Button._yscale) 398 Classes ActionScript _y (propriété Button._y) public _y : Number La coordonnée y du bouton par rapport aux coordonnées locales du clip parent. Si un bouton se trouve dans le scénario principal, son système de coordonnées se réfère au coin supérieur gauche de la scène : (0, 0). Si le bouton est imbriqué dans un autre clip subissant des transformations, le bouton se trouve dans le système de coordonnées local du clip qui l'encadre. Ainsi, dans le cas d'un clip qui a effectué une rotation à 90 degrés en sens antihoraire, le bouton imbriqué hérite d'un système de coordonnées ayant effectué une rotation à 90 degrés en sens anti-horaire. Les coordonnées du bouton renvoient à la position du point d'alignement. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant définit les coordonnées de my_btn sur 0 sur la scène. Créez un bouton intitulé my_btn et entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn._x = 0; my_btn._y = 0; Voir aussi _x (propriété Button._x), _xscale (propriété Button._xscale), _yscale (propriété Button._yscale) _ymouse (propriété Button._ymouse) public _ymouse : Number [lecture seule] Indique la coordonnée y de la position de la souris par rapport au bouton. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant affiche la position ymouse pour la scène et un bouton intitulé my_btn placé sur celle-ci. Entrez le code ActionScript suivant dans l'image 1 du scénario : this.createTextField("mouse_txt", 999, 5, 5, 150, 40); mouse_txt.html = true; mouse_txt.wordWrap = true; mouse_txt.border = true; mouse_txt.autoSize = true; mouse_txt.selectable = false; // var mouseListener:Object = new Object(); Button 399 mouseListener.onMouseMove = function() { var table_str:String = "<textformat tabstops='[50,100]'>"; table_str += "<b>Stage</b>\t"+"x:"+_xmouse+"\t"+"y:"+_ymouse+newline; table_str += "<b>Button</ b>\t"+"x:"+my_btn._xmouse+"\t"+"y:"+my_btn._ymouse+newline; table_str += "</textformat>"; mouse_txt.htmlText = table_str; }; Mouse.addListener(mouseListener); Voir aussi _xmouse (propriété Button._xmouse) _yscale (propriété Button._yscale) public _yscale : Number Le redimensionnement vertical du bouton tel qu'il est appliqué à partir du point d'alignement du bouton, exprimé en pourcentage. Le point d'alignement par défaut est (0,0). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant redimensionne un bouton intitulé my_btn. Lorsque vous cliquez sur le bouton et le relâchez, sa taille augmente de 10 % sur l'axe x et y. Entrez le code ActionScript suivant dans l'image 1 du scénario : my_btn.onRelease = function(){ this._xscale *= 1.1; this._yscale *= 1.1; }; Voir aussi _y (propriété Button._y), _x (propriété Button._x), _xscale (propriété Button._xscale) 400 Classes ActionScript Camera Object | +-Camera public class Camera extends Object La classe Camera s'utilise principalement avec Flash Media Server, mais vous pouvez vous en servir, sous certaines conditions, sans le serveur. La classe Camera vous permet de capturer de la vidéo à partir d'une caméra vidéo reliée à l'ordinateur qui exécute Flash Player, par exemple, pour surveiller une vidéo à partir d'une caméra Web reliée à votre système local. (Flash est doté de fonctionnalités audio similaires ; pour plus d'informations, consultez l'entrée de la classe Microphone.) Avertissement :Lorsqu'un fichier SWF tente d'accéder à la caméra renvoyée par Camera.get(), Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès à la caméra. (Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels pour les exemples de la classe Camera ; il s'agit de la taille minimale requise par Flash pour afficher la boîte de dialogue.) Les utilisateurs finaux et administratifs peuvent également désactiver l'accès à la caméra emplacement par emplacement ou de manière globale. Pour créer ou référencer un objet Camera, utilisez la méthode Camera.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Résumé des propriétés Modificateurs Propriété activityLevel: Number [lecture seule] bandwidth: Number [lecture seule] currentFps: Number [lecture seule] fps: Number [lecture Description Une valeur numérique spécifiant la quantité de mouvement détectée par la caméra. Un entier spécifiant la quantité maximale de bande passante pouvant être utilisée par la vidéo sortante actuelle, en octets. Cadence à laquelle la caméra capture des données, en images par seconde. seule] Cadence maximale à laquelle vous voulez que la caméra capture des données, en images par seconde. height: Number La hauteur de capture actuelle, en pixels. [lecture seule] Camera 401 Modificateurs Propriété Description index: Number [lecture Entier de base zéro spécifiant l'indice de la seule] caméra, tel qu'indiqué dans le tableau renvoyé par Camera.names. motionLevel: Number Valeur numérique spécifiant l'intensité de mouvement requise pour appeler Camera.onActivity(true). [lecture seule] motionTimeOut: Number [lecture seule] muted: Boolean [lecture seule] name: String [lecture seule] static names: Array [lecture seule] quality: Number [lecture seule] Nombre de millisecondes entre le moment où la caméra arrête la détection du mouvement et le moment où Camera.onActivity (false) est appelé. Valeur booléenne spécifiant si l'utilisateur a refusé l'accès à la caméra (true) ou autorisé l'accès (false) dans le panneau Paramètres de contrôle de Flash Player. Chaîne spécifiant le nom de la caméra actuelle, tel que renvoyé par le matériel. Récupère un tableau de chaînes reflétant les noms de toutes les caméras disponibles sans afficher le panneau Paramètres de contrôle de Flash Player. Entier spécifiant le niveau de qualité d'image requis, tel que déterminé par le taux de compression appliqué à chaque image vidéo. width: Number [lecture La largeur de capture actuelle, en pixels. seule] Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 402 Classes ActionScript Résumé des événements Evénement Description onActivity = Gestionnaire d'événements : invoqué lorsque la caméra commence ou arrête la détection du mouvement. function(active: Boolean) {} onStatus = Gestionnaire d'événements : invoqué lorsque l'utilisateur autorise ou function(infoObject refuse l'accès à la caméra. : Object) {} Résumé de la méthode Modificateurs Signature Description static Renvoie une référence à un objet Camera pour capturer de la vidéo. get([index: Number]) : Camera setMode([width: Number], [height: Définit le mode de capture de la caméra sur le mode natif qui remplit le mieux les conditions requises. Number], [fps: Number], [favorArea: Boolean]) : Void setMotionLevel([mot Spécifie la quantité de mouvement requise pour ionLevel: Number], appeler Camera.onActivity(true). [timeOut: Number]) : Void setQuality([bandwid Définit le montant maximum de bande passante par th: Number], [quality: Number]) seconde ou la qualité d'image requise des données vidéo sortantes actuelles. : Void Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) Camera 403 activityLevel (propriété Camera.activityLevel) public activityLevel : Number [lecture seule] Une valeur numérique spécifiant la quantité de mouvement détectée par la caméra. Les valeurs sont comprises entre 0 (aucun mouvement n'est détecté) et 100 (une grande intensité de mouvement est détectée). La valeur de cette propriété peut vous aider à déterminer s'il est nécessaire de transmettre un paramètre à Camera.setMotionLevel(). Si la caméra est disponible mais n'est pas encore utilisée car Video.attachVideo() n'a pas été appelé, cette propriété est définie sur -1. Si vous effectuez uniquement l'émission d'une vidéo non compressée en local, cette propriété est définie uniquement si vous avez affecté une fonction au gestionnaire d'événements Camera.onActivity. Dans le cas contraire, elle est non définie. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Cet exemple indique la quantité de mouvement détectée par la caméra à l'aide de la propriété activityLevel et d'une occurrence ProgressBar. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence de composant ProgressBar intitulée activity_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : // occurrence vidéo sur la scène. var my_video:Video; var activity_pb:mx.controls.ProgressBar; var my_cam:Camera = Camera.get(); my_video.attachVideo(my_cam); activity_pb.mode = "manual"; activity_pb.label = "Activity %3%%"; this.onEnterFrame = function() { activity_pb.setProgress(my_cam.activityLevel, 100); }; my_cam.onActivity = function(isActive:Boolean) { var themeColor:String = (isActive) ? "haloGreen" : "haloOrange"; activity_pb.setStyle("themeColor", themeColor); }; Voir aussi motionLevel (propriété Camera.motionLevel), setMotionLevel (méthode Camera.setMotionLevel) 404 Classes ActionScript bandwidth (propriété Camera.bandwidth) public bandwidth : Number [lecture seule] Un entier spécifiant la quantité maximale de bande passante pouvant être utilisée par la vidéo sortante actuelle, en octets. Une valeur de 0 signifie que la vidéo Flash peut utiliser autant de bande passante que nécessaire pour conserver la qualité d'image voulue. Pour configurer cette propriété, appelez Camera.setQuality(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant modifie la quantité maximale de bande passante utilisée par la caméra. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence de composant NumericStepper intitulée bandwidth_nstep à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var bandwidth_nstep:mx.controls.NumericStepper; var my_video:Video; var my_cam:Camera = Camera.get(); my_video.attachVideo(my_cam); this.createTextField("bandwidth_txt", this.getNextHighestDepth(), 0, 0, 100, 22); bandwidth_txt.autoSize = true; this.onEnterFrame = function() { bandwidth_txt.text = "Camera is currently using "+my_cam.bandwidth+" bytes ("+Math.round(my_cam.bandwidth/1024)+" KB) bandwidth."; }; // bandwidth_nstep.minimum = 0; bandwidth_nstep.maximum = 128; bandwidth_nstep.stepSize = 16; bandwidth_nstep.value = my_cam.bandwidth/1024; function changeBandwidth(evt:Object) { my_cam.setQuality(evt.target.value 1024, 0); } bandwidth_nstep.addEventListener("change", changeBandwidth); La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple requiert Flash Player 7 ou version ultérieure. Si votre fichier SWF comprend un composant de version 2, utilisez la classe DepthManager avec composants version 2 plutôt que la méthode MovieClip.getNextHighestDepth() Voir aussi setQuality (méthode Camera.setQuality) Camera 405 currentFps (propriété Camera.currentFps) public currentFps : Number [lecture seule] Cadence à laquelle la caméra capture des données, en images par seconde. Cette propriété ne peut pas être définie ; toutefois, vous pouvez utiliser la méthode Camera.setMode() pour définir une propriété connexe, Camera.fps, spécifiant la cadence maximale à laquelle vous souhaitez que la caméra capture les données. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant détecte la cadence, en images par seconde, à laquelle la caméra capture des données à l'aide de la propriété currentFps et d'une occurrence ProgressBar. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence de composant ProgressBar intitulée fps_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_video:Video; var fps_pb:mx.controls.ProgressBar; var my_cam:Camera = Camera.get(); my_video.attachVideo(my_cam); this.onEnterFrame = function() { fps_pb.setProgress(my_cam.fps-my_cam.currentFps, my_cam.fps); }; fps_pb.setStyle("fontSize", 10); fps_pb.setStyle("themeColor", "haloOrange"); fps_pb.labelPlacement = "top"; fps_pb.mode = "manual"; fps_pb.label = "FPS: %2 (%3%% dropped)"; Voir aussi setMode (méthode Camera.setMode), fps (propriété Camera.fps) 406 Classes ActionScript fps (propriété Camera.fps) public fps : Number [lecture seule] Cadence maximale à laquelle vous voulez que la caméra capture des données, en images par seconde. La cadence maximale possible dépend des fonctionnalités de la caméra : si la caméra ne prend pas en charge la valeur définie ici, cette cadence ne sera pas atteinte. ■ ■ Pour définir une valeur souhaitée pour cette propriété, utilisez Camera.setMode(). Pour déterminer la cadence à laquelle la caméra capture actuellement les données, utilisez la propriété Camera.currentFps. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant détecte la cadence, en images par seconde, à laquelle la caméra capture des données à l'aide de la propriété currentFps et d'une occurrence ProgressBar. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence de composant ProgressBar intitulée fps_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_video:Video; var fps_pb:mx.controls.ProgressBar; var my_cam:Camera = Camera.get(); my_video.attachVideo(my_cam); this.onEnterFrame = function() { fps_pb.setProgress(my_cam.fps-my_cam.currentFps, my_cam.fps); }; fps_pb.setStyle("fontSize", 10); fps_pb.setStyle("themeColor", "haloOrange"); fps_pb.labelPlacement = "top"; fps_pb.mode = "manual"; fps_pb.label = "FPS: %2 (%3%% dropped)"; Remarque :La fonction setMode() ne garantit pas de fournir le paramètre fps requis ; elle définit la propriété fps que vous avez demandée ou la plus rapide parmi celles disponibles. Voir aussi currentFps (propriété Camera.currentFps), setMode (méthode Camera.setMode) Camera 407 get (méthode Camera.get) public static get([index: Number]) : Camera Renvoie une référence à un objet Camera pour capturer de la vidéo. Pour commencer la capture de la vidéo, vous devez relier l'objet Camera à un objet vidéo (consultez Video.attachVideo()). Contrairement aux objets que vous pouvez créer à l'aide du constructeur new, plusieurs appels de Camera.get() font référence à la même caméra. Ainsi, si votre script contient les lignes first_cam = Camera.get() et second_cam = Camera.get(), à la fois first_cam et second_cam font référence à la même caméra (par défaut). En général, évitez de transmettre une valeur pour index ; contentez-vous d'utiliser Camera.get() pour renvoyer une référence à la caméra par défaut. Via le panneau Paramètres de la caméra (comme indiqué plus bas dans cette section), l'utilisateur peut spécifier la caméra que Flash doit utiliser par défaut. Si vous transmettez une valeur pour index, vous pouvez essayer de référencer une caméra autre que celle que l'utilisateur préfère utiliser. Vous pouvez utiliser index en de rares occasions, par exemple si votre application capture de la vidéo à partir de deux caméras simultanément. Lorsqu'un fichier SWF tente d'accéder à la caméra renvoyée par Camera.get(), Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès à la caméra. (Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels ; il s'agit de la taille minimale requise par Flash pour afficher la boîte de dialogue.) Lorsque l'utilisateur répond à cette boîte de dialogue, le gestionnaire d'événements Camera.onStatus renvoie un objet d'informations qui indique la réponse de l'utilisateur. Pour déterminer si l'utilisateur a refusé ou autorisé l'accès à la caméra sans traiter ce gestionnaire d'événements, utilisez la propriété Camera.muted. L'utilisateur peut également spécifier des paramètres de confidentialité permanents pour un domaine spécifique. Pour ce faire, il lui suffit de cliquer avec le bouton droit (Windows) ou d'appuyer sur la touche Contrôle (Macintosh) lors de la lecture d'un fichier SWF, de pointer sur Paramètres, d'ouvrir le panneau Contrôle de l'accès, puis de sélectionner Mémoriser. Vous ne pouvez pas utiliser ActionScript pour définir la valeur Autoriser ou Refuser d'un utilisateur, mais vous pouvez afficher le panneau Confidentialité pour l'utilisateur via System.showSettings(0). Si l'utilisateur sélectionne Mémoriser, Flash Player n'affiche plus la boîte de dialogue Confidentialité pour les fichiers SWF de ce domaine. 408 Classes ActionScript Si Camera.get renvoie la valeur null, cela signifie que la caméra est utilisée par une autre application ou qu'aucune caméra n'est installée sur le système. Pour déterminer si une caméra est installée, utilisez Camera.names.length. Pour afficher le panneau Paramètres de la caméra de Flash Player, qui permet à l'utilisateur de choisir la caméra à référencer par Camera.get(), utilisez System.showSettings(3). L'analyse du matériel des caméras nécessite un certain temps. Lorsque Flash détecte au moins une caméra, le matériel n'est plus analysé pendant la durée de vie de l'occurrence du lecteur. Cependant, si Flash ne détecte pas de caméra, il effectue une analyse à chaque appel de Camera.get. Cela est particulièrement utile si un utilisateur a oublié de connecter la caméra. Si votre fichier SWF contient un bouton Réessayer permettant d'appeler Camera.get, Flash peut rechercher la caméra sans que l'utilisateur ne soit obligé de redémarrer le fichier SWF. Remarque :La syntaxe correcte est Camera.get(). Pour affecter l'objet Camera à une variable, utilisez une syntaxe comme active_cam = Camera.get() : Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres [facultatif ] - Entier de base zéro spécifiant la caméra à sélectionner, comme déterminé dans le tableau renvoyé par la propriété Camera.names. Pour obtenir la caméra par défaut (ce qui est recommandé pour la plupart des applications), omettez ce paramètre. index: Number Valeur renvoyée - Si index n'est pas spécifié, cette méthode renvoie une référence à la caméra par défaut ou, si elle est utilisée par une autre application, à la première caméra disponible. (Si plusieurs caméras sont installées, l'utilisateur peut spécifier la caméra par défaut dans le panneau Paramètres de la caméra de Flash Player.) Si aucune caméra n'est disponible ou installée, la méthode renvoie null. Si index est spécifié, cette méthode renvoie une référence à la caméra demandée ou null si elle n'est pas disponible. Camera Exemple L'exemple suivant vous permet de sélectionner une caméra active à utiliser à partir d'une occurrence ComboBox. La caméra actuellement active s'affiche dans une occurrence du composant Label. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée camera_lbl à la scène, ainsi qu'une occurrence du composant ComboBox intitulée cameras_cb. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; Camera 409 my_video.attachVideo(my_cam); var camera_lbl:mx.controls.Label; var cameras_cb:mx.controls.ComboBox; camera_lbl.text = my_cam.name; cameras_cb.dataProvider = Camera.names; function changeCamera():Void { my_cam = Camera.get(cameras_cb.selectedIndex); my_video.attachVideo(my_cam); camera_lbl.text = my_cam.name; } cameras_cb.addEventListener("change", changeCamera); camera_lbl.setStyle("fontSize", 9); cameras_cb.setStyle("fontSize", 9); Voir aussi index (propriété Camera.index), muted (propriété Camera.muted), names (propriété Camera.names), onStatus (gestionnaire Camera.onStatus), setMode (méthode Camera.setMode), showSettings (méthode System.showSettings), attachVideo (méthode Video.attachVideo) height (propriété Camera.height) public height : Number [lecture seule] La hauteur de capture actuelle, en pixels. Pour définir une valeur souhaitée pour cette propriété, utilisez Camera.setMode(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Le code suivant affiche la largeur, la hauteur et la valeur FPS actuelles d'une occurrence vidéo dans une occurrence du composant Label sur la scène. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée dimensions_lbl à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); var dimensions_lbl:mx.controls.Label; dimensions_lbl.setStyle("fontSize", 9); dimensions_lbl.setStyle("fontWeight", "bold"); dimensions_lbl.setStyle("textAlign", "center"); dimensions_lbl.text = "width: "+my_cam.width+", height: "+my_cam.height+", FPS: "+my_cam.fps; Consultez aussi l'exemple relatif à Camera.setMode(). 410 Classes ActionScript Voir aussi largeur (propriété Camera.width), setMode (méthode Camera.setMode) index (propriété Camera.index) public index : Number [lecture seule] Entier de base zéro spécifiant l'indice de la caméra, tel qu'indiqué dans le tableau renvoyé par Camera.names. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant affiche un tableau de caméras dans un champ de texte créé lors de l'exécution et vous indique quelle caméra vous utilisez actuellement. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée camera_lbl à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var camera_lbl:mx.controls.Label; var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); camera_lbl.text = my_cam.index+". "+my_cam.name; this.createTextField("cameras_txt", this.getNextHighestDepth(), 25, 160, 160, 80); cameras_txt.html = true; cameras_txt.border = true; cameras_txt.wordWrap = true; cameras_txt.multiline = true; for (var i = 0; i<Camera.names.length; i++) { cameras_txt.htmlText += "<li><u><a href=\"asfunction:changeCamera,"+i+"\">"+Camera.names[i]+"</a></u></ li>"; } function changeCamera(index:Number) { my_cam = Camera.get(index); my_video.attachVideo(my_cam); camera_lbl.text = my_cam.index+". "+my_cam.name; } La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple requiert Flash Player 7 ou version ultérieure. Si votre fichier SWF comprend un composant de version 2, utilisez la classe DepthManager avec composants version 2 plutôt que la méthode MovieClip.getNextHighestDepth() Camera 411 Voir aussi names (propriété Camera.names), get (méthode Camera.get) motionLevel (propriété Camera.motionLevel) public motionLevel : Number [lecture seule] Valeur numérique spécifiant l'intensité de mouvement requise pour appeler Camera.onActivity(true). Les valeurs acceptables sont comprises entre 0 et 100. La valeur par défaut est 50. La vidéo peut être affichée quelle que soit la valeur de la propriété motionLevel. Pour plus d'informations, consultez l'entrée Camera.setMotionLevel(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant détecte continuellement le niveau de mouvement d'une caméra. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée motionLevel_lbl, une occurrence du composant NumericStepper intitulée motionLevel_nstep et une occurrence du composant ProgressBar intitulée motion_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); // configurer l'occurrence du composant ProgressBar var motion_pb:mx.controls.ProgressBar; motion_pb.mode = "manual"; motion_pb.label = "Motion: %3%%"; var motionLevel_lbl:mx.controls.Label; // configurer l'occurrence du composant NumericStepper var motionLevel_nstep:mx.controls.NumericStepper; motionLevel_nstep.minimum = 0; motionLevel_nstep.maximum = 100; motionLevel_nstep.stepSize = 5; motionLevel_nstep.value = my_cam.motionLevel; // Mettre à jour en permanence la progression de l'occurrence du composant // ProgressBar avec la propriété activityLevel // de l'occurrence Camera actuelle, qui est définie dans my_cam this.onEnterFrame = function() { motion_pb.setProgress(my_cam.activityLevel, 100); 412 Classes ActionScript }; // Lorsque le niveau d'activité est supérieur ou inférieur au nombre défini // dans Camera.motionLevel, // déclenchez le gestionnaire d'événements onActivity. my_cam.onActivity = function(isActive:Boolean) { // Si isActive est égal à true, définissez la variable themeColor // sur "haloGreen". // Si isActive est égal à true, définissez la variable themeColor // sur "haloGreen". var themeColor:String = (isActive) ? "haloGreen" : "haloOrange"; motion_pb.setStyle("themeColor", themeColor); }; function changeMotionLevel() { // Définissez la propriété motionLevel pour l'occurrence // Camera my_cam sur la valeur de // de l'occurrence du composant NumericStepper. Conserver la // valeur motionTimeOut actuelle de l'occurrence Camera my_cam. my_cam.setMotionLevel(motionLevel_nstep.value, my_cam.motionTimeOut); } motionLevel_nstep.addEventListener("change", changeMotionLevel); Voir aussi onActivity (gestionnaire Camera.onActivity), onStatus (gestionnaire Camera.onStatus), setMotionLevel (méthode Camera.setMotionLevel), activityLevel (propriété Camera.activityLevel) motionTimeOut (propriété Camera.motionTimeOut) public motionTimeOut : Number [lecture seule] Nombre de millisecondes entre le moment où la caméra arrête la détection du mouvement et le moment où Camera.onActivity (false) est appelé. La valeur par défaut est 2 000 (2 secondes). Pour définir cette valeur, utilisez Camera.setMotionLevel(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Camera 413 Exemple Dans l'exemple suivant, l'occurrence ProgressBar change sa couleur de thème Halo lorsque le niveau de l'activité est inférieur au niveau de mouvement. Vous pouvez définir le nombre de secondes pour la propriété motionTimeOut à l'aide d'une occurrence NumericStepper. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée motionLevel_lbl, une occurrence du composant NumericStepper intitulée motionTimeOut_nstep et une occurrence du composant ProgressBar intitulée motion_pb à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var motionLevel_lbl:mx.controls.Label; var motion_pb:mx.controls.ProgressBar; var motionTimeOut_nstep:mx.controls.NumericStepper; var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); this.onEnterFrame = function() { motionLevel_lbl.text = "activityLevel: "+my_cam.activityLevel; }; motion_pb.indeterminate = true; my_cam.onActivity = function(isActive:Boolean) { if (isActive) { motion_pb.setStyle("themeColor", "haloGreen"); motion_pb.label = "Motion is above "+my_cam.motionLevel; } else { motion_pb.setStyle("themeColor", "haloOrange"); motion_pb.label = "Motion is below "+my_cam.motionLevel; } }; function changeMotionTimeOut() { my_cam.setMotionLevel(my_cam.motionLevel, motionTimeOut_nstep.value 1000); } motionTimeOut_nstep.addEventListener("change", changeMotionTimeOut); motionTimeOut_nstep.value = my_cam.motionTimeOut/1000; Voir aussi setMotionLevel (méthode Camera.setMotionLevel), onActivity (gestionnaire Camera.onActivity) 414 Classes ActionScript muted (propriété Camera.muted) public muted : Boolean [lecture seule] Valeur booléenne spécifiant si l'utilisateur a refusé l'accès à la caméra (true) ou autorisé l'accès (false) dans le panneau Paramètres de contrôle de Flash Player. Lorsque cette valeur change, Camera.onStatus est appelé. Pour plus d'informations, consultez l'entrée Camera.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Dans l'exemple suivant, un message d'erreur peut s'afficher si my_cam.muted renvoie true. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); my_cam.onStatus = function(infoObj:Object) { if (my_cam.muted) { // Si l'accès à leur Camera est refusé aux utilisateurs, vous pouvez afficher un message d'erreur ici. Vous pouvez de nouveau afficher les paramètres Camera/Contrôle de l'accès de l'utilisateur à l'aide de System.showSettings(0) ; trace("User denied access to Camera"); System.showSettings(0); } }; Voir aussi get (méthode Camera.get), onStatus (gestionnaire Camera.onStatus) name (propriété Camera.name) public name : String [read-only] Chaîne spécifiant le nom de la caméra actuelle, tel que renvoyé par le matériel. Disponibilité : ActionScript 1.0 ; Flash Player 6 Camera 415 Exemple L'exemple suivant affiche le nom de la caméra par défaut dans un champ de texte. Sous Windows, ce nom est identique à celui du périphérique répertorié dans le panneau de configuration Scanneurs et appareils photo. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); this.createTextField("name_txt", this.getNextHighestDepth(), 0, 0, 100, 22); name_txt.autoSize = true; name_txt.text = my_cam.name; La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple requiert Flash Player 7 ou version ultérieure. Si votre fichier SWF comprend un composant de version 2, utilisez la classe DepthManager avec composants version 2 plutôt que la méthode MovieClip.getNextHighestDepth() Voir aussi get (méthode Camera.get), names (propriété Camera.names) names (propriété Camera.names) public static names : Array [lecture seule] Récupère un tableau de chaînes reflétant les noms de toutes les caméras disponibles sans afficher le panneau Paramètres de contrôle de Flash Player. Ce tableau se comporte de la même manière que tout autre tableau ActionScript, fournissant de façon implicite l'index, commençant à zéro, de chaque caméra et le nombre de caméras présentes sur le système (via Camera.names.length). Pour plus d'informations, consultez l'entrée Camera.names dans la section consacrée à la classe Array. L'appel de la propriété Camera.names nécessite un examen minutieux du matériel et plusieurs secondes peuvent être nécessaires pour créer le tableau. Dans la plupart des cas, vous pouvez utiliser la caméra par défaut. Remarque :La syntaxe correcte est Camera.names. Pour affecter la valeur renvoyée à une variable, utilisez une syntaxe comme cam_array = Camera.names. Pour déterminer le nom de la caméra en cours, utilisez active_cam .name. Disponibilité : ActionScript 1.0 ; Flash Player 6 416 Classes ActionScript Exemple L'exemple suivant utilise la caméra par défaut sauf si plusieurs caméras sont disponibles. Dans ce cas, l'utilisateur peut sélectionner la caméra qu'il souhaite définir par défaut. Si une seule caméra est disponible, alors la caméra par défaut est utilisée. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_video:Video; var cam_array:Array = Camera.names; if (cam_array.length>1) { System.showSettings(3); } var my_cam:Camera = Camera.get(); my_video.attachVideo(my_cam); Voir aussi get (méthode Camera.get), index (propriété Camera.index), name (propriété Camera.name) onActivity (gestionnaire Camera.onActivity) onActivity = function(active: Boolean) {} Gestionnaire d'événements : invoqué lorsque la caméra commence ou arrête la détection du mouvement. Si vous souhaitez répondre à ce gestionnaire d'événements, vous devez créer une fonction pour traiter sa valeur d'activité. Pour spécifier l'intensité de mouvement requise pour appeler Camera.onActivity(true) et la durée qui doit s'écouler sans activité avant d'appeler Camera.on Activity(false), utilisez Camera.setMotionLevel(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres active: Boolean - Valeur booléenne définie sur true quand la caméra commence à détecter du mouvement, sur false quand le mouvement s'arrête. Exemple L'exemple suivant affiche la valeur true ou false dans le panneau de sortie selon que la caméra commence ou cesse la détection du mouvement : // Suppose qu'un objet Video nommé "myVideoObject" se trouve sur la scène active_cam = Camera.get(); myVideoObject.attachVideo(active_cam); Camera 417 active_cam.setMotionLevel(10, 500); active_cam.onActivity = function(mode) { trace(mode); } Voir aussi setMotionLevel (méthode Camera.setMotionLevel) onStatus (gestionnaire Camera.onStatus) onStatus = function(infoObject: Object) {} Gestionnaire d'événements : invoqué lorsque l'utilisateur autorise ou refuse l'accès à la caméra. Si vous souhaitez répondre à ce gestionnaire d'événements, vous devez créer une fonction pour traiter l'objet d'informations généré par la caméra. Lorsqu'un fichier SWF tente d'accéder à la caméra, Flash Player affiche une boîte de dialogue Confidentialité permettant à l'utilisateur d'autoriser ou de refuser l'accès. ■ ■ Si l'utilisateur autorise l'accès, la propriété Camera.muted est définie sur false, et ce gestionnaire est appelé avec un objet d'informations dont la propriété de code est « Camera.Unmuted » et la propriété de niveau « Status ». Si l'utilisateur refuse l'accès, la propriété Camera.muted est définie sur true, et ce gestionnaire est appelé avec un objet d'informations dont la propriété de code est « Camera.Muted » et la propriété de niveau « Status ». Pour déterminer si l'utilisateur a refusé ou autorisé l'accès à la caméra sans traiter ce gestionnaire d'événements, utilisez la propriété Camera.muted. Remarque : Si l'utilisateur choisit d'autoriser ou de refuser définitivement l'accès à tous les fichiers SWF d'un domaine spécifié, ce gestionnaire n'est pas appelé pour les fichiers SWF de ce domaine sauf si l'utilisateur modifie ultérieurement le paramètre de confidentialité. Pour plus d'informations, consultez l'entrée Camera.get(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres infoObject: Object 418 - Paramètre défini selon le message de statut. Classes ActionScript Exemple Le code ActionScript suivant est utilisé pour afficher un message à chaque fois que l'utilisateur autorise ou refuse l'accès à la caméra : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); my_cam.onStatus = function(infoObj:Object) { switch (infoObj.code) { case 'Camera.Muted' : trace("Camera access is denied"); break; case 'Camera.Unmuted' : trace("Camera access granted"); break; } } Voir aussi get (méthode Camera.get), muted (propriété Camera.muted), showSettings (méthode System.showSettings), onStatus (gestionnaire System.onStatus) qualité (propriété Camera.quality) public quality : Number [lecture seule] Entier spécifiant le niveau de qualité d'image requis, tel que déterminé par le taux de compression appliqué à chaque image vidéo. Les valeurs de qualité acceptables sont comprises entre 1 (qualité la plus médiocre, compression maximale) et 100 (qualité optimale, pas de compression). La valeur par défaut est 0, ce qui signifie que la qualité de l'image peut varier si nécessaire pour éviter de dépasser la bande passante disponible. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant utilise une occurrence NumericStepper pour spécifier le taux de compression appliqué à la caméra. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence NumericStepper intitulée quality_nstep. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var quality_nstep:mx.controls.NumericStepper; var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); Camera 419 quality_nstep.minimum = 0; quality_nstep.maximum = 100; quality_nstep.stepSize = 5; quality_nstep.value = my_cam.quality; function changeQuality() { my_cam.setQuality(my_cam.bandwidth, quality_nstep.value); } quality_nstep.addEventListener("change", changeQuality); Voir aussi setQuality (méthode Camera.setQuality) setMode (méthode Camera.setMode) public setMode([width: Number], [height: Number], [fps: Number], [favorArea: Boolean]) : Void Définit le mode de capture de la caméra sur le mode natif qui remplit le mieux les conditions requises. Si la caméra ne dispose pas d'un mode natif correspondant à tous les paramètres que vous transmettez, Flash sélectionne un mode de capture qui synthétise le mieux le mode demandé. Cette manipulation peut nécessiter le découpage de l'image et l'omission d'images. Par défaut, Flash omet des images si nécessaire pour conserver la taille de l'image. Pour réduire le nombre d'images omises, même si cela se traduit par une réduction de la taille de l'image, définissez le paramètre favorArea sur false. Lorsqu'il choisit un mode natif, Flash essaie de conserver les proportions demandées dans la mesure du possible. Par exemple, si vous appelez la commande active_cam. setMode(400, 400, 30) et que les valeurs de largeur et de hauteur maximales disponibles sur la caméra sont 320 et 288, Flash définit la largeur et la hauteur sur 288. Ce faisant, Flash conserve la proportion 1:1 que vous avez demandée. Pour déterminer les valeurs affectées à ces propriétés une fois la sélection du mode qui correspond le mieux aux valeurs que vous avez demandées par Flash, utilisez Camera.width, Camera.height, et Camera.fps. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres width: Number [facultatif ] - Largeur de capture demandée, en pixels. La valeur par défaut est 160. height: Number [facultatif ] - Hauteur de capture demandée, en pixels. La valeur par défaut est 120. 420 Classes ActionScript fps: Number [facultatif ] - Cadence à laquelle la caméra doit capturer des données, en images par seconde. La valeur par défaut est 15. [facultatif ] - Valeur booléenne indiquant comment manipuler la largeur, la hauteur et la cadence si la caméra n'est pas dotée d'un mode natif qui remplit les conditions requises. La valeur par défaut est true, ce qui signifie que la conservation de la taille de capture est favorisée. L'utilisation de ce paramètre permet de sélectionner le mode qui correspond le mieux aux valeurs width et height, même s'il en résulte une réduction de la cadence et donc, une baisse des performances. Pour optimiser la cadence au détriment de la hauteur et de la largeur de la caméra, définissez le paramètre favorArea sur false. favorArea: Boolean Exemple L'exemple suivant définit le mode de capture de la caméra. Vous pouvez entrer une cadence dans une occurrence TextInput et appuyer sur Entrée ou sur Retour pour l'appliquer. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant TextInput intitulée fps_ti. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); fps_ti.maxChars = 2; fps_ti.restrict = [0-9]; fps_lbl.text = "Current: "+my_cam.fps+" fps"; function changeFps():Void { my_cam.setMode(my_cam.width, my_cam.height, fps_ti.text); fps_lbl.text = "Current: "+my_cam.fps+" fps"; fps_ti.text = my_cam.fps; Selection.setSelection(0,2); } fps_ti.addEventListener("enter", changeFps); Voir aussi fps (propriété Camera.fps), height (propriété Camera.height), largeur (propriété Camera.width), currentFps (propriété Camera.currentFps) Camera 421 setMotionLevel (méthode Camera.setMotionLevel) public setMotionLevel([motionLevel: Number], [timeOut: Number]) : Void Spécifie la quantité de mouvement requise pour appeler Camera.onActivity(true). Peut éventuellement définir le nombre de millisecondes qui doit s'écouler sans activité avant que Flash considère que le mouvement a cessé et puisse appeler Camera.onActivity(false). Remarque :la vidéo peut être affichée quelle que soit la valeur du paramètre sensitivity. Ce paramètre détermine uniquement à quel moment et dans quelles circonstances Camera.onActivity est appelé (ce n'est pas le cas lorsque la vidéo est capturée ou affichée). ■ ■ Pour empêcher la caméra de détecter le mouvement, définissez le paramètre sensitivity sur la valeur 100 ; Camera.onActivity n'est jamais appelé. (Vous utiliserez probablement cette valeur à des fins de tests uniquement : par exemple, pour désactiver temporairement des actions qui doivent se produire lorsque Camera.onActivity est appelé.) Pour déterminer l'intensité de mouvement actuellement détectée par la caméra, utilisez la propriété Camera.activityLevel. Les valeurs de sensibilité de mouvement correspondent directement aux valeurs d'activité. La valeur d'activité d'une absence de mouvement totale est 0. La valeur d'activité d'un mouvement constant est 100. Votre valeur d'activité est inférieure à votre valeur de sensibilité de mouvement lorsque vous n'effectuez pas de déplacement ; lorsque vous effectuez un déplacement, les valeurs d'activité dépassent fréquemment votre valeur de sensibilité de mouvement. L'objectif de cette méthode est similaire à celui de Microphone.setSilenceLevel() ; les deux méthodes sont utilisées pour spécifier à quel moment il convient d'appeler le gestionnaire d'événements onActivity. Toutefois, leur impact sur la publication des flux diffère de manière significative : ■ ■ Microphone.setSilenceLevel() est conçu pour optimiser la bande passante. Lorsqu'un flux audio est considéré comme étant silencieux, aucune donnée audio n'est envoyée. En revanche, un message unique indiquant le début du silence est envoyé. est conçu pour détecter le mouvement et n'a aucune incidence sur l'utilisation de la bande passante. La vidéo est envoyée qu'un flux vidéo détecte du mouvement ou non. Camera.setMotionLevel() Disponibilité : ActionScript 1.0 ; Flash Player 6 422 Classes ActionScript Paramètres motionLevel: Number [facultatif ] - Valeur numérique spécifiant l'intensité de mouvement requise pour appeler Camera.onActivity(true). Les valeurs acceptables sont comprises entre 0 et 100. La valeur par défaut est 50. [facultatif ] - Paramètre numérique spécifiant le nombre de millisecondes qui doit s'écouler sans activité avant que Flash considère que l'activité a cessé et puisse appeler le gestionnaire d'événement Camera.onActivity(false). La valeur par défaut est 2 000 (2 secondes). timeOut: Number Exemple L'exemple suivant envoie des messages au panneau de Sortie lorsque l'activité vidéo commence ou s'arrête. La valeur de sensibilité de mouvement étant de 30, augmentez-la ou diminuez-la pour voir comment différentes valeurs affectent la détection de mouvement. // Suppose qu'un objet Video nommé "myVideoObject" se trouve sur la scène active_cam = Camera.get(); x = 0; function motion(mode) { trace(x + ": " + mode); x++; } active_cam.onActivity = function(mode) { motion(mode); } active_cam.setMotionLevel(30, 500); myVideoObject.attachVideo(active_cam); Voir aussi motionLevel (propriété Camera.motionLevel), motionTimeOut (propriété Camera.motionTimeOut), onActivity (gestionnaire Camera.onActivity), activityLevel (propriété Camera.activityLevel) setQuality (méthode Camera.setQuality) public setQuality([bandwidth: Number], [quality: Number]) : Void Définit le montant maximum de bande passante par seconde ou la qualité d'image requise des données vidéo sortantes actuelles. Cette méthode ne peut généralement être appliquée que si vous transmettez la vidéo via Flash Media Server. Camera 423 Utilisez cette méthode pour spécifier l'élément de la vidéo sortante le plus important pour votre application, utilisation de bande passante ou qualité de l'image. ■ ■ ■ Pour indiquer que la bande passante est prioritaire, attribuez une valeur à bandwidth et la valeur 0 à frameQuality. Flash transmet une vidéo de qualité optimale dans la bande passante spécifiée. Si nécessaire, Flash réduit la qualité de l'image afin d'éviter de dépasser la bande passante spécifiée. En général, plus le mouvement augmente, plus la qualité diminue. Pour indiquer que la qualité est prioritaire, transmettez la valeur 0 à bandwidth et une valeur numérique à frameQuality. Flash utilise autant de bande passante que nécessaire pour conserver la qualité spécifiée. Si nécessaire, Flash réduit la cadence pour conserver la qualité de l'image. En général, plus le mouvement augmente, plus la consommation de bande passante augmente également. Pour spécifier que la bande passante et la qualité sont aussi importantes l'une que l'autre, transmettez des valeurs numériques aux deux paramètres. Flash transmet alors la vidéo en respectant la qualité requise dans la bande passante spécifiée. Si nécessaire, Flash réduit la cadence pour conserver la qualité de l'image sans dépasser la bande passante spécifiée. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres bandwidth: Number [facultatif ] - Entier spécifiant la quantité maximale de bande passante pouvant être utilisée par la vidéo sortante actuelle, en octets par seconde. Pour spécifier que la vidéo Flash peut utiliser autant de bande passante que nécessaire pour conserver la valeur de frameQuality, attribuez la valeur 0 à bandwidth. La valeur par défaut est 16384. [facultatif ] - Entier spécifiant le niveau de qualité d'image requis, tel que déterminé par le taux de compression appliqué à chaque image vidéo. Les valeurs acceptables sont comprises entre 1 (qualité la plus médiocre, compression maximale) et 100 (qualité optimale, pas de compression). Pour spécifier que la qualité d'image peut varier autant que nécessaire afin d'éviter de dépasser la quantité de bande passante disponible, attribuez la valeur 0 à quality. La valeur par défaut est 0. quality: Number Exemple Les exemples suivants indiquent comment utiliser cette méthode afin de contrôler l'utilisation de la bande passante et la qualité d'image. // Assurez-vous d'utiliser moins de 8192 (8K/seconde) pour envoyer la vidéo active_cam.setQuality(8192,0); // Assurez-vous d'utiliser moins de 8192 (8K/seconde) pour envoyer la vidéo // avec une qualité minimale de 50 424 Classes ActionScript active_cam.setQuality(8192,50); // Garantissez une qualité minimale de 50, quelle que soit la quantité de bande passante utilisée active_cam.setQuality(0,50); Voir aussi get (méthode Camera.get), qualité (propriété Camera.quality), bandwidth (propriété Camera.bandwidth) largeur (propriété Camera.width) public width : Number [lecture seule] La largeur de capture actuelle, en pixels. Pour définir une valeur souhaitée pour cette propriété, utilisez Camera.setMode(). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple Le code suivant affiche la largeur, la hauteur et la valeur FPS actuelles d'une occurrence vidéo dans une occurrence du composant Label sur la scène. Créez une nouvelle occurrence vidéo en sélectionnant Nouvelle vidéo dans le menu d'options de la bibliothèque. Ajoutez une occurrence intitulée my_video à la scène. Ajoutez une occurrence du composant Label intitulée dimensions_lbl à la scène. Ajoutez ensuite le code ActionScript suivant à l'image 1 du scénario : var my_cam:Camera = Camera.get(); var my_video:Video; my_video.attachVideo(my_cam); var dimensions_lbl:mx.controls.Label; dimensions_lbl.setStyle("fontSize", 9); dimensions_lbl.setStyle("fontWeight", "bold"); dimensions_lbl.setStyle("textAlign", "center"); dimensions_lbl.text = "width: "+my_cam.width+", height: "+my_cam.height+", FPS: "+my_cam.fps; Consultez aussi l'exemple relatif à Camera.setMode(). Voir aussi height (propriété Camera.height), setMode (méthode Camera.setMode) Camera 425 capabilities (System.capabilities) Object | +-System.capabilities public class capabilities extends Object La classe Capabilities permet de déterminer les fonctionnalités du système et le lecteur hébergeant un fichier SWF, vous permettant d'adapter le contenu à différents formats. Par exemple, l'écran d'un téléphone portable (noir et blanc, 100 pixels carrés) diffère de l'écran couleurs de 1 000 pixels carrés d'un PC. Pour fournir le contenu approprié au plus grand nombre d'utilisateurs possible, vous pouvez utiliser l'objet System.capabilities afin de déterminer le type de périphérique dont dispose un utilisateur. Vous pouvez ensuite demander au serveur d'envoyer différents fichiers SWF en fonction des fonctionnalités propres à chaque périphérique ou indiquer au fichier SWF de modifier sa présentation en fonction des fonctionnalités du périphérique. Vous pouvez envoyer les informations relatives aux fonctionnalités à l'aide de la méthode HTTP GET ou POST. L'exemple suivant montre une chaîne de serveur pour un ordinateur prenant en charge les fichiers MP3, doté d'une résolution de 1 600 x 1 200 pixels, exécutant Windows XP et Flash Player 8 (8.0.0.0) : 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%208%2C0%2C0%2C0&M=Macromedia%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f" Toutes les propriétés de l'objet System.capabilities sont en lecture seule. Disponibilité : ActionScript 1.0 ; Flash Player 6 426 Classes ActionScript Résumé des propriétés Modificateurs Propriété Description static Valeur booléenne spécifiant si l'accès à la caméra et au microphone de l'utilisateur est interdit administrativement (true) ou autorisé (false). avHardwareDisable: Boolean [lecture seule] static hasAccessibility: Boolean [lecture seule] static hasAudio: Boolean [lecture seule] static hasAudioEncoder: Boolean [lecture Valeur booléenne définie sur true si le lecteur s'exécute dans un environnement qui prend en charge la communication entre Flash Player et les options d'accessibilité ; sinon définie sur false. Spécifie si le lecteur s'exécute sur un système qui dispose de fonctionnalités audio. Spécifie si Flash Player peut coder un flux audio continu. seule] static hasEmbeddedVideo: Boolean [lecture seule] static hasIME: Boolean [lecture seule] static hasMP3: Boolean [lecture seule] static static s'exécute sur un système qui prend en charge l'impression ; définie sur false sinon. hasScreenBroadcast: Valeur booléenne définie sur true si le lecteur prend en charge le développement des applications de diffusion sur écran devant être exécutées via Flash Media Server ; définie sur false sinon. hasScreenPlayback: Boolean [lecture seule] hasStreamingAudio: Boolean [lecture seule] static Spécifie si le système est doté d'un décodeur MP3. [lecture seule] seule] static Indique si le système est doté d'un IME, (éditeur de méthode d'entrée). hasPrinting: Boolean Valeur booléenne définie sur true si le lecteur Boolean [lecture static Valeur booléenne définie sur true si le lecteur s'exécute sur un système qui prend en charge la vidéo intégrée ; sinon définie sur false. hasStreamingVideo: Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur prend en charge la lecture des applications de diffusion sur écran exécutées via Flash Media Server ; définie sur false sinon. Valeur booléenne définie sur true si le lecteur peut lire les sons en flux continu ; sinon définie sur false. Valeur booléenne définie sur true si le lecteur peut lire les vidéos en flux continu ; sinon définie sur false. capabilities (System.capabilities) 427 Modificateurs Propriété Description static Spécifie si Flash Player peut coder un flux vidéo. hasVideoEncoder: Boolean [lecture seule] static isDebugger: Boolean [lecture seule] static language: String [lecture seule] static seule] static Indique la langue du système sur lequel s'exécute le lecteur. localFileReadDisable Valeur booléenne indiquant si l'accès en lecture au : Boolean [lecture static Valeur booléenne indiquant si le lecteur est une version officielle (false) ou une version de débogage spéciale (true). disque dur de l'utilisateur est interdit administrativement (true) ou autorisé (false). manufacturer: String Chaîne indiquant le fabricant de Flash Player, au [lecture seule] format " Adobe OSName " (OSName peut être " Windows ", " Macintosh ", "Linux" ou " Other OS Name "). os: String [lecture Chaîne indiquant le système d'exploitation actuel. seule] static static Number [lecture seule] Entier indiquant les proportions de l'écran, en pixels. playerType: String Chaîne indiquant le type de lecteur. pixelAspectRatio: [lecture seule] static screenColor: String Chaîne indiquant la couleur d'écran. [lecture seule] static screenDPI: Number [lecture seule] static screenResolutionX: Number [lecture seule] static screenResolutionY: Number [lecture seule] static static Entier indiquant la résolution horizontale maximale de l'écran. Entier indiquant la résolution verticale maximale de l'écran. serverString: String Chaîne de code URL spécifiant les valeurs de [lecture seule] chaque propriété System.capabilities. version: String Une chaîne contenant des informations sur la version et la plate-forme de Flash Player. [lecture seule] 428 Nombre indiquant la résolution en points par pouce (ppp) de l'écran, en pixels. Classes ActionScript Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) avHardwareDisable (propriété capabilities.avHardwareDisable) public static avHardwareDisable : Boolean [lecture seule] Valeur booléenne spécifiant si l'accès à la caméra et au microphone de l'utilisateur est interdit administrativement (true) ou autorisé (false). La chaîne de serveur est AVD. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.avHardwareDisable); Voir aussi get (méthode Camera.get), obtenir (méthode Microphone.get), showSettings (méthode System.showSettings) capabilities (System.capabilities) 429 hasAccessibility (propriété capabilities.hasAccessibility) public static hasAccessibility : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur s'exécute dans un environnement qui prend en charge la communication entre Flash Player et les options d'accessibilité ; sinon définie sur false. La chaîne de serveur est ACC. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasAccessibility); Voir aussi isActive (méthode Accessibility.isActive), updateProperties (méthode Accessibility.updateProperties), _accProps, propriété hasAudio (propriété capabilities.hasAudio) public static hasAudio : Boolean [lecture seule] Spécifie si le lecteur s'exécute sur un système qui dispose de fonctionnalités audio. Sous Flash Player, cette propriété est toujours true. La chaîne de serveur est A. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasAudio); hasAudioEncoder (propriété capabilities.hasAudioEncoder) public static hasAudioEncoder : Boolean [lecture seule] Spécifie si Flash Player peut coder un flux continu. Valeur booléenne définie sur true si le lecteur peut coder un flux continu, tel que celui provenant d'un microphone ; sinon définie sur false. La chaîne de serveur est AE. Disponibilité : ActionScript 1.0 ; Flash Player 6 430 Classes ActionScript Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasAudioEncoder); hasEmbeddedVideo (propriété capabilities.hasEmbeddedVideo) public static hasEmbeddedVideo : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur s'exécute sur un système qui prend en charge la vidéo intégrée ; sinon définie sur false. La chaîne de serveur est EV. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasEmbeddedVideo); hasIME (propriété capabilities.hasIME) public static hasIME : Boolean [lecture seule] Indique si le système est doté d'un IME (éditeur de méthode d'entrée). Une valeur true indique que le lecteur s'exécute sur un système doté d'un IME ; une valeur false indique qu'aucun IME n'est installé. La chaîne de serveur est IME. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant positionne l'IME sur ALPHANUMERIC_FULL si le lecteur utilise un système sur lequel un IME est installé. if(System.capabilities.hasIME) { trace(System.IME.getConversionMode()); System.IME.setConversionMode(System.IME.ALPHANUMERIC_FULL); trace(System.IME.getConversionMode()); } capabilities (System.capabilities) 431 hasMP3 (propriété capabilities.hasMP3) public static hasMP3 : Boolean [lecture seule] Spécifie si le système est doté d'un décodeur MP3. Valeur booléenne définie sur true si le lecteur s'exécute sur un système doté d'un décodeur MP3 ; sinon définie sur false. La chaîne de serveur est MP3. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasMP3); hasPrinting (propriété capabilities.hasPrinting) public static hasPrinting : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur s'exécute sur un système qui prend en charge l'impression ; définie sur false sinon. La chaîne de serveur est PR. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasPrinting); hasScreenBroadcast (propriété capabilities.hasScreenBroadcast) public static hasScreenBroadcast : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur prend en charge le développement des applications de diffusion sur écran devant être exécutées via Flash Media Server ; définie sur false sinon. La chaîne de serveur est SB. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,79,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasScreenBroadcast); 432 Classes ActionScript hasScreenPlayback (propriété capabilities.hasScreenPlayback) public static hasScreenPlayback : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur prend en charge la lecture des applications de diffusion sur écran exécutées via Flash Media Server ; définie sur false sinon. La chaîne de serveur est SP. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,79,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasScreenPlayback); hasStreamingAudio (propriété capabilities.hasStreamingAudio) public static hasStreamingAudio : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur peut lire les sons en flux continu ; sinon définie sur false. La chaîne de serveur est SA. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasStreamingAudio); hasStreamingVideo (propriété capabilities.hasStreamingVideo) public static hasStreamingVideo : Boolean [lecture seule] Valeur booléenne définie sur true si le lecteur peut lire les vidéos en flux continu ; sinon définie sur false. La chaîne de serveur est SV. Disponibilité : ActionScript 1.0 ; Flash Player 6,0,65,0 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasStreamingVideo); capabilities (System.capabilities) 433 hasVideoEncoder (propriété capabilities.hasVideoEncoder) public static hasVideoEncoder : Boolean [lecture seule] Spécifie si Flash Player peut coder un flux vidéo. Valeur booléenne définie sur true si le lecteur peut coder un flux vidéo, tel que celui provenant d'une caméra Web ; définie sur false sinon. La chaîne de serveur est VE. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.hasVideoEncoder); isDebugger (propriété capabilities.isDebugger) public static isDebugger : Boolean [lecture seule] Valeur booléenne indiquant si le lecteur est une version officielle (false) ou une version de débogage spéciale (true). La chaîne de serveur est DEB. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.isDebugger); langage (propriété capabilities.language) public static language : String [read-only] Indique la langue du système sur lequel s'exécute le lecteur. Cette propriété est spécifiée sous forme de code de langue à deux lettres en minuscules selon ISO 639-1. Pour le chinois, une balise secondaire de code pays à deux lettres en majuscules supplémentaire selon ISO 3166 permet de faire la distinction entre le chinois simplifié et traditionnel. Les langues, ellesmêmes, sont nommées avec des balises en anglais. Par exemple, fr signifie Français. 434 Classes ActionScript Cette propriété a été modifiée en deux points pour Flash Player 7. Premièrement, le code de langue des systèmes en anglais n'inclut plus le code pays. Dans Flash Player 6, tous les systèmes en anglais renvoyaient le code de langue et la balise secondaire de code pays à deux lettres (en-US). Dans Flash Player 7, les systèmes en anglais renvoient uniquement le code de langue (en). Deuxièmement, sur les systèmes Microsoft Windows, cette propriété renvoie désormais la langue de l'interface utilisateur (IU). Dans Flash Player 6 sur la plate-forme Microsoft Windows, System.capabilities.language renvoie les paramètres régionaux utilisateur, permettant de sélectionner les paramètres de mise en forme des dates, heures, symboles monétaires et nombres élevés. Dans Flash Player 7 sur la plate-forme Microsoft Windows, cette propriété renvoie désormais la langue de l'interface utilisateur, qui se réfère à la langue utilisée pour tous les menus, boîtes de dialogue, messages d'erreur et fichiers d'aide. Le tableau suivant répertorie les valeurs possibles : Langue Balise Tchèque cs Danois da Néerlandais nl Anglais en Finnois fi Français fr Allemand de Hongrois hu Italien it Japonais ja Coréen ko Norvégien no Autre/inconnu xu Polonais pl Portugais pt Russe ru Chinois simplifié zh-CN Espagnol es Suédois sv capabilities (System.capabilities) 435 Langue Balise Chinois traditionnel zh-TW Turc tr Disponibilité : ActionScript 1.0 ; Flash Player 6 - Comportement modifié dans Flash Player 7. Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.language); localFileReadDisable (propriété capabilities.localFileReadDisable) public static localFileReadDisable : Boolean [lecture seule] Valeur booléenne indiquant si l'accès en lecture au disque dur de l'utilisateur est interdit administrativement (true) ou autorisé (false). Si la propriété est définie sur true, Flash Player ne peut pas lire de fichiers (y compris le premier fichier SWF de démarrage de Flash Player) sur le disque dur de l'utilisateur. Par exemple, toute tentative de lecture d'un fichier sur le disque dur de l'utilisateur à l'aide de XML.load(), LoadMovie() ou LoadVars.load() échouera si cette propriété est définie sur true. La lecture de bibliothèques partagées à l'exécution sera également bloquée si cette propriété est définie sur true ; en revanche, la lecture d'objets partagés localement est autorisée, indépendamment de la valeur de cette propriété. La chaîne de serveur est LFD. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.localFileReadDisable); manufacturer (propriété capabilities.manufacturer) public static manufacturer : String [read-only] Chaîne indiquant le fabricant de Flash Player, au format « Adobe OSName » (OSName peut être « Windows », « Macintosh », « Linux » ou « Other OS Name »). La chaîne de serveur est M. Disponibilité : ActionScript 1.0 ; Flash Player 6 436 Classes ActionScript Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.manufacturer); os (propriété capabilities.os) public static os : String [read-only] Chaîne indiquant le système d'exploitation actuel. La propriété os peut renvoyer les chaînes suivantes : « Windows XP », « Windows 2000 », « Windows NT », « Windows 98/ME », « Windows 95 », « Windows CE » (disponible seulement en version Flash Player SDK, et pas en version de bureau), « Linux », et « MacOS ». La chaîne de serveur est OS. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.os); pixelAspectRatio (propriété capabilities.pixelAspectRatio) public static pixelAspectRatio : Number [lecture seule] Entier indiquant les proportions de l'écran, en pixels. La chaîne de serveur est AR. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.pixelAspectRatio); playerType (propriété capabilities.playerType) public static playerType : String [read-only] Chaîne indiquant le type de lecteur. Cette propriété peut avoir l'une des valeurs suivantes : ■ "StandAlone" pour le Flash StandAlone Player ■ "External" pour la version Flash Player utilisée par le lecteur externe, ou en mode Tester l'animation.. ■ "PlugIn" pour le module externe du navigateur Flash Player ■ "ActiveX" pour le contrôle ActiveX de Flash Player utilisé par Microsoft Internet Explorer capabilities (System.capabilities) 437 La chaîne de serveur est PT. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.playerType); screenColor (propriété capabilities.screenColor) public static screenColor : String [read-only] Chaîne indiquant la couleur d'écran. Cette propriété peut avoir la valeur « color », « gray » ou « bw », représentant respectivement la couleur, les niveaux de gris, et le noir et blanc. La chaîne de serveur est COL. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.screenColor); screenDPI (propriété capabilities.screenDPI) public static screenDPI : Number [lecture seule] Nombre indiquant la résolution en points par pouce (ppp) de l'écran, en pixels. La chaîne de serveur est DP. Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.screenDPI); screenResolutionX (propriété capabilities.screenResolutionX) public static screenResolutionX : Number [lecture seule] Entier indiquant la résolution horizontale maximale de l'écran. La chaîne de serveur est R (qui renvoie la largeur et la hauteur de l'écran). Disponibilité : ActionScript 1.0 ; Flash Player 6 438 Classes ActionScript Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.screenResolutionX); screenResolutionX (propriété capabilities.screenResolutionX) public static screenResolutionY : Number [lecture seule] Entier indiquant la résolution verticale maximale de l'écran. La chaîne de serveur est R (qui renvoie la largeur et la hauteur de l'écran). Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.screenResolutionY); serverString (propriété capabilities.serverString) public static serverString : String [read-only] Chaîne de code URL spécifiant les valeurs de chaque propriété System.capabilities. L'exemple suivant illustre une chaîne de code URL : 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%208%2C0%2C0%2C0&M=Macromedia%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.serverString); capabilities (System.capabilities) 439 version (propriété capabilities.version) public static version : String [read-only] Une chaîne contenant des informations sur la version et la plate-forme de Flash Player. La chaîne de serveur est V. Le format utilisé pour le numéro de version est le suivant : « platform majorVersion, minorVersion, buildNumber, internalBuildNumber ». Les valeurs possibles pour la plate-forme sont « WIN », « MAC » et « UNIX ». Exemple : WIN 8,0,22,0 // Flash Player 8 pour Windows MAC 7,0,25,0 // Flash Player 7 pour Macintosh UNIX 5,0,55,0 // Flash Player 5 pour UNIX Disponibilité : ActionScript 1.0 ; Flash Player 6 Exemple L'exemple suivant présente la valeur de cette propriété en lecture seule : trace(System.capabilities.version); Color Object | +-Color public class Color extends Object Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. La classe Color vous permet de définir la valeur d'une couleur RVB et la transformation de couleurs des clips, puis de récupérer ces valeurs une fois définies. Vous devez utiliser le constructeur new Color() pour créer un objet Color avant d'appeler ses méthodes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 440 Classes ActionScript Récapitulatif des constructeurs Signature Description Color(target: Classe déconseillée. Crée un objet Color pour le clip spécifié par le paramètre target_mc. Object) Résumé de la méthode Modificateurs Signature Description getRGB() : Number Classe déconseillée. Renvoie la combinaison R+V+B actuellement utilisée par l'objet Color. getTransform() : Classe déconseillée. Renvoie la valeur de transformation définie par le dernier appel Color.setTransform(). Object setRGB(offset: Number) : Void Classe déconseillée. Spécifie une couleur RVB pour un objet Color. setTransform(transf Classe déconseillée. ormObject: Object) : Void Définit les informations relatives à la transformation de couleurs pour un objet Color. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur Color public Color(target: Object) Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. Crée un objet Color pour le clip spécifié par le paramètre target_mc. Vous pouvez alors utiliser les méthodes de cet objet Color pour modifier la couleur du clip cible entier. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres target: Object - Nom d'occurrence d'un clip. Color 441 Exemple L'exemple suivant crée un objet Color intitulé my_color pour le clip my_mc et définit sa valeur RVB sur orange : var my_color:Color = new Color(my_mc); my_color.setRGB(0xff9933); getRGB (méthode Color.getRGB) public getRGB() : Number Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. Renvoie la combinaison R+V+B actuellement utilisée par l'objet Color. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Nombre représentant la valeur numérique RVB de la couleur spécifiée. Exemple Le code suivant récupère la valeur RVB de l'objet Color intitulé my_color, convertit la valeur en chaîne hexadécimale et l'affecte à la variable myValue Pour voir ce code fonctionner, ajoutez une occurrence de clip intitulée my_mc à la scène : var my_color:Color = new Color(my_mc); // Définit la couleur my_color.setRGB(0xff9933); var myValue:String = my_color.getRGB().toString(16); // Suit la valeur de la couleur trace(myValue); // Suit ff9933 Voir aussi setRGB (méthode Color.setRGB), rgb (propriété ColorTransform.rgb) getTransform (méthode Color.getTransform) public getTransform() : Object Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. Renvoie la valeur de transformation définie par le dernier appel Color.setTransform(). Disponibilité : ActionScript 1.0 ; Flash Player 5 442 Classes ActionScript Valeur renvoyée Object - Objet dont les propriétés contiennent les valeurs actuelles de décalage et de pourcentage de la couleur spécifiée. Exemple L'exemple suivant lit l'objet Transform et définit les nouveaux pourcentages de couleurs et la valeur alpha de my_mc par rapport à leurs valeurs actuelles. Pour voir ce code fonctionner, placez un clip multicolore portant le nom d'occurrence my_mc sur la scène. Ensuite, insérez le code suivant sur l'image 1 du scénario principal et sélectionnez Contrôle > Tester l'animation : var my_color:Color = new Color(my_mc); var myTransform:Object = my_color.getTransform(); myTransform = { ra: 50, ba: 50, aa: 30}; my_color.setTransform(myTransform); Pour obtenir une description des paramètres relatifs à l'objet de transformation de couleurs, consultez Color.setTransform(). Voir aussi setTransform (méthode Color.setTransform) setRGB (méthode Color.setRGB) public setRGB(offset: Number) : Void Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. Spécifie une couleur RVB pour un objet Color. L'appel de cette méthode remplace tout paramètre Color.setTransform() précédent. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres offset: Number - 0x RRGGBB La valeur hexadécimale ou la couleur RVB à définir. Les valeurs RR, GG et BB se composent chacune de deux chiffres hexadécimaux qui spécifient le décalage de chaque composant de couleur. La valeur 0x indique au compilateur ActionScript que le nombre est une valeur hexadécimale. Color 443 Exemple Cet exemple définit la valeur de couleur RVB pour le clip my_mc. Pour voir ce code fonctionner, placez sur la scène un clip portant le nom d'occurrence my_mc. Ensuite, insérez le code suivant sur l'image 1 du scénario principal et sélectionnez Contrôle > Tester l'animation : var my_color:Color = new Color(my_mc); my_color.setRGB(0xFF0000); // my_mc devient rouge Voir aussi setTransform (méthode Color.setTransform), rgb (propriété ColorTransform.rgb) setTransform (méthode Color.setTransform) public setTransform(transformObject: Object) : Void Déconseillé depuis Flash Player 8. La classe Color a été déconseillée en faveur de la classe flash.geom.ColorTransform. Définit les informations relatives à la transformation de couleurs pour un objet Color. Le paramètre colorTransformObject est un objet générique que vous créez à partir du constructeur new Object. Il dispose de paramètres spécifiant les valeurs de pourcentage et de décalage des composants rouge, vert, bleu et alpha (transparence) d'une couleur, saisies au format 0xRRGGBBAA. Les paramètres d'un objet de transformation de couleurs correspondent à ceux de la boîte de dialogue Effet avancé et sont définis comme suit : ■ ra est le pourcentage du composant rouge (-100 à 100). ■ rb est le décalage du composant rouge (-255 à 255). ■ ga est le pourcentage du composant vert (-100 à 100). ■ gb est le décalage du composant vert (-255 à 255). ■ ba est le pourcentage du composant bleu (-100 à 100). ■ bb est le décalage du composant bleu (-255 à 255). ■ aa est le pourcentage pour alpha (-100 à 100). ■ ab est le décalage pour alpha (-255 à 255). Pour créer un paramètre colorTransformObject, procédez comme suit : var myColorTransform:Object = new Object(); myColorTransform.ra = 50; myColorTransform.rb = 244; myColorTransform.ga = 40; myColorTransform.gb = 112; myColorTransform.ba = 12; 444 Classes ActionScript myColorTransform.bb = 90; myColorTransform.aa = 40; myColorTransform.ab = 70; Vous pouvez également utiliser la syntaxe suivante pour créer un paramètre colorTransformObject : var myColorTransform:Object = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70} Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres transformObject: Object - Objet créé à partir du constructeur new Object. Les propriétés de cette occurrence de la classe Object permettant de spécifier les valeurs de transformation de couleurs doivent être les suivantes : ra, rb, ga, gb, ba, bb, aa, ab. Ces propriétés sont expliquées dans le résumé de la méthode setTransform() ci-dessus. Exemple Cet exemple crée un nouvel objet Color pour un fichier SWF cible, un objet générique intitulé myColorTransform doté des propriétés définies ci-dessus et utilise la méthode setTransform() pour transmettre la valeur colorTransformObject à un objet Color. Pour utiliser ce code dans un document Flash (FLA), insérez-le sur l'image 1 du scénario principal, puis placez un clip portant le nom d'occurrence my_mc sur la scène, de la manière suivante : // Crée un objet couleur appelé my_color pour la cible my_mc var my_color:Color = new Color(my_mc); // Création de l'objet de transformation de couleur myColorTransform avec // Définit les valeurs de myColorTransform var myColorTransform:Object = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12, bb: 90, aa: 40, ab: 70}; // Associe l'objet de transformation de couleur à l'objet Color // Créé pour my_mc my_color.setTransform(myColorTransform); Voir aussi Object Color 445 ColorMatrixFilter (flash.filters.ColorMatrixFilter) Object | +- BitmapFilter | +-flash.filters.ColorMatrixFilter public class ColorMatrixFilter extends BitmapFilter La classe ColorMatrixFilter vous permet d'appliquer une transformation de matrice 4 x 5 aux valeurs de couleur RVBA et alpha de chaque pixel de l'image d'entrée afin d'obtenir un résultat intégrant un nouvel ensemble de valeurs de couleur RVBA et alpha. Elle permet d'effectuer des modifications de saturation, des rotations de teinte, de définir la luminance de l'alpha et de produire d'autres effets. Vous pouvez appliquer ce filtre aux bitmaps et aux occurrences MovieClip. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■ ■ Pour appliquer des filtres aux clips lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel de applyFilter() pour un objet BitmapData génère une image filtrée à partir de l'objet BitmapData source et de l'objet filtre. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Les formules suivantes sont utilisées où a[0] à a[19] correspondent aux entrées 0 à 19 dans la matrice de propriété de tableau du vingtième élément : redResult = a[0] * srcR + a[1] * srcG + a[2] * srcB + a[3] * srcA + a[4] greenResult = a[5] * srcR + a[6] * srcG + a[7] * srcB + a[8] * srcA + a[9] blueResult = a[10] * srcR + a[11] * srcG + a[12] * srcB + a[13] * srcA + a[14] alphaResult = a[15] * srcR + a[16] * srcG + a[17] * srcB + a[18] * srcA + a[19] 446 Classes ActionScript Ce filtre sépare chaque pixel d'origine en composants rouge, vert, bleu et alpha comme suit : srcR, srcG, srcB, srcA. Pour finir, il associe de nouveau chaque composant de couleur pour former un pixel unique et renvoie le résultat. Les calculs sont effectués sur des valeurs de couleur non multipliées. Si le graphique d'entrée est constitué de valeurs de couleur prémultipliées, celles-ci sont automatiquement converties en valeurs de couleur non multipliées en vue de cette opération. Les deux modes optimisés suivants sont disponibles. Alpha uniquement. Quand vous passez au filtre une matrice qui ajuste uniquement le composant alpha, comme indiqué ici, le filtre optimise ses performances : 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 N 0 0 0 0 (où N est compris entre 0,0 et 1,0) Version plus rapide. Disponible uniquement sur les processeurs dotés d'un accélérateur SSE/ Altivec (tels que Pentium 3 et version ultérieure, Apple G4 et version ultérieure). L'accélérateur est utilisé quand les termes de multiplicateur se trouvent dans la plage comprise entre -15,99 et 15,99 et les termes d'additionneur a[4], a[9], a[14] et a[19] se trouvent dans la plage comprise entre -8 000 et 8 000. Un filtre ne peut s' appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel le filtre est appliqué, le filtre est désactivé si l'image résultante atteint la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant utilise BitmapFilter pour manipuler la saturation en couleur d'une image située à l'emplacement du pointeur de la souris. Si vous positionnez le pointeur dans le coin supérieur gauche (0,0), l'image ne doit pas être modifiée. Quand vous déplacez le pointeur vers la droite, les canaux vert et bleu sont enlevés en même temps de l'image. Quand vous déplacez le pointeur vers le bas, le canal rouge est enlevé. Si le pointeur est placé à l'angle inférieur droit de la scène, l'image doit être entièrement noire. Cet exemple suppose que vous ayez dans votre librairie une image avec son Linkage Identifier réglé sur « YourImageLinkage ». import flash.filters.BitmapFilter; import flash.filters.ColorMatrixFilter; var image:MovieClip = this.attachMovie("YourImageLinkage", "YourImage", this.getNextHighestDepth()); image.cacheAsBitmap = true; var listener:Object = new Object(); ColorMatrixFilter (flash.filters.ColorMatrixFilter) 447 listener.image = image; listener.onMouseMove = function() { var xPercent:Number = 1 - (_xmouse/Stage.width); var yPercent:Number = 1 - (_ymouse/Stage.height); var matrix:Array = new Array(); matrix = matrix.concat([yPercent, 0, 0, 0, 0]); // rouge matrix = matrix.concat([0, xPercent, 0, 0, 0]); // vert matrix = matrix.concat([0, 0, xPercent, 0, 0]); // bleu matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha var filter:BitmapFilter = new ColorMatrixFilter(matrix); image.filters = new Array(filter); } Mouse.addListener(listener); listener.onMouseMove(); Voir aussi getPixel (méthode BitmapData.getPixel), applyFilter (méthode BitmapData.applyFilter), filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap) Résumé des propriétés Modificateurs Propriété matrix: Array Description Un tableau de 20 éléments pour la transformation de couleurs 4 x 5. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description ColorMatrixFilter(m Initialise une nouvelle occurrence ColorMatrixFilter avec les atrix: Array) 448 paramètres spécifiés. Classes ActionScript Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. ColorMatrixFilter Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) clone (méthode ColorMatrixFilter.clone) public clone() : ColorMatrixFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée ColorMatrixFilter - Nouvelle occurrence ColorMatrixFilter dont les propriétés sont toutes identiques à celles de l'occurrence d'origine. Exemple L'exemple suivant crée une occurrence de ColorMatrixFilter, qu'elle clone ensuite à l''aide de la méthode clone. La propriété matrix ne peut pas être modifiée directement (clonedFilter.matrix[2] = 1;, par exemple). A la place, extrayez une référence au tableau, effectuez la modification et restaurez la valeur en utilisant clonedFilter.matrix = changedMatrix. import flash.filters.ColorMatrixFilter; var matrix:Array = new Array(); matrix = matrix.concat([1, 0, 0, matrix = matrix.concat([0, 1, 0, matrix = matrix.concat([0, 0, 1, matrix = matrix.concat([0, 0, 0, 0, 0, 0, 1, 0]); 0]); 0]); 0]); // // // // rouge vert bleu alpha ColorMatrixFilter (flash.filters.ColorMatrixFilter) 449 var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix); trace("filter: " + filter.matrix); var clonedFilter:ColorMatrixFilter = filter.clone(); matrix = clonedFilter.matrix; matrix[2] = 1; clonedFilter.matrix = matrix; trace("clonedFilter: " + clonedFilter.matrix); constructeur ColorMatrixFilter() public ColorMatrixFilter(matrix: Array) Initialise une nouvelle occurrence ColorMatrixFilter avec les paramètres spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres matrix: Array - Tableau de 20 éléments organisés en matrice de 4 x 5. matrix (propriété ColorMatrixFilter.matrix) public matrix : Array Un tableau de 20 éléments pour la transformation de couleurs 4 x 5. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée une occurrence de ColorMatrixFilter, puis modifie sa propriété matrix. Il est impossible de modifier la propriété matrix directement en lui attribuant une autre valeur (clonedFilter.matrix[2] = 1;, par exemple). A la place, extrayez une référence au tableau, effectuez la modification de la référence et restaurez la valeur en utilisant clonedFilter.matrix = changedMatrix. import flash.filters.ColorMatrixFilter; var matrix:Array = new Array(); matrix = matrix.concat([1, 0, 0, matrix = matrix.concat([0, 1, 0, matrix = matrix.concat([0, 0, 1, matrix = matrix.concat([0, 0, 0, 0, 0, 0, 1, 0]); 0]); 0]); 0]); // // // // rouge vert bleu alpha var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix); trace("filter: " + filter.matrix); var changedMatrix:Array = filter.matrix; changedMatrix[2] = 1; 450 Classes ActionScript filter.matrix = changedMatrix; trace("filter: " + filter.matrix); ColorTransform (flash.geom.ColorTransform) Object | +-flash.geom.ColorTransform public class ColorTransform extends Object La classe ColorTransform vous permet de régler de façon mathématique l'ensemble des valeurs de couleur dans un clip. La fonction de réglage des couleurs ou transformation de couleur peut être appliquée aux quatre canaux : rouge, vert, bleu et transparence alpha. Lorsqu'un objet ColorTransform est appliqué à un clip, une nouvelle valeur est calculée pour chaque canal de couleur de la manière suivante : ■ Nouvelle valeur de rouge = (ancienne valeur de rouge * redMultiplier)) + redOffset ■ Nouvelle valeur de vert = (ancienne valeur de vert * greenMultiplier)) + greenOffset ■ Nouvelle valeur de bleu = (ancienne valeur de bleu * blueMultiplier)) + blueOffset ■ Nouvelle valeur alpha = (ancienne valeur alpha * alphaMultiplier)) + alphaOffset Si l'une des valeurs de canal de couleur est supérieure à 255 une fois le calcul effectué, elle est définie sur 255. Si elle est inférieure à zéro, elle est définie sur zéro. Vous devez utiliser le constructeur new ColorTransform() pour créer un objet ColorTransform afin de pouvoir appeler les méthodes de l'objet ColorTransform. Les transformations de couleurs ne s'appliquent pas à la couleur d'arrière-plan d'un clip (tel qu'un objet SWF chargé). Elles s'appliquent uniquement aux graphiques et symboles associés au clip. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi colorTransform (propriété Transform.colorTransform) ColorTransform (flash.geom.ColorTransform) 451 Résumé des propriétés Modificateurs Propriété alphaMultiplier: Number Description Une valeur décimale multipliée par la valeur du canal de transparence alpha. alphaOffset: Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de transparence alpha après sa multiplication par la valeur alphaMultiplier. blueMultiplier: Une valeur décimale multipliée par la valeur du canal de bleu. Number blueOffset: Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de bleu après sa multiplication par la valeur blueMultiplier. greenMultiplier: Une valeur décimale multipliée par la valeur du canal de vert. Number greenOffset: Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de vert après sa multiplication par la valeur greenMultiplier. redMultiplier: Une valeur décimale multipliée par la valeur du canal de rouge. Number redOffset: Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de rouge après sa multiplication par la valeur redMultiplier. rgb: Number La valeur de couleur RVB d'un objet ColorTransform. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description ColorTransform([redMultiplier: Number], Crée un objet ColorTransform pour un objet d'affichage avec les paramètres RVB et alpha spécifiés. [greenMultiplier: Number], [blueMultiplier: Number], [alphaMultiplier: Number], [redOffset: Number], [greenOffset: Number], [blueOffset: Number], [alphaOffset: Number]) 452 Classes ActionScript Résumé de la méthode Modificateurs Signature concat(second: ColorTransform) : Description Applique au clip une deuxième transformation additive de couleur. Void toString() : String Formate et renvoie une chaîne qui décrit l'ensemble des propriétés de l'objet ColorTransform. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) alphaMultiplier (propriété ColorTransform.alphaMultiplier) public alphaMultiplier : Number Une valeur décimale multipliée par la valeur du canal de transparence alpha. Si vous définissez la valeur de transparence alpha d'un clip directement à l'aide de la propriété MovieClip._alpha, celle-ci affecte la valeur de la propriété alphaMultiplier de l'objet ColorTransform de ce clip. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur alphaMultiplier de 1 à 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.alphaMultiplier); // 1 colorTrans.alphaMultiplier = 0.5; trace(colorTrans.alphaMultiplier); // 0,5 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); ColorTransform (flash.geom.ColorTransform) 453 trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } Voir aussi _alpha (propriété MovieClip._alpha) alphaOffset (propriété ColorTransform.alphaOffset) public alphaOffset : Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de transparence alpha après sa multiplication par la valeur alphaMultiplier. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur alphaOffset de 0 à -128. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.alphaOffset); // 0 colorTrans.alphaOffset = -128; trace(colorTrans.alphaOffset); // -128 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); 454 Classes ActionScript var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } blueMultiplier (propriété ColorTransform.blueMultiplier) public blueMultiplier : Number Une valeur décimale multipliée par la valeur du canal de bleu. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur blueMultiplier de 1 à 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.blueMultiplier); // 1 colorTrans.blueMultiplier = 0.5; trace(colorTrans.blueMultiplier); // 0,5 var rect:MovieClip = createRectangle(20, 80, 0x0000FF); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } ColorTransform (flash.geom.ColorTransform) 455 blueOffset (propriété ColorTransform.blueOffset) public blueOffset : Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de bleu après sa multiplication par la valeur blueMultiplier. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur blueOffset de 0 à 255. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.blueOffset); // 0 colorTrans.blueOffset = 255; trace(colorTrans.blueOffset); // 255 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } constructeur ColorTransform public ColorTransform([redMultiplier: Number], [greenMultiplier: Number], [blueMultiplier: Number], [alphaMultiplier: Number], [redOffset: Number], [greenOffset: Number], [blueOffset: Number], [alphaOffset: Number]) Crée un objet ColorTransform pour un objet d'affichage avec les paramètres RVB et alpha spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 456 Classes ActionScript Paramètres redMultiplier: Number [facultatif ] - Valeur du multiplicateur de rouge, comprise entre 0 et 1. La valeur par défaut est 1. [facultatif ] - Valeur du multiplicateur de vert, comprise entre 0 et 1. La valeur par défaut est 1. greenMultiplier: Number blueMultiplier: Number [facultatif ] - Valeur du multiplicateur de bleu, comprise entre 0 et 1. La valeur par défaut est 1. [facultatif ] - Valeur du multiplicateur de transparence alpha, comprise entre 0 et 1. La valeur par défaut est 1. alphaMultiplier: Number redOffset: Number [facultatif ] - Décalage de la valeur du canal de couleur rouge (-255 à 255). La valeur par défaut est 0. greenOffset: Number [facultatif ] - Décalage de la valeur du canal de couleur vert (-255 à 255). La valeur par défaut est 0. [facultatif ] - Décalage de la valeur du canal de couleur bleu (-255 à 255). La valeur par défaut est 0. blueOffset: Number alphaOffset: Number [facultatif ] - Décalage de la valeur du canal de transparence alpha (255 à 255). La valeur par défaut est 0. Exemple L'exemple suivant crée un objet ColorTransform intitulé greenTransform : var greenTransform:flash.geom.ColorTransform = new flash.geom.ColorTransform(0.5, 1.0, 0.5, 0.5, 10, 10, 10, 0); L'exemple suivant crée l'objet ColorTransform intitulé colorTrans_1 possédant les valeurs de constructeur par défaut. Le fait que colorTrans_1 et colorTrans_2 possèdent les mêmes valeurs est la preuve que les valeurs de constructeur par défaut sont utilisées. import flash.geom.ColorTransform; var colorTrans_1:ColorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0); trace(colorTrans_1); //(redMultiplier=1, greenMultiplier=1, blueMultiplier=1, alphaMultiplier=1, redOffset=0, greenOffset=0, blueOffset=0, alphaOffset=0) var colorTrans_2:ColorTransform = new ColorTransform(); trace(colorTrans_2); //(redMultiplier=1, greenMultiplier=1, blueMultiplier=1, alphaMultiplier=1, redOffset=0, greenOffset=0, blueOffset=0, alphaOffset=0) ColorTransform (flash.geom.ColorTransform) 457 concat (méthode ColorTransform.concat) public concat(second: ColorTransform) : Void Applique au clip une deuxième transformation additive de couleur. Le deuxième ensemble de paramètres de transformation est appliqué aux couleurs du clip une fois la première transformation terminée. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Deuxième objet ColorTransform devant être combiné avec l'objet ColorTransform actuel. second: ColorTransform Exemple L'exemple suivant concatène l'objet ColorTransform colorTrans_2 à colorTrans_1, ce qui donne un décalage complet de rouge combiné avec un multiplicateur alpha de 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans_1:ColorTransform = new ColorTransform(1, 1, 1, 1, 255, 0, 0, 0); trace(colorTrans_1); // (redMultiplier=1, greenMultiplier=1, blueMultiplier=1, alphaMultiplier=1, redOffset=255, greenOffset=0, blueOffset=0, alphaOffset=0) var colorTrans_2:ColorTransform = new ColorTransform(1, 1, 1, 0.5, 0, 0, 0, 0); trace(colorTrans_2); // (redMultiplier=1, greenMultiplier=1, blueMultiplier=1, alphaMultiplier=0.5, redOffset=0, greenOffset=0, blueOffset=0, alphaOffset=0) colorTrans_1.concat(colorTrans_2); trace(colorTrans_1); // (redMultiplier=1, greenMultiplier=1, blueMultiplier=1, alphaMultiplier=0.5, redOffset=255, greenOffset=0, blueOffset=0, alphaOffset=0) var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans_1; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; 458 Classes ActionScript var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } greenMultiplier (propriété ColorTransform.greenMultiplier) public greenMultiplier : Number Une valeur décimale multipliée par la valeur du canal de vert. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur greenMultiplier de 1 à 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.greenMultiplier); // 1 colorTrans.greenMultiplier = 0.5; trace(colorTrans.greenMultiplier); // 0,5 var rect:MovieClip = createRectangle(20, 80, 0x00FF00); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } ColorTransform (flash.geom.ColorTransform) 459 greenOffset (propriété ColorTransform.greenOffset) public greenOffset : Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de vert après sa multiplication par la valeur greenMultiplier. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur greenOffset de 0 à 255. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.greenOffset); // 0 colorTrans.greenOffset = 255; trace(colorTrans.greenOffset); // 255 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } redMultiplier (propriété ColorTransform.redMultiplier) public redMultiplier : Number Une valeur décimale multipliée par la valeur du canal de rouge. Disponibilité : ActionScript 1.0 ; Flash Player 8 460 Classes ActionScript Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur redMultiplier de 1 à 0,5. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.redMultiplier); // 1 colorTrans.redMultiplier = 0.5; trace(colorTrans.redMultiplier); // 0,5 var rect:MovieClip = createRectangle(20, 80, 0xFF0000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } redOffset (propriété ColorTransform.redOffset) public redOffset : Number Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de rouge après sa multiplication par la valeur redMultiplier. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur redOffset de 0 à 255. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.redOffset); // 0 ColorTransform (flash.geom.ColorTransform) 461 colorTrans.redOffset = 255; trace(colorTrans.redOffset); // 255 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } rgb (propriété ColorTransform.rgb) public rgb : Number La valeur de couleur RVB d'un objet ColorTransform. Quand vous définissez cette propriété, vous obtenez par conséquent un changement des trois valeurs de couleur (redOffset, greenOffset, et blueOffset) et une définition des trois valeurs de multiplicateurs de couleurs (redMultiplier, greenMultiplier, et blueMultiplier) sur zéro. Le multiplicateur de transparence alpha et les valeurs de décalage ne changent pas. Transmettez une valeur à cette propriété au format : 0xRRGGBB. Les valeurs RR, GG et BB se composent chacune de deux chiffres hexadécimaux qui spécifient le décalage de chaque composant de couleur. La valeur 0x indique au compilateur ActionScript que le nombre est une valeur hexadécimale. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et ajuste sa valeur rgb à 0xFF0000. import flash.geom.ColorTransform; import flash.geom.Transform; var colorTrans:ColorTransform = new ColorTransform(); trace(colorTrans.rgb); // 0 462 Classes ActionScript colorTrans.rgb = 0xFF0000; trace(colorTrans.rgb); // 16711680 trace("0x" + colorTrans.rgb.toString(16)); // 0xff0000 var rect:MovieClip = createRectangle(20, 80, 0x000000); var trans:Transform = new Transform(rect); trans.colorTransform = colorTrans; function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip { scope = (scope == undefined) ? this : scope; var depth:Number = scope.getNextHighestDepth(); var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth); mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); return mc; } toString (méthode ColorTransform.toString) public toString() : String Formate et renvoie une chaîne qui décrit l'ensemble des propriétés de l'objet ColorTransform. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée String - Chaîne répertoriant toutes les propriétés de l'objet ColorTransform. Exemple L'exemple suivant crée l'objet ColorTransform colorTrans et appelle sa méthode toSting(). Cette méthode donne une chaîne au format suivant : (redMultiplier=RM, greenMultiplier=GM, blueMultiplier=BM, alphaMultiplier=AM, redOffset=RO, greenOffset=GO, blueOffset=BO, alphaOffset=AO). import flash.geom.ColorTransform; var colorTrans:ColorTransform = new ColorTransform(1, 2, 3, 4, -255, -128, 128, 255); trace(colorTrans.toString()); // (redMultiplier=1, greenMultiplier=2, blueMultiplier=3, alphaMultiplier=4, redOffset=-255, greenOffset=-128, blueOffset=128, alphaOffset=255) ColorTransform (flash.geom.ColorTransform) 463 ContextMenu Object | +-ContextMenu public dynamic class ContextMenu extends Object La classe ContextMenu permet de contrôler à l'exécution les éléments du menu contextuel de Flash Player qui s'affichent lorsqu'un utilisateur clique avec le bouton droit (Windows) ou en appuyant sur la touche Contrôle (Macintosh) dans Flash Player. Vous pouvez utiliser les méthodes et les propriétés de la classe ContextMenu pour ajouter des éléments de menu personnalisés, contrôler l'affichage des éléments du menu contextuel intégrés (par exemple, Zoom avant et Imprimer) ou créer des copies de menus. Vous pouvez lier un objet ContextMenu à un bouton, clip ou objet de champ de texte spécifique, ou à un niveau d'animation entier. Pour ce faire, il vous suffit d'utiliser la propriété menu des classes Button, MovieClip ou TextField. Pour plus d'informations sur la propriété menu, consultez Button.menu, MovieClip.menu et TextField.menu. Pour ajouter de nouveaux articles à un objet ContextMenu, vous créez un objet et vous ajoutez ensuite cet objet au tableau ContextMenu.customItems. Pour plus d'informations sur la création d'éléments de menu contextuel, consultez l'entrée de la classe ContextMenuItem. ContextMenuItem Flash Player est doté de trois types de menus contextuels : le menu standard (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris dans Flash Player), le menu Edition (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris sur un champ de texte sélectionnable ou modifiable), et un menu d'erreur (qui s'affiche lorsque le chargement d'un fichier SWF dans Flash Player a échoué.) Seuls les menus standard et Edition peuvent être modifiés avec la classe ContextMenu. Les éléments de menu personnalisés s'affichent toujours dans la partie supérieure du menu contextuel de Flash Player, au-dessus des éléments de menu intégrés visibles ; une barre de séparation permet de faire la distinction entre les éléments de menu intégrés et personnalisés. Vous ne pouvez pas ajouter plus de 15 éléments personnalisés à un menu contextuel. Vous ne pouvez pas supprimer l'élément de menu Paramètres dans le menu contextuel. L'élément de menu Paramètres est requis dans Flash de manière à ce que les utilisateurs puissent accéder aux paramètres relatifs à la confidentialité et à l'enregistrement des données sur leurs ordinateurs. De même, vous ne pouvez pas supprimer l'élément de menu A propos de dans le menu contextuel : celui-ci est requis de manière à ce que les utilisateurs puissent connaître la version de Flash Player qu'ils utilisent. 464 Classes ActionScript Vous devez utiliser le constructeur new ContextMenu() pour créer un objet ContextMenu avant d'appeler ses méthodes. Disponibilité : ActionScript 1.0 ; Flash Player 7 Voir aussi ContextMenuItem, menu (propriété Button.menu), menu (propriété MovieClip.menu), menu (propriété TextField.menu) Résumé des propriétés Modificateurs Propriété Description builtInItems: Object Un objet ayant les propriétés booléennes suivantes : zoom, quality, play, loop, rewind, forward_back, et print. customItems: Array Un tableau d'objets ContextMenuItem. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé des événements Evénement Description onSelect = Appelé lorsqu'un utilisateur invoque le menu contextuel de Flash Player, mais avant que le menu ne s'affiche. function(item: Object, item_menu: Object) {} Récapitulatif des constructeurs Signature Description ContextMenu([callba Crée un nouvel objet ContextMenu. ckFunction: Function]) ContextMenu 465 Résumé de la méthode Modificateurs Signature copy() : Description Crée une copie de l'objet ContextMenu spécifié. ContextMenu hideBuiltInItems() : Void Masque tous les éléments de menu intégrés (à l'exception de Paramètres) dans l'objet ContextMenu spécifié. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) builtInItems (propriété ContextMenu.builtInItems) public builtInItems : Object Un objet ayant les propriétés booléennes suivantes : zoom, quality, play, loop, rewind, forward_back, et print. La définition de ces variables sur false supprime les éléments de menu correspondants sur l'objet ContextMenu spécifié. Ces propriétés sont énumérables et définies sur true par défaut. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple Dans cet exemple, les éléments de menu intégrés Qualité et Imprimer sont désactivés pour l'objet ContextMenu intitulé my_cm, associé au scénario actuel du fichier SWF. var my_cm:ContextMenu = new ContextMenu(); my_cm.builtInItems.quality=false; my_cm.builtInItems.print=false; this.menu = my_cm; Remarque :Vous ne pouvez pas désactiver les éléments de menu Paramètres ou A propos de dans le menu contextuel. Dans l'exemple suivant, une boucle for..in énumère tous les noms et toutes les valeurs des éléments de menu intégrés de l'objet ContextMenu, my_cm. var my_cm:ContextMenu = new ContextMenu(); for(eachProp in my_cm.builtInItems) { var propName = eachProp; 466 Classes ActionScript var propValue = my_cm.builtInItems[propName]; trace(propName + ": " + propValue); } constructeur ContextMenu public ContextMenu([callbackFunction: Function]) Crée un nouvel objet ContextMenu. Vous pouvez également spécifier un identifiant pour un gestionnaire d'événements lorsque vous créez l'objet. La fonction spécifiée est appelée lorsque l'utilisateur invoque le menu contextuel, mais avant que le menu ne s'affiche. Cette fonction s'avère utile pour personnaliser le contenu du menu en fonction de l'état de l'application ou du type d'objet (clip, champ de texte ou bouton) ou du scénario sur lequel l'utilisateur a cliqué avec le bouton droit de la souris ou avec la touche Contrôle. (Voir ContextMenu.onSelect pour un exemple de création de gestionnaire d'événements.) Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres callbackFunction: Function [facultatif ] - Référence à une fonction qui est appelée lorsque l'utilisateur clique avec le bouton droit de la souris ou maintient la touche Contrôle enfoncée, avant que le menu s'affiche. Exemple L'exemple suivant masque tous les objets intégrés dans le menu contextuel. (Toutefois, les éléments Paramètres et A propos de s'affichent toujours car ils ne peuvent pas être désactivés.) var newMenu:ContextMenu = new ContextMenu(); newMenu.hideBuiltInItems(); this.menu = newMenu; Dans cet exemple, le gestionnaire d'événements spécifié, menuHandler, active ou désactive un élément de menu personnalisé (à l'aide du tableau ContextMenu.customItems) selon la valeur d'une variable booléenne intitulée showItem. Si la valeur est false, l'élément de menu personnalisé est désactivé ; dans le cas contraire, il est activé. var showItem = true; // Modification sur false pour la suppression var my_cm:ContextMenu = new ContextMenu(menuHandler); my_cm.customItems.push(new ContextMenuItem("Hello", itemHandler)); function menuHandler(obj, menuObj) { if (showItem == false) { menuObj.customItems[0].enabled = false; } else { menuObj.customItems[0].enabled = true; } } ContextMenu 467 function itemHandler(obj, item) { //...placer le code ici... trace("selected!"); } this.menu = my_cm; Lorsque l'utilisateur clique avec le bouton droit de la souris ou maintient la touche Contrôle enfoncée dans la scène, le menu personnalisé s'affiche. Voir aussi menu (propriété Button.menu), onSelect (gestionnaire ContextMenu.onSelect), customItems (propriété ContextMenu.customItems), hideBuiltInItems (méthode ContextMenu.hideBuiltInItems), menu (propriété MovieClip.menu), menu (propriété TextField.menu) copy (méthode ContextMenu.copy) public copy() : ContextMenu Crée une copie de l'objet ContextMenu spécifié. La copie hérite de toutes les propriétés de l'objet de menu original. Disponibilité : ActionScript 1.0 ; Flash Player 7 Valeur renvoyée ContextMenu - Objet ContextMenu. Exemple Cet exemple crée une copie de l'objet ContextMenu intitulé my_cm, dont les éléments de menu intégrés sont masqués, puis ajoute un élément de menu avec le texte « Enregistrer... ». Il crée ensuite une copie de my_cm et l'affecte à la variable clone_cm qui hérite de toutes les propriétés du menu d'origine. var my_cm:ContextMenu = new ContextMenu(); my_cm.hideBuiltInItems(); var menuItem_cmi:ContextMenuItem = new ContextMenuItem("Save...", saveHandler); my_cm.customItems.push(menuItem_cmi); function saveHandler(obj, menuItem) { // saveDocument(); // fonction personnalisée (non affichée) trace("something"); } clone_cm = my_cm.copy(); this.menu = my_cm; for (var i in clone_cm.customItems) { 468 Classes ActionScript trace("clone_cm-> "+clone_cm.customItems[i].caption); } for (var i in my_cm.customItems) { trace("my_cm-> "+my_cm.customItems[i].caption); } customItems (propriété ContextMenu.customItems) public customItems : Array Un tableau d'objets ContextMenuItem. Chaque objet du tableau représente un élément de menu contextuel que vous avez défini. Utilisez cette propriété pour ajouter, supprimer ou modifier ces éléments de menu personnalisés. Pour ajouter de nouveaux éléments de menu, commencez par créer un nouvel objet ContextMenuItem, puis ajoutez-le dans le tableau menu_mc .customItems (par exemple, via Array.push()). Pour plus d'informations sur la création de nouveaux éléments de menu, consultez l'entrée de la classe ContextMenuItem. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant crée un nouvel élément de menu personnalisé intitulé menuItem_cmi ayant pour titre « Send e-mail » et un gestionnaire de rappel intitulé emailHandler. Le nouvel élément de menu est ensuite ajouté à l'objet ContextMenu my_cm à l'aide du tableau customItems. Enfin, le nouveau menu est associé à un clip intitulé email_mc. Pour faire fonctionner cet exemple, créez une occurrence de clip sur votre scène et utilisez l'inspecteur Propriétés pour nommer l'occurrence email_mc. En mode Tester l'animation, le nouvel élément de menu contextuel s'affiche si vous ouvrez le menu contextuel lorsque votre pointeur survole le clip email_mc. var my_cm:ContextMenu = new ContextMenu(); var menuItem_cmi:ContextMenuItem = new ContextMenuItem("Send e-mail", emailHandler); my_cm.customItems.push(menuItem_cmi); email_mc.menu = my_cm; function emailHandler() { trace("sending email"); } Voir aussi menu (propriété Button.menu), menu (propriété MovieClip.menu), menu (propriété TextField.menu), push (méthode Array.push) ContextMenu 469 hideBuiltInItems (méthode ContextMenu.hideBuiltInItems) public hideBuiltInItems() : Void Masque tous les éléments de menu intégrés (à l'exception de Paramètres) dans l'objet ContextMenu spécifié. Si le débogueur de Flash Player s'exécute, l'élément de menu Débogage apparaît, bien qu'il soit grisé pour les fichiers SWF sur lesquels le débogage à distance n'est pas activé. Cette méthode masque uniquement les éléments de menu qui s'affichent dans le menu contextuel standard ; elle n'affecte pas les éléments qui s'affichent dans les menus Edition ou d'erreur. Cette méthode règle tous les membres booléens de my_cm .builtInItems sur false. Vous pouvez rendre visible un élément intégré de façon sélective en définissant son membre correspondant dans my_cm .builtInItems sur true (comme illustré dans l'exemple suivant). Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant crée un nouvel objet ContextMenu, intitulé my_cm dont les éléments de menu intégrés sont masqués, à l'exception de Imprimer. L'objet Menu est associé au scénario actuel. var my_cm:ContextMenu = new ContextMenu(); my_cm.hideBuiltInItems(); my_cm.builtInItems.print = true; this.menu = my_cm; onSelect (gestionnaire ContextMenu.onSelect) onSelect = function(item: Object, item_menu: Object) {} Appelé lorsqu'un utilisateur invoque le menu contextuel de Flash Player, mais avant que le menu ne s'affiche. Ce gestionnaire d'événements permet de personnaliser le contenu du menu contextuel en fonction de l'état de l'application actuelle. Il est également possible de spécifier le gestionnaire de rappel d'un objet ContextMenu lors de la construction d'un nouvel objet ContextMenu. Pour plus d'informations, consultez l'entrée onSelect de ContextMenuItem. Disponibilité : ActionScript 1.0 ; Flash Player 7 470 Classes ActionScript Paramètres - Référence à l'objet (clip, bouton ou champ de texte sélectionnable) qui était sous le pointeur de la souris quand le menu contextuel Flash Player a été invoqué et dont la propriété menu est définie sur un objet ContextMenu valide. item: Object item_menu: Object - Référence à l'objet ContextMenu affecté à la propriété menu de object. Exemple L'exemple suivant détermine le type d'objet à l'origine de l'appel du menu contextuel. my_cm:ContextMenu = new ContextMenu(); function menuHandler(obj:Object, menu:ContextMenu) { if(obj instanceof MovieClip) { trace("Movie clip: " + obj); } if(obj instanceof TextField) { trace("Text field: " + obj); } if(obj instanceof Button) { trace("Button: " + obj); } } my_cm.onSelect = menuHandler; my_mc.menu = my_cm; my_btn.menu = my_cm; ContextMenuItem Object | +-ContextMenuItem public dynamic class ContextMenuItem extends Object La classe ContextMenuItem vous permet de créer des éléments de menu personnalisés afin qu'ils s'affichent dans le menu contextuel de Flash Player. Chaque objet ContextMenuItem est doté d'une légende (texte) qui s'affiche dans le menu contextuel, et d'un gestionnaire de rappel (une fonction) qui est appelé lorsque l'élément de menu est sélectionné. Pour ajouter un nouvel élément de menu contextuel dans un menu contextuel, il vous suffit de l'ajouter dans le tableau customItems d'un objet ContextMenu. Vous pouvez activer ou désactiver des éléments de menu spécifiques, rendre des éléments visibles ou invisibles, ou encore modifier la légende ou le gestionnaire de rappel associé(e) à un élément de menu. ContextMenuItem 471 Les éléments de menu personnalisés s'affichent dans la partie supérieure du menu contextuel, au-dessus des éléments intégrés. Une barre de séparation sépare toujours les éléments de menu personnalisés des éléments intégrés. Vous ne pouvez pas ajouter plus de 15 éléments personnalisés à un menu contextuel. Chaque élément doit contenir au moins un caractère visible ; les caractères de contrôle, de nouvelle ligne et autres espaces blancs sont ignorés. Aucun élément ne peut contenir plus de 100 caractères. Les éléments identiques à un élément de menu intégré, ou à un autre élément personnalisé, sont ignorés, indépendamment du fait que l'élément correspondant soit visible ou non. Les éléments de menu sont comparés sans respecter la casse, la ponctuation ou les espaces blancs. Les mots suivants ne peuvent pas apparaître dans un élément personnalisé : Macromedia, Flash Player et Paramètres. Disponibilité : ActionScript 1.0 ; Flash Player 7 Résumé des propriétés Modificateurs Propriété Description caption: String Chaîne spécifiant la légende (texte) de l'élément de menu qui s'affiche dans le menu contextuel. enabled: Boolean Valeur booléenne indiquant si l'élément de menu spécifié est activé ou désactivé. separatorBefore: Valeur booléenne indiquant si une barre de séparation doit apparaître au-dessus de l'élément de menu spécifié. Boolean visible: Boolean Valeur booléenne indiquant si l'élément de menu spécifié est visible lorsque le menu contextuel de Flash Player s'affiche. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé des événements Evénement Description onSelect = Appelé lorsque l'élément de menu spécifié est sélectionné dans le menu contextuel de Flash Player. function(obj: Object, menuItem: Object) {} 472 Classes ActionScript Récapitulatif des constructeurs Signature Description ContextMenuItem(cap Crée un objet ContextMenuItem pouvant être ajouté au tableau ContextMenu.customItems. tion: String, callbackFunction: Function, [separatorBefore: Boolean], [enabled: Boolean], [visible: Boolean]) Résumé de la méthode Modificateurs Signature copy() : ContextMenuItem Description Crée et renvoie une copie de l'objet ContextMenuItem spécifié. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) caption (propriété ContextMenuItem.caption) public caption : String Chaîne spécifiant la légende (texte) de l'élément de menu qui s'affiche dans le menu contextuel. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant affiche la légende de l'élément de menu sélectionné (Pause jeu) dans le panneau de sortie : var my_cm:ContextMenu = new ContextMenu(); var menuItem_cmi:ContextMenuItem = new ContextMenuItem("Pause Game", onPause); my_cm.customItems.push(menuItem_cmi); function onPause(obj, menuItem) { trace("You chose: " + menuItem.caption); ContextMenuItem 473 } this.menu = my_cm; constructeur ContextMenuItem public ContextMenuItem(caption: String, callbackFunction: Function, [separatorBefore: Boolean], [enabled: Boolean], [visible: Boolean]) Crée un objet ContextMenuItem pouvant être ajouté au tableau ContextMenu.customItems. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres caption: String - Chaîne spécifiant le texte associé à l'élément de menu. callbackFunction: Function - Fonction que vous définissez, appelée lorsque l'élément de menu est sélectionné. [facultatif ] - Valeur booléenne indiquant si une barre de séparation doit apparaître au-dessus de l'élément de menu du menu contextuel. La valeur par défaut est false. separatorBefore: Boolean enabled: Boolean [facultatif ] - Valeur booléenne indiquant si l'élément de menu est activé ou désactivé dans le menu contextuel. La valeur par défaut est true. [facultatif ] - Valeur booléenne indiquant si l'élément de menu est visible ou invisible. La valeur par défaut est true. visible: Boolean Exemple Cet exemple ajoute les éléments de menu Démarrer et Arrêter, séparés par une barre, à l'objet ContextMenu my_cm. La fonction startHandler() est appelée quand Démarrer est sélectionné dans le menu contextuel ; stopHandler() est appelé quand Arrêter est sélectionné. L'objet ContextMenu est appliqué au scénario actuel. var my_cm:ContextMenu = new ContextMenu(); my_cm.customItems.push(new ContextMenuItem("Start", startHandler)); my_cm.customItems.push(new ContextMenuItem("Stop", stopHandler, true)); function stopHandler(obj, item) { trace("Stopping..."); } function startHandler(obj, item) { trace("Starting..."); } this.menu = my_cm; 474 Classes ActionScript copy (méthode ContextMenuItem.copy) public copy() : ContextMenuItem Crée et renvoie une copie de l'objet ContextMenuItem spécifié. La copie inclut toutes les propriétés de l'objet original. Disponibilité : ActionScript 1.0 ; Flash Player 7 Valeur renvoyée ContextMenuItem - Objet ContextMenuItem. Exemple Cet exemple crée un nouvel objet ContextMenuItem intitulé original_cmi incluant la légende Pause et un gestionnaire de rappel défini sur la fonction onPause. L'exemple crée ensuite une copie de l'objet ContextMenuItem et l'affecte à la variable copy_cmi. var original_cmi:ContextMenuItem = new ContextMenuItem("Pause", onPause); function onPause(obj:Object, menu:ContextMenu) { trace("pause me"); } var copy_cmi:ContextMenuItem = original_cmi.copy(); var my_cm:ContextMenu = new ContextMenu(); my_cm.customItems.push(original_cmi); my_cm.customItems.push(copy_cmi); my_mc.menu = my_cm; enabled (propriété ContextMenuItem.enabled) public enabled : Boolean Valeur booléenne indiquant si l'élément de menu spécifié est activé ou désactivé. Par défaut, cette propriété est définie sur true. Disponibilité : ActionScript 1.0 ; Flash Player 7 ContextMenuItem 475 Exemple L'exemple suivant crée deux nouveaux éléments de menu contextuel : Start et Stop. Lorsque l'utilisateur sélectionne Start, le nombre de millisecondes écoulées depuis l'ouverture du fichier SWF est analysé. L'élément Start est ensuite désactivé dans le menu. Lorsque Stop est sélectionné, le nombre de millisecondes écoulées depuis l'ouverture du fichier SWF est analysé. L'élément de menu Start est de nouveau activé et l'élément de menu Stop est désactivé. var my_cm:ContextMenu = new ContextMenu(); var startMenuItem:ContextMenuItem = new ContextMenuItem("Start", startHandler); startMenuItem.enabled = true; my_cm.customItems.push(startMenuItem); var stopMenuItem:ContextMenuItem = new ContextMenuItem("Stop", stopHandler, true); stopMenuItem.enabled = false; my_cm.customItems.push(stopMenuItem); function stopHandler(obj, item) { trace("Stopping... "+getTimer()+"ms"); startMenuItem.enabled = true; stopMenuItem.enabled = false; } function startHandler(obj, item) { trace("Starting... "+getTimer()+"ms"); startMenuItem.enabled = false; stopMenuItem.enabled = true; } this.menu = my_cm; onSelect (gestionnaire ContextMenuItem.onSelect) onSelect = function(obj: Object, menuItem: Object) {} Appelé lorsque l'élément de menu spécifié est sélectionné dans le menu contextuel de Flash Player. Le gestionnaire de rappel spécifié reçoit deux paramètres : obj, une référence à l'objet affiché sous la souris lorsque l'utilisateur a appelé le menu contextuel de Flash Player, et item, une référence à l'objet ContextMenuItem qui représente l'élément de menu sélectionné. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres - Référence à l'objet (clip, scénario, bouton ou champ de texte sélectionnable) sur lequel l'utilisateur fait un clic droit ou Contrôle+clic. obj: Object menuItem: Object 476 - Référence à l'objet ContextMenuItem sélectionné. Classes ActionScript Exemple L'exemple suivant détermine le type d'objet à l'origine de l'appel du menu contextuel. var my_cmi:ContextMenu = new ContextMenu(); var start_cmi:ContextMenuItem = new ContextMenuItem("Start"); start_cmi.onSelect = function(obj, item) { trace("You chose: "+item.caption); }; my_cmi.customItems.push(start_cmi); my_cmi.customItems.push(new ContextMenuItem("Stop", stopHandler, true)); function stopHandler(obj, item) { trace("Stopping..."); } this.menu = my_cmi; Voir aussi onSelect (gestionnaire ContextMenu.onSelect) separatorBefore (propriété ContextMenuItem.separatorBefore) public separatorBefore : Boolean Valeur booléenne indiquant si une barre de séparation doit apparaître au-dessus de l'élément de menu spécifié. Par défaut, cette propriété est définie sur false. Remarque :une barre de séparation apparaît toujours entre les éléments de menu personnalisés et les éléments de menu intégrés. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple Cet exemple crée trois éléments de menu, intitulés Open, Save et Print. Une barre de séparation sépare les éléments Save et Print. Les éléments de menu sont ensuite ajoutés au tableau customItems de l'objet ContextMenu. Enfin, le menu est associé au scénario actuel du fichier SWF. var my_cm:ContextMenu = new ContextMenu(); var open_cmi:ContextMenuItem = new ContextMenuItem("Open", itemHandler); var save_cmi:ContextMenuItem = new ContextMenuItem("Save", itemHandler); var print_cmi:ContextMenuItem = new ContextMenuItem("Print", itemHandler); print_cmi.separatorBefore = true; my_cm.customItems.push(open_cmi, save_cmi, print_cmi); function itemHandler(obj, menuItem) { trace("You chose: " + menuItem.caption); }; this.menu = my_cm; ContextMenuItem 477 Voir aussi onSelect (gestionnaire ContextMenu.onSelect) visible (propriété ContextMenuItem.visible) public visible : Boolean Valeur booléenne indiquant si l'élément de menu spécifié est visible lorsque le menu contextuel de Flash Player s'affiche. Par défaut, cette propriété est définie sur true. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple L'exemple suivant crée deux nouveaux éléments de menu contextuel : Start et Stop. Lorsque l'utilisateur sélectionne Start, le nombre de millisecondes écoulées depuis l'ouverture du fichier SWF s'affiche. L'élément Start est ensuite rendu invisible dans le menu. Lorsque Stop est sélectionné, le nombre de millisecondes écoulées depuis l'ouverture du fichier SWF s'affiche. L'élément de menu Start devient visible et l'élément de menu Stop est rendu invisible. var my_cm:ContextMenu = new ContextMenu(); var startMenuItem:ContextMenuItem = new ContextMenuItem("Start", startHandler); startMenuItem.visible = true; my_cm.customItems.push(startMenuItem); var stopMenuItem:ContextMenuItem = new ContextMenuItem("Stop", stopHandler, true); stopMenuItem.visible = false; my_cm.customItems.push(stopMenuItem); function stopHandler(obj, item) { trace("Stopping... "+getTimer()+"ms"); startMenuItem.visible = true; stopMenuItem.visible = false; } function startHandler(obj, item) { trace("Starting... "+getTimer()+"ms"); startMenuItem.visible = false; stopMenuItem.visible = true; } this.menu = my_cm; 478 Classes ActionScript ConvolutionFilter (flash.filters.ConvolutionFilter) Object | +- BitmapFilter | +-flash.filters.ConvolutionFilter public class ConvolutionFilter extends BitmapFilter La classe ConvolutionFilter applique un effet de filtre de convolution de matrice. Une convolution associe les pixels de l'image d'entrée aux pixels environnants pour produire une image. Les convolutions permettent d'effectuer de nombreuses opérations de traitement de l'image, notamment la définition du flou, la détection de contour, l'accentuation, l'estampage et le biseautage. Vous pouvez appliquer cet effet aux bitmaps et aux occurrences MovieClip. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■ ■ Pour appliquer des filtres aux clips lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel de applyFilter() pour un objet BitmapData génère une image filtrée à partir de l'objet BitmapData source et de l'objet filtre. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Une convolution de matrice s'articule autour d'une matrice n par m, qui décrit la façon dont une valeur de pixels donnée dans l'image d'entrée est associée aux valeurs des pixels environnants pour obtenir une nouvelle valeur de pixels. Chaque pixel obtenu est déterminé par l'application de la matrice au pixel source correspondant et à ses pixels environnants. Pour une convolution de matrice 3 par 3, la formule suivante est utilisée pour chaque canal de couleur indépendant : dst (x, y) = ((src (x-1, y-1) * a0 + src(x, y-1) * a1.... src(x, y+1) * a7 + src (x+1,y+1) * a8) / divisor) + bias ConvolutionFilter (flash.filters.ConvolutionFilter) 479 Lorsque le processeur utilisé pour l'exécution des spécifications de filtre est doté d'extensions Streaming SIMD (SSE), certaines d'entre-elles s'exécutent plus rapidement. ■ Le filtre doit être un filtre 3 par 3. ■ Tous les termes du filtre doivent être des entiers compris entre -127 et +127. ■ La valeur absolue correspondant à la somme de tous les termes du filtre ne doit pas être supérieure à 127. ■ Si un terme de filtre est négatif, le diviseur doit être compris entre 2,00001 et 256. ■ Si tous les termes de filtre sont positifs, le diviseur doit être compris entre 1,1 et 256. ■ L'écart doit être un entier. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel le filtre est appliqué, le filtre est désactivé si l'image résultante atteint la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi applyFilter (méthode BitmapData.applyFilter), filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap) Résumé des propriétés Modificateurs Propriété 480 Description alpha: Number La valeur de transparence alpha de la couleur de substitution. bias: Number Écart à ajouter au résultat de la transformation de matrice. clamp: Boolean Indique si l'image doit être corrigée. color: Number La couleur hexadécimale à substituer aux pixels provenant de l'image source. divisor: Number Le diviseur utilisé pendant la transformation de matrice. matrix: Array Le tableau de valeurs utilisé pour la transformation de matrice ; renvoie une copie. matrixX: Number La dimension x de la matrice (le nombre de colonnes de la matrice). Classes ActionScript Modificateurs Propriété Description matrixY: Number La dimension y de la matrice (le nombre de lignes de la matrice). preserveAlpha: Indique ce à quoi la convolution s'applique. Boolean Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description ConvolutionFilter(matrixX: Number, matrixY: Initialise une occurrence ConvolutionFilter Number, matrix: Array, [divisor: Number], avec les paramètres spécifiés. [bias: Number], [preserveAlpha: Boolean], [clamp: Boolean], [color: Number], [alpha: Number]) Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. ConvolutionFilter Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) ConvolutionFilter (flash.filters.ConvolutionFilter) 481 alpha (propriété ConvolutionFilter.alpha) public alpha : Number La valeur de transparence alpha de la couleur de substitution. Les valeurs valides sont comprises entre 0 et 1,0. La valeur par défaut est zéro. Par exemple, 0,25 définit une valeur de transparence de 25 %. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant fait passer la propriété alpha de filter de sa valeur par défaut (1) à 0,35. import import import import flash.filters.ConvolutionFilter; flash.display.BitmapData; flash.geom.Rectangle; flash.geom.Point; var alpha:Number = 0.35; var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0, true, false, 0x0000FF, alpha); var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128, 0, 255, 1 | 2 | 4 | 8, false); mc.onPress = function() { myBitmapData.applyFilter(myBitmapData, new Rectangle(0, 0, 98, 78), new Point(2, 2), filter); } bias (propriété ConvolutionFilter.bias) public bias : Number Écart à ajouter au résultat de la transformation de matrice. La valeur par défaut est 0. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant fait passer la propriété bias de filter de sa valeur par défaut (0) à 50. import flash.filters.ConvolutionFilter; import flash.display.BitmapData; var bias:Number = 50; 482 Classes ActionScript var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, bias); var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128); mc.onPress = function() { myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } clamp (propriété ConvolutionFilter.clamp) public clamp : Boolean Indique si l'image doit être corrigée. Pour les pixels provenant de l'image source, la valeur true indique que l'image d'entrée est agrandie autant que nécessaire au niveau de ses bordures en dupliquant les valeurs de couleur sur le bord donné. La valeur false indique qu'il faut utiliser une autre couleur, comme spécifié dans les propriétés color et alpha. La valeur par défaut est true. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée deux boîtes à l'aide de la classe BitmapData, la taille de l'une correspondant à la moitié de l'autre. Lors du premier chargement de l'exemple, la boîte de plus grande taille est dessinée dans le clip mc à l'aide de la méthode attachBitmap(). Lorsque l'utilisateur clique sur mc et que la méthode applyFilter() est appelée, l'occurrence largeBox de la classe BitmapData est redessiné avec smallBox en tant que bitmap source. Etant donné que la méthode applyFilter() trace la smallBox sur un Rectangle dont la largeur et la hauteur sont spécifiées comme étant celles de la largeBox, le bitmap source est plus petit que la zone de dessin. Dans ce cas, la propriété clamp du filtre ConvolutionFilter est définie sur false et la zone non recouverte par le bitmap source, smallBox, est représenté en rouge uni, comme déterminé par les variables clampColor et clampAlpha. import import import import flash.filters.ConvolutionFilter; flash.display.BitmapData; flash.geom.Rectangle; flash.geom.Point; // Variables affectant le verrouillage : var clamp:Boolean = false; ConvolutionFilter (flash.filters.ConvolutionFilter) 483 var clampColor:Number = 0xFF0000; var clampAlpha:Number = 1; // Par exemple, ne modifiez pas les autres variables ConvolutionFilter : var bias:Number = 0; var preserveAlpha:Boolean = true; // Créer une matrice neutre var matrixCols:Number = 3; var matrixRows:Number = 3; var matrix:Array = [ 1,1,1, 1,1,1, 1,1,1 ]; var filter:ConvolutionFilter = new ConvolutionFilter(matrixCols, matrixRows, matrix, matrix.length, bias, preserveAlpha, clamp, clampColor, clampAlpha); var largeBoxWidth:Number = 100; var largeBoxHeight:Number = 100; var largeBox:BitmapData = new BitmapData(largeBoxWidth, largeBoxWidth, true, 0xCC00FF00); var smallBoxWidth:Number = largeBoxWidth / 2; var smallBoxHeight:Number = largeBoxHeight / 2; var smallBox:BitmapData = new BitmapData(smallBoxWidth, smallBoxWidth, true, 0xCC0000FF); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(largeBox, this.getNextHighestDepth()); mc.onPress = function() { largeBox.applyFilter(smallBox, new Rectangle(0,0, largeBoxWidth, largeBoxHeight), new Point(0,0), filter); } clone (méthode ConvolutionFilter.clone) public clone() : ConvolutionFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée ConvolutionFilter - Nouvelle occurrence ConvolutionFilter dont les propriétés sont toutes identiques à celles de l'occurrence d'origine. 484 Classes ActionScript Exemple L'exemple suivant crée trois objets ConvolutionFilter et les compare : filter_1 est créé en utilisant le constructeur ConvolutionFilter ; filter_2 est créé en le définissant comme égal à filter_1; et clonedFilter est créé en clonant filter_1. Veuillez noter que filter_2 est considéré comme égal à filter_1, clonedFilter, même s'il contient les mêmes valeurs que filter_1, ne l'est pas. import flash.filters.ConvolutionFilter; var filter_1:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9); var filter_2:ConvolutionFilter = filter_1; var clonedFilter:ConvolutionFilter = filter_1.clone(); trace(filter_1 == filter_2); // true trace(filter_1 == clonedFilter); // false for(var i in filter_1) { trace(">> " + i + ": " + filter_1[i]); // >> clone: [type Function] // >> alpha: 0 // >> color: 0 // >> clamp: true // >> preserveAlpha: true // >> bias: 0 // >> divisor: 9 // >> matrix: 1,1,1,1,1,1,1,1,1 // >> matrixY: 3 // >> matrixX: 3 } for(var i in clonedFilter) { trace(">> " + i + ": " + clonedFilter[i]); // >> clone: [type Function] // >> alpha: 0 // >> color: 0 // >> clamp: true // >> preserveAlpha: true // >> bias: 0 // >> divisor: 9 // >> matrix: 1,1,1,1,1,1,1,1,1 // >> matrixY: 3 // >> matrixX: 3 } ConvolutionFilter (flash.filters.ConvolutionFilter) 485 Pour illustrer plus précisément la relation entre filter_1, filter_2 et clonedFilter, l'exemple suivant modifie la propriété bias de filter_1. La modification de bias démontre que la méthode clone() crée une nouvelle occurrence basée sur les valeurs de filter_1 au lieu de faire référence à ces valeurs. import flash.filters.ConvolutionFilter; var filter_1:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9); var filter_2:ConvolutionFilter = filter_1; var clonedFilter:ConvolutionFilter = filter_1.clone(); trace(filter_1.bias); // 0 trace(filter_2.bias); // 0 trace(clonedFilter.bias); // 0 filter_1.bias = 20; trace(filter_1.bias); // 20 trace(filter_2.bias); // 20 trace(clonedFilter.bias); // 0 color (propriété ConvolutionFilter.color) public color : Number La couleur hexadécimale à substituer aux pixels provenant de l'image source. C'est une valeur RVB sans composant alpha. La valeur par défaut est 0. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant change la propriété color de filter de sa valeur par défaut (0) à 0xFF0000. import import import import flash.filters.ConvolutionFilter; flash.display.BitmapData; flash.geom.Rectangle; flash.geom.Point; var color:Number = 0x0000FF; var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0, true, false, color, 1); var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128, 0, 255, 1 | 2 | 4 | 8, false); 486 Classes ActionScript var height:Number = 100; var width:Number = 80; mc.onPress = function() { height -= 2; width -= 2; myBitmapData.applyFilter(myBitmapData, new Rectangle(0, 0, height, width), new Point(2, 2), filter); } constructeur ConvolutionFilter() public ConvolutionFilter(matrixX: Number, matrixY: Number, matrix: Array, [divisor: Number], [bias: Number], [preserveAlpha: Boolean], [clamp: Boolean], [color: Number], [alpha: Number]) Initialise une occurrence ConvolutionFilter avec les paramètres spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - Dimension x de la matrice (le nombre de colonnes de la matrice). La valeur par défaut est 0. matrixX: Number matrixY: Number - Dimension y de la matrice (le nombre de lignes de la matrice). La valeur par défaut est 0. - Tableau de valeurs utilisé pour la transformation de matrice ; renvoie une copie. Le nombre d'éléments contenus dans le tableau doit être égal à matrixX*matrixY. matrix: Array divisor: Number [facultatif ] - Diviseur utilisé pendant la transformation de matrice. La valeur par défaut est 1. Le diviseur correspondant à la somme de toutes les valeurs de matrice égalise l'intensité de couleurs globale du résultat. La valeur 0 est ignorée ; elle est remplacée par la valeur par défaut. [facultatif ] - Ecart à ajouter au résultat de la transformation de matrice. La valeur par défaut est 0. bias: Number [facultatif ] - La valeur false indique que la convolution s'applique à tous les canaux, y compris le canal alpha. La valeur true indique que la convolution s'applique uniquement aux canaux de couleur. La valeur par défaut est true. preserveAlpha: Boolean clamp: Boolean [facultatif ] - Pour les pixels provenant de l'image source, la valeur true indique que l'image d'entrée est agrandie autant que nécessaire au niveau de ses bordures en dupliquant les valeurs de couleur sur le bord spécifié de l'image d'entrée. La valeur false indique qu'il faut utiliser une autre couleur, comme spécifié dans les propriétés color et alpha. La valeur par défaut est true. ConvolutionFilter (flash.filters.ConvolutionFilter) 487 color: Number [facultatif ] - Couleur hexadécimale à substituer aux pixels provenant de l'image source. alpha: Number [facultatif ] - Valeur alpha de la couleur de substitution. Exemple Le code suivant crée un filtre de convolution 3 x 3 avec un diviseur de 9. Le filtre produit une image floue : var myArray:Array = [1, 1, 1, 1, 1, 1, 1, 1, 1]; var myFilter:ConvolutionFilter = new flash.filters.ConvolutionFilter (3, 3, myArray, 9); L'exemple suivant crée un objet ConvolutionFilter à l'aide des quatre paramètres requis matrixX, matrixY, matrix, et divisor. import flash.filters.ConvolutionFilter; import flash.display.BitmapData; var var var var matrixX:Number matrixY:Number matrix:Array = divisor:Number = 3; = 3; [1, 1, 1, 1, 1, 1, 1, 1, 1]; = 9; var filter:ConvolutionFilter = new ConvolutionFilter(matrixX, matrixY, matrix, divisor); var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128); mc.onPress = function() { myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } 488 Classes ActionScript divisor (propriété ConvolutionFilter.divisor) public divisor : Number Le diviseur utilisé pendant la transformation de matrice. La valeur par défaut est 1. Le diviseur correspondant à la somme de toutes les valeurs de matrice égalise l'intensité de couleurs globale du résultat. La valeur 0 est ignorée ; elle est remplacée par la valeur par défaut. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant fait passer la propriété divisor de filter à 6. import flash.filters.ConvolutionFilter; import flash.display.BitmapData; var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9); var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128); mc.onPress = function() { var newDivisor:Number = 6; filter.divisor = newDivisor; myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } matrix (propriété ConvolutionFilter.matrix) public matrix : Array Le tableau de valeurs utilisé pour la transformation de matrice ; renvoie une copie. Le nombre d'éléments contenus dans le tableau doit être égal à matrixX*matrixY. La propriété matrix ne peut pas être changée directement en modifiant les valeurs (par exemple, myFilter.matrix[2] = 1;). Vous devez plutôt, comme l'illustre l'exemple suivant, donner une référence au tableau, effectuer le changement de la référence, et restaurer la valeur en utilisant filter.matrix = newMatrix;. Disponibilité : ActionScript 1.0 ; Flash Player 8 ConvolutionFilter (flash.filters.ConvolutionFilter) 489 Exemple L'exemple suivant change la propriété matrix de filter d'une valeur qui estompe un bitmap en une valeur qui lui donne plus de contraste. import flash.filters.ConvolutionFilter; import flash.display.BitmapData; var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9); var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00FF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128); mc.onPress = function() { var newMatrix:Array = [0, -1, 0, -1, 8, -1, 0, -1, 0]; filter.matrix = newMatrix; myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } matrixX (propriété ConvolutionFilter.matrixX) public matrixX : Number La dimension x de la matrice (le nombre de colonnes de la matrice). La valeur par défaut est 0. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant affiche la propriété matrixX de filter. import flash.filters.ConvolutionFilter; var filter:ConvolutionFilter = new ConvolutionFilter(2, 3, [1, 0, 0, 1, 0, 0], 6); trace(filter.matrixX); // 2 matrixY (propriété ConvolutionFilter.matrixY) public matrixY : Number La dimension y de la matrice (le nombre de lignes de la matrice). La valeur par défaut est 0. Disponibilité : ActionScript 1.0 ; Flash Player 8 490 Classes ActionScript Exemple L'exemple suivant affiche la propriété matrixY de filter. import flash.filters.ConvolutionFilter; var filter:ConvolutionFilter = new ConvolutionFilter(2, 3, [1, 0, 0, 1, 0, 0], 6); trace(filter.matrixY); // 3 preserveAlpha (propriété ConvolutionFilter.preserveAlpha) public preserveAlpha : Boolean Indique ce à quoi la convolution s'applique. La valeur false indique que la convolution s'applique à tous les canaux, y compris le canal alpha. La valeur true indique que la convolution s'applique uniquement aux canaux de couleur. La valeur par défaut est true. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant fait passer la propriété preserveAlpha de filter de sa valeur par défaut, à false. true, import flash.filters.ConvolutionFilter; import flash.display.BitmapData; var preserveAlpha:Boolean = false; var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0, preserveAlpha); var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000); var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.attachBitmap(myBitmapData, this.getNextHighestDepth()); myBitmapData.noise(128, 0, 255, 1 | 2 | 4 | 8, false); mc.onPress = function() { myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new Point(0, 0), filter); } ConvolutionFilter (flash.filters.ConvolutionFilter) 491 CustomActions Object | +-CustomActions public class CustomActions extends Object Les méthodes de la classe CustomActions permettent de lire un fichier SWF dans l'outil de programmation Flash pour gérer des actions personnalisées enregistrées via l'outil de programmation. Un fichier SWF peut installer et désinstaller des actions personnalisées, récupérer la définition XML d'une action personnalisée, et récupérer la liste des actions personnalisées enregistrées. Vous pouvez utiliser ces méthodes pour créer des fichiers SWF qui sont des extensions de l'outil de programmation Flash. Cette extension, pourrait par exemple utiliser le protocole d'application Flash pour naviguer dans un référentiel UDDI et télécharger des services Web dans la boîte à outils Actions. Disponibilité : ActionScript 1.0 ; Flash Player 6 Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Modificateurs Signature Description static Lit le contenu du fichier de définition XML d'actions personnalisées nommé name. get(name: String) : String static install(name: String, data: String) : Boolean Installe un nouveau fichier de définition XML des actions personnalisées indiqué par le paramètre name. static list() : Array Renvoie un objet Array contenant les noms de toutes les actions personnalisées enregistrées via l'outil de programmation Flash. static uninstall(name: Supprime le fichier de définition XML d'actions personnalisées nommé name. String) : Boolean 492 Classes ActionScript Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) get (méthode CustomActions.get) public static get(name: String) : String Lit le contenu du fichier de définition XML d'actions personnalisées nommé name. Le nom du fichier de définition doit être simple, dépourvu de l'extension de fichier .xml et des caractères de séparation de répertoire (« : », « / » ou « \ »). Si le fichier de définition spécifié par le paramètre name est introuvable, la valeur undefined est renvoyée. Si la définition XML d'actions personnalisées spécifiée par le paramètre name est localisée, elle est lue intégralement et renvoyée sous forme de chaîne. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name: String - Nom de la définition des actions personnalisées à récupérer. Valeur renvoyée String - Si la définition XML des actions personnalisées est localisée, renvoie une chaîne ; sinon, renvoie une valeur undefined. Exemple L'exemple suivant répertorie les actions personnalisées dans une occurrence ComboBox et obtient l'action personnalisée lorsque l'utilisateur clique sur une occurrence Button. Faites glisser une occurrence de ComboBox, Button et TextArea vers la scène. Attribuez à la ComboBox le nom d'occurrence customActionName_cb, à la TextArea le nom d'occurrencecustomActionXml_ta et au Button le nom d'occurrence view_button. Entrez le code ActionScript suivant sur l'image 1 du scénario : import mx.controls.*; var customActionName_cb:ComboBox; var customActionXml_ta:TextArea; var view_button:Button; CustomActions 493 customActionName_cb.dataProvider = CustomActions.list(); customActionXml_ta.editable = false; var viewListener:Object = new Object(); viewListener.click = function(evt:Object) { var caName:String = String(customActionName_cb.selectedItem); customActionXml_ta.text = CustomActions.get(caName); }; view_button.addEventListener("click", viewListener); install (méthode CustomActions.install) public static install(name: String, data: String) : Boolean Installe un nouveau fichier de définition XML des actions personnalisées indiqué par le paramètre name. Le contenu du fichier est spécifié par la chaîne customXML. Le nom du fichier de définition doit être simple, dépourvu de l'extension de fichier .xml et des caractères de séparation de répertoire (« : », « / » ou « \ »). Si un fichier d'actions personnalisées portant le nom name existe déjà, il est remplacé. Si le répertoire Configuration/ActionsPanel/CustomActions n'existe pas lorsque cette méthode est appelée, il est créé. Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name: String - Nom de la définition des actions personnalisées à installer. data: String - Texte de la définition XML à installer. Valeur renvoyée - La valeur booléenne false est renvoyée si une erreur se produit au cours de l'installation ; sinon, la valeur true est renvoyée pour indiquer que l'action personnalisée a été installée avec succès. Boolean Exemple L'exemple suivant installe des informations dans le panneau Actions à partir d'un fichier XML. Ouvrez un éditeur de texte et enregistrez un nouveau document intitulé dogclass.xml. Entrez le code suivant : <?xml version="1.0"?> <customactions> <actionspanel> 494 Classes ActionScript <folder version="7" id="DogClass" index="true" name="Dog" tiptext="Dog Class"> <string version="7" id="getFleas" name="getFleas" tiptext="gets number of fleas" text=".getFleas(% fleas %)" /> </folder> </actionspanel> <colorsyntax> <identifier text=".getFleas" /> </colorsyntax> <codehints> <typeinfo pattern=" _dog" object="Dog"/> </codehints> </customactions> Ouvrez ensuite un nouveau fichier FLA dans le même répertoire et sélectionnez l'image 1 du scénario. Entrez le code suivant dans le panneau Actions : var my_xml:XML = new XML(); my_xml.ignoreWhite = true; my_xml.onLoad = function(success:Boolean) { trace(success); CustomActions.install("dogclass", this.firstChild); trace(CustomActions.list()); }; my_xml.load("dogclass.xml"); Pointez sur Contrôle > Tester l'animation : si le code XML se charge correctement, la valeur true apparaît et un tableau contenant les noms de toutes les actions personnalisées enregistrées via l'outil de programmation Flash s'affiche dans le panneau de sortie. Fermez le fichier SWF et ouvrez le panneau Actions. Un nouvel élément intitulé Dog s'affiche dans la boîte à outils Actions ; ce dossier inclut également getFleas. list (méthode CustomActions.list) public static list() : Array Renvoie un objet Array contenant les noms de toutes les actions personnalisées enregistrées via l'outil de programmation Flash. Les éléments du tableau portent des noms simples, dépourvus de l'extension de fichier .xml et des caractères de séparation de répertoire (par exemple, « : », « / » ou « \ »). Si aucune action personnalisée n'est enregistrée, list() renvoie un tableau de longueur zéro. Si une erreur se produit, list() renvoie la valeur undefined. Disponibilité : ActionScript 1.0 ; Flash Player 6 Valeur renvoyée Array - Tableau. CustomActions 495 Exemple L'exemple suivant répertorie les actions personnalisées dans une occurrence ComboBox et obtient l'action personnalisée lorsque l'utilisateur clique sur une occurrence Button. Faites glisser une occurrence de ComboBox, Button et TextArea vers la scène. Attribuez à la ComboBox le nom d'occurrence customActionName_cb, à la TextArea le nom d'occurrencecustomActionXml_ta et au Button le nom d'occurrence view_button. Entrez le code ActionScript suivant sur l'image 1 du scénario : import mx.controls.*; var customActionName_cb:ComboBox; var customActionXml_ta:TextArea; var view_button:Button; customActionName_cb.dataProvider = CustomActions.list(); customActionXml_ta.editable = false; var viewListener:Object = new Object(); viewListener.click = function(evt:Object) { var caName:String = String(customActionName_cb.selectedItem); customActionXml_ta.text = CustomActions.get(caName); }; view_button.addEventListener("click", viewListener); uninstall (méthode CustomActions.uninstall) public static uninstall(name: String) : Boolean Supprime le fichier de définition XML d'actions personnalisées nommé name. Le nom du fichier de définition doit être simple, dépourvu de l'extension de fichier .xml et des caractères de séparation de répertoire (« : », « / » ou « \ »). Disponibilité : ActionScript 1.0 ; Flash Player 6 Paramètres name: String - Nom de la définition des actions personnalisées à désinstaller. Valeur renvoyée Boolean - Valeur booléenne false si aucune action personnalisée portant le nom name n'a été trouvée. Si les actions personnalisées ont été supprimées avec succès, une valeur true est renvoyée. 496 Classes ActionScript Exemple L'exemple suivant installe une nouvelle action personnalisée et affiche un tableau contenant les noms de toutes les actions personnalisées enregistrées via l'outil de programmation Flash dans le panneau de sortie. Lorsque l'utilisateur clique sur le bouton uninstall_btn, l'action personnalisée est désinstallée. Un tableau contenant les noms des actions personnalisées installées s'affiche ; dogclass doit être alors supprimé du tableau. Créez un bouton intitulé uninstall_btn et entrez le code ActionScript suivant dans l'image 1 du scénario : var my_xml:XML = new XML(); my_xml.ignoreWhite = true; my_xml.onLoad = function(success:Boolean) { trace(success); CustomActions.install("dogclass", this.firstChild); trace(CustomActions.list()); }; my_xml.load("dogclass.xml"); uninstall_btn.onRelease = function() { CustomActions.uninstall("dogclass"); trace(CustomActions.list()); }; For information on creating dogclass.xml, see CustomActions.install(). Voir aussi install (méthode CustomActions.install) Date Object | +-Date public class Date extends Object La classe Date vous permet de récupérer des valeurs de date et d'heure relatives à l'heure universelle (GMT, désormais appelée heure universelle ou UTC) ou au système d'exploitation sur lequel Flash Player s'exécute. Les méthodes de la classe Date ne sont pas statiques mais s'appliquent uniquement au seul objet Date spécifié lorsque la méthode est appelée. La méthode Date.UTC() est une exception ; il s'agit d'une méthode statique. Date 497 La classe Date gère l'heure d'été différemment, en fonction du système d'exploitation et de la version de Flash Player. Flash Player 6 et les versions ultérieures gèrent l'heure d'été sur les systèmes d'exploitation suivants comme suit : ■ ■ ■ Windows : l'objet Date ajuste automatiquement sa sortie pour l'heure d'été. L'objet Date détecte si l'heure d'été est définie selon les paramètres régionaux actuels, et si tel est le cas, détecte la date et les heures de transition de l'heure d'été standard. Toutefois, les dates de transition actuellement en vigueur sont appliquées aux dates passées et à venir : par conséquent, le décalage de l'heure d'été peut être calculé de manière incorrecte pour les dates passées lorsque les paramètres régionaux étaient définis sur différentes dates de transition. Mac OS X : l'objet Date ajuste automatiquement sa sortie pour l'heure d'été. La base de données d'informations sur le fuseau horaire dans Mac OS X est utilisée pour déterminer si un décalage d'heure d'été doit être appliqué à une date ou heure actuelle ou passée. Mac OS 9 : le système d'exploitation fournit uniquement les informations suffisantes pour déterminer s'il convient d'appliquer un décalage d'heure d'été à la date et l'heure actuelles. En conséquence, l'objet de date suppose que le décalage d'heure d'été actuel s'applique à toutes les dates et heures passées ou à venir. Flash Player 5 gère l'heure d'été sur les systèmes d'exploitation suivants comme suit : ■ Windows : les règles en vigueur aux Etats-Unis concernant l'heure d'été sont toujours appliquées, ce qui entraîne des transitions incorrectes en Europe et dans les autres zones qui adoptent l'heure d'été, mais ayant des heures de transition différentes de celles en vigueur aux Etats-Unis. Flash détecte correctement si l'heure d'été est utilisée dans les paramètres régionaux actuels. Pour appeler les méthodes de la classe Date, vous devez d'abord créer un objet Date à l'aide du constructeur de la classe Date, décrit plus loin dans cette section. Disponibilité : ActionScript 1.0 ; Flash Player 5 Résumé des propriétés Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 498 Classes ActionScript Récapitulatif des constructeurs Signature Description Date([yearOrTimevalue: Number], [month: Construit un nouvel objet Date qui contient la date et l'heure spécifiées. Number], [date: Number], [hour: Number], [minute: Number], [second: Number], [millisecond: Number]) Résumé de la méthode Modificateurs Signature Description getDate() : Number Renvoie le jour du mois (entier de 1 à 31) de l'objet Date spécifié, conformément à l'heure locale. getDay() : Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l'objet Date spécifié conformément à l'heure locale. getFullYear() : Renvoie l'année entière (un nombre à quatre chiffres, tel que 2000) de l'objet Date spécifié, conformément à l'heure locale. Number getHours() : Number Renvoie l'heure (un entier de 0 à 23) de l'objet Date spécifié, conformément à l'heure locale. getMilliseconds() : Number getMinutes() : Number Renvoie les millisecondes (entier de 0 à 999) de l'objet Date spécifié, conformément à l'heure locale. Renvoie les minutes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure locale. getMonth() : Number Renvoie le mois (0 pour janvier, 1 pour février, etc.) de l'objet Date spécifié conformément à l'heure locale. getSeconds() : Number getTime() : Number Renvoie les secondes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure locale. Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour l'objet Date spécifié. getTimezoneOffset() Renvoie la différence, en minutes, entre l'heure : Number locale de l'ordinateur et l'heure universelle. getUTCDate() : Renvoie le jour du mois (entier de 1 à 31) de l'objet Date spécifié, conformément à l'heure universelle. Number getUTCDay() : Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l'objet Date spécifié, conformément à l'heure universelle. Date 499 Modificateurs Signature getUTCFullYear() : Number getUTCHours() : Number Description Renvoie l'année à quatre chiffres de l'objet Date spécifié, conformément à l'heure universelle. Renvoie l'heure (entier de 0 à 23) de l'objet Date spécifié, conformément à l'heure universelle. getUTCMilliseconds( Renvoie les millisecondes (entier de 0 à 999) de ) : Number l'objet Date spécifié, conformément à l'heure universelle. getUTCMinutes() : Renvoie les minutes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure universelle. Number getUTCMonth() : Number getUTCSeconds() : Number getUTCYear() : Number Renvoie le mois (0 [janvier] à 11 [décembre]) de l'objet Date spécifié, conformément à l'heure universelle. Renvoie les secondes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure universelle. Renvoie l'année de cette Date conformément à l'heure universelle. getYear() : Number Renvoie l'année de l'objet Date spécifié, conformément à l'heure locale. setDate(date: Définit le jour du mois de l'objet Date spécifié, conformément à l'heure locale, et renvoie la nouvelle heure en millisecondes. Number) : Number setFullYear(year: Number, [month: Number], [date: Définit l'année de l'objet Date spécifié, conformément à l'heure locale, et renvoie la nouvelle heure en millisecondes. Number]) : Number setHours(hour: Number) : Number Définit les heures de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. setMilliseconds(mil Définit les millisecondes de l'objet Date spécifié lisecond: Number) : Number setMinutes(minute: Number) : Number setMonth(month: Number, [date: Number]) : Number 500 Classes ActionScript conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. Définit les minutes de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. Définit le mois de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. Modificateurs Signature setSeconds(second: Number) : Number Description Définit les secondes de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. setTime(millisecond Définit la date de l'objet Date spécifié en : Number) : Number millisecondes écoulées depuis le premier janvier 1970 à minuit et renvoie la nouvelle heure en millisecondes. setUTCDate(date: Définit la date de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Number) : Number setUTCFullYear(year Définit l'année de l'objet Date spécifié (my_date) : Number, [month: Number], [date: conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Number]) : Number setUTCHours(hour: Number, [minute: Number], [second: Définit l'heure de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Number], [millisecond: Number]) : Number setUTCMilliseconds( Définit les millisecondes de l'objet Date spécifié millisecond: Number) : Number conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. setUTCMinutes(minut Définit les minutes de l'objet Date spécifié e: Number, [second: Number], conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. [millisecond: Number]) : Number setUTCMonth(month: Number, [date: Number]) : Number Définit le mois, et éventuellement le jour, de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. setUTCSeconds(secon Définit les secondes de l'objet Date spécifié d: Number, [millisecond: conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Number]) : Number setYear(year: Number) : Number Définit l'année de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. Date 501 Modificateurs Signature Description toString() : String Renvoie une valeur de chaîne pour l'objet de date spécifié dans un format lisible. static UTC(year: Number, month: Number, [date: Number], Renvoie le nombre de millisecondes écoulées entre le premier janvier 1970 à minuit, heure universelle, et l'heure spécifiée dans les paramètres. [hour: Number], [minute: Number], [second: Number], [millisecond: Number]) : Number valueOf() : Number Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour cette Date. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur Date public Date([yearOrTimevalue: Number], [month: Number], [date: Number], [hour: Number], [minute: Number], [second: Number], [millisecond: Number]) Construit un nouvel objet Date qui contient la date et l'heure spécifiées. Le constructeur Date() accepte jusqu'à sept paramètres (year, month, ..., millisecond) pour spécifier une date et une heure en millisecondes. Vous pouvez également transmettre une valeur unique au constructeur Date(), indiquant la valeur de l'heure en fonction du nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit GMT. Vous pouvez encore omettre les paramètres ; dans ce cas, la date et l'heure actuelles sont affectées à l'objet Date(). Par exemple, ce code illustre différentes manières de créer un objet Date : var var var var 502 d1:Date d3:Date d4:Date d5:Date = = = = new new new new Date(); Date(2000, 0, 1); Date(65, 2, 6, 9, 30, 15, 0); Date(-14159025000); Classes ActionScript Dans la première ligne de code, un objet Date est défini sur l'heure à laquelle l'instruction d'affectation est exécutée. Dans la deuxième ligne, un objet Date incluant les paramètres year, month et date est créé, soit le premier janvier 2000 à minuit GMT. Dans la troisième ligne, un objet Date incluant les paramètres year, month et date est créé, soit le six mars 1965 à 09:30:15 GMT (+ 0 milliseconde). Remarque : étant donné que le paramètre year est spécifié en tant que nombre entier à deux chiffres, il est interprété comme 1965. Dans la quatrième ligne, un seul paramètre est transmis : il s'agit d'une valeur de temps représentant le nombre de millisecondes écoulées avant ou après le premier janvier 1970 à minuit GMT ; étant donné que la valeur est négative, elle représente une heure avant le premier janvier 1970 à minuit GMT, soit le 21 juillet 1969 à 02:56:15 GMT. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres [facultatif ] - Si d'autres paramètres sont spécifiés, ce nombre représente une année (telle que 1965) ; sinon, il représente une valeur de temps. Si le nombre représente une année, une valeur comprise entre 0 et 99 renvoie à une année comprise entre 1900 et 1999 ; sinon les quatre chiffres de l'année doivent être spécifiés. Si le nombre représente une valeur de temps (aucun paramètre supplémentaire n'est spécifié), il s'agit du nombre de millisecondes écoulées avant ou après le premier janvier 1970 à minuit GMT ; une valeur négative représente une heure avant le premier janvier 1970 à minuit GMT ; une valeur positive représente une heure postérieure à cette date. yearOrTimevalue: Number month: Number [facultatif ] - Entier compris entre 0 (janvier) et 11 (décembre). date: Number [facultatif ] - Entier compris entre 1 et 31. hour: Number [facultatif ] - Entier compris entre 0 (minuit) et 23 (23h00). minute: Number [facultatif ] - Entier compris entre 0 et 59. second: Number [facultatif ] - Entier compris entre 0 et 59. millisecond: Number - [facultatif ] - Entier compris entre 0 et 999 millisecondes. Date 503 Exemple L'exemple suivant récupère la date et l'heure actuelles : var now_date:Date = new Date(); L'exemple suivant crée un nouvel objet Date pour le jour de naissance de Marie, le 12 août 1974 (étant donné que le paramètre month est basé sur zéro, cet exemple utilise le chiffre 7 pour le mois, et non le chiffre 8) : var maryBirthday:Date = new Date (74, 7, 12); L'exemple suivant crée un nouvel objet Date et concatène les valeurs renvoyées de Date.getMonth(), Date.getDate() et Date.getFullYear() : var today_date:Date = new Date(); var date_str:String = ((today_date.getMonth()+1)+"/ "+today_date.getDate()+"/"+today_date.getFullYear()); trace(date_str); // Affiche la date actuelle au format américain Voir aussi getMinutes (méthode Date.getMinutes), getDate (méthode Date.getDate), getFullYear (méthode Date.getFullYear) getDate (méthode Date.getDate) public getDate() : Number Renvoie le jour du mois (entier de 1 à 31) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et concatène les valeurs renvoyées de Date.getMonth(), Date.getDate() et Date.getFullYear() : var today_date:Date = new Date(); var date_str:String = (today_date.getDate()+"/ "+(today_date.getMonth()+1)+"/"+today_date.getFullYear()); trace(date_str); // Affiche la date actuelle au format américain Voir aussi getMinutes (méthode Date.getMinutes), getFullYear (méthode Date.getFullYear) 504 Classes ActionScript getDay (méthode Date.getDay) public getDay() : Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l'objet Date spécifié conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier représentant le jour de la semaine. Exemple L'exemple suivant crée un nouvel objet Date et utilise la méthode getDay() afin de déterminer le jour actuel de la semaine : var dayOfWeek_array:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); var today_date:Date = new Date(); var day_str:String = dayOfWeek_array[today_date.getDay()]; trace("Today is "+day_str); getFullYear (méthode Date.getFullYear) public getFullYear() : Number Renvoie l'année entière (un nombre à quatre chiffres, tel que 2000) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier représentant l'année. Exemple L'exemple suivant utilise le constructeur pour créer un objet Date. L'instruction trace affiche la valeur renvoyée par la méthode getFullYear() var my_date:Date = new Date(); trace(my_date.getYear()); // Affiche 104 trace(my_date.getFullYear()); // Affiche l'année actuelle Date 505 getHours (méthode Date.getHours) public getHours() : Number Renvoie l'heure (un entier de 0 à 23) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getHours() pour afficher les valeurs d'heure de cet objet : var my_date:Date = new Date(); trace(my_date.getHours()); var my_date:Date = new Date(); var hourObj:Object = getHoursAmPm(my_date.getHours()); trace(hourObj.hours); trace(hourObj.ampm); function getHoursAmPm(hour24:Number):Object { var returnObj:Object = new Object(); returnObj.ampm = (hour24<12) ? "AM" : "PM"; var hour12:Number = hour24%12; if (hour12 == 0) { hour12 = 12; } returnObj.hours = hour12; return returnObj; } getMilliseconds (méthode Date.getMilliseconds) public getMilliseconds() : Number Renvoie les millisecondes (entier de 0 à 999) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number 506 - Entier. Classes ActionScript Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getMilliseconds() pour renvoyer la valeur en millisecondes de cet objet : var my_date:Date = new Date(); trace(my_date.getMilliseconds()); getMinutes (méthode Date.getMinutes) public getMinutes() : Number Renvoie les minutes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getMinutes() pour renvoyer la valeur de minutes de cet objet : var my_date:Date = new Date(); trace(my_date.getMinutes()); getMinutes (méthode Date.getMinutes) public getMonth() : Number Renvoie le mois (0 pour janvier, 1 pour février, etc.) de l'objet Date spécifié conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getMonth() pour renvoyer la valeur en mois de cet objet : var my_date:Date = new Date(); trace(my_date.getMonth()); Date 507 L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getMonth() pour afficher le mois en cours en tant que valeur numérique, puis le nom du mois. var my_date:Date = new Date(); trace(my_date.getMonth()); trace(getMonthAsString(my_date.getMonth())); function getMonthAsString(month:Number):String { var monthNames_array:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); return monthNames_array[month]; } getSeconds (méthode Date.getSeconds) public getSeconds() : Number Renvoie les secondes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getSeconds() pour renvoyer la valeur en mois de cet objet : var my_date:Date = new Date(); trace(my_date.getSeconds()); getTime (méthode Date.getTime) public getTime() : Number Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour l'objet Date spécifié. Utilisez cette méthode pour représenter un instant spécifique dans le temps lorsque vous comparez deux ou plusieurs objets Date. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number 508 - Entier. Classes ActionScript Exemple L'exemple suivant utilise le constructeur pour créer un objet Date en fonction de l'heure actuelle et utilise la méthode getTime() pour renvoyer le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit : var my_date:Date = new Date(); trace(my_date.getTime()); getTimezoneOffset (méthode Date.getTimezoneOffset) public getTimezoneOffset() : Number Renvoie la différence, en minutes, entre l'heure locale de l'ordinateur et l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant renvoie la différence entre l'heure d'été locale à San Francisco et l'heure universelle. L'heure d'été est factorisée dans le résultat renvoyé uniquement si la date définie dans l'objet Date se trouve dans la plage de l'heure d'été. Le résultat dans cet exemple est 420 minutes, il est affiché dans le panneau de sortie (7 heures * 60 minutes/heure = 420 minutes). Cet exemple est l'heure d'été de la côte Ouest des Etats-Unis (PDT) qui est égale à GMT moins 7 heures. Le résultat varie en fonction du lieu et de l'époque de l'année. var my_date:Date = new Date(); trace(my_date.getTimezoneOffset()); getUTCDate (méthode Date.getUTCDate) public getUTCDate() : Number Renvoie le jour du mois (entier de 1 à 31) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Date 509 Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCDate() et Date.getDate(). La valeur renvoyée par Date.getUTCDate() peut différer de celle renvoyée par Date.getDate(),, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var my_date:Date = new Date(2004,8,25); trace(my_date.getUTCDate()); // Renvoie : 25 Voir aussi getDate (méthode Date.getDate) getUTCDay (méthode Date.getUTCDay) public getUTCDay() : Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCDay() et Date.getDay(). La valeur renvoyée par Date.getUTCDay() peut différer de celle renvoyée par Date.getDay(),, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var today_date:Date = new Date(); trace(today_date.getDay()); // Le résultat dépend du fuseau horaire trace(today_date.getUTCDay()); // Le résultat est égal à getDay() plus ou moins un Voir aussi getDay (méthode Date.getDay) 510 Classes ActionScript getUTCFullYear (méthode Date.getUTCFullYear) public getUTCFullYear() : Number Renvoie l'année à quatre chiffres de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCFullYear() et Date.getFullYear(). La valeur renvoyée par Date.getUTCFullYear() peut différer de celle renvoyée par Date.getFullYear() si la date du jour est le 31 décembre ou le 1 janvier, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var today_date:Date = new Date(); trace(today_date.getFullYear()); // Le résultat dépend du fuseau horaire trace(today_date.getUTCFullYear()); // Affiche getYear() plus ou moins 1 Voir aussi getFullYear (méthode Date.getFullYear) getUTCHours (méthode Date.getUTCHours) public getUTCHours() : Number Renvoie l'heure (entier de 0 à 23) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCHours() et Date.getHours(). La valeur renvoyée par Date.getUTCHours() peut différer de celle renvoyée par Date.getHours(),, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var today_date:Date = new Date(); trace(today_date.getHours()); // Le résultat dépend du fuseau horaire trace(today_date.getUTCHours()); // Affiche getHours() plus ou moins 12 Date 511 Voir aussi getHours (méthode Date.getHours) getUTCMilliseconds (méthode Date.getUTCMilliseconds) public getUTCMilliseconds() : Number Renvoie les millisecondes (entier de 0 à 999) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise la méthode getUTCMilliseconds() pour renvoyer la valeur de millisecondes de l'objet Date. var today_date:Date = new Date(); trace(today_date.getUTCMilliseconds()); getUTCMinutes (méthode Date.getUTCMinutes) public getUTCMinutes() : Number Renvoie les minutes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise la méthode getUTCMinutes() pour renvoyer la valeur en minutes de l'objet Date. var today_date:Date = new Date(); trace(today_date.getUTCMinutes()); 512 Classes ActionScript getUTCMonth (méthode Date.getUTCMonth) public getUTCMonth() : Number Renvoie le mois (0 [janvier] à 11 [décembre]) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCMonth() et Date.getMonth(). La valeur renvoyée par Date.getUTCMonth() peut différer de celle renvoyée par Date.getMonth() si la date du jour est le premier ou le dernier jour du mois, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var today_date:Date = new Date(); trace(today_date.getMonth()); // Le résultat dépend du fuseau horaire trace(today_date.getUTCMonth()); // Le résultat est égal à getMonth() plus ou moins 1 Voir aussi getMinutes (méthode Date.getMinutes) getUTCSeconds (méthode Date.getUTCSeconds) public getUTCSeconds() : Number Renvoie les secondes (entier de 0 à 59) de l'objet Date spécifié, conformément à l'heure universelle. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise la méthode getUTCSeconds() pour renvoyer la valeur en secondes de l'objet Date. var today_date:Date = new Date(); trace(today_date.getUTCSeconds()); Date 513 getUTCYear (méthode Date.getUTCYear) public getUTCYear() : Number Renvoie l'année de cette Date conformément à l'heure universelle. L'année est l'année entière moins 1900. Par exemple, l'année 2000 est représentée comme 100. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date et utilise Date.getUTCFullYear() et Date.getFullYear(). La valeur renvoyée par Date.getUTCFullYear() peut différer de celle renvoyée par Date.getFullYear() si la date du jour est le 31 décembre ou le 1 janvier, en fonction de la relation qui existe entre votre fuseau horaire local et l'heure universelle. var today_date:Date = new Date(); trace(today_date.getFullYear()); // Le résultat dépend du fuseau horaire trace(today_date.getUTCFullYear()); // Affiche getYear() plus ou moins 1 getYear (méthode Date.getYear) public getYear() : Number Renvoie l'année de l'objet Date spécifié, conformément à l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. L'année est l'année entière moins 1900. Par exemple, l'année 2000 est représentée comme 100. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un objet Date dont le mois et l'année sont définis sur Mai 2004. La méthode Date.getYear() renvoie 104 et Date.getFullYear() renvoie 2004 : var today_date:Date = new Date(2004,4); trace(today_date.getYear()); // Renvoie : 104 trace(today_date.getFullYear()); // Renvoie : 2004 514 Classes ActionScript Voir aussi getFullYear (méthode Date.getFullYear) setDate (méthode Date.setDate) public setDate(date: Number) : Number Définit le jour du mois de l'objet Date spécifié, conformément à l'heure locale, et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres date: Number - Entier compris entre 1 et 31. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004, puis utilise la méthode Date.setDate() pour modifier la date et la définir sur 25.05.04 : var today_date:Date = new Date(2004,4,15); trace(today_date.getDate()); // Affiche 15 today_date.setDate(25); trace(today_date.getDate()); // Affiche 25 setFullYear (méthode Date.setFullYear) public setFullYear(year: Number, [month: Number], [date: Number]) : Number Définit l'année de l'objet Date spécifié, conformément à l'heure locale, et renvoie la nouvelle heure en millisecondes. Si les paramètres month et date sont spécifiés, ils sont réglés sur l'heure locale. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. L'appel de cette méthode ne modifie pas les autres champs de l'objet Date spécifié mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 5 Date 515 Paramètres - Nombre à quatre chiffres spécifiant une année. Les nombres à deux chiffres ne représentent pas les années à quatre chiffres ; par exemple, 99 ne représente pas l'année 1999 mais l'an 99. year: Number [facultatif ] - Entier compris entre 0 (janvier) et 11 (décembre). Si vous omettez ce paramètre, le champ Mois de l'objet Date spécifié ne sera pas modifié. month: Number [facultatif ] - Nombre compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. date: Number Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004, puis utilise la méthode Date.setFullYear() pour modifier la date et la définir sur 15.05.02 : var my_date:Date = new Date(2004,4,15); trace(my_date.getFullYear()); // Renvoie : 2004 my_date.setFullYear(2002); trace(my_date.getFullYear()); // Renvoie : 2002 Voir aussi getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay) setHours (méthode Date.setHours) public setHours(hour: Number) : Number Définit les heures de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres hour: Number - Entier compris entre 0 (minuit) et 23 (23h00). Valeur renvoyée Number 516 - Entier. Classes ActionScript Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 8:00, puis utilise la méthode Date.setHours() pour modifier l'heure et la définir sur 16:00 : var my_date:Date = new Date(2004,4,15,8); trace(my_date.getHours()); // Renvoie : 8 my_date.setHours(16); trace(my_date.getHours()); // Renvoie : 16 setMilliseconds (méthode Date.setMilliseconds) public setMilliseconds(millisecond: Number) : Number Définit les millisecondes de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres millisecond: Number - Entier compris entre 0 et 999. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004 à 8:30 (valeur de millisecondes définie sur 250), puis utilise la méthode Date.setMilliseconds() pour modifier la valeur de millisecondes et la définir sur 575 : var my_date:Date = new Date(2004,4,15,8,30,0,250); trace(my_date.getMilliseconds()); // Renvoie : 250 my_date.setMilliseconds(575); trace(my_date.getMilliseconds()); // Renvoie : 575 setMinutes (méthode Date.setMinutes) public setMinutes(minute: Number) : Number Définit les minutes de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Date 517 Paramètres minute: Number - Entier compris entre 0 et 59. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 8:00, puis utilise la méthode Date.setMinutes() pour modifier l'heure et la définir sur 8:30 : var my_date:Date = new Date(2004,4,15,8,0); trace(my_date.getMinutes()); // Renvoie : 0 my_date.setMinutes(30); trace(my_date.getMinutes()); // Renvoie : 30 setMonth (méthode Date.setMonth) public setMonth(month: Number, [date: Number]) : Number Définit le mois de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres month: Number - Entier compris entre 0 (janvier) et 11 (décembre). [facultatif ] - Entier compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. date: Number Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004, puis utilise la méthode Date.setMonth() pour modifier la date et la définir sur 15.06.04 : var my_date:Date = new Date(2004,4,15); trace(my_date.getMonth()); // Renvoie : 4 my_date.setMonth(5); trace(my_date.getMonth()); // Renvoie : 5 518 Classes ActionScript setSeconds (méthode Date.setSeconds) public setSeconds(second: Number) : Number Définit les secondes de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres second: Number - Entier compris entre 0 et 59. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 8:00:00, puis utilise la méthode Date.setSeconds() pour modifier l'heure et la définir sur 8:00:45 : var my_date:Date = new Date(2004,4,15,8,0,0); trace(my_date.getSeconds()); // Renvoie : 0 my_date.setSeconds(45); trace(my_date.getSeconds()); // Renvoie : 45 setTime (méthode Date.setTime) public setTime(millisecond: Number) : Number Définit la date de l'objet Date spécifié en millisecondes écoulées depuis le premier janvier 1970 à minuit et renvoie la nouvelle heure en millisecondes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres millisecond: Number - Nombre ; valeur entière où 0 représente minuit le premier janvier, heure universelle. Valeur renvoyée Number - Entier. Date 519 Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 08:00:00, puis utilise la méthode Date.setTime() pour modifier l'heure et la définir sur 08:30:00 : var my_date:Date = new Date(2004,4,15,8,0,0); var myDate_num:Number = my_date.getTime(); // convertit my_date en millisecondes myDate_num += 30 * 60 * 1000; // ajoute 30 minutes en millisecondes my_date.setTime(myDate_num); // Avance l'objet date " my_date " de 30 minutes trace(my_date.getFullYear()); // Renvoie : 2004 trace(my_date.getMonth()); // Renvoie : 4 trace(my_date.getDate()); // Renvoie : 15 trace(my_date.getHours()); // Renvoie : 8 trace(my_date.getMinutes()); // Renvoie : 30 setUTCDate (méthode Date.setUTCDate) public setUTCDate(date: Number) : Number Définit la date de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. L'appel de cette méthode ne modifie pas les autres champs de l'objet Date spécifié mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres date: Number - Nombre ; entier compris entre 1 et 31. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date à la date du jour, utilise la méthode Date.setUTCDate() pour modifier la valeur de date et la définir sur 10, puis la définir de nouveau sur 25 : var my_date:Date = new Date(); my_date.setUTCDate(10); trace(my_date.getUTCDate()); // Renvoie : 10 my_date.setUTCDate(25); trace(my_date.getUTCDate()); // Renvoie : 25 520 Classes ActionScript Voir aussi getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay) setUTCFullYear (méthode Date.setUTCFullYear) public setUTCFullYear(year: Number, [month: Number], [date: Number]) : Number Définit l'année de l'objet Date spécifié (my_date) conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Cette méthode peut également définir le mois et la date représentés par l'objet Date spécifié. L'appel de cette méthode ne modifie pas les autres champs de l'objet Date spécifié mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l'appel de cette méthode. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres - Entier représentant l'année spécifiée en tant qu'année entière à quatre chiffres, telle que 2000. year: Number [facultatif ] - Entier compris entre 0 (janvier) et 11 (décembre). Si vous omettez ce paramètre, le champ Mois de l'objet Date spécifié ne sera pas modifié. month: Number [facultatif ] - Entier compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. date: Number Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date à la date du jour, utilise la méthode Date.setUTCFullYear() pour modifier la valeur de l'année et la définir sur 2001, puis définir la date sur 25 mai 1995 : var my_date:Date = new Date(); my_date.setUTCFullYear(2001); trace(my_date.getUTCFullYear()); // Renvoie : 2001 my_date.setUTCFullYear(1995, 4, 25); trace(my_date.getUTCFullYear()); // Renvoie : 1995 trace(my_date.getUTCMonth()); // Renvoie : 4 trace(my_date.getUTCDate()); // Renvoie : 25 Date 521 Voir aussi getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay) setUTCHours (méthode Date.setUTCHours) public setUTCHours(hour: Number, [minute: Number], [second: Number], [millisecond: Number]) : Number Définit l'heure de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres hour: Number - Nombre ; entier compris entre 0 (minuit) et 23 (23h00). minute: Number [facultatif ] - Nombre ; entier compris entre 0 et 59. Si vous omettez ce paramètre, le champ Minutes de l'objet Date spécifié ne sera pas modifié. second: Number [facultatif ] - Nombre ; entier compris entre 0 et 59. Si vous omettez ce paramètre, le champ Secondes de l'objet Date spécifié ne sera pas modifié. millisecond: Number [facultatif ] - Nombre ; entier compris entre 0 et 999. Si vous omettez ce paramètre, le champ Millisecondes de l'objet Date spécifié ne sera pas modifié. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date à la date du jour, utilise la méthode Date.setUTCHours() pour modifier l'heure et la définir sur 8:30, puis la définir de nouveau sur 17:30:47 : var my_date:Date = new Date(); my_date.setUTCHours(8,30); trace(my_date.getUTCHours()); // Renvoie : trace(my_date.getUTCMinutes()); // Renvoie my_date.setUTCHours(17,30,47); trace(my_date.getUTCHours()); // Renvoie : trace(my_date.getUTCMinutes()); // Renvoie trace(my_date.getUTCSeconds()); // Renvoie 522 Classes ActionScript 8 : 30 17 : 30 : 47 setUTCMilliseconds (méthode Date.setUTCMilliseconds) public setUTCMilliseconds(millisecond: Number) : Number Définit les millisecondes de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres millisecond: Number - Entier compris entre 0 et 999. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004 à 8:30 (valeur de millisecondes définie sur 250), puis utilise la méthode Date.setUTCMilliseconds() pour modifier la valeur de millisecondes et la définir sur 575 : var my_date:Date = new Date(2004,4,15,8,30,0,250); trace(my_date.getUTCMilliseconds()); // Renvoie : 250 my_date.setUTCMilliseconds(575); trace(my_date.getUTCMilliseconds()); // Renvoie : 575 setUTCMinutes (méthode Date.setUTCMinutes) public setUTCMinutes(minute: Number, [second: Number], [millisecond: Number]) : Number Définit les minutes de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres minute: Number - Entier compris entre 0 et 59. second: Number [facultatif ] - Entier compris entre 0 et 59. Si vous omettez ce paramètre, le champ Secondes de l'objet Date spécifié ne sera pas modifié. [facultatif ] - Entier compris entre 0 et 999. Si vous omettez ce paramètre, le champ Millisecondes de l'objet Date spécifié ne sera pas modifié. millisecond: Number Date 523 Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 08:00:00, puis utilise la méthode Date.setUTCMinutes() pour modifier l'heure et la définir sur 08:30:00 : var my_date:Date = new Date(2004,4,15,8,0); trace(my_date.getUTCMinutes()); // Renvoie : 0 my_date.setUTCMinutes(30); trace(my_date.getUTCMinutes()); // Renvoie : 30 setUTCMonth (méthode Date.setUTCMonth) public setUTCMonth(month: Number, [date: Number]) : Number Définit le mois, et éventuellement le jour, de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. L'appel de cette méthode ne modifie pas les autres champs de l'objet Date spécifié, mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à la spécification d'une valeur pour le paramètre date. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres month: Number - Entier compris entre 0 (janvier) et 11 (décembre). [facultatif ] - Entier compris entre 1 et 31. Si vous omettez ce paramètre, le champ Date de l'objet Date spécifié ne sera pas modifié. date: Number Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont la date est définie sur 15 mai 2004, puis utilise la méthode Date.setMonth() pour modifier la date et la définir sur 15.06.04 : var today_date:Date = new Date(2004,4,15); trace(today_date.getUTCMonth()); // Renvoie : 4 today_date.setUTCMonth(5); trace(today_date.getUTCMonth()); // Renvoie : 5 524 Classes ActionScript Voir aussi getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay) setUTCSeconds (méthode Date.setUTCSeconds) public setUTCSeconds(second: Number, [millisecond: Number]) : Number Définit les secondes de l'objet Date spécifié conformément à l'heure universelle et renvoie la nouvelle heure en millisecondes. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres second: Number - Entier compris entre 0 et 59. millisecond: Number [facultatif ] - Entier compris entre 0 et 999. Si vous omettez ce paramètre, le champ Millisecondes de l'objet Date spécifié ne sera pas modifié. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée initialement un nouvel objet Date dont l'heure et la date sont définies sur 15 mai 2004 à 8:00:00, puis utilise la méthode Date.setSeconds() pour modifier l'heure et la définir sur 08:30:45 : var my_date:Date = new Date(2004,4,15,8,0,0); trace(my_date.getUTCSeconds()); // Renvoie : 0 my_date.setUTCSeconds(45); trace(my_date.getUTCSeconds()); // Renvoie : 45 setYear (méthode Date.setYear) public setYear(year: Number) : Number Définit l'année de l'objet Date spécifié conformément à l'heure locale et renvoie la nouvelle heure en millisecondes. L'heure locale est déterminée par le système d'exploitation sur lequel Flash Player s'exécute. Disponibilité : ActionScript 1.0 ; Flash Player 5 Date 525 Paramètres - Nombre représentant l'année. Si year est un entier compris entre 0 et 99, définit l'année sur 1900 + year ; sinon, l'année correspond à la valeur du paramètre year: Number setYear year. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date dont la date est définie sur 25 mai 2004, utilise la méthode setYear() pour modifier la valeur de l'année et la définir sur 1999, puis définir l'année sur 2003 : var my_date:Date = new Date(2004,4,25); trace(my_date.getYear()); // Renvoie : 104 trace(my_date.getFullYear()); // Renvoie : 2004 my_date.setYear(99); trace(my_date.getYear()); // Renvoie : 99 trace(my_date.getFullYear()); // Renvoie : 1999 my_date.setYear(2003); trace(my_date.getYear()); // Renvoie : 103 trace(my_date.getFullYear()); // Renvoie : 2003 toString (méthode Date.toString) public toString() : String Renvoie une valeur de chaîne pour l'objet de date spécifié dans un format lisible. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée String - Chaîne. Exemple L'exemple suivant renvoie les informations dans l'objet Date dateOfBirth_date sous forme de chaîne : La sortie des instructions trace est en heure locale et varie en fonction de : Pour l'heure d'été de la côte Ouest des Etats-Unis (PDT), la sortie est l'heure universelle moins 7 heures : lundi 12 août 1974 à 18:15:00, GMT - 7h00. var dateOfBirth_date:Date = new Date(74, 7, 12, 18, 15); trace (dateOfBirth_date); trace (dateOfBirth_date.toString()); 526 Classes ActionScript UTC (méthode Date.UTC) public static UTC(year: Number, month: Number, [date: Number], [hour: Number], [minute: Number], [second: Number], [millisecond: Number]) : Number Renvoie le nombre de millisecondes écoulées entre le premier janvier 1970 à minuit, heure universelle, et l'heure spécifiée dans les paramètres. Il s'agit d'une méthode statique appelée via le constructeur de l'objet Date, et non pas via un objet Date spécifique. Cette méthode vous permet de créer un objet Date qui adopte l'heure universelle, tandis que le constructeur Date adopte l'heure locale. Disponibilité : ActionScript 1.0 ; Flash Player 5 Paramètres year: Number - Entier à quatre chiffres qui représente l'année (par exemple, 2000). month: Number - Entier compris entre 0 (janvier) et 11 (décembre). date: Number [facultatif ] - Entier compris entre 1 et 31. hour: Number [facultatif ] - Entier compris entre 0 (minuit) et 23 (23h00). minute: Number [facultatif ] - Entier compris entre 0 et 59. second: Number [facultatif ] - Entier compris entre 0 et 59. millisecond: Number [facultatif ] - Entier compris entre 0 et 999. Valeur renvoyée Number - Entier. Exemple L'exemple suivant crée un nouvel objet Date maryBirthday_date défini conformément à l'heure universelle. Cet exemple reprend l'exemple utilisé pour la nouvelle méthode du constructeur new Date, en se basant sur l'heure universelle. La sortie est en heure locale et varie en fonction de : Pour l'heure d'été de la côte Ouest des Etats-Unis (PDT), la sortie est l'heure universelle moins 7 heures : dimanche 11 août 1974 à 17:00:00, GMT - 7h00. var maryBirthday_date:Date = new Date(Date.UTC(1974, 7, 12)); trace(maryBirthday_date); Date 527 valueOf (méthode Date.valueOf) public valueOf() : Number Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour cette Date. Disponibilité : ActionScript 1.0 ; Flash Player 5 Valeur renvoyée Number - Nombre de millisecondes. DisplacementMapFilter (flash.filters.DisplacementMapFilter) Object | +- BitmapFilter | +-flash.filters.DisplacementMapFilter public class DisplacementMapFilter extends BitmapFilter La classe DisplacementMapFilter utilise les valeurs de pixels de l'objet BitmapData spécifié (intitulé image de mappage du déplacement) pour déplacer un objet situé sur la scène, telle qu'une occurrence MovieClip. Vous pouvez utiliser ce filtre pour obtenir un effet voilé ou de tacheté sur une occurrence BitmapData ou MovieClip. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. Pour appliquer des filtres aux clips lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel applyFilter() sur un objet BitmapData modifie ce dernier et ne peut pas être annulé. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. 528 Classes ActionScript Le filtre utilise la formule suivante : dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) * scaleY) / 256] où componentX(x, y) attribue la valeur de couleur componentX de la propriété mapBitmap à (x - mapPoint.x ,y - mapPoint.y). L'image de mappage utilisée par le filtre est redimensionnée afin de correspondre au redimensionnement de la scène. Elle n'est en aucun cas redimensionnée lorsque l'objet l'est. Ce filtre supporte le redimensionnement de la scène, mais pas le redimensionnement général, la rotation ni l'inclinaison. Si l'objet lui-même est redimensionné (si l'échelle x et l'échelle yne sont pas à 100 %), l'effet du filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Voici comment fonctionne la classe DisplacementMapFilter. Pour chaque pixel (x,y) dans le bitmap de destination, la classe DisplacementMapFilter effectue ce qui suit : ■ Elle acquiert la couleur de (x,y) dans le mappage du bitmap ■ Elle calcule un décalage sur la base de cette couleur ■ Elle recherche cet emplacement de décalage (x+dx,y+dy) dans le bitmap source ■ Elle inscrit ce pixel à la destination (x,y), si les conditions de limites le permettent. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel un filtre est appliqué, le filtre est désactivé si l'image résultante dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi applyFilter (méthode BitmapData.applyFilter), filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap) Résumé des propriétés Modificateurs Propriété Description alpha: Number Spécifie la transparence alpha à utiliser pour les déplacements en dehors des limites. color: Number Spécifie la couleur à utiliser pour les déplacements en dehors des limites. componentX: Number Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x. componentY: Number Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y. DisplacementMapFilter (flash.filters.DisplacementMapFilter) 529 Modificateurs Propriété mapBitmap: BitmapData Description Un objet BitmapData contenant les données de mappage du déplacement. mapPoint: Point Une valeur flash.geom.Point représentant le décalage du coin supérieur gauche du clip cible par rapport au coin supérieur gauche de l'image de mappage. mode: String Le mode du filtre. scaleX: Number Le multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement x à partir du calcul de mappage. scaleY: Number Le multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement y à partir du calcul de mappage. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description Initialise une occurrence DisplacementMapFilter avec les paramètres Number, componentY: Number, scaleX: Number, spécifiés. DisplacementMapFilter(mapBitmap: BitmapData, mapPoint: Point, componentX: scaleY: Number, [mode: String], [color: Number], [alpha: Number]) Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. DisplacementMapFilt er Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) 530 Classes ActionScript Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) alpha (propriété DisplacementMapFilter.alpha) public alpha : Number Spécifie la transparence alpha à utiliser pour les déplacements en dehors des limites. Elle est spécifiée en tant que valeur normalisée comprise entre 0,0 et 1,0. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 0. Utilisez cette propriété si la propriété mode est définie sur 3, COLOR. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété hors limites alpha pour la mettre à 0x00FF00 sur le clip existant MovieClip filteredMc quand un utilisateur clique sur celui-ci. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.scaleY = 25; filter.mode = "color"; filter.alpha = 0.25; this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); DisplacementMapFilter (flash.filters.DisplacementMapFilter) 531 txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } clone (méthode DisplacementMapFilter.clone) public clone() : DisplacementMapFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 532 Classes ActionScript Valeur renvoyée DisplacementMapFilter - Nouvelle occurrence DisplacementMapFilter dont les propriétés sont toutes identiques à celles de l'occurrence d'origine. Exemple L'exemple suivant crée trois objets DisplacementMapFilter et les compare : filter_1 est créé en utilisant le constructeur DisplacementMapFilter ; filter_2 est créé en le définissant comme égal à filter_1; et clonedFilter est créé en clonant filter_1. Veuillez noter que filter_2 est considéré comme égal à filter_1, clonedFilter, même s'il contient les mêmes valeurs que filter_1, ne l'est pas. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial", true); var filter_1:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var filter_2:DisplacementMapFilter = filter_1; var clonedFilter:DisplacementMapFilter = filter_1.clone(); trace(filter_1 == filter_2); // true trace(filter_1 == clonedFilter); // false for(var i in filter_1) { trace(">> " + i + ": " + filter_1[i]); // >> clone: [type Function] // >> alpha: 0 // >> color: 0 // >> mode: wrap // >> scaleY: 10 // >> scaleX: 10 // >> componentY: 1 // >> componentX: 1 // >> mapPoint: (-30, -30) // >> mapBitmap: [object Object] } for(var i in clonedFilter) { trace(">> " + i + ": " + clonedFilter[i]); // >> clone: [type Function] // >> alpha: 0 // >> color: 0 // >> mode: wrap DisplacementMapFilter (flash.filters.DisplacementMapFilter) 533 // // // // // // >> >> >> >> >> >> scaleY: 10 scaleX: 10 componentY: 1 componentX: 1 mapPoint: (-30, -30) mapBitmap: [object Object] } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } Pour illustrer plus précisément la relation entre filter_1, filter_2 et clonedFilter, l'exemple suivant modifie la propriété mode de filter_1. La modification de mode démontre que la méthode clone() crée une nouvelle occurrence basée sur les valeurs de filter_1 au lieu de faire référence à ces valeurs. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial", true); var filter_1:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var filter_2:DisplacementMapFilter = filter_1; var clonedFilter:DisplacementMapFilter = filter_1.clone(); 534 Classes ActionScript trace(filter_1.mode); // retour trace(filter_2.mode); // retour trace(clonedFilter.mode); // retour filter_1.mode = "ignore"; trace(filter_1.mode); // ignorer trace(filter_2.mode); // ignorer trace(clonedFilter.mode); // retour function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } color (propriété DisplacementMapFilter.color) public color : Number Spécifie la couleur à utiliser pour les déplacements en dehors des limites. La plage valide de déplacements est comprise entre 0,0 et 1,0. Les valeurs sont au format hexadécimal. La valeur par défaut de color est 0. Utilisez cette propriété si la propriété mode est définie sur 3, COLOR. Disponibilité : ActionScript 1.0 ; Flash Player 8 DisplacementMapFilter (flash.filters.DisplacementMapFilter) 535 Exemple L'exemple suivant modifie la propriété hors limites color pour la mettre à 0x00FF00 sur le clip existant MovieClip filteredMc quand un utilisateur clique sur celui-ci. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.scaleY = 25; filter.mode = "color"; filter.alpha = .25; filter.color = 0x00FF00; this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; 536 Classes ActionScript var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } componentX (propriété DisplacementMapFilter.componentX) public componentX : Number Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x. Les valeurs possibles sont 1 (rouge), 2 (vert), 4 (bleu) et 8 (alpha). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété componentX du clip existant filteredMc quand un utilisateur clique dessus. La valeur passe de 1 à 4, ce qui change le canal de couleur de rouge à bleu. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.componentX = 4; this.filters = new Array(filter); } DisplacementMapFilter (flash.filters.DisplacementMapFilter) 537 function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } Voir aussi BitmapData (flash.display.BitmapData) 538 Classes ActionScript componentY (propriété DisplacementMapFilter.componentY) public componentY : Number Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y. Les valeurs possibles sont 1 (rouge), 2 (vert), 4 (bleu) et 8 (alpha). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété componentY du clip existant filteredMc quand un utilisateur clique dessus. La valeur passe de 1 à 4, ce qui change le canal de couleur de rouge à bleu. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.componentY = 4; this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); DisplacementMapFilter (flash.filters.DisplacementMapFilter) 539 mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } Voir aussi BitmapData (flash.display.BitmapData) constructeur DisplacementMapFilter public DisplacementMapFilter(mapBitmap: BitmapData, mapPoint: Point, componentX: Number, componentY: Number, scaleX: Number, scaleY: Number, [mode: String], [color: Number], [alpha: Number]) Initialise une occurrence DisplacementMapFilter avec les paramètres spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres mapBitmap: BitmapData - Objet BitmapData contenant les données de mappage du déplacement. mapPoint: Point - Valeur flash.geom.Point représentant le décalage du coin supérieur gauche du clip cible par rapport au coin supérieur gauche de l'image de mappage. 540 Classes ActionScript componentX: Number - Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat x. Les valeurs possibles sont les suivantes : ■ 1 (rouge) ■ 2 (vert) ■ 4(bleu) ■ 8 (alpha) componentY: Number - Décrit le canal de couleur à utiliser dans l'image de mappage pour déplacer le résultat y. Les valeurs possibles sont les suivantes : ■ 1 (rouge) ■ 2 (vert) ■ 4(bleu) ■ 8 (alpha) scaleX: Number - Multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement x à partir du calcul de mappage. - Multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement y à partir du calcul de mappage. scaleY: Number mode: String - Ramène la valeur de déplacement à l'autre côté de l'image source. ■ "wrap" ■ "clamp" ■ "ignore" ■ [facultatif ] - Mode du filtre. Les valeurs possibles sont les suivantes : - Corrige la valeur de déplacement en fonction du bord de l'image source. - Si la valeur de déplacement est hors limites, ignore le déplacement et utilise le pixel source. "color" - Si la valeur de déplacement est en dehors de l'image, remplace une valeur de pixel composée des propriétés alpha et color du filtre. color: Number [facultatif ] - Spécifie la couleur à utiliser pour les déplacements en dehors des limites. La plage valide de déplacements est comprise entre 0,0 et 1,0. Utilisez ce paramètre si le mode est défini sur "color". [facultatif ] - Spécifie la valeur alpha à utiliser pour les déplacements en dehors des limites. Elle est spécifiée en tant que valeur normalisée comprise entre 0,0 et 1,0. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 0. Utilisez ce paramètre si la propriété mode est définie sur "color". alpha: Number Exemple La fonction constructeur suivante crée une nouvelle occurrence du filtre : myFilter = new flash.filters.DisplacementMapFilter (mapBitmap, mapPoint, componentX, componentY, scale, [mode], [color], [alpha]) DisplacementMapFilter (flash.filters.DisplacementMapFilter) 541 L'exemple suivant instancie un nouveau DisplacementMapFilter ayant un bitmap avec dégradé radial et l'applique au texte contenant l'objet MovieClip, txtBlock. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var var var var var var var var mapPoint:Point = new Point(-30, -30); componentX:Number = 1; componentY:Number = 1; scaleX:Number = 10; scaleY:Number = 10; mode:String = "wrap"; color:Number = 0x000000; alpha:Number = 0x000000; var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, mapPoint, componentX, componentY, scaleX, scaleY, mode, color, alpha); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); 542 Classes ActionScript return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } mapBitmap (propriété DisplacementMapFilter.mapBitmap) public mapBitmap : BitmapData Un objet BitmapData contenant les données de mappage du déplacement. La propriété mapBitmap ne peut pas être changée en modifiant directement sa valeur. Vous devez obtenir une référence à mapBitmap, effectuer les modifications sur la référence, puis définir la propriété mapBitmap sur la référence. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété mapBitmap du clip existant filteredMc quand un utilisateur clique dessus. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); var scope:Object = this; filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.mapBitmap = scope.createGradientBitmap(300, 80, 0xFF000000, "linear"); this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); DisplacementMapFilter (flash.filters.DisplacementMapFilter) 543 var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } Voir aussi BitmapData (flash.display.BitmapData) 544 Classes ActionScript mapPoint (propriété DisplacementMapFilter.mapPoint) public mapPoint : Point Une valeur flash.geom.Point représentant le décalage du coin supérieur gauche du clip cible par rapport au coin supérieur gauche de l'image de mappage. La propriété mapPoint ne peut pas être changée en modifiant directement sa valeur. Vous devez obtenir une référence à mapPoint, effectuer les modifications sur la référence, puis définir la propriété mapPoint sur la référence. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété mapPoint du clip existant filteredMc quand un utilisateur clique dessus. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.mapPoint = new Point(-30, -40); this.filters = new Array(filter); this._x = 30; this._y = 40; } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } DisplacementMapFilter (flash.filters.DisplacementMapFilter) 545 function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } Voir aussi Point (flash.geom.Point) mode (propriété DisplacementMapFilter.mode) public mode : String Le mode du filtre. Les valeurs possibles sont les suivantes : ■ - Ramène la valeur de déplacement à l'autre côté de l'image source. Il s'agit de la valeur par défaut. "wrap" - Corrige la valeur de déplacement en fonction du bord de l'image source. ■ "clamp" ■ "ignore" - Si la valeur de déplacement est hors limites, ignore le déplacement et utilise le pixel source. 546 Classes ActionScript ■ "color" - Si la valeur de déplacement est en dehors de l'image, remplace une valeur de pixel composée des propriétés alpha et color du filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie scaleY pour créer une valeur de déplacement hors limites et ensuite change la propriété mode sur le clip existant filteredMc pour la définir à ignore quand un utilisateur clique sur celui-ci. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.scaleY = 25; filter.mode = "ignore"; this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); DisplacementMapFilter (flash.filters.DisplacementMapFilter) 547 mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } scaleX (propriété DisplacementMapFilter.scaleX) public scaleX : Number Le multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement x à partir du calcul de mappage. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété scaleX du clip existant filteredMc quand un utilisateur clique dessus. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.scaleX = 5; this.filters = new Array(filter); } 548 Classes ActionScript function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } DisplacementMapFilter (flash.filters.DisplacementMapFilter) 549 scaleY (propriété DisplacementMapFilter.scaleY) public scaleY : Number Le multiplicateur à utiliser pour mettre à l'échelle le résultat du déplacement y à partir du calcul de mappage. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété scaleY du clip existant filteredMc quand un utilisateur clique dessus. import import import import import flash.filters.DisplacementMapFilter; flash.display.BitmapData; flash.geom.Point; flash.geom.Matrix; flash.geom.ColorTransform; var filteredMc:MovieClip = createDisplacementMapRectangle(); filteredMc.onPress = function() { var filter:DisplacementMapFilter = this.filters[0]; filter.scaleY = 5; this.filters = new Array(filter); } function createDisplacementMapRectangle():MovieClip { var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial"); var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(-30, -30), 1, 1, 10, 10, "wrap", 0x000000, 0x000000); var txtBlock:MovieClip = createTextBlock(); txtBlock._x = 30; txtBlock._y = 30; txtBlock.filters = new Array(filter); return txtBlock; } function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData { var mc:MovieClip = this.createEmptyMovieClip("mc", 1); var matrix:Matrix = new Matrix(); matrix.createGradientBox(w, h, 0, 0, 0); mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad"); 550 Classes ActionScript mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc.endFill(); (hide == true) ? mc._alpha = 0 : mc._alpha = 100; var bmp:BitmapData = new BitmapData(w, h, true, bgColor); bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true); mc.attachBitmap(bmp, this.getNextHighestDepth()); return bmp; } function createTextBlock():MovieClip { var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth()); txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80); txtBlock.txt.text = "watch the text bend with the displacement map"; return txtBlock; } DropShadowFilter (flash.filters.DropShadowFilter) Object | +- BitmapFilter | +-flash.filters.DropShadowFilter public class DropShadowFilter extends BitmapFilter La classe DropShadowFilter vous permet d'ajouter une ombre portée à divers objets dans Flash. Vous disposez de plusieurs options pour définir le style de l'ombre portée, notamment l'ombre intérieure ou extérieure et le mode de masquage. L'utilisation de filtres dépend de l'objet auquel vous appliquez le filtre. ■ Pour appliquer des filtres aux clips, champs de texte et boutons lors de l'exécution, utilisez la propriété filters. Lorsque vous définissez la propriété filters d'un objet, celui-ci n'est pas modifié. En outre, vous pouvez l'annuler en supprimant la propriété filters. DropShadowFilter (flash.filters.DropShadowFilter) 551 ■ Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode BitmapData.applyFilter(). L'appel de applyFilter() pour un objet BitmapData génère une image filtrée à partir de l'objet BitmapData source et de l'objet filtre. Vous pouvez également appliquer des effets de filtre aux images et aux données vidéo pendant la programmation. Pour plus d'informations, consultez la documentation relative à la programmation. Si vous appliquez un filtre à un clip ou à un bouton, la propriété cacheAsBitmap du clip ou du bouton est définie sur true. Si vous supprimez tous les filtres, la valeur d'origine de cacheAsBitmap est restaurée. Ce filtre prend en charge le redimensionnement de la scène. Mais le redimensionnement général, la rotation et l'inclinaison ne sont pas gérés. Si l'objet lui-même est redimensionné (si _xscale et _yscale ne sont pas à 100 %), l'effet de filtre n'est pas redimensionné. Le redimensionnement est effectué uniquement en cas de zoom avant sur la scène. Un filtre ne peut s'appliquer si l'image résultante dépasse 2 880 pixels en largeur ou en hauteur. Par exemple, si vous faites un zoom avant sur un grand clip auquel un filtre est appliqué, le filtre est désactivé si l'image résultante dépasse la limite de 2 880 pixels. Disponibilité : ActionScript 1.0 ; Flash Player 8 Voir aussi filters (propriété MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap), filters (propriété Button.filters), cacheAsBitmap (propriété Button.cacheAsBitmap), filters (propriété TextField.filters), applyFilter (méthode BitmapData.applyFilter) Résumé des propriétés Modificateurs Propriété 552 Description alpha: Number La valeur de transparence alpha de la couleur d'ombre. angle: Number L'angle de l'ombre. blurX: Number Le montant de flou horizontal. blurY: Number Le montant de flou vertical. color: Number La couleur de l'ombre. distance: Number La distance de décalage de l'ombre en pixels. hideObject: Boolean Indique si l'objet est masqué ou non. inner: Boolean Indique si l'ombre est intérieure ou non. Classes ActionScript Modificateurs Propriété Description knockout: Boolean Applique un effet de masquage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. quality: Number Le nombre de fois où le filtre doit s'appliquer. strength: Number L'intensité de l'impression ou du recouvrement. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description DropShadowFilter([distance: Number], Crée une nouvelle occurrence DropShadowFilter avec les paramètres spécifiés. [angle: Number], [color: Number], [alpha: Number], [blurX: Number], [blurY: Number], [strength: Number], [quality: Number], [inner: Boolean], [knockout: Boolean], [hideObject: Boolean]) Résumé de la méthode Modificateurs Signature clone() : Description Renvoie une copie de cet objet filtre. DropShadowFilter Méthodes héritées de la classe BitmapFilter clone (méthode BitmapFilter.clone) Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) DropShadowFilter (flash.filters.DropShadowFilter) 553 alpha (propriété DropShadowFilter.alpha) public alpha : Number La valeur de transparence alpha de la couleur d'ombre. Les valeurs valides sont comprises entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant change la propriété alpha sur un clip quand un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowAlpha"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.alpha = 0,4; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } 554 Classes ActionScript angle (propriété DropShadowFilter.angle) public angle : Number L'angle de l'ombre. Les valeurs valides sont comprises entre 0 et 360° (virgule flottante). La valeur par défaut est 45. La valeur de l'angle représente l'angle de la source de lumière théorique projetée sur l'objet et détermine le placement de l'effet relatif à l'objet. Si la distance est définie à 0, l'effet n'est pas décalé de l'objet, et donc la propriété angle n'a aucun effet. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété angle d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowAngle"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.angle = 135; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } DropShadowFilter (flash.filters.DropShadowFilter) 555 blurX (propriété DropShadowFilter.blurX) public blurX : Number Le montant de flou horizontal. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété blurX d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowBlurX"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.blurX = 40; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } 556 Classes ActionScript blurY (propriété DropShadowFilter.blurY) public blurY : Number Le montant de flou vertical. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété blurY d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowBlurY"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.blurY = 40; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } DropShadowFilter (flash.filters.DropShadowFilter) 557 clone (méthode DropShadowFilter.clone) public clone() : DropShadowFilter Renvoie une copie de cet objet filtre. Disponibilité : ActionScript 1.0 ; Flash Player 8 Valeur renvoyée DropShadowFilter - Nouvelle occurrence DropShadowFilter dont les propriétés sont toutes identiques à celles de l'occurrence d'origine. Exemple L'exemple suivant crée trois objets DropShadowFilter et les compare; filter_1 est créé par le constructeur DropShadowFilter ; filter_2 est créé en le définissant comme égal à filter_1 ; et clonedFilter est créé en clonant filter_1. Veuillez noter que filter_2 est considéré comme égal à filter_1, clonedFilter, même s'il contient les mêmes valeurs que filter_1, ne l'est pas. import flash.filters.DropShadowFilter ; var filter_1:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, .8, 16, 16, 1, 3, false, false, false); var filter_2:DropShadowFilter = filter_1; var clonedFilter:DropShadowFilter = filter_1.clone(); trace(filter_1 == filter_2); // true trace(filter_1 == clonedFilter); // false for(var i in filter_1) { trace(">> " + i + ": " + filter_1[i]); // >> clone: [type Function] // >> hideObject: false // >> strength: 1 // >> blurY: 16 // >> blurX: 16 // >> knockout: false // >> inner: false // >> quality: 3 // >> alpha: 0.8 // >> color: 0 // >> angle: 45 // >> distance: 15 } for(var i in clonedFilter) { trace(">> " + i + ": " + clonedFilter[i]); // >> clone: [type Function] 558 Classes ActionScript // // // // // // // // // // // >> >> >> >> >> >> >> >> >> >> >> hideObject: false strength: 1 blurY: 16 blurX: 16 knockout: false inner: false quality: 3 alpha: 0.8 color: 0 angle: 45 distance: 15 } Pour illustrer plus précisément la relation entre filter_1, filter_2 et clonedFilter, l'exemple suivant modifie la propriété knockout de filter_1. La modification de knockout démontre que la méthode clone() crée une occurrence reposant sur les valeurs de filter_1 au lieu de pointer vers elles par référence. import flash.filters.DropShadowFilter ; var filter_1:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0,8, 16, 16, 1, 3, false, false, false); var filter_2:DropShadowFilter = filter_1; var clonedFilter:DropShadowFilter = filter_1.clone(); trace(filter_1.knockout); // false trace(filter_2.knockout); // false trace(clonedFilter.knockout); // false filter_1.knockout = true; trace(filter_1.knockout); // true trace(filter_2.knockout); // true trace(clonedFilter.knockout); // false color (propriété DropShadowFilter.color) public color : Number La couleur de l'ombre. Les valeurs valides sont au format hexadécimal 0xRRGGBB. La valeur par défaut est 0x000000. Disponibilité : ActionScript 1.0 ; Flash Player 8 DropShadowFilter (flash.filters.DropShadowFilter) 559 Exemple L'exemple suivant modifie la propriété color d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowColor"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.color = 0xFF0000; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } distance (propriété DropShadowFilter.distance) public distance : Number La distance de décalage de l'ombre en pixels. La valeur par défaut est 4 (virgule flottante). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété distance d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowDistance"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; 560 Classes ActionScript filter.distance = 40; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } constructeur DropShadowFilter public DropShadowFilter([distance: Number], [angle: Number], [color: Number], [alpha: Number], [blurX: Number], [blurY: Number], [strength: Number], [quality: Number], [inner: Boolean], [knockout: Boolean], [hideObject: Boolean]) Crée une nouvelle occurrence DropShadowFilter avec les paramètres spécifiés. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres [facultatif ] - Distance de décalage de l'ombre en pixels. La valeur par défaut est 4 (virgule flottante). distance: Number angle: Number [facultatif ] - Angle de l'ombre, de 0 à 360° (virgule flottante). La valeur par défaut est 45. [facultatif ] - Couleur de l'ombre, au format hexadécimal 0xRRVVBB. La valeur par défaut est 0x000000. color: Number alpha: Number [facultatif ] - Valeur de transparence alpha de la couleur d'ombre. Les valeurs valides sont comprises entre 0 et 1. Par exemple, 0,25 définit une valeur de transparence de 25 %. La valeur par défaut est 1. DropShadowFilter (flash.filters.DropShadowFilter) 561 [facultatif ] - Niveau de flou horizontal. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. blurX: Number [facultatif ] - Niveau de flou vertical. Les valeurs valides sont comprises entre 0 et 255 (virgule flottante). La valeur par défaut est 4. Les valeurs multiples de 2 (telles que 2, 4, 8, 16 et 32) sont optimisées pour donner un rendu plus rapide que les autres valeurs. blurY: Number strength: Number [facultatif ] - Intensité de l'impression ou du recouvrement. Plus la valeur est élevée, plus l'intensité des couleurs apparaît à l'impression et plus le contraste est important entre l'ombre et l'arrière-plan. Les valeurs valides sont comprises entre 0 et 255. La valeur par défaut est 1. quality: Number [facultatif ] - Nombre d'applications du filtre. Les valeurs valides sont 0 à 15. La valeur par défaut est 1, ce qui équivaut à une qualité inférieure. Une valeur de 2 est une qualité moyenne et une valeur de 3 est la qualité supérieure. [facultatif ] - Indique si l'ombre est intérieure ou non. La valeur true spécifie une ombre intérieure. La valeur par défaut est false, renvoyant une ombre extérieure au niveau des bords extérieurs de l'objet. inner: Boolean [facultatif ] - Applique un effet de poinçonnage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. La valeur par défaut est false (pas de masquage). knockout: Boolean [facultatif ] - Indique si l'objet est masqué ou non. La valeur true indique que l'objet n'est pas tracé et que seule l'ombre est visible. La valeur par défaut est false, soit montrer l'objet. hideObject: Boolean Exemple L'exemple suivant instancie une nouvelle occurrence DropShadowFilter et l'applique à un rectangle plat. import flash.filters.DropShadowFilter ; var art:MovieClip = createRectangle(100, 100, 0x003366, "gradientGlowFilterExample"); var distance:Number = 20; var angleInDegrees:Number = 45; var color:Number = 0x000000; var alpha:Number = 0.8; var blurX:Number = 16; var blurY:Number = 16; var strength:Number = 1; var quality:Number = 3; var inner:Boolean = false; var knockout:Boolean = false; var hideObject:Boolean = false; 562 Classes ActionScript var filter:DropShadowFilter = new DropShadowFilter(distance, angleInDegrees, color, alpha, blurX, blurY, strength, quality, inner, knockout, hideObject); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; function createRectangle(w:Number, h:Number, bgColor:Number, name:String):MovieClip { var mc:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); mc.beginFill(bgColor); mc.lineTo(w, 0); mc.lineTo(w, h); mc.lineTo(0, h); mc.lineTo(0, 0); mc._x = 20; mc._y = 20; return mc; } hideObject (propriété DropShadowFilter.hideObject) public hideObject : Boolean Indique si l'objet est masqué ou non. Une valeur true indique que l'objet n'est pas tracé et que seule l'ombre est visible. La valeur par défaut est false, soit montrer l'objet. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété hideObject d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowHideObject"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.hideObject = true; this.filters = new Array(filter); DropShadowFilter (flash.filters.DropShadowFilter) 563 } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } inner (propriété DropShadowFilter.inner) public inner : Boolean Indique si l'ombre est intérieure ou non. La valeur true indique une ombre intérieure. La valeur par défaut est false, renvoyant une ombre extérieure au niveau des bords extérieurs de l'objet. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété inner d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowInner"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.inner = true; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; 564 Classes ActionScript var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } knockout (propriété DropShadowFilter.knockout) public knockout : Boolean Applique un effet de masquage (true) qui rend le remplissage de l'objet effectivement transparent et révèle la couleur d'arrière-plan du document. La valeur par défaut est false (pas de masquage). Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété knockout d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowKnockout"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.knockout = true; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); DropShadowFilter (flash.filters.DropShadowFilter) 565 art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } quality (propriété DropShadowFilter.quality) public quality : Number Le nombre de fois où le filtre doit s'appliquer. Les valeurs valides sont 0 à 15. La valeur par défaut est 1, ce qui équivaut à une qualité inférieure. Une valeur de 2 est une qualité moyenne et une valeur de 3 est la qualité supérieure. Les rendus des filtres de valeurs inférieures sont obtenus plus rapidement. Pour la plupart des applications, une valeur de quality de 1, 2 ou 3 est suffisante. Bien que vous puissiez utiliser les valeurs numériques supplémentaires jusqu'à 15 pour appliquer les différents effets, les valeurs les plus hautes donnent un rendu plus lent. Sans augmenter la valeur de quality, vous pouvez généralement obtenir un effet similaire, avec un rendu plus rapide, en augmentant simplement les valeurs de blurX et blurY. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété quality d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowQuality"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.quality = 0; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); 566 Classes ActionScript art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } strength (propriété DropShadowFilter.strength) public strength : Number L'intensité de l'impression ou du recouvrement. Plus la valeur est élevée, plus l'intensité des couleurs apparaît à l'impression et plus le contraste est important entre l'ombre et l'arrièreplan. Les valeurs valides sont comprises entre 0 et 255. La valeur par défaut est 1. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant modifie la propriété strength d'un clip existant lorsqu'un utilisateur clique dessus. import flash.filters.DropShadowFilter ; var mc:MovieClip = createDropShadowRectangle("DropShadowStrength"); mc.onRelease = function() { var filter:DropShadowFilter = this.filters[0]; filter.strength = 0.6; this.filters = new Array(filter); } function createDropShadowRectangle(name:String):MovieClip { var art:MovieClip = this.createEmptyMovieClip(name, this.getNextHighestDepth()); var w:Number = 100; var h:Number = 100; art.beginFill(0x003366); art.lineTo(w, 0); art.lineTo(w, h); art.lineTo(0, h); art.lineTo(0, 0); art._x = 20; art._y = 20; DropShadowFilter (flash.filters.DropShadowFilter) 567 var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false); var filterArray:Array = new Array(); filterArray.push(filter); art.filters = filterArray; return art; } Erreur Object | +-Error public class Error extends Object Contient des informations sur une erreur qui s'est produite dans un script. Vous pouvez créer un objet Error à l'aide de la fonction constructeur Error. En général, vous générez (throw) un nouvel objet Error à partir d'un bloc de code try, qui est ensuite détecté par un bloc de code catch ou finally. Vous pouvez également créer une sous-classe de la classe Error et générer des occurrences de cette sous-classe. Disponibilité : ActionScript 1.0 ; Flash Player 7 Résumé des propriétés Modificateurs Propriété Description message: String Contient le message associé à l'objet Error. name: String Contient le nom de l'objet Error. Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Récapitulatif des constructeurs Signature Description Error([message: Crée un nouvel objet Error. String]) 568 Classes ActionScript Résumé de la méthode Modificateurs Signature Description toString() : String Renvoie la chaîne "Error" par défaut ou la valeur contenue dans Error.message, s'il est défini. Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) constructeur Error public Error([message: String]) Crée un nouvel objet Error. Si message est spécifié, sa valeur est affectée à la propriété Error.message de l'objet. Disponibilité : ActionScript 1.0 ; Flash Player 7 Paramètres message: String [facultatif ] - Chaîne associée à l'objet Error. Exemple Dans l'exemple suivant, une fonction renvoie une erreur (avec un message spécifié) si les deux chaînes qui lui sont transmises ne sont pas identiques : function compareStrings(str1_str:String, str2_str:String):Void { if (str1_str != str2_str) { throw new Error("Strings do not match."); } } try { compareStrings("Dog", "dog"); // Renvoie : Strings do not match. } catch (e_err:Error) { trace(e_err.toString()); } Voir aussi Instruction throw, Instruction try..catch..finally Erreur 569 message (propriété Error.message) public Message : String Contient le message associé à l'objet Error. Par défaut, la valeur de cette propriété est « Error ». Vous pouvez spécifier une propriété message lorsque vous créez un objet Error en transmettant la chaîne d'erreur à la fonction constructeur Error. Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple Dans l'exemple suivant, une fonction renvoie un message spécifié en fonction des paramètres entrés dans theNum. Si les deux nombres peuvent être divisés, la valeur SUCCESS et le nombre s'affichent. Des erreurs spécifiques s'affichent si vous essayez de diviser par 0 ou si vous entrez un seul paramètre : function divideNum(num1:Number, num2:Number):Number { if (isNaN(num1) || isNaN(num2)) { throw new Error("divideNum function requires two numeric parameters."); } else if (num2 == 0) { throw new Error("cannot divide by zero."); } return num1/num2; } try { var theNum:Number = divideNum(1, 0); trace("SUCCESS! "+theNum); } catch (e_err:Error) { trace("ERROR! "+e_err.message); trace("\t"+e_err.name); } Si vous testez ce code ActionScript sans modifier les nombres que vous divisez, une erreur s'affiche dans le panneau de sortie car vous essayez de diviser par 0. Voir aussi Instruction throw, Instruction try..catch..finally 570 Classes ActionScript name (propriété Error.name) public name : String Contient le nom de l'objet Error. Par défaut, la valeur de cette propriété est « Error ». Disponibilité : ActionScript 1.0 ; Flash Player 7 Exemple Dans l'exemple suivant, une fonction renvoie une erreur spécifiée en fonction des deux nombres que vous essayez de diviser. Ajoutez le code ActionScript suivant à l'image 1 du scénario : function divideNumber(numerator:Number, denominator:Number):Number { if (isNaN(numerator) || isNaN(denominator)) { throw new Error("divideNum function requires two numeric parameters."); } else if (denominator == 0) { throw new DivideByZeroError(); } return numerator/denominator; } try { var theNum:Number = divideNumber(1, 0); trace("SUCCESS! "+theNum); // Renvoie : DivideByZeroError -> Unable to divide by zero. } catch (e_err:DivideByZeroError) { // Une erreur de division par zéro s'est produite trace(e_err.name+" -> "+e_err.toString()); } catch (e_err:Error) { // Une erreur générique s'est produite trace(e_err.name+" -> "+e_err.toString()); } Pour ajouter une erreur personnalisée, insérez le code suivant dans un fichier .AS intitulé DivideByZeroError.as et enregistrez le fichier de classe dans le même répertoire que votre document FLA. class DivideByZeroError extends Error { var name:String = "DivideByZeroError"; var message:String = "Unable to divide by zero."; } Voir aussi Instruction throw, Instruction try..catch..finally Erreur 571 toString (méthode Error.toString) public toString() : String Renvoie la chaîne « Error » par défaut ou la valeur contenue dans Error.message, s'il est défini. Disponibilité : ActionScript 1.0 ; Flash Player 7 Valeur renvoyée String - Chaîne Exemple Dans l'exemple suivant, une fonction renvoie une erreur (avec un message spécifié) si les deux chaînes qui lui sont transmises ne sont pas identiques : function compareStrings(str1_str:String, str2_str:String):Void { if (str1_str != str2_str) { throw new Error("Strings do not match."); } } try { compareStrings("Dog", "dog"); // Renvoie : Strings do not match. } catch (e_err:Error) { trace(e_err.toString()); } Voir aussi message (propriété Error.message), Instruction throw, Instruction try..catch..finally ExternalInterface (flash.external.ExternalInterface) Object | +-flash.external.ExternalInterface public class ExternalInterface extends Object La classe ExternalInterface est l'API External, une interface de programmation d'application qui autorise les communications simples entre ActionScript et le conteneur de Flash Player ; par exemple, une page HTML utilisant JavaScript ou une application de bureau intégrant Flash Player. 572 Classes ActionScript ExternalInterface a les mêmes fonctionnalités que les méthodes fscommand(), CallFrame() et CallLabel(), mais possède plus de flexibilité et peut s'appliquer plus généralement. L'utilisation de ExternalInterface est recommandée pour les communications entre JavaScript et ActionScript. A partir d'ActionScript, vous pouvez appeler toutes les fonctions JavaScript sur une page HTML, passer tous les arguments de tout type de données et recevoir une valeur de retour pour un appel. Depuis JavaScript sur la page HTML, vous pouvez appeler une fonction ActionScript dans Flash Player. La fonction ActionScript peut renvoyer une valeur que JavaScript reçoit immédiatement comme valeur de retour de l'appel. ExternalInterface est supporté par les combinaisons suivantes de navigateurs et de systèmes d'exploitation : Navigateur Système d'exploitation Internet Explorer 5.0 et versions ultérieures Windows Netscape 8.0 et versions ultérieures Windows Macintosh Mozilla 1.7.5 et versions Windows ultérieures Macintosh Firefox 1.0 et versions ultérieures Macintosh Windows Safari 1.3 et versions ultérieures Macintosh ExternalInterface requiert que le navigateur web de l'utilisateur supporte soit ActiveX soit l'API NPRuntime qui est proposée par certains navigateurs pour les scripts de plug-ins. Voir http://www.mozilla.org/projects/plugins/npruntime.html. Disponibilité : ActionScript 1.0 ; Flash Player 8 Résumé des propriétés Modificateurs Propriété Description static Indique si ce lecteur se trouve dans un conteneur doté d'une interface externe. available: Boolean [lecture seule] ExternalInterface (flash.external.ExternalInterface) 573 Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) Résumé de la méthode Modificateurs Signature static Description addCallback(methodN Enregistre une méthode ActionScript comme ame: String, pouvant être appelée à partir du conteneur. instance: Object, method: Function) : Boolean static call(methodName: String, [parameter1: Appelle une fonction présentée par le conteneur Flash Player, en transmettant la valeur zéro ou d'autres arguments. Object]) : Object Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) addCallback (méthode ExternalInterface.addCallback) public static addCallback(methodName: String, instance: Object, method: Function) : Boolean Enregistre une méthode ActionScript comme pouvant être appelée à partir du conteneur. Lorsque l'invocation de addCallBack() a réussi, la fonction enregistrée dans Flash Player peut être appelée par le code JavaScript ou ActiveX dans le conteneur. Disponibilité : ActionScript 1.0 ; Flash Player 8 574 Classes ActionScript Paramètres methodName: String - Nom utilisé pour appeler la fonction ActionScript à partir de JavaScript. Il n'est pas nécessaire que ce nom corresponde au nom actuel de la méthode ActionScript. - Objet que this convertit dans la méthode. Ce n'est pas nécessairement l'objet sur lequel la méthode se trouve : vous pouvez spécifier n'importe quel objet (ou null). instance: Object method: Function - Méthode ActionScript à appeler à partir de JavaScript. Valeur renvoyée - Renvoie true si l'appel a réussi. falseest renvoyé s'il a échoué parce que l'occurrence n'était pas disponible, en raison d'une restriction de sécurité, parce qu'aucun objet fonction de ce type n'existait, en raison d'une erreur de récursivité, ou s'y apparentant. Boolean Une valeur false renvoyée peut également signifier que l'environnement conteneur appartient à un Sandbox de sécurité auquel le code effectuant l'appel n'a pas accès. Vous pouvez contourner ce problème en procédant comme suit : ■ Dans la balise <object> associée au fichier SWF intégré à la page HTML, définissez le paramètre suivant : <param name = "allowScriptAccess" value = "always" /> ■ Dans le fichier SWF, ajoutez le code ActionScript suivant : System.security.allowDomain( sourceDomain ) Exemple L'exemple suivant enregistre la fonction goToAdobe() comme pouvant être appelée à partir du conteneur du nom de goHome. import flash.external.*; var methodName:String = "goHome"; var instance:Object = null; var method:Function = goToAdobe; var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method); var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 0, 0, 200, 50); txtField.border = true; txtField.text = wasSuccessful.toString(); function goToAdobe() { txtField.text = "http://www.adobe.com"; getURL("http://www.adobe.com", "_self"); } ExternalInterface (flash.external.ExternalInterface) 575 Pour que l'exemple ci-dessus fonctionne correctement, vous devez copier et coller le code suivant dans la page HTML conteneur. Ce code est basé sur le fait que l'attribut id de la balise OBJECT et l'attribut name de la balise EMBED doivent avoir la valeur externalInterfaceExample. La fonction thisMovie renvoie la syntaxe appropriée selon le navigateur, vu que Internet Explorer et Netscape font référence à l'objet movie différemment. A moins que la page HTML ne soit hébergée sur un serveur, votre navigateur peut vous alerter par un message de sécurité. Remarque : Evitez d'utiliser d'autres méthodes d'accès à l'objet plug-in, telles que document.getElementById("pluginName") ou document.all.pluginName, parce que ces autres méthodes ne fonctionnent pas régulièrement sur tous les navigateurs. <form> <input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" /> </form> <script> function callExternalInterface() { thisMovie("externalInterfaceExample").goHome(); } function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName] } else { return document[movieName] } } </script> Voir aussi allowDomain (méthode security.allowDomain) available (propriété ExternalInterface.available) public static available : Boolean [lecture seule] Indique si ce lecteur se trouve dans un conteneur doté d'une interface externe. Si l'interface externe est disponible, cette propriété est true ; sinon, elle est false. Disponibilité : ActionScript 1.0 ; Flash Player 8 576 Classes ActionScript Exemple L'exemple suivant utilise ExternalInterface.available pour déterminer si le lecteur est dans un conteneur doté d'une interface externe. import flash.external.*; var isAvailable:Boolean = ExternalInterface.available; trace(isAvailable); call (méthode ExternalInterface.call) public static call(methodName: String, [parameter1: Object]) : Object Appelle une fonction présentée par le conteneur Flash Player, en transmettant la valeur zéro ou d'autres arguments. Si la fonction voulue n'est pas disponible, l'appel renvoie null ; sinon, elle renvoie la valeur fournie par la fonction. La récursivité n'est pas autorisée ; un appel récursif entraîne une réponse null. Si le conteneur correspond à une page HTML, cette méthode appelle une fonction JavaScript dans un élément <script>. Si le conteneur est un autre conteneur de type ActiveX, cette méthode émet un événement ayant le nom spécifié ; le conteneur traite alors l'événement. Si le conteneur renferme le plug-in Netscape, vous pouvez soit écrire le support personnalisé pour la nouvelle interface NPRuntime, soit intégrer un contrôle HTML et intégrer Flash Player dans le contrôle HTML . Si vous intégrez un contrôle HTML, vous pouvez communiquer avec Flash Player via une interface JavaScript qui dialogue avec l'application conteneur native. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres methodName: String - Nom de la fonction à appeler dans le conteneur. Si la fonction accepte les paramètres, ils doivent apparaître après le paramètre methodName. [facultatif ] - Tout paramètre à passer à la fonction. Vous pouvez ne spécifier aucun paramètre ou en spécifier plusieurs en les séparant par des virgules. Ces paramètres peuvent être de tout type de donnée ActionScript. Si vous faites appel à une fonction JavaScript, les types ActionScript sont automatiquement rentrés en ordre dans les types JavaScript. Si vous faites appel à un autre conteneur ActiveX, les paramètres sont encodés dans le message de requête. parameter1: Object ExternalInterface (flash.external.ExternalInterface) 577 Valeur renvoyée Object - Réponse émanant du conteneur. Si l'appel a échoué parce que cette fonction ne se trouvait pas dans le conteneur, l'interface n'était pas disponible, une erreur de récursivité s'est produite ou en raison d'un problème de sécurité, la valeur null est renvoyée. Exemple L'exemple suivant appelle la fonction JavaScript sayHello() dans la page HTML contenant le fichier SWF. L'appel est effectué en utilisant la méthode ExternalInterface.call(). import flash.external.*; var greeting:String; var btn:MovieClip = createButton(100, 30, 0xCCCCCC); btn.onPress = function() { greeting = String(ExternalInterface.call("sayHello", "browser")); this.mcTxt.text = greeting; // >> Hi Flash. } function createButton(width:Number, height:Number, color:Number):MovieClip { var depth:Number = this.getNextHighestDepth(); var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth); var mcFmt:TextFormat; mc.beginFill(color); mc.lineTo(0, height); mc.lineTo(width, height); mc.lineTo(width, 0); mc.lineTo(0, 0); mcFmt = new TextFormat(); mcFmt.align = "center"; mcFmt.bold = true; mc.createTextField("mcTxt", depth, 0, 0, width, height); mc.mcTxt.text = "Call JS Function"; mc.mcTxt.setTextFormat(mcFmt); return mc; } 578 Classes ActionScript Pour que l'exemple ci-dessus fonctionne correctement, vous devez copier et coller le code suivant dans la page HTML conteneur. A moins que la page HTML ne soit hébergée sur un serveur, votre navigateur peut vous alerter par un message de sécurité. <script> function sayHello(name) { alert(">> Hello " + name + "."); return ">> Hi Flash."; } </script> FileReference (flash.net.FileReference) Object | +-flash.net.FileReference public class FileReference extends Object La classe FileReference permet de charger et télécharger des fichiers entre l'ordinateur d'un utilisateur et le serveur. Une boîte de dialogue d'un système d'exploitation invite l'utilisateur à sélectionner un fichier pour le charger ou à choisir un emplacement pour le télécharger. Chaque objet FileReference fait référence à un fichier unique sur le disque dur de l'utilisateur et inclut des propriétés contenant des informations sur la taille, le type, le nom, la date de création, la date de modification et le type de créateur du fichier (Macintosh uniquement). Les occurrences FileReference sont créées de deux façons : ■ Lorsque vous utilisez l'opérateur new avec le constructeur FileReference : var myFileReference = new FileReference(); ■ En appelant FileReferenceList.browse(), ce qui crée un tableau d'objets FileReference Pendant une opération de chargement, toutes les propriétés d'un objet FileReference sont complétées d'appels à FileReference.browse() ou FileReferenceList.browse(). Pendant une opération de téléchargement, la propriété name est complétée quand onSelect a été invoqué ; toutes les autres propriétés sont complétées quand onComplete a été invoqué. FileReference (flash.net.FileReference) 579 La méthode browse() ouvre une boîte de dialogue d'un système d'exploitation qui invite l'utilisateur à sélectionner un fichier local pour le télécharger. La méthode FileReference.browse() permet à l'utilisateur de choisir un seul fichier ; la méthode FileReferenceList.browse() lui permet d'en sélectionner plusieurs. Une fois que l'appel de la méthode browse() a abouti, appelez la méthode FileReference.upload() pour charger un fichier à la fois. La méthode FileReference.download() invite l'utilisateur à sélectionner un emplacement pour enregistrer le fichier et initialise le téléchargement à partir d'une URL distante. Les classes FileReference et FileReferenceList ne vous permettent pas de définir un emplacement de fichier par défaut pour la boîte de dialogue générée par les appelsbrowse() et download(). L'emplacement par défaut sélectionné dans les boîtes de dialogue est le dernier dossier parcouru, dans la mesure où il est possible de déterminer cet emplacement, ou le bureau. Les classes ne vous permettent la lecture ou l'écriture sur les fichiers transférés. Elles ne permettent pas au fichier SWF qui a lancé le téléchargement d'accéder au fichier téléchargé ou à l'emplacement du fichier sur le disque de l'utilisateur. Les classes FileReference et FileReferenceList ne fournissent pas de méthode d'authentification. Pour les serveurs ayant besoin d'une authentification, vous pouvez télécharger des fichiers avec le plug-in navigateur Flash Player , mais le chargement (sur tous les lecteurs) et le téléchargement (sur les lecteurs autonomes ou externes) échouent. Utilisez les écouteurs d'événements FileReference afin de déterminer si les opérations ont réussi, ou non, et pour traiter les erreurs. Pour les opérations de téléchargement (montantes ou descendantes), un fichier SWF peut accéder aux fichiers uniquement à l'intérieur de son propre domaine, ce qui comprend tous les domaines spécifiés par un fichier de régulation inter-domaines. Si le SWF qui initialise le téléchargement n'appartient pas au même domaine que le serveur de fichiers, vous devez placer un fichier de régulation sur le serveur de fichiers. Pendant que les appels aux méthodes FileReference.browse(), ou FileReference.download() s'exécutent, la lecture du fichier SWF s'arrête sur les plate-formes suivantes : les versions de Flash Player pour Linux, le plug-in Flash Player pour Mac OS X, le Flash Player externe pour Macintosh et le lecteur autonome pour Mac OS X 10.1 et versions antérieures. Le fichier SWF continue à s'exécuter sur tous les lecteurs pour Windows et sur le lecteur autonome pour Macintosh sur Mac OS X 10.2 et versions ultérieures FileReferenceList.browse() Disponibilité : ActionScript 1.0 ; Flash Player 8 580 Classes ActionScript Exemple L'exemple suivant crée un objet FileReference qui invite l'utilisateur à sélectionner une image ou un fichier texte à télécharger. Il écoute également les événements possibles. import flash.net.FileReference; var allTypes:Array = new Array(); var imageTypes:Object = new Object(); imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)"; imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png"; allTypes.push(imageTypes); var textTypes:Object = new Object(); textTypes.description = "Text Files (*.txt, *.rtf)"; textTypes.extension = "*.txt;*.rtf"; allTypes.push(textTypes); var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("onSelect: " + file.name); if(!file.upload("http://www.yourdomain.com/ yourUploadHandlerScript.cfm")) { trace("Upload dialog failed to open."); } } listener.onCancel = function(file:FileReference):Void { trace("onCancel"); } listener.onOpen = function(file:FileReference):Void { trace("onOpen: " + file.name); } listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal); } listener.onComplete = function(file:FileReference):Void { trace("onComplete: " + file.name); } listener.onHTTPError = function(file:FileReference):Void { trace("onHTTPError: " + file.name); } FileReference (flash.net.FileReference) 581 listener.onIOError = function(file:FileReference):Void { trace("onIOError: " + file.name); } listener.onSecurityError = function(file:FileReference, errorString:String):Void { trace("onSecurityError: " + file.name + " errorString: " + errorString); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(allTypes); Voir aussi FileReferenceList (flash.net.FileReferenceList) Résumé des propriétés Modificateurs Propriété creationDate: Date Description Date de création du fichier sur le disque local. [lecture seule] creator: String Type de créateur Macintosh du fichier. [lecture seule] Date [lecture seule] Date de la dernière modification du fichier sur le disque local. name: String [lecture Nom du fichier sur le disque local. modificationDate: seule] postData: String Paramètres POST à envoyer lors du chargement ou téléchargement. size: Number [lecture Taille du fichier sur le disque local en octets. seule] type: String [lecture Type de fichier. seule] Propriétés héritées de la classe Object Constructeur (propriété Object.constructor), __proto__ (Object.__proto__ property), prototype (Object.prototype, propriété), __resolve (Object.__resolve, propriété) 582 Classes ActionScript Résumé des événements Evénement Description onCancel = function(fileRef: Appelé lorsque l'utilisateur ferme la boîte de dialogue de recherche de fichier. FileReference) {} onComplete = function(fileRef: FileReference) {} Appelé en cas de réussite de l'opération d'envoi ou de téléchargement. FileReference, httpError: Number) {} Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP. onIOError = function(fileRef: Appelé lorsqu'une erreur d'entrée/sortie se produit. onHTTPError = function(fileRef: FileReference) {} onOpen = function(fileRef: FileReference) {} onProgress = function(fileRef: FileReference, bytesLoaded: Number, Appelé au début d'une opération d'envoi ou de téléchargement. Appelé régulièrement pendant l'opération d'envoi ou de téléchargement. bytesTotal: Number) {} onSecurityError = function(fileRef: FileReference, errorString: String) Appelé lorsqu'un envoi ou un téléchargement échoue en raison d'une erreur de sécurité. {} onSelect = function(fileRef: FileReference) {} onUploadCompleteData = function(fileRef: FileReference, Appelé lorsque l'utilisateur sélectionne un fichier à envoyer ou télécharger dans la boîte de dialogue de recherche de fichiers. Appelé après réception des données par le serveur après un chargement réussi. data: String) {} Récapitulatif des constructeurs Signature Description FileReference() Crée un nouvel objet FileReference. Résumé de la méthode Modificateurs Signature Description addListener(listene Enregistre un objet pour recevoir une notification r: Object) : Void lorsqu'un écouteur d'événements FileReference est invoqué. browse([typelist: Affiche une boîte de dialogue de recherche de fichier dans laquelle l'utilisateur peut sélectionner un fichier local à envoyer. Array]) : Boolean FileReference (flash.net.FileReference) 583 Modificateurs Signature Description cancel() : Void Annule une opération de chargement ou de téléchargement en cours sur cet objet FileReference. download(url: Affiche une boîte de dialogue permettant à l'utilisateur de télécharger un fichier à partir d'un serveur distant. String, [defaultFileName: String]) : Boolean removeListener(list Supprime un objet de la liste d'objets recevant des ener: Object) : messages de notification d'événement. Boolean upload(url: String, Procède au chargement d'un fichier sélectionné par uploadDataFieldName un utilisateur sur un serveur distant. : String, testUpload: Boolean) : Boolean Méthodes héritées de la classe Object addProperty (méthode Object.addProperty), hasOwnProperty (méthode Object.hasOwnProperty), isPropertyEnumerable (méthode Object.isPropertyEnumerable), isPrototypeOf (méthode Object.isPrototypeOf), registerClass (méthode Object.registerClass), toString (méthode Object.toString), unwatch (méthode Object.unwatch), valueOf (méthode Object.valueOf), watch (méthode Object.watch) addListener (méthode FileReference.addListener) public addListener(listener: Object) : Void Enregistre un objet pour recevoir une notification lorsqu'un écouteur d'événements FileReference est invoqué. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres listener: Object - Objet qui écoute une notification de rappel venant des écouteurs d'événements FileReference. 584 Classes ActionScript Exemple L'exemple suivant ajoute un écouteur à une occurrence de FileReference. import flash.net.FileReference; var listener:Object = new Object(); listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal); } listener.onComplete = function(file:FileReference):Void { trace("onComplete: " + file.name); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = "http://www.adobe.com/platform/whitepapers/ platform_overview.pdf"; fileRef.download(url, "FlashPlatform.pdf"); browse (méthode FileReference.browse) public browse([typelist: Array]) : Boolean Affiche une boîte de dialogue de recherche de fichier dans laquelle l'utilisateur peut sélectionner un fichier local à envoyer. La boîte de dialogue est spécifique au système d'exploitation de l'utilisateur. Lorsque vous appelez cette méthode et que l'utilisateur réussit à sélectionner un fichier, les propriétés de cet objet FileReference sont renseignées par les propriétés de ce fichier. Toutes les fois suivantes où FileReference.browse() est appelé, les propriétés de l'objet FileReference sont restaurées pour le fichier choisi par l'utilisateur dans la boîte de dialogue. Une seule session browse() ou download() peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois). Vous pouvez remplir un tableau des types de fichiers pour déterminer lesquels seront affichés par la boîte de dialogue. Disponibilité : ActionScript 1.0 ; Flash Player 8 FileReference (flash.net.FileReference) 585 Paramètres typelist: Array [facultatif ] - Tableau de types de fichiers utilisés pour filtrer les fichiers qui s'affichent dans la boîte de dialogue. Si vous omettez ce paramètre, tous les fichiers s'affichent. Si vous incluez ce paramètre, le tableau doit contenir un ou plusieurs éléments placés entre accolades { }. Vous pouvez appliquer l'un des deux formats au tableau : ■ Une liste de types de fichiers suivis de leur extension Windows uniquement.LINEBREAK Chaque élément du tableau doit contenir une chaîne décrivant le type de fichier et une liste, séparée par des points-virgules, des extensions de fichiers Windows, chaque extension étant précédée d'un caractère joker (*). La syntaxe de chaque élément se présente comme suit :LINEBREAK [{description: " string describing the first set of file types", extension: " semicolon-delimited list of file extensions"}]LINEBREAK Exemple : LINEBREAK [{description: "Images", extension: "*.jpg;*.gif;*.png"}, {description: "SWF files", extension: "*.swf"}, {description: "Documents", extension: "*.doc;*.pdf"}] ■ Une liste de types de fichiers suivis de leur extension Windows et de leur type de fichier Macintosh.LINEBREAK Chaque élément du tableau doit contenir une chaîne décrivant le type de fichier ; une liste, séparée par des points-virgules, des extensions de fichiers Windows, chaque extension étant précédée d'un caractère joker (*) et une liste, séparée par des points-virgules, des types de fichiers Macintosh, chaque type étant précédé d'un caractère joker (*). La syntaxe de chaque élément se présente comme suit :LINEBREAK [{description: " string describing the first set of file types", extension: " semicolon-delimited list of Windows file extensions", macType: " semicolon-delimited list of Macintosh file types"}]LINEBREAK Exemple : LINEBREAK [{description: "Image files", extension: "*.jpg;*.gif;*.png", macType: "JPEG;jp2_;GIFF"}, {description: "SWF files", extension: "*.swf", macType: "SWFL"}] Les deux formats ne sont pas interchangeables dans un appel browse() unique. Vous devez utiliser l'un ou l'autre. La liste des extensions est utilisée pour filtrer les fichiers sous Windows, selon le type de fichier sélectionné. Elle n'est pas réellement affichée dans la boîte de dialogue. Pour afficher les types de fichiers aux utilisateurs, vous devez lister les types de fichiers dans la chaîne descriptive ainsi que dans la liste d'extensions. Sous Windows, la chaîne descriptive est affichée dans la boîte de dialogue. (Elle n'est pas utilisée sous Macintosh.) Sous Macintosh, une liste de types de fichier Macintosh est utilisée pour filtrer les fichiers, si elle est fournie. Si vous ne fournissez pas de liste de types de fichiers Macintosh, c'est la liste d'extensions Windows qui est utilisée. 586 Classes ActionScript Valeur renvoyée Boolean - Renvoie true si les paramètres sont valides et que la boîte de dialogue de recherche de fichiers est affichée. Renvoie false si la boîte de dialogue ne s'affiche pas, si une autre session browse est déjà en cours ou si vous utilisez le paramètre typelist sans fournir une description ou une chaîne d'extension concernant un élément du tableau. Exemple L'exemple suivant affiche une boîte de dialogue dans laquelle l'utilisateur peut choisir un fichier image à télécharger. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("Opened " + file.name); } listener.onCancel = function(file:FileReference):Void { trace("User cancelled"); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); Voir aussi onSelect (écouteur d'événement FileReferenceList.onSelect), onCancel (écouteur d'événement FileReference.onCancel), download (méthode FileReference.download), browse (méthode FileReferenceList.browse) cancel (méthode FileReference.cancel) public cancel() : Void Annule une opération de chargement ou de téléchargement en cours sur cet objet FileReference. Disponibilité : ActionScript 1.0 ; Flash Player 8 FileReference (flash.net.FileReference) 587 Exemple L'exemple suivant télécharge environ la moitié du fichier demandé et annule ensuite le téléchargement. Ce n'est évidemment pas une utilisation classique. Vous pourriez plus souvent utiliser cette méthode pour permettre aux utilisateurs de cliquer sur Annuler dans une boîte de dialogue de statut de téléchargement. import flash.net.FileReference; var listener:Object = new Object(); listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal); if(bytesLoaded >= (bytesTotal / 2)) { file.cancel(); } } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = "http://www.adobe.com/platform/whitepapers/ platform_overview.pdf"; fileRef.download(url, "FlashPlatform.pdf"); creationDate (propriété FileReference.creationDate) public creationDate : Date [lecture seule] Date de création du fichier sur le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant récupère la date de création d'un fichier choisi par l'utilisateur. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("creationDate: " + file.creationDate); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); 588 Classes ActionScript Voir aussi browse (méthode FileReference.browse) creator (propriété FileReference.creator) public creator : String [read-only] Type de créateur Macintosh du fichier. Sous Windows, cette propriété est null. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant récupère le type de créateur Macintosh d'un fichier choisi par l'utilisateur. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("creator: " + file.creator); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); Voir aussi browse (méthode FileReference.browse) download (méthode FileReference.download) public download(url: String, [defaultFileName: String]) : Boolean Affiche une boîte de dialogue permettant à l'utilisateur de télécharger un fichier à partir d'un serveur distant. Flash Player n'impose pas de restrictions au niveau de la taille des fichiers chargés ou téléchargés, mais officiellement le lecteur prend en charge des chargements/ téléchargements de 100 Mo au maximum. FileReference (flash.net.FileReference) 589 Cette méthode ouvre d'abord une boîte de dialogue d'un système d'exploitation demandant à l'utilisateur d'entrer un nom de fichier et de sélectionner un emplacement sur l'ordinateur local pour enregistrer le fichier. Quand l'utilisateur choisit un emplacement et confirme le téléchargement (par ex. en cliquant sur Enregistrer), celui-ci commence sur le serveur distant. Les écouteurs reçoivent des événements permettant d'indiquer la progression du téléchargement, s'il a réussi ou échoué. Pour déterminer le statut de la boîte de dialogue et l'opération de téléchargement après avoir appelé la méthode download(), votre code ActionScript doit écouter les événements tels que onCancel, onOpen, onProgress, et onComplete. Les fonctions FileReference.upload() et FileReference.download() ne sont pas bloquantes. Elles sont renvoyées après leur appel, avant la fin de la transmission de fichiers. En outre, si l'objet FileReference sort de son domaine, tout chargement ou téléchargement qui n'est pas encore terminé sur cet objet est annulé à ce moment-là. Veillez à ce que l'objet FileReference demeure dans son domaine pendant toute la durée prévue du chargement ou du téléchargement. Une fois le fichier téléchargé, les propriétés de l'objet FileReference sont renseignées par les propriétés du fichier local et l'écouteur onComplete est invoqué. Une seule session browse() ou download() peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois). Cette méthode prend en charge le téléchargement de tout type de fichier, via HTTP ou HTTPS. Pour envoyer des paramètres POST au serveur, réglez la valeur de FileReference.postData sur vos paramètres. Vous pouvez également envoyer des paramètres GET au serveur avec l'appel de download() en ajoutant des paramètres à l'URL pour que le script serveur les analyse. Remarque : Si votre serveur requiert une authentification d'utilisateur, seuls les fichiers SWF s'exécutant dans un navigateur, (c'est-à-dire utilisant le plug-in du navigateur ou le contrôle ActiveX), peuvent fournir une boîte de dialogue pour demander à l'utilisateur un nom et un mot de passe d'authentification, ceci uniquement pour les téléchargements. Concernant les chargements effectués via le plug-in ou le contrôle ActiveX et le chargement/téléchargement via les lecteurs autonomes ou externes, le transfert de fichiers échoue. Pour utiliser cette méthode, tenez compte du modèle de sécurité de Flash Player : ■ ■ Cette méthode est interdite si le fichier SWF appelant se trouve dans un sandbox local non sécurisé. Le réglage de sécurité par défaut refuse l'accès entre Sandboxes. Un site web peut autoriser l'accès à une ressource en ajoutant un fichier de régulation inter-domaines. 590 Classes ActionScript Pour plus d'informations, consultez les sections suivantes : ■ ■ ■ « Fonctionnement de la sécurité » dans Formation à ActionScript 2.0 dans Flash La présentation technique de sécurité de Flash Player 9 à l'adresse http://www.adobe.com/ devnet/flashplayer/articles/flash_player_9_security.pdf. La présentation technique des API relatives à la sécurité de Flash Player 8 à l'adresse http:/ /www.adobe.com/devnet/flashplayer/articles/fp8_security-related_apis.pdf. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres - URL du fichier à télécharger sur l'ordinateur local. Vous pouvez envoyer des paramètres GET au serveur avec l'appel de download() en ajoutant des paramètres à l'URL pour que le script serveur les analyse. Voici un exemple d'utilisation : http:// url: String www.myserver.com/picture.jpg?userID=jdoe Sur certains navigateurs, les chaînes d'URL ont une longueur limitée. Une longueur supérieure à 256 caractères peut échouer sur certains navigateurs ou serveurs. [facultatif ] - Nom de fichier par défaut affiché dans la boîte de dialogue du fichier à télécharger. Les caractères suivants sont interdits dans cette chaîne : / \ : * ?"<>|% defaultFileName: String Si vous omettez ce paramètre, le nom de fichier de l'URL distante est analysé et utilisé par défaut. Valeur renvoyée Boolean - Valeur true si la boîte de dialogue permettant à l'utilisateur de choisir un fichier est affichée. Si la boîte de dialogue ne s'affiche pas, la méthode renvoie false. La boîte de dialogue peut ne pas s'afficher pour l'une des raisons suivantes : ■ Vous n'avez pas passé de valeur pour le paramètre url. ■ Le type ou le format des paramètres transmis n'est pas correct. ■ Le paramètre url a une longueur zéro. ■ ■ ■ Une violation de sécurité s'est produite : votre fichier SWF a essayé d'accéder à un fichier sur un serveur hors de la Sandbox de sécurité de votre fichier SWF. Une autre session browse est déjà en cours. Une session browse peut commencer par FileReference.browse(), FileReferenceList.browse(), ou FileReference.download(). Le protocole utilisé n'est pas le protocole HTTP ou HTTPS. FileReference (flash.net.FileReference) 591 Exemple L'exemple suivant tente de télécharger un fichier par la méthode download. Veuillez noter qu'il y a des écouteurs pour tous les événements. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("onSelect: " + file.name); } listener.onCancel = function(file:FileReference):Void { trace("onCancel"); } listener.onOpen = function(file:FileReference):Void { trace("onOpen: " + file.name); } listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal); } listener.onComplete = function(file:FileReference):Void { trace("onComplete: " + file.name); } listener.onIOError = function(file:FileReference):Void { trace("onIOError: " + file.name); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = "http://www.adobe.com/platform/whitepapers/ platform_overview.pdf"; if(!fileRef.download(url, "FlashPlatform.pdf")) { trace("dialog box failed to open."); } Voir aussi browse (méthode FileReference.browse), browse (méthode FileReferenceList.browse), upload (méthode FileReference.upload) 592 Classes ActionScript constructeur FileReference public FileReference() Crée un nouvel objet FileReference. Quand il est complété, un objet FileReference représente un fichier sur le disque local de l'utilisateur. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant crée un nouvel objet FileReference et lancé le téléchargement d'un fichier PDF. import flash.net.FileReference; var listener:Object = new Object(); listener.onComplete = function(file:FileReference) { trace("onComplete: " + file.name); } var url:String = "http://www.adobe.com/platform/whitepapers/ platform_overview.pdf"; var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.download(url, "FlashPlatform.pdf"); Voir aussi browse (méthode FileReference.browse) modificationDate (propriété FileReference.modificationDate) public modificationDate : Date [lecture seule] Date de la dernière modification du fichier sur le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant récupère la propriété modificationDate d'un fichier choisi par l'utilisateur. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { FileReference (flash.net.FileReference) 593 trace("modificationDate: " + file.modificationDate); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); Voir aussi browse (méthode FileReference.browse) name (propriété FileReference.name) public name : String [read-only] Nom du fichier sur le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null. Toutes les propriétés d'un objet FileReference sont complétées en appelant browse(). A la différence des autres propriétés FileReference, si vous appelez download(), la propriété name est renseignée quand onSelect est invoqué. Disponibilité : ActionScript 1.0 ; Flash Player 8 Exemple L'exemple suivant récupère le nom d'un fichier choisi par l'utilisateur. import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("name: " + file.name); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); fileRef.browse(); Voir aussi browse (méthode FileReference.browse) 594 Classes ActionScript onCancel (écouteur d'événement FileReference.onCancel) onCancel = function(fileRef: FileReference) {} Appelé lorsque l'utilisateur ferme la boîte de dialogue de recherche de fichier. Cette boîte de dialogue est affichée quand vous appelez FileReference.browse(), FileReferenceList.browse() ou FileReference.download(). Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres fileRef: FileReference - Objet FileReference qui a lancé l'opération. Exemple L'exemple suivant trace un message si l'utilisateur ferme la boîte de dialogue de recherche de fichier. Cette méthode est déclenchée uniquement si l'utilisateur clique sur Annuler ou appuie sur la touche Echap après l'affichage de la boîte de dialogue. import flash.net.FileReference; var listener:Object = new Object(); listener.onCancel = function(file:FileReference):Void { trace("onCancel"); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = "http://www.adobe.com/platform/whitepapers/ platform_overview.pdf"; if(!fileRef.download(url, "FlashPlatform.pdf")) { trace("dialog box failed to open."); } FileReference (flash.net.FileReference) 595 onCancel (écouteur d'événement FileReference.onComplete) onComplete = function(fileRef: FileReference) {} Appelé en cas de réussite de l'opération d'envoi ou de téléchargement. L'exécution réussie signifie que la totalité du fichier a été téléchargée (reçue ou envoyée). Dans le cas d'un téléchargement, cet écouteur d'événement est appelé lorsque Flash Player a téléchargé intégralement le fichier sur le disque. Dans le cas d'un chargement, cet écouteur d'événement est appelé lorsque Flash Player a reçu le code d'état HTTP 200 du serveur recevant la transmission. Disponibilité : ActionScript 1.0 ; Flash Player 8 Paramètres fileRef: FileReference - Objet FileReference qui a lancé l'opération. Exemple L'exemple suivant trace un message quand l'événement onComplete est déclenché. import flash.net.FileR