Mode d'emploi | Adobe Flash CS3 Manuel utilisateur

Ajouter à Mes manuels
1444 Des pages
Mode d'emploi | Adobe Flash CS3 Manuel utilisateur | Fixfr
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> .
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 = "someuser@somedomain.com";
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:you@somedomain.com");
};
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 = "user@somedomain.com";
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.
user@somedomain.com
user%40somedomain%2Ecom
user@somedomain.com
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

Manuels associés