Manuel du propriétaire | MACROMEDIA Flash 8 Manuel utilisateur

Ajouter à Mes manuels
1422 Des pages
Manuel du propriétaire | MACROMEDIA Flash 8 Manuel utilisateur | Fixfr
Guide de référence du langage ActionScript 2.0
Marques de commerce
1 Step RoboPDF, ActiveEdit, ActiveTest, Authorware, Blue Sky Software, Blue Sky, Breeze, Breezo, Captivate, Central,
ColdFusion, Contribute, Database Explorer, Director, Dreamweaver, Fireworks, Flash, FlashCast, FlashHelp, Flash Lite,
FlashPaper, Flash Video Encoder, Flex, Flex Builder, Fontographer, FreeHand, Generator, HomeSite, JRun, MacRecorder,
Macromedia, MXML, RoboEngine, RoboHelp, RoboInfo, RoboPDF, Roundtrip, Roundtrip HTML, Shockwave, SoundEdit,
Studio MX, UltraDev et WebHelp sont des marques de commerce ou des marques déposées de Macromedia, Inc. qui peuvent
être déposées aux Etats-Unis et/ou dans d'autres juridictions ou pays. Les autres noms de produits, logos, graphiques, mises en
page, titres, mots ou expressions mentionnés dans cette publication peuvent être des marques de commerce, des marques de
service ou des noms de marque appartenant à Macromedia, Inc. ou à d’autres entités et peuvent être déposés dans certaines
juridictions ou pays.
Autres marques mentionnées
Ce guide contient des liens conduisant à des sites web qui ne sont pas sous le contrôle de Macromedia, qui n'est aucunement
responsable de leur contenu. L'accès à ces sites se fait sous votre seule responsabilité. Macromedia fournit ces liens à des fins
pratiques et l’inclusion de ces liens n’implique pas que Macromedia parraine ou accepte la moindre responsabilité pour le contenu
de ces sites Web tiers.
Technologie de compression et décompression audio discours utilisée sous licence de Nellymoser, Inc. (www.nellymoser.com).
Technologie de compression et décompression vidéo Sorenson™ Spark™ utilisée sous licence de Sorenson Media, Inc.
Navigateur Opera ® Copyright © 1995-2002 Opera Software ASA et ses fournisseurs. Tous droits réservés.
La technologie vidéo Macromedia Flash 8 est optimisée par la technologie vidéo On2 TrueMotion. © 1992-2005 On2
Technologies, Inc. Tous droits réservés. http://www.on2.com.
Mitsubishi Electric Research Laboratory : Ce produit comprend les logiciels Copyright © 2005, Mitsubishi Electric Research
Laboratory Inc. Tous droits réservés. http://www.merl.com.
Copyright © 2004-2005 Macromedia, Inc. Tous droits réservés. Ce manuel ne peut pas être copié, photocopié, reproduit,
traduit ou converti sous forme électronique ou informatique, en partie ou en totalité, sans l’autorisation écrite préalable de
Macromedia, Inc. Nonobstant les dispositions précédentes, le propriétaire ou un utilisateur autorisé d'une copie valide du
logiciel accompagnant le présent manuel pourra en imprimer une copie à partir d'une version électronique dans le seul
but, pour le propriétaire ou l'utilisateur autorisé, d'apprendre à utiliser le logiciel, à condition qu'aucune partie de ce
manuel soit imprimée, reproduite, distribuée, revendue ou transmise à toute autre fin, y compris mais sans s'y limiter, à
des fins commerciales telles que la vente de copies de cette documentation ou la vente de services d'assistance.
Remerciements
Gestion de projet : JuLee Burdekin
Principaux rédacteurs : Francis Cheng, Robert Dixon, Shimul Rahim
Autres rédacteurs : Jen deHaan, Thais Derich, Guy Haas, David Jacowitz, Jeff Swartz
Exemples développés par : Luke Bayes, Francis Cheng, Robert Dixon, Ali Mills, Jeff Swartz
Révision : Linda Adler, Geta Carlson, Evelyn Eldridge, John Hammett, Noreen Maher, Mark Nigara, Lisa Stanziano, Anne
Szabla, Jessie Wood
Gestion de la production : Patrice O’Neill
Conception et production : Adam Barnett, John Francis, Brett Jarvis, Mario Reynoso
Remerciements particuliers à : Peter deHaan, Gary Grossman, Lee Thomason et l'équipe Flash Player
Première édition : Septembre 2005
Macromedia, Inc.
601 Townsend St.
San Francisco, CA 94103
Etats-Unis
Table des matières
Chapitre 1 : Eléments du langage ActionScript . . . . . . . . . . . . . . .33
Directives de compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Directive #endinitclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Directive #include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Directive #initclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Constantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Constante false. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Constante Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Constante -Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Constante NaN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Constante newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Constante null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Constante true . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Constante undefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Fonctions globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Fonction Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Protocole asfunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Fonction Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Fonction call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Fonction chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Fonction clearInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Fonction duplicateMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Fonction escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Fonction eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Fonction fscommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Fonction getProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Fonction getTimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Fonction getURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Fonction getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Fonction gotoAndPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Fonction gotoAndStop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Fonction ifFrameLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Fonction int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Fonction isFinite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Fonction isNaN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Fonction length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Fonction loadMovie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
3
Fonction loadMovieNum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Fonction loadVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Fonction loadVariablesNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Fonction mbchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Fonction mblength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Fonction mbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Fonction mbsubstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Fonction MMExecute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Fonction nextFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Fonction nextScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Fonction Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Fonction Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Gestionnaire on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Gestionnaire onClipEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Fonction ord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Fonction parseFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Fonction parseInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Fonction play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Fonction prevFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Fonction prevScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Fonction print. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Fonction printAsBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Fonction printAsBitmapNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Fonction printNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Fonction random. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Fonction removeMovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Fonction setInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Fonction setProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Fonction showRedrawRegions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Fonction startDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Fonction stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Fonction stopAllSounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Fonction stopDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Fonction String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Fonction substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Fonction targetPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Fonction tellTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Fonction toggleHighQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
Fonction trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
Fonction unescape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Fonction unloadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Fonction unloadMovieNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Fonction updateAfterEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
Propriétés globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
_accProps, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4
Table des matières
_focusrect, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
propriété _global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
_highquality, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
_level, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
maxscroll, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
_parent, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
_quality, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
_root, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
scroll, propriété. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
_soundbuftime, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
this, propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Opérateur d'addition +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Opérateur d'affectation de l'addition +=. . . . . . . . . . . . . . . . . . . . . . . .139
Opérateur d'accès au tableau [] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
Opérateur d'affectation = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
& Opérateur AND au niveau du bit. . . . . . . . . . . . . . . . . . . . . . . . . . . .144
&= Opérateur d'affectation AND au niveau du bit . . . . . . . . . . . . . . .145
<< Opérateur de décalage gauche au niveau du bit . . . . . . . . . . . . . .146
<<= Opérateur de décalage gauche au niveau du bit et
d'affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
~ Opérateur NOT au niveau du bit . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
| Opérateur OR au niveau du bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
|= Opérateur d'affectation OR au niveau du bit . . . . . . . . . . . . . . . . .150
>> Opérateur de décalage droit au niveau du bit. . . . . . . . . . . . . . . . . 151
>>= Opérateur de décalage droit au niveau du bit et d'affectation .153
>>> Opérateur de décalage droit non signé au niveau du bit. . . . . . .154
>>>= Opérateur de décalage droit non signé au niveau du bit et
d'affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Opérateur ^ (XOR au niveau du bit) . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Opérateur ^= (affectation XOR au niveau du bit) . . . . . . . . . . . . . . . . 157
Opérateur /*..*/ (séparateur de commentaires de bloc) . . . . . . . . . 157
Opérateur , (virgule). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Opérateur de concaténation add (chaînes) . . . . . . . . . . . . . . . . . . . .160
?: opérateur conditionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
Opérateur -- (décrément). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Opérateur / (division). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Opérateur /= (affectation de division) . . . . . . . . . . . . . . . . . . . . . . . . .163
. Opérateur point (.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Opérateur == (égalité) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
Opérateur eq d'égalité (chaînes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
> Opérateur supérieur à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Opérateur gt supérieur à (chaînes). . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Opérateur >= (supérieur ou égal à) . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Opérateur ge supérieur ou égal à (chaînes) . . . . . . . . . . . . . . . . . . . .169
Table des matières
5
Opérateur ++ (incrément). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Opérateur != (inégalité). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Opérateur d'inégalité <> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Opérateur instanceof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Opérateur < (inférieur à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Opérateur lt inférieur à (chaînes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Opérateur <= (inférieur ou égal à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Opérateur le inférieur ou égal à (chaînes) . . . . . . . . . . . . . . . . . . . . . 176
Opérateur // (séparateur de commentaires sur une ligne) . . . . . . . 177
Opérateur && (AND logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Opérateur AND (and logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
! Opérateur NOT logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Opérateur NOT non logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Opérateur || (OR logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Opérateur OR ou logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Opérateur % (modulo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Opérateur %= (affectation modulo) . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Opérateur * (multiplication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Opérateur *= (affectation de multiplication) . . . . . . . . . . . . . . . . . . . 185
Opérateur new . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Opérateur ne n'est pas égal à (chaînes) . . . . . . . . . . . . . . . . . . . . . . . 186
Opérateur {} (initialiseur d'objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Opérateur () (parenthèses) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Opérateur === (égalité stricte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Opérateur !== (inégalité stricte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
Opérateur " (séparateur de chaîne). . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Opérateur - (soustraction). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Opérateur -= (affectation de soustraction) . . . . . . . . . . . . . . . . . . . . 194
: Opérateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Opérateur typeof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Opérateur void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Instruction break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Instruction case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Instruction class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Instruction continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Instruction default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Instruction delete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Instruction do..while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Instruction dynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Instruction else. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Instruction else if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
Instruction extends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Instruction for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Instruction for..in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6
Table des matières
Instruction function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Instruction get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Instruction if. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Instruction implements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Instruction import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Instruction interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
instruction intrinsic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Instruction private . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Instruction public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
return, instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Instruction set variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Instruction static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
Instruction super. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Instruction switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Instruction throw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Instruction try..catch..finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Instruction var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Instruction while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Instruction with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Chapitre 2 : Classes ActionScript . . . . . . . . . . . . . . . . . . . . . . . . 245
Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
isActive (méthode Accessibility.isActive) . . . . . . . . . . . . . . . . . . . . . 246
updateProperties (méthode Accessibility.updateProperties) . . . 247
arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
callee (propriété arguments.callee) . . . . . . . . . . . . . . . . . . . . . . . . . . 249
caller (propriété arguments.caller) . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
length (propriété arguments.length) . . . . . . . . . . . . . . . . . . . . . . . . . 249
Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
constructeur Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
CASEINSENSITIVE (propriété Array.CASEINSENSITIVE) . . . . 254
concat (méthode Array.concat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
DESCENDING (propriété Array.DESCENDING). . . . . . . . . . . . . . 256
join (méthode Array.join) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
length (propriété Array.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
NUMERIC (propriété Array.NUMERIC) . . . . . . . . . . . . . . . . . . . . . . 258
pop (méthode Array.pop). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
push (méthode Array.push) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
RETURNINDEXEDARRAY
(propriété Array.RETURNINDEXEDARRAY) . . . . . . . . . . . . . . 260
reverse (méthode Array.reverse) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
shift (méthode Array.shift) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
slice (méthode Array.slice). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
sort (méthode Array.sort) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Table des matières
7
sortOn (méthode Array.sortOn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
splice (méthode Array.splice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
toString (méthode Array.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . .270
UNIQUESORT (propriété Array.UNIQUESORT) . . . . . . . . . . . . . . 271
unshift (méthode Array.unshift) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
AsBroadcaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
addListener (méthode AsBroadcaster.addListener) . . . . . . . . . . .274
broadcastMessage
(méthode AsBroadcaster.broadcastMessage) . . . . . . . . . . . . . . 275
initialize (méthode AsBroadcaster.initialize). . . . . . . . . . . . . . . . . . . 276
_listeners (propriété AsBroadcaster._listeners) . . . . . . . . . . . . . . . . 278
removeListener (méthode AsBroadcaster.removeListener) . . . .279
BevelFilter (flash.filters.BevelFilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
angle (propriété BevelFilter.angle) . . . . . . . . . . . . . . . . . . . . . . . . . . .283
Constructeur BevelFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
blurX (propriété BevelFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . .286
blurY (propriété BevelFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
clone (méthode BevelFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . .288
distance (propriété BevelFilter.distance). . . . . . . . . . . . . . . . . . . . . .289
highlightAlpha (propriété BevelFilter.highlightAlpha). . . . . . . . . . 290
highlightColor (propriété BevelFilter.highlightColor) . . . . . . . . . . . 291
knockout (propriété BevelFilter.knockout) . . . . . . . . . . . . . . . . . . . .292
quality (propriété BevelFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . .293
shadowAlpha (propriété BevelFilter.shadowAlpha) . . . . . . . . . . . 294
shadowColor (propriété BevelFilter.shadowColor) . . . . . . . . . . . . 295
strength (propriété BevelFilter.strength) . . . . . . . . . . . . . . . . . . . . . .296
type (propriété BevelFilter.type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
BitmapData (flash.display.BitmapData). . . . . . . . . . . . . . . . . . . . . . . . .298
applyFilter (méthode BitmapData.applyFilter). . . . . . . . . . . . . . . . 304
Constructeur BitmapData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
clone (méthode BitmapData.clone) . . . . . . . . . . . . . . . . . . . . . . . . . .307
colorTransform (méthode BitmapData.colorTransform) . . . . . . . 309
copyChannel (méthode BitmapData.copyChannel) . . . . . . . . . . . . 310
copyPixels (méthode BitmapData.copyPixels) . . . . . . . . . . . . . . . . .311
dispose (méthode BitmapData.dispose) . . . . . . . . . . . . . . . . . . . . . . 313
draw (méthode BitmapData.draw) . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
fillRect (méthode BitmapData.fillRect) . . . . . . . . . . . . . . . . . . . . . . . 316
floodFill (méthode BitmapData.floodFill) . . . . . . . . . . . . . . . . . . . . . 317
generateFilterRect (méthode BitmapData.generateFilterRect) . 318
getColorBoundsRect
(méthode BitmapData.getColorBoundsRect). . . . . . . . . . . . . . . 319
getPixel (méthode BitmapData.getPixel) . . . . . . . . . . . . . . . . . . . . 320
getPixel32 (méthode BitmapData.getPixel32) . . . . . . . . . . . . . . . . 321
height (propriété BitmapData.height) . . . . . . . . . . . . . . . . . . . . . . . .322
hitTest (méthode BitmapData.hitTest) . . . . . . . . . . . . . . . . . . . . . . .323
8
Table des matières
loadBitmap (méthode BitmapData.loadBitmap) . . . . . . . . . . . . . . 324
merge (méthode BitmapData.merge) . . . . . . . . . . . . . . . . . . . . . . . . 325
noise (méthode BitmapData.noise) . . . . . . . . . . . . . . . . . . . . . . . . . . 326
paletteMap (méthode BitmapData.paletteMap). . . . . . . . . . . . . . . 328
perlinNoise (méthode BitmapData.perlinNoise). . . . . . . . . . . . . . . 330
pixelDissolve (méthode BitmapData.pixelDissolve) . . . . . . . . . . . 332
rectangle (propriété BitmapData.rectangle) . . . . . . . . . . . . . . . . . . 334
scroll (méthode BitmapData.scroll) . . . . . . . . . . . . . . . . . . . . . . . . . . 334
setPixel (méthode BitmapData.setPixel) . . . . . . . . . . . . . . . . . . . . . 335
setPixel32 (méthode BitmapData.setPixel32) . . . . . . . . . . . . . . . . 336
threshold (méthode BitmapData.threshold) . . . . . . . . . . . . . . . . . . 337
transparent (propriété BitmapData.transparent) . . . . . . . . . . . . . . 339
width (propriété BitmapData.width) . . . . . . . . . . . . . . . . . . . . . . . . . 339
BitmapFilter (flash.filters.BitmapFilter) . . . . . . . . . . . . . . . . . . . . . . . . . 340
clone (méthode BitmapFilter.clone ) . . . . . . . . . . . . . . . . . . . . . . . . . .341
BlurFilter (flash.filters.BlurFilter). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
constructeur BlurFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
blurX (propriété BlurFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
blurY (propriété BlurFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
clone (méthode BitmapFilter.clone ) . . . . . . . . . . . . . . . . . . . . . . . . . 346
quality (propriété BlurFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
constructeur Boolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
toString (méthode Boolean.toString) . . . . . . . . . . . . . . . . . . . . . . . . 350
valueOf (méthode Boolean.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . .351
Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
_alpha (propriété Button._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
blendMode (propriété Button.blendMode) . . . . . . . . . . . . . . . . . . . 357
cacheAsBitmap (propriété Button.cacheAsBitmap). . . . . . . . . . . 367
enabled (propriété Button.enabled). . . . . . . . . . . . . . . . . . . . . . . . . . 368
filters (propriété Button.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
_focusrect (propriété Button._focusrect) . . . . . . . . . . . . . . . . . . . . . . 371
getDepth (méthode Button.getDepth) . . . . . . . . . . . . . . . . . . . . . . . 372
_height (propriété Button._height) . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
_highquality (propriété Button._highquality). . . . . . . . . . . . . . . . . . . 373
menu (propriété Button.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
_name (propriété Button._name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
onDragOut (gestionnaire Button.onDragOut). . . . . . . . . . . . . . . . . 375
onDragOver (gestionnaire Button.onDragOver) . . . . . . . . . . . . . . 376
onKeyDown (gestionnaire Button.onKeyDown) . . . . . . . . . . . . . . 376
onKeyUp (gestionnaire Button.onKeyUp) . . . . . . . . . . . . . . . . . . . . 377
onKillFocus (gestionnaire Button.onKillFocus) . . . . . . . . . . . . . . . 378
onPress (gestionnaire Button.onPress) . . . . . . . . . . . . . . . . . . . . . . 379
onRelease (gestionnaire Button.onRelease). . . . . . . . . . . . . . . . . . 380
onReleaseOutside (gestionnaire Button.onReleaseOutside) . . . 380
Table des matières
9
onRollOut (gestionnaire Button.onRollOut) . . . . . . . . . . . . . . . . . . 380
onRollOver (gestionnaire Button.onRollOver) . . . . . . . . . . . . . . . . . 381
onSetFocus (gestionnaire Button.onSetFocus) . . . . . . . . . . . . . . . 381
_parent (propriété Button._parent) . . . . . . . . . . . . . . . . . . . . . . . . . . .382
_quality (propriété Button._quality) . . . . . . . . . . . . . . . . . . . . . . . . . . .383
_rotation (propriété Button._rotation) . . . . . . . . . . . . . . . . . . . . . . . . .383
scale9Grid (propriété Button.scale9Grid). . . . . . . . . . . . . . . . . . . . .384
_soundbuftime (propriété Button._soundbuftime) . . . . . . . . . . . . . .385
tabEnabled (propriété Button.tabEnabled) . . . . . . . . . . . . . . . . . . . .386
tabIndex (propriété Button.tabIndex) . . . . . . . . . . . . . . . . . . . . . . . . . 387
_target (propriété Button._target) . . . . . . . . . . . . . . . . . . . . . . . . . . . .388
trackAsMenu (propriété Button.trackAsMenu) . . . . . . . . . . . . . . . .389
_url (propriété Button._url). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
useHandCursor (propriété Button.useHandCursor) . . . . . . . . . . . 390
_visible (propriété Button._visible). . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
_width (propriété Button._width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
_x (propriété Button._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
_xmouse (propriété Button._xmouse). . . . . . . . . . . . . . . . . . . . . . . . .393
_xscale (propriété Button._xscale) . . . . . . . . . . . . . . . . . . . . . . . . . . .393
_y (propriété Button._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
_ymouse (propriété Button._ymouse). . . . . . . . . . . . . . . . . . . . . . . . 395
_yscale (propriété Button._yscale) . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Camera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
activityLevel (propriété Camera.activityLevel) . . . . . . . . . . . . . . . . 399
bandwidth (propriété Camera.bandwidth). . . . . . . . . . . . . . . . . . . . 400
currentFps (propriété Camera.currentFps) . . . . . . . . . . . . . . . . . . . . 401
fps (propriété Camera.fps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
get (méthode Camera.get) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
height (propriété Camera.height) . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
index (propriété Camera.index) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
motionLevel (propriété Camera.motionLevel) . . . . . . . . . . . . . . . . .407
motionTimeOut (propriété Camera.motionTimeOut) . . . . . . . . . . 408
muted (propriété Camera.muted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
name (propriété Camera.name). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
names (propriété Camera.names). . . . . . . . . . . . . . . . . . . . . . . . . . . . .411
onActivity (gestionnaire Camera.onActivity). . . . . . . . . . . . . . . . . . . 412
onStatus (gestionnaire Camera.onStatus) . . . . . . . . . . . . . . . . . . . . 413
qualité (propriété Camera.quality) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
setMode (méthode Camera.setMode) . . . . . . . . . . . . . . . . . . . . . . . . 415
setMotionLevel (méthode Camera.setMotionLevel ) . . . . . . . . . . . 417
setQuality (méthode Camera.setQuality). . . . . . . . . . . . . . . . . . . . . . 418
largeur (propriété Camera.width). . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
capabilities (System.capabilities). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
avHardwareDisable (propriété capabilities.avHardwareDisable) 424
hasAccessibility (propriété capabilities.hasAccessibility) . . . . . . 424
10
Table des matières
hasAudio (propriété capabilities.hasAudio) . . . . . . . . . . . . . . . . . . . 425
hasAudioEncoder (propriété capabilities.hasAudioEncoder) . . . 425
hasEmbeddedVideo (propriété capabilities.hasEmbeddedVideo). . .
425
hasIME (propriété capabilities.hasIME) . . . . . . . . . . . . . . . . . . . . . . 426
hasMP3 (propriété capabilities.hasMP3). . . . . . . . . . . . . . . . . . . . . 426
hasPrinting (propriété capabilities.hasPrinting) . . . . . . . . . . . . . . . 426
hasScreenBroadcast
(propriété capabilities.hasScreenBroadcast) . . . . . . . . . . . . . . . 427
hasScreenPlayback (propriété capabilities.hasScreenPlayback). . .427
hasStreamingAudio (propriété capabilities.hasStreamingAudio) . . .427
hasStreamingVideo (propriété capabilities.hasStreamingVideo) . . 428
hasVideoEncoder (propriété capabilities.hasVideoEncoder) . . . 428
isDebugger (propriété capabilities.isDebugger) . . . . . . . . . . . . . . . 428
langage (propriété capabilities.language) . . . . . . . . . . . . . . . . . . . . 429
localFileReadDisable
(propriété capabilities.localFileReadDisable) . . . . . . . . . . . . . . . 430
manufacturer (propriété capabilities.manufacturer) . . . . . . . . . . . . .431
os (propriété capabilities.os) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431
pixelAspectRatio (propriété capabilities.pixelAspectRatio) . . . . . .431
playerType (propriété capabilities.playerType) . . . . . . . . . . . . . . . . 432
screenColor (propriété capabilities.screenColor) . . . . . . . . . . . . . . 432
screenDPI (propriété capabilities.screenDPI) . . . . . . . . . . . . . . . . . 433
screenResolutionX (propriété capabilities.screenResolutionX) . 433
screenResolutionX (propriété capabilities.screenResolutionX) . 433
serverString (propriété capabilities.serverString). . . . . . . . . . . . . . 434
version (propriété capabilities.version) . . . . . . . . . . . . . . . . . . . . . . . 434
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
constructeur Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
getRGB (méthode Color.getRGB). . . . . . . . . . . . . . . . . . . . . . . . . . . 436
getTransform (méthode Color.getTransform) . . . . . . . . . . . . . . . . . 437
setRGB (méthode Color.setRGB) . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
setTransform (méthode Color.setTransform) . . . . . . . . . . . . . . . . . 438
ColorMatrixFilter (flash.filters.ColorMatrixFilter) . . . . . . . . . . . . . . . . . 440
clone (méthode ColorMatrixFilter.clone) . . . . . . . . . . . . . . . . . . . . . 444
constructeur ColorMatrixFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
matrix (propriété ColorMatrixFilter.matrix) . . . . . . . . . . . . . . . . . . . . 445
ColorTransform (flash.geom.ColorTransform). . . . . . . . . . . . . . . . . . . 445
alphaMultiplier (propriété ColorTransform.alphaMultiplier) . . . . . 449
alphaOffset (propriété ColorTransform.alphaOffset). . . . . . . . . . . 450
blueMultiplier (propriété ColorTransform.blueMultiplier) . . . . . . . 450
blueOffset (propriété ColorTransform.blueOffset) . . . . . . . . . . . . . .451
constructeur ColorTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
concat (méthode ColorTransform.concat). . . . . . . . . . . . . . . . . . . . 453
greenMultiplier (propriété ColorTransform.greenMultiplier) . . . . 455
Table des matières
11
greenOffset (propriété ColorTransform.greenOffset). . . . . . . . . . 455
redMultiplier (propriété ColorTransform.redMultiplier). . . . . . . . . .456
redOffset (propriété ColorTransform.redOffset) . . . . . . . . . . . . . . .457
rgb (propriété ColorTransform.rgb). . . . . . . . . . . . . . . . . . . . . . . . . . .458
toString (méthode ColorTransform.toString) . . . . . . . . . . . . . . . . . 459
ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
builtInItems (propriété ContextMenu.builtInItems) . . . . . . . . . . . . .462
constructeur ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .463
copy (méthode ContextMenu.copy) . . . . . . . . . . . . . . . . . . . . . . . . . 464
customItems (propriété ContextMenu.customItems) . . . . . . . . . . .465
hideBuiltInItems (méthode ContextMenu.hideBuiltInItems) . . . . .466
onSelect (gestionnaire ContextMenu.onSelect) . . . . . . . . . . . . . . .466
ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
caption (propriété ContextMenuItem.caption) . . . . . . . . . . . . . . . . 469
constructeur ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
copy (méthode ContextMenuItem.copy) . . . . . . . . . . . . . . . . . . . . . . 471
enabled (propriété ContextMenuItem.enabled) . . . . . . . . . . . . . . . . 471
onSelect (gestionnaire ContextMenuItem.onSelect) . . . . . . . . . . .472
separatorBefore (
propriété ContextMenuItem.separatorBefore) . . . . . . . . . . . . . . 473
visible (propriété ContextMenuItem.visible) . . . . . . . . . . . . . . . . . . .474
ConvolutionFilter (flash.filters.ConvolutionFilter) . . . . . . . . . . . . . . . . .475
alpha (propriété ConvolutionFilter.alpha) . . . . . . . . . . . . . . . . . . . . . 478
bias (propriété ConvolutionFilter.bias) . . . . . . . . . . . . . . . . . . . . . . . .479
clamp (propriété ConvolutionFilter.clamp) . . . . . . . . . . . . . . . . . . . .479
clone (méthode ConvolutionFilter.clone) . . . . . . . . . . . . . . . . . . . . 480
color (propriété ConvolutionFilter.color) . . . . . . . . . . . . . . . . . . . . . .482
constructeur ConvolutionFilter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483
divisor (propriété ConvolutionFilter.divisor) . . . . . . . . . . . . . . . . . . .484
matrix (propriété ConvolutionFilter.matrix) . . . . . . . . . . . . . . . . . . . .485
matrixX (propriété ConvolutionFilter.matrixX) . . . . . . . . . . . . . . . . .486
matrixY (propriété ConvolutionFilter.matrixY) . . . . . . . . . . . . . . . . .486
preserveAlpha (propriété ConvolutionFilter.preserveAlpha). . . . . 487
CustomActions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
get (méthode CustomActions.get) . . . . . . . . . . . . . . . . . . . . . . . . . . 489
install (méthode CustomActions.install). . . . . . . . . . . . . . . . . . . . . . 490
list (méthode CustomActions.list) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
uninstall (méthode CustomActions.uninstall) . . . . . . . . . . . . . . . . . 492
Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
constructeur Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
getDate (méthode Date.getDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
getDay (méthode Date.getDay). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
getFullYear (méthode Date.getFullYear). . . . . . . . . . . . . . . . . . . . . . 501
getHours (méthode Date.getHours) . . . . . . . . . . . . . . . . . . . . . . . . . . 501
getMilliseconds (méthode Date.getMilliseconds) . . . . . . . . . . . . . 502
12
Table des matières
getMinutes (méthode Date.getMinutes). . . . . . . . . . . . . . . . . . . . . . 503
getMinutes (méthode Date.getMinutes). . . . . . . . . . . . . . . . . . . . . . 503
getSeconds (méthode Date.getSeconds) . . . . . . . . . . . . . . . . . . . . 504
getTime (méthode Date.getTime) . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
getTimezoneOffset (méthode Date.getTimezoneOffset). . . . . . . 505
getUTCDate (méthode Date.getUTCDate) . . . . . . . . . . . . . . . . . . . 505
getUTCDay (méthode Date.getUTCDay) . . . . . . . . . . . . . . . . . . . . 506
getUTCFullYear (méthode Date.getUTCFullYear) . . . . . . . . . . . . 506
getUTCHours (méthode Date.getUTCHours). . . . . . . . . . . . . . . . . 507
getUTCMilliseconds (méthode Date.getUTCMilliseconds) . . . . . 508
getUTCMinutes (méthode Date.getUTCMinutes) . . . . . . . . . . . . . 508
getUTCMonth (méthode Date.getUTCMonth) . . . . . . . . . . . . . . . . 508
getUTCSeconds (méthode Date.getUTCSeconds) . . . . . . . . . . . 509
getUTCYear (méthode Date.getUTCYear) . . . . . . . . . . . . . . . . . . . 509
getYear (méthode Date.getYear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
setDate (méthode Date.setDate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
setFullYear (méthode Date.setFullYear) . . . . . . . . . . . . . . . . . . . . . . 511
setHours (méthode Date.setHours). . . . . . . . . . . . . . . . . . . . . . . . . . .512
setMilliseconds (méthode Date.setMilliseconds) . . . . . . . . . . . . . . .513
setMinutes (méthode Date.setMinutes) . . . . . . . . . . . . . . . . . . . . . . .513
setMonth (méthode Date.setMonth) . . . . . . . . . . . . . . . . . . . . . . . . . .514
setSeconds (méthode Date.setSeconds) . . . . . . . . . . . . . . . . . . . . .515
setTime (méthode Date.setTime). . . . . . . . . . . . . . . . . . . . . . . . . . . . .515
setUTCDate (méthode Date.setUTCDate) . . . . . . . . . . . . . . . . . . . .516
setUTCFullYear (méthode Date.setUTCFullYear) . . . . . . . . . . . . . . 517
setUTCHours (méthode Date.setUTCHours) . . . . . . . . . . . . . . . . . .518
setUTCMilliseconds (méthode Date.setUTCMilliseconds) . . . . . .518
setUTCMinutes (méthode Date.setUTCMinutes) . . . . . . . . . . . . . .519
setUTCMonth (méthode Date.setUTCMonth) . . . . . . . . . . . . . . . . 520
setUTCSeconds (méthode Date.setUTCSeconds) . . . . . . . . . . . . .521
setYear (méthode Date.setYear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521
toString (méthode Date.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
UTC (méthode Date.UTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
valueOf (méthode Date.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
DisplacementMapFilter (flash.filters.DisplacementMapFilter). . . . . 524
alpha (propriété DisplacementMapFilter.alpha) . . . . . . . . . . . . . . . 527
clone (méthode DisplacementMapFilter.clone) . . . . . . . . . . . . . . . 529
color (propriété DisplacementMapFilter.color) . . . . . . . . . . . . . . . . 532
componentX (propriété DisplacementMapFilter.componentX) . 533
componentY (propriété DisplacementMapFilter.componentY) . 535
constructeur DisplacementMapFilter . . . . . . . . . . . . . . . . . . . . . . . . 537
mapBitmap (propriété DisplacementMapFilter.mapBitmap) . . . 539
mapPoint (propriété DisplacementMapFilter.mapPoint) . . . . . . . .541
mode (propriété DisplacementMapFilter.mode) . . . . . . . . . . . . . . 543
scaleX (propriété DisplacementMapFilter.scaleX). . . . . . . . . . . . . 544
Table des matières
13
scaleY (propriété DisplacementMapFilter.scaleY) . . . . . . . . . . . . .546
DropShadowFilter (flash.filters.DropShadowFilter) . . . . . . . . . . . . . .548
alpha (propriété DropShadowFilter.alpha) . . . . . . . . . . . . . . . . . . . 550
angle (propriété DropShadowFilter.angle) . . . . . . . . . . . . . . . . . . . . 551
blurX (propriété DropShadowFilter.blurX) . . . . . . . . . . . . . . . . . . . .552
blurY (propriété DropShadowFilter.blurY) . . . . . . . . . . . . . . . . . . . .553
clone (méthode DropShadowFilter.clone) . . . . . . . . . . . . . . . . . . . 554
color (propriété DropShadowFilter.color) . . . . . . . . . . . . . . . . . . . . .556
distance (propriété DropShadowFilter.distance) . . . . . . . . . . . . . .557
constructeur DropShadowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .557
hideObject (propriété DropShadowFilter.hideObject) . . . . . . . . . 560
inner (propriété DropShadowFilter.inner) . . . . . . . . . . . . . . . . . . . . 560
knockout (propriété DropShadowFilter.knockout) . . . . . . . . . . . . . 561
quality (propriété DropShadowFilter.quality) . . . . . . . . . . . . . . . . . .562
strength (propriété DropShadowFilter.strength) . . . . . . . . . . . . . . .563
Erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .564
constructeur Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .565
message (propriété Error.message) . . . . . . . . . . . . . . . . . . . . . . . . . .566
name (propriété Error.name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
toString (méthode Error.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . . .568
ExternalInterface (flash.external.ExternalInterface). . . . . . . . . . . . . . 569
addCallback (méthode ExternalInterface.addCallback). . . . . . . . . 571
available (propriété ExternalInterface.available) . . . . . . . . . . . . . . . 572
call (méthode ExternalInterface.call) . . . . . . . . . . . . . . . . . . . . . . . . . 573
FileReference (flash.net.FileReference) . . . . . . . . . . . . . . . . . . . . . . . .575
addListener (méthode FileReference.addListener) . . . . . . . . . . . 580
browse (méthode FileReference.browse) . . . . . . . . . . . . . . . . . . . . . 581
cancel (méthode FileReference.cancel) . . . . . . . . . . . . . . . . . . . . . .584
creationDate (propriété FileReference.creationDate) . . . . . . . . . .584
creator (propriété FileReference.creator) . . . . . . . . . . . . . . . . . . . . .585
download (méthode FileReference.download) . . . . . . . . . . . . . . . .585
constructeur FileReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .589
modificationDate (propriété FileReference.modificationDate) . 590
name (propriété FileReference.name) . . . . . . . . . . . . . . . . . . . . . . . 590
onCancel (écouteur d'événement FileReference.onCancel) . . . . 591
onCancel (écouteur d'événement FileReference.onComplete) . 592
onHTTPError
(écouteur d'événement FileReference.onHTTPError). . . . . . . 593
onIOError (écouteur d'événement FileReference.onIOError). . . 594
onOpen (écouteur d'événement FileReference.onOpen) . . . . . . 596
onProgress
(écouteur d'événement FileReference.onProgress) . . . . . . . . 596
onSecurityError
(écouteur d'événement FileReference.onSecurityError) . . . . .598
onSelect (écouteur d'événement FileReference.onSelect) . . . . 599
14
Table des matières
removeListener (méthodeFileReference.removeListener) . . . . . 600
size (propriété FileReference.size) . . . . . . . . . . . . . . . . . . . . . . . . . . .601
type (propriété FileReference.type). . . . . . . . . . . . . . . . . . . . . . . . . . .601
upload (méthode FileReference.upload) . . . . . . . . . . . . . . . . . . . . . 602
FileReferenceList (flash.net.FileReferenceList) . . . . . . . . . . . . . . . . . 606
addListener (méthode FileReferenceList.addListener) . . . . . . . . 609
browse (méthode FileReferenceList.browse) . . . . . . . . . . . . . . . . . .610
fileList (propriété FileReferenceList.fileList) . . . . . . . . . . . . . . . . . . .613
constructeur FileReferenceList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .614
onCancel (écouteur d'événement FileReferenceList.onCancel) .614
onSelect (écouteur d'événement FileReferenceList.onSelect) . .615
removeListener (méthode FileReferenceList.removeListener) . .616
Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
apply (méthode Function.apply). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .618
call (méthode Function.call) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
GlowFilter (flash.filters.GlowFilter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .621
alpha (propriété GlowFilter.alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
blurX (propriété GlowFilter.blurX) . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
blurY (propriété GlowFilter.blurY) . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
clone (méthode GlowFilter.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
color (propriété GlowFilter.color) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
constructeur GlowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
inner (propriété GlowFilter.inner) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
knockout (propriété GlowFilter.knockout) . . . . . . . . . . . . . . . . . . . . .631
quality (propriété GlowFilter.quality) . . . . . . . . . . . . . . . . . . . . . . . . . 632
strength (propriété GlowFilter.strength) . . . . . . . . . . . . . . . . . . . . . . 633
GradientBevelFilter (flash.filters.GradientBevelFilter) . . . . . . . . . . . . 634
alphas (propriété GradientBevelFilter.alphas). . . . . . . . . . . . . . . . . 637
angle (propriété GradientBevelFilter.angle). . . . . . . . . . . . . . . . . . . 638
blurX (propriété GradientBevelFilter.blurX) . . . . . . . . . . . . . . . . . . . 639
blurY (propriété GradientBevelFilter.blurY) . . . . . . . . . . . . . . . . . . . 640
clone (méthode GradientBevelFilter.clone) . . . . . . . . . . . . . . . . . . . .641
colors (propriété GradientBevelFilter.colors) . . . . . . . . . . . . . . . . . 642
distance (propriété GradientBevelFilter.distance) . . . . . . . . . . . . . 644
Constructeur GradientBevelFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
knockout (propriété GradientBevelFilter.knockout) . . . . . . . . . . . 647
quality (propriété GradientBevelFilter.quality). . . . . . . . . . . . . . . . . 648
ratios (propriété GradientBevelFilter.ratios) . . . . . . . . . . . . . . . . . . 649
strength (propriété GradientBevelFilter.strength) . . . . . . . . . . . . . .651
type (propriété GradientBevelFilter.type). . . . . . . . . . . . . . . . . . . . . 652
GradientGlowFilter (flash.filters.GradientGlowFilter) . . . . . . . . . . . . . 653
alphas (propriété GradientGlowFilter.alphas) . . . . . . . . . . . . . . . . . 656
angle (propriété GradientGlowFilter.angle) . . . . . . . . . . . . . . . . . . . 657
blurX (propriété GradientGlowFilter.blurX) . . . . . . . . . . . . . . . . . . . 658
blurY (propriété GradientGlowFilter.blurY) . . . . . . . . . . . . . . . . . . . 659
Table des matières
15
clone (méthode GradientGlowFilter.clone) . . . . . . . . . . . . . . . . . . . 660
colors (propriété GradientGlowFilter.colors) . . . . . . . . . . . . . . . . . .662
distance (propriété GradientGlowFilter.distance) . . . . . . . . . . . . . .664
Constructeur GradientGlowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . .665
knockout (propriété GradientGlowFilter.knockout). . . . . . . . . . . . . 667
quality (propriété GradientGlowFilter.quality). . . . . . . . . . . . . . . . . .668
ratios (propriété GradientGlowFilter.ratios) . . . . . . . . . . . . . . . . . . .669
strength (propriété GradientGlowFilter.strength) . . . . . . . . . . . . . . 672
type (propriété GradientGlowFilter.type) . . . . . . . . . . . . . . . . . . . . . . 673
IME (System.IME) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
addListener (méthode IME.addListener). . . . . . . . . . . . . . . . . . . . . . 678
ALPHANUMERIC_FULL
(propriété IME.ALPHANUMERIC_FULL) . . . . . . . . . . . . . . . . . .679
ALPHANUMERIC_HALF
(propriété IME.ALPHANUMERIC_HALF) . . . . . . . . . . . . . . . . . 680
CHINESE (propriété IME.CHINESE) . . . . . . . . . . . . . . . . . . . . . . . . . 681
doConversion (méthode IME.doConversion) . . . . . . . . . . . . . . . . . . 681
getConversionMode (méthode IME.getConversionMode) . . . . . .682
getEnabled (méthode IME.getEnabled) . . . . . . . . . . . . . . . . . . . . . .683
JAPANESE_HIRAGANA
(propriété IME.JAPANESE_HIRAGANA) . . . . . . . . . . . . . . . . . .683
JAPANESE_KATAKANA_FULL (propriété
IME.JAPANESE_KATAKANA_FULL) . . . . . . . . . . . . . . . . . . . . .684
JAPANESE_KATAKANA_HALF (propriété
IME.JAPANESE_KATAKANA_HALF) . . . . . . . . . . . . . . . . . . . . .684
KOREAN (propriété IME.KOREAN) . . . . . . . . . . . . . . . . . . . . . . . . .685
onIMEComposition (écouteur d'événements
IME.onIMEComposition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .686
removeListener (méthode IME.removeListener). . . . . . . . . . . . . . . 687
setCompositionString (méthode IME.setCompositionString) . . .688
setConversionMode (méthode IME.setConversionMode) . . . . . .689
setEnabled (méthode IME.setEnabled) . . . . . . . . . . . . . . . . . . . . . . 690
UNKNOWN (propriété IME.UNKNOWN). . . . . . . . . . . . . . . . . . . . 690
Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
addListener (méthode Key.addListener). . . . . . . . . . . . . . . . . . . . . 694
BACKSPACE (propriété Key.BACKSPACE) . . . . . . . . . . . . . . . . 695
CAPSLOCK (propriété Key.CAPSLOCK) . . . . . . . . . . . . . . . . . . . 695
CONTROL (propriété Key.CONTROL) . . . . . . . . . . . . . . . . . . . . . . .696
DELETEKEY (propriété Key.DELETEKEY) . . . . . . . . . . . . . . . . . .697
DOWN (propriété Key.DOWN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .698
END (propriété Key.END). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .698
ENTER (propriété Key.ENTER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
ESCAPE (propriété Key.ESCAPE) . . . . . . . . . . . . . . . . . . . . . . . . . .700
getAscii (méthode Key.getAscii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .700
getCode (méthode Key.getCode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
16
Table des matières
HOME (propriété Key.HOME) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
INSERT (propriété Key.INSERT). . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
isAccessible (méthode Key.isAccessible) . . . . . . . . . . . . . . . . . . . . 704
isDown (méthode Key.isDown) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
isToggled (méthode Key.isToggled) . . . . . . . . . . . . . . . . . . . . . . . . . 705
LEFT (propriété Key.LEFT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
_listeners (propriété Key._listeners) . . . . . . . . . . . . . . . . . . . . . . . . . . 708
onKeyDown (écouteur d'événement Key.onKeyDown) . . . . . . . . 708
onKeyUp (écouteur d'événement Key.onKeyUp) . . . . . . . . . . . . . 709
PGDN (propriété Key.PGDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
PGUP (propriété Key.PGUP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
removeListener (méthode Key.removeListener) . . . . . . . . . . . . . . . 710
RIGHT (propriété Key.RIGHT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
SHIFT (propriété Key.SHIFT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
SPACE (propriété Key.SPACE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
TAB (propriété Key.TAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
UP (propriété Key.UP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
LoadVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
addRequestHeader (méthode LoadVars.addRequestHeader) . . 718
contentType (propriété LoadVars.contentType) . . . . . . . . . . . . . . . 719
decode (méthode LoadVars.decode) . . . . . . . . . . . . . . . . . . . . . . . . . 719
getBytesLoaded (méthode LoadVars.getBytesLoaded) . . . . . . . 720
getBytesTotal (méthode LoadVars.getBytesTotal). . . . . . . . . . . . . 721
load (méthode LoadVars.load) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
loaded (propriété LoadVars.loaded) . . . . . . . . . . . . . . . . . . . . . . . . . 725
constructeur LoadVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
onData (gestionnaire LoadVars.onData) . . . . . . . . . . . . . . . . . . . . . 726
onHTTPStatus (gestionnaire LoadVars.onHTTPStatus) . . . . . . . 727
onLoad (gestionnaire LoadVars.onLoad) . . . . . . . . . . . . . . . . . . . . 729
send (méthode LoadVars.send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
sendAndLoad (méthode LoadVars.sendAndLoad). . . . . . . . . . . . 732
toString (méthode LoadVars.toString) . . . . . . . . . . . . . . . . . . . . . . . 734
LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
allowDomain (gestionnaire LocalConnection.allowDomain) . . . . 737
allowInsecureDomain (gestionnaire
LocalConnection.allowInsecureDomain). . . . . . . . . . . . . . . . . . . . 741
close (méthode LocalConnection.close) . . . . . . . . . . . . . . . . . . . . . 742
connect (méthode LocalConnection.connect) . . . . . . . . . . . . . . . . 743
domain (méthode LocalConnection.domain) . . . . . . . . . . . . . . . . . 746
constructeur LocalConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
onStatus (gestionnaire LocalConnection.onStatus) . . . . . . . . . . . 750
send (méthode LocalConnection.send) . . . . . . . . . . . . . . . . . . . . . . 752
Locale (mx.lang.Locale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
addDelayedInstance (méthode Locale.addDelayedInstance). . . 756
addXMLPath (méthode Locale.addXML) . . . . . . . . . . . . . . . . . . . . 757
Table des matières
17
autoReplace (propriété Locale.autoReplace) . . . . . . . . . . . . . . . . . 758
checkXMLStatus (méthode Locale.checkXMLStatus) . . . . . . . . . 758
getDefaultLang (méthode Locale.getDefaultLang) . . . . . . . . . . . .759
initialize (méthode Locale.initialize) . . . . . . . . . . . . . . . . . . . . . . . . . .760
languageCodeArray (propriété Locale.languageCodeArray) . . . . 761
loadLanguageXML (méthode Locale.loadLanguageXML) . . . . . 761
loadString (méthode Locale.loadString) . . . . . . . . . . . . . . . . . . . . . . 762
loadStringEx (méthode Locale.loadStringEx) . . . . . . . . . . . . . . . . . 763
setDefaultLang (méthode Locale.setDefaultLang) . . . . . . . . . . . . 764
setLoadCallback (méthode Locale.setLoadCallback) . . . . . . . . . . 765
setString (méthode Locale.setString) . . . . . . . . . . . . . . . . . . . . . . . . 766
stringIDArray (propriété Locale.stringIDArray) . . . . . . . . . . . . . . . . 766
Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
abs (méthode Math.abs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
acos (méthode Math.acos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
asin (méthode Math.asin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
atan (méthode Math.atan). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
atan2 (méthode Math.atan2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
ceil (méthode Math.ceil) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
cos (méthode Math.cos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
E (propriété Math.E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
exp (méthode Math.exp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
floor (méthode Math.floor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
LN10 (propriété Math.LN10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
LN2 (propriété Math.LN2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
log (méthode Math.log) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
LOG10E (propriété Math.LOG10E) . . . . . . . . . . . . . . . . . . . . . . . . . . 777
LOG2E (propriété Math.LOG2E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
max (méthode Math.max) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
min (méthode Math.min) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
PI (propriété Math.PI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
pow (méthode Math.pow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .780
random (méthode Math.random) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
round (méthode Math.round) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
sin (méthode Math.sin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
sqrt (méthode Math.sqrt). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
SQRT1_2 (propriété Math.SQRT1_2) . . . . . . . . . . . . . . . . . . . . . . . . . 784
SQRT2 (propriété Math.SQRT2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
tan (méthode Math.tan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Matrix (flash.geom.Matrix). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
a (propriété Matrix.a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .790
b (propriété Matrix.b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .790
c (propriété Matrix.c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
clone (méthode Matrix.clone). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
concat (méthode Matrix.concat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .792
18
Table des matières
createBox (méthode Matrix.createBox) . . . . . . . . . . . . . . . . . . . . . . 794
createGradientBox (méthode Matrix.createGradientBox) . . . . . . 795
d (propriété Matrix.d). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
deltaTransformPoint (méthode Matrix.deltaTransformPoint) . . . 797
identity (méthode Matrix.identity). . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
invert (méthode Matrix.invert) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Constructeur Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
rotate (méthode Matrix.rotate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801
scale (méthode Matrix.scale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
toString (méthode Matrix.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . 804
transformPoint (méthode Matrix.transformPoint) . . . . . . . . . . . . . 805
translate (méthode Matrix.translate) . . . . . . . . . . . . . . . . . . . . . . . . . 806
tx (propriété Matrix.tx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
ty (propriété Matrix.ty). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Microphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
activityLevel (propriété Microphone.activityLevel) . . . . . . . . . . . . . 811
gain (propriété Microphone.gain) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .812
obtenir (méthode Microphone.get) . . . . . . . . . . . . . . . . . . . . . . . . . . .812
index (propriété Microphone.index). . . . . . . . . . . . . . . . . . . . . . . . . . .814
muted (propriété microphone.muted) . . . . . . . . . . . . . . . . . . . . . . . . .815
name (propriété Microphone.name) . . . . . . . . . . . . . . . . . . . . . . . . . .816
names (propriété Microphone.names) . . . . . . . . . . . . . . . . . . . . . . . .816
onActivity (gestionnaire microphone.onActivity) . . . . . . . . . . . . . . . 817
onStatus (gestionnaire Microphone.onStatus) . . . . . . . . . . . . . . . . .819
rate (propriété Microphone.rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
setGain (méthode Microphone.setGain). . . . . . . . . . . . . . . . . . . . . . .821
setRate (méthode Microphone.setRate) . . . . . . . . . . . . . . . . . . . . . 822
setSilenceLevel (méthode Microphone.setSilenceLevel) . . . . . . 824
setUseEchoSuppression (méthode
microphone.setUseEchoSuppression) . . . . . . . . . . . . . . . . . . . . 826
silenceLevel (propriété Microphone.silenceLevel) . . . . . . . . . . . . 827
silenceTimeOut (propriété Microphone.silenceTimeOut). . . . . . . 828
useEchoSuppression (propriété
Microphone.useEchoSuppression). . . . . . . . . . . . . . . . . . . . . . . . 830
Souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831
addListener (méthode Mouse.addListener) . . . . . . . . . . . . . . . . . . 832
hide (méthode Mouse.hide). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
onMouseDown (écouteur d'événement Mouse.onMouseDown) . . 834
onMouseMove (écouteur d'événement Mouse.onMouseMove) . . .836
onMouseUp (écouteur d'événement Mouse.onMouseUp) . . . . . 837
onMouseWheel (écouteur d'événement
Mouse.onMouseWheel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
removeListener (méthode Mouse.removeListener). . . . . . . . . . . . 840
show (méthode Mouse.show) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
MovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Table des matières
19
_alpha (propriété MovieClip._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . .853
attachAudio (méthode MovieClip.attachAudio). . . . . . . . . . . . . . . .854
attachBitmap (méthode MovieClip.attachBitmap) . . . . . . . . . . . . .855
attachMovie (méthode MovieClip.attachMovie) . . . . . . . . . . . . . . .856
beginBitmapFill (méthode MovieClip.beginBitmapFill) . . . . . . . . .858
beginFill (méthode MovieClip.beginFill) . . . . . . . . . . . . . . . . . . . . . .859
beginGradientFill (méthode MovieClip.beginGradientFill) . . . . . . 861
blendMode (propriété MovieClip.blendMode) . . . . . . . . . . . . . . . . .868
cacheAsBitmap (propriété MovieClip.cacheAsBitmap) . . . . . . . .879
clear (méthode MovieClip.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
createEmptyMovieClip (méthode
MovieClip.createEmptyMovieClip). . . . . . . . . . . . . . . . . . . . . . . . .882
createTextField (méthode MovieClip.createTextField) . . . . . . . . .883
_currentframe (propriété MovieClip._currentframe) . . . . . . . . . . . .885
curveTo (méthode MovieClip.curveTo) . . . . . . . . . . . . . . . . . . . . . . .885
_droptarget (propriété MovieClip._droptarget). . . . . . . . . . . . . . . . . 887
duplicateMovieClip (méthode MovieClip.duplicateMovieClip) . . .888
enabled (propriété MovieClip.enabled) . . . . . . . . . . . . . . . . . . . . . . 890
endFill (méthode MovieClip.endFill) . . . . . . . . . . . . . . . . . . . . . . . . . . 891
filters (propriété MovieClip.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . .892
focusEnabled (propriété MovieClip.focusEnabled). . . . . . . . . . . . .893
_focusrect (propriété MovieClip._focusrect) . . . . . . . . . . . . . . . . . . 894
_framesloaded (propriété MovieClip._framesloaded) . . . . . . . . . . .895
getBounds (méthode MovieClip.etBounds) . . . . . . . . . . . . . . . . . . .896
getBytesLoaded (méthode MovieClip.getBytesLoaded) . . . . . . . 897
getBytesTotal (méthode MovieClip.getBytesTotal) . . . . . . . . . . . .898
getDepth (méthode MovieClip.getDepth) . . . . . . . . . . . . . . . . . . . . 899
getInstanceAtDepth (méthode
MovieClip.getInstanceAtDepth) . . . . . . . . . . . . . . . . . . . . . . . . . . 899
getNextHighestDepth (méthode
MovieClip.getNextHighestDepth) . . . . . . . . . . . . . . . . . . . . . . . . 900
getRect (méthode MovieClip.getRect) . . . . . . . . . . . . . . . . . . . . . . 902
getSWFVersion (méthode MovieClip.getSWFVersion) . . . . . . . 903
getTextSnapshot (méthode MovieClip.getTextSnapshot) . . . . . 904
getURL (méthode MovieClip.getURL) . . . . . . . . . . . . . . . . . . . . . . 905
globalToLocal (méthode MovieClip.globalToLocal). . . . . . . . . . . .907
gotoAndPlay (méthode MovieClip.gotoAndPlay) . . . . . . . . . . . . . 909
gotoAndStop (méthode MovieClip.gotoAndStop) . . . . . . . . . . . . . 910
_height (propriété MovieClip._height). . . . . . . . . . . . . . . . . . . . . . . . . .911
_highquality (propriété MovieClip._highquality) . . . . . . . . . . . . . . . . 912
hitArea (propriété MovieClip.hitArea). . . . . . . . . . . . . . . . . . . . . . . . . 912
hitTest (méthode MovieClip.hitTest) . . . . . . . . . . . . . . . . . . . . . . . . . 913
lineGradientStyle (méthode MovieClip.lineGradientStyle) . . . . . . 914
lineStyle (méthode MovieClip.lineStyle) . . . . . . . . . . . . . . . . . . . . . . 919
lineTo (méthode MovieClip.lineTo) . . . . . . . . . . . . . . . . . . . . . . . . . . .922
loadMovie (méthode MovieClip.loadMovie) . . . . . . . . . . . . . . . . . . .923
20
Table des matières
loadVariables (méthode MovieClip.loadVariables) . . . . . . . . . . . . 926
localToGlobal (méthode MovieClip.localToGlobal) . . . . . . . . . . . . 928
_lockroot (propriété MovieClip._lockroot) . . . . . . . . . . . . . . . . . . . . 930
menu (propriété MovieClip.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
moveTo (méthode MovieClip.moveTo) . . . . . . . . . . . . . . . . . . . . . . 933
_name (propriété MovieClip._name) . . . . . . . . . . . . . . . . . . . . . . . . . 934
nextFrame (méthode MovieClip.nextFrame). . . . . . . . . . . . . . . . . . 935
onData (gestionnaire MovieClip.onData) . . . . . . . . . . . . . . . . . . . . . 935
onDragOut (gestionnaire MovieClip.onDragOut) . . . . . . . . . . . . . . 936
onDragOver (gestionnaire MovieClip.onDragOver). . . . . . . . . . . . 937
onEnterFrame (gestionnaire MovieClip.onEnterFrame). . . . . . . . 937
onKeyDown (gestionnaire MovieClip.onKeyDown) . . . . . . . . . . . 938
onKeyUp (gestionnaire MovieClip.onKeyUp) . . . . . . . . . . . . . . . . . 939
onKillFocus (gestionnaire MovieClip.onKillFocus). . . . . . . . . . . . . 940
onLoad (gestionnaire MovieClip.onLoad) . . . . . . . . . . . . . . . . . . . . 940
onMouseDown (gestionnaire MovieClip.onMouseDown) . . . . . . 942
onMouseMove (gestionnaire MovieClip.onMouseMove) . . . . . . . 942
onMouseUp (gestionnaire MovieClip.onMouseUp) . . . . . . . . . . . . 942
onPress (gestionnaire MovieClip.onPress) . . . . . . . . . . . . . . . . . . . 943
onRelease (gestionnaire MovieClip.onRelease) . . . . . . . . . . . . . . . 943
onReleaseOutside (gestionnaire
MovieClip.onReleaseOutside) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
onRollOut (gestionnaire MovieClip.onRollOut). . . . . . . . . . . . . . . . 944
onRollOver (gestionnaire MovieClip.onRollOver) . . . . . . . . . . . . . 945
onSetFocus (gestionnaire MovieClip.onSetFocus) . . . . . . . . . . . . 945
onUnload (gestionnaire MovieClip.onUnload) . . . . . . . . . . . . . . . . 946
opaqueBackground (propriété MovieClip.opaqueBackground). 947
_parent (propriété MovieClip._parent) . . . . . . . . . . . . . . . . . . . . . . . . 948
play (méthode MovieClip.play) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
prevFrame (méthode MovieClip.prevFrame) . . . . . . . . . . . . . . . . . 949
_quality (propriété MovieClip._quality). . . . . . . . . . . . . . . . . . . . . . . . 950
removeMovieClip (méthode MovieClip.removeMovieClip) . . . . . 952
_rotation (propriété MovieClip._rotation) . . . . . . . . . . . . . . . . . . . . . 953
scale9Grid (propriété MovieClip.scale9Grid) . . . . . . . . . . . . . . . . . 954
scrollRect (propriété MovieClip.scrollRect) . . . . . . . . . . . . . . . . . . . 958
setMask (méthode MovieClip.setMask) . . . . . . . . . . . . . . . . . . . . . . 960
_soundbuftime (propriété MovieClip._soundbuftime) . . . . . . . . . . .961
startDrag (méthode MovieClip.startDrag) . . . . . . . . . . . . . . . . . . . . .961
stop (méthode MovieClip.stop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
stopDrag (méthode MovieClip.stopDrag) . . . . . . . . . . . . . . . . . . . . 963
swapDepths (méthode MovieClip.swapDepths) . . . . . . . . . . . . . . 964
tabChildren (propriété MovieClip.tabChildren) . . . . . . . . . . . . . . . . 965
tabEnabled (propriété MovieClip.tabEnabled) . . . . . . . . . . . . . . . . 966
tabIndex (propriété MovieClip.tabIndex) . . . . . . . . . . . . . . . . . . . . . 966
_target (propriété MovieClip._target) . . . . . . . . . . . . . . . . . . . . . . . . . 967
_totalframes (propriété MovieClip._totalframes) . . . . . . . . . . . . . . . 968
Table des matières
21
trackAsMenu (propriété MovieClip.trackAsMenu) . . . . . . . . . . . . .968
transform (propriété MovieClip.transform) . . . . . . . . . . . . . . . . . . . 969
unloadMovie (méthode MovieClip.unloadMovie) . . . . . . . . . . . . . . 971
_url (propriété MovieClip._url). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
useHandCursor (propriété MovieClip.useHandCursor) . . . . . . . . .973
_visible (propriété MovieClip._visible). . . . . . . . . . . . . . . . . . . . . . . . .973
_width (propriété MovieClip._width) . . . . . . . . . . . . . . . . . . . . . . . . . .974
_x (propriété MovieClip._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .975
_xmouse (propriété MovieClip._xmouse) . . . . . . . . . . . . . . . . . . . . . .976
_xscale (propriété MovieClip._xscale). . . . . . . . . . . . . . . . . . . . . . . . .976
_y (propriété MovieClip._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
_ymouse (propriété MovieClip._ymouse) . . . . . . . . . . . . . . . . . . . . . .979
_yscale (propriété MovieClip._yscale). . . . . . . . . . . . . . . . . . . . . . . . .979
MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
addListener (méthode MovieClipLoader.addListener) . . . . . . . . .983
getProgress (méthode MovieClipLoader.getProgress) . . . . . . . . .985
loadClip (méthode MovieClipLoader.loadClip) . . . . . . . . . . . . . . . .986
MovieClipLoader, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
onLoadComplete (écouteur d'événement
MovieClipLoader.onLoadComplete) . . . . . . . . . . . . . . . . . . . . . . 989
onLoadError (écouteur d'événement
MovieClipLoader.onLoadError) . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
onLoadInit (écouteur d'événement
MovieClipLoader.onLoadInit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
onLoadProgress (écouteur d'événement
MovieClipLoader.onLoadProgress). . . . . . . . . . . . . . . . . . . . . . . 994
onLoadStart (écouteur d'événement
MovieClipLoader.onLoadStart) . . . . . . . . . . . . . . . . . . . . . . . . . . 996
removeListener (méthode MovieClipLoader.removeListener) . .997
unloadClip (méthode MovieClipLoader.unloadClip) . . . . . . . . . . . 998
NetConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
connect (méthode NetConnection.connect) . . . . . . . . . . . . . . . . .1000
NetConnection, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002
NetStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002
bufferLength (propriété NetStream.bufferLength) . . . . . . . . . . . .1004
bufferTime (propriété NetStream.bufferTime) . . . . . . . . . . . . . . . .1005
bytesLoaded (propriété NetStream.bytesLoaded) . . . . . . . . . . . .1006
bytesTotal (propriété NetStream.bytesTotal). . . . . . . . . . . . . . . . .1008
close (méthode NetStream.close) . . . . . . . . . . . . . . . . . . . . . . . . . .1009
currentFps (propriété NetStream.currentFps) . . . . . . . . . . . . . . . . 1010
NetStream, constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
onMetaData (gestionnaire NetStream.onMetaData) . . . . . . . . . . . 1011
onStatus (gestionnaire NetStream.onStatus) . . . . . . . . . . . . . . . . 1012
pause (méthode NetStream.pause) . . . . . . . . . . . . . . . . . . . . . . . . . 1015
play (méthode NetStream.play). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015
22
Table des matières
seek (méthode NetStream.seek) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
setBufferTime (méthode NetStream.setBufferTime) . . . . . . . . . . 1018
time (propriété NetStream.time). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
MAX_VALUE (propriété Number.MAX_VALUE) . . . . . . . . . . . . . . 1021
MIN_VALUE (propriété Number.MIN_VALUE) . . . . . . . . . . . . . . 1022
NaN (propriété Number.NaN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
NEGATIVE_INFINITY (propriété
Number.NEGATIVE_INFINITY) . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
Number, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
POSITIVE_INFINITY (propriété
Number.POSITIVE_INFINITY) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
toString (méthode Number.toString) . . . . . . . . . . . . . . . . . . . . . . . 1024
valueOf (méthode Number.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . 1025
Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
addProperty (méthode Object.addProperty). . . . . . . . . . . . . . . . . 1027
constructeur (propriété Object.constructor) . . . . . . . . . . . . . . . . . 1030
hasOwnProperty (méthode Object.hasOwnProperty) . . . . . . . . . 1031
isPropertyEnumerable (méthode
Object.isPropertyEnumerable). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
isPrototypeOf (méthode Object.isPrototypeOf) . . . . . . . . . . . . . . 1032
Constructeur Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
__proto__ (Object.__proto__ property) . . . . . . . . . . . . . . . . . . . . . . . 1033
prototype (Object.prototype, propriété) . . . . . . . . . . . . . . . . . . . . . 1034
registerClass (méthode Object.registerClass). . . . . . . . . . . . . . . . 1035
__resolve (Object.__resolve, propriété) . . . . . . . . . . . . . . . . . . . . . . 1036
toString (méthode Object.toString). . . . . . . . . . . . . . . . . . . . . . . . . 1039
unwatch (méthode Object.unwatch) . . . . . . . . . . . . . . . . . . . . . . . . 1040
valueOf (méthode Object.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
watch (méthode Object.watch). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
Point (flash.geom.Point) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044
add (méthode Point.add) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
clone (méthode Point.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
distance (méthode Point.distance) . . . . . . . . . . . . . . . . . . . . . . . . . 1047
equals (méthode Point.equals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
interpolate (méthode Point.interpolate) . . . . . . . . . . . . . . . . . . . . . 1048
length (propriété Point.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
normalize (méthode Point.normalize) . . . . . . . . . . . . . . . . . . . . . . . 1049
offset (méthode Point.offset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
Point, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051
polar (méthode Point.polar). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051
subtract (méthode Point.subtract) . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
toString (méthode Point.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
x (Point.x, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
y (Point.y, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Table des matières
23
PrintJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1054
addPage (méthode PrintJob.addPage) . . . . . . . . . . . . . . . . . . . . . .1056
orientation (PrintJob.orientation, propriété) . . . . . . . . . . . . . . . . . .1060
pageHeight (propriété PrintJob.pageHeight). . . . . . . . . . . . . . . . .1060
pageWidth (propriété PrintJob.pageWidth) . . . . . . . . . . . . . . . . . . 1061
paperHeight (propriété PrintJob.paperHeight) . . . . . . . . . . . . . . . 1061
paperWidth (propriété PrintJob.paperWidth) . . . . . . . . . . . . . . . . 1061
PrintJob, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
send (méthode PrintJob.send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
start (méthode PrintJob.start) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
Rectangle (flash.geom.Rectangle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
bottom (propriété Rectangle.bottom) . . . . . . . . . . . . . . . . . . . . . . .1069
bottomRight (propriété Rectangle.bottomRight) . . . . . . . . . . . . . 1070
clone (méthode Rectangle.clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
contains (méthode Rectangle.contains) . . . . . . . . . . . . . . . . . . . . . 1073
containsPoint (méthode Rectangle.containsPoint) . . . . . . . . . . . 1074
containsRectangle (méthode Rectangle.containsRectangle) . . 1074
equals (méthode Rectangle.equals) . . . . . . . . . . . . . . . . . . . . . . . . . 1075
height (propriété Rectangle.height) . . . . . . . . . . . . . . . . . . . . . . . . . 1076
inflate (méthode Rectangle.inflate). . . . . . . . . . . . . . . . . . . . . . . . . . 1077
inflatePoint (méthode Rectangle.inflatePoint) . . . . . . . . . . . . . . . . 1078
intersection (méthode Rectangle.intersection) . . . . . . . . . . . . . . . 1079
intersects (méthode Rectangle.intersects) . . . . . . . . . . . . . . . . . . . 1079
isEmpty (méthode Rectangle.isEmpty) . . . . . . . . . . . . . . . . . . . . . .1080
left (propriété Rectangle.left) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
offset (méthode Rectangle.offset) . . . . . . . . . . . . . . . . . . . . . . . . . . 1082
offsetPoint (méthode Rectangle.offsetPoint). . . . . . . . . . . . . . . . . 1082
Rectangle, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083
right (propriété Rectangle.right) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1084
setEmpty (méthode Rectangle.setEmpty) . . . . . . . . . . . . . . . . . . .1084
size (propriété Rectangle.size). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
top (propriété Rectangle.top). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
topLeft (propriété Rectangle.topLeft) . . . . . . . . . . . . . . . . . . . . . . . 1086
toString (méthode Rectangle.toString) . . . . . . . . . . . . . . . . . . . . . . 1087
union (méthode Rectangle.union) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
width (propriété Rectangle.width) . . . . . . . . . . . . . . . . . . . . . . . . . . .1089
x (propriété Rectangle.x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1089
y (propriété Rectangle.y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1090
security (System.security) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091
allowDomain (méthode security.allowDomain) . . . . . . . . . . . . . . .1092
allowInsecureDomain (méthode
security.allowInsecureDomain) . . . . . . . . . . . . . . . . . . . . . . . . . . .1098
loadPolicyFile (méthode security.loadPolicyFile) . . . . . . . . . . . . . 1102
sandboxType (propriété security.sandboxType) . . . . . . . . . . . . . . 1105
24
Table des matières
Sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
addListener (méthode Selection.addListener) . . . . . . . . . . . . . . . . 1108
getBeginIndex (méthode Selection.getBeginIndex) . . . . . . . . . . . 1109
getCaretIndex (méthode Selection.getCaretIndex) . . . . . . . . . . . . 1110
getEndIndex (méthode Selection.getEndIndex). . . . . . . . . . . . . . . . 1111
getFocus (méthode Selection.getFocus). . . . . . . . . . . . . . . . . . . . . 1112
onSetFocus (Selection.onSetFocus, écouteur d'événement) . . 1113
removeListener (méthode Selection.removeListener) . . . . . . . . . 1115
setFocus (méthode Selection.setFocus) . . . . . . . . . . . . . . . . . . . . . 1116
setSelection (méthode Selection.setSelection) . . . . . . . . . . . . . . . .1117
SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118
clear (méthode SharedObject.clear) . . . . . . . . . . . . . . . . . . . . . . . . . 1121
data (propriété SharedObject.data). . . . . . . . . . . . . . . . . . . . . . . . . . 1122
flush (méthode SharedObject.flush) . . . . . . . . . . . . . . . . . . . . . . . . . 1124
getLocal (méthode SharedObject.getLocal). . . . . . . . . . . . . . . . . . 1126
getSize (méthode SharedObject.getSize) . . . . . . . . . . . . . . . . . . . . 1130
onStatus (gestionnaire SharedObject.onStatus) . . . . . . . . . . . . . . 1131
Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
attachSound (méthode Sound.attachSound) . . . . . . . . . . . . . . . . . 1135
duration (propriété Sound.duration) . . . . . . . . . . . . . . . . . . . . . . . . . 1136
getBytesLoaded (méthode Sound.getBytesLoaded). . . . . . . . . . 1138
getBytesTotal (méthode Sound.getBytesTotal). . . . . . . . . . . . . . . 1139
getPan (méthode Sound.getPan) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
getTransform (méthode Sound.getTransform). . . . . . . . . . . . . . . . 1141
getVolume (méthode Sound.getVolume). . . . . . . . . . . . . . . . . . . . . 1144
id3 (Sound.id3, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
loadSound (méthode Sound.loadSound) . . . . . . . . . . . . . . . . . . . . 1147
onID3 (gestionnaire Sound.onID3) . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
onLoad (gestionnaire Sound.onLoad) . . . . . . . . . . . . . . . . . . . . . . . 1150
onSoundComplete (gestionnaire Sound.onSoundComplete). . . 1151
position (Sound.position, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . 1151
setPan (méthode Sound.setPan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152
setTransform (méthode Sound.setTransform) . . . . . . . . . . . . . . . . 1152
setVolume (méthode Sound.setVolume) . . . . . . . . . . . . . . . . . . . . . 1155
Sound, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
start (Sound.start method). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
stop (Sound.stop method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
Scène . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
addListener (méthode Stage.addListener) . . . . . . . . . . . . . . . . . . . 1159
align (propriété Stage.align) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
height (propriété Stage.height). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
onResize (Stage.onResize, écouteur d'événements) . . . . . . . . . . 1161
removeListener (méthode Stage.removeListener) . . . . . . . . . . . . 1162
scaleMode (propriété Stage.scaleMode) . . . . . . . . . . . . . . . . . . . . . 1163
showMenu (propriété Stage.showMenu) . . . . . . . . . . . . . . . . . . . . . 1164
Table des matières
25
width (propriété Stage.width). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
charAt (méthode String.charAt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
charCodeAt (méthode String.charCodeAt) . . . . . . . . . . . . . . . . . . 1169
concat (String.concat method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
fromCharCode (méthode String.fromCharCode) . . . . . . . . . . . . . 1170
indexOf (méthode String.indexOf) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
lastIndexOf (méthode String.lastIndexOf). . . . . . . . . . . . . . . . . . . . .1172
length (propriété String.length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1173
slice (méthode String.slice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
split (méthode String.split) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
String, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
substr (méthode String.substr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
substring (méthode String.substring) . . . . . . . . . . . . . . . . . . . . . . . . .1178
toLowerCase (méthode String.toLowerCase) . . . . . . . . . . . . . . . . 1179
toString (méthode String.toString) . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
toUpperCase (méthode String.toUpperCase) . . . . . . . . . . . . . . . . 1180
valueOf (méthode String.valueOf) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
StyleSheet (TextField.StyleSheet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
clear (méthode StyleSheet.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186
getStyle (méthode StyleSheet.getStyle). . . . . . . . . . . . . . . . . . . . . 1186
getStyleNames (méthode StyleSheet.getStyleNames) . . . . . . . 1188
load (méthode StyleSheet.load) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
onLoad (gestionnaire StyleSheet.onLoad). . . . . . . . . . . . . . . . . . . 1190
parseCSS (méthode StyleSheet.parseCSS) . . . . . . . . . . . . . . . . . . 1191
setStyle (méthode StyleSheet.setStyle) . . . . . . . . . . . . . . . . . . . . . 1192
StyleSheet, constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
transform (méthode StyleSheet.transform) . . . . . . . . . . . . . . . . . . 1194
System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
exactSettings (propriété System.exactSettings). . . . . . . . . . . . . . 1197
onStatus (gestionnaire System.onStatus) . . . . . . . . . . . . . . . . . . . 1198
setClipboard (méthode System.setClipboard) . . . . . . . . . . . . . . . .1200
showSettings (méthode System.showSettings) . . . . . . . . . . . . . . 1201
useCodepage (propriété System.useCodepage) . . . . . . . . . . . . . 1202
TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
addListener (méthode TextField.addListener). . . . . . . . . . . . . . . .1209
_alpha (propriété TextField._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
antiAliasType (propriété TextField.antiAliasType). . . . . . . . . . . . . . 1211
autoSize (propriété TextField.autoSize) . . . . . . . . . . . . . . . . . . . . . 1213
background (propriété TextField.background) . . . . . . . . . . . . . . . 1215
backgroundColor (propriété TextField.backgroundColor) . . . . . 1216
border (propriété TextField.border) . . . . . . . . . . . . . . . . . . . . . . . . . 1216
borderColor (propriété TextField.borderColor) . . . . . . . . . . . . . . . .1217
bottomScroll (propriété TextField.bottomScroll). . . . . . . . . . . . . . .1217
condenseWhite (propriété TextField.condenseWhite) . . . . . . . . 1218
26
Table des matières
embedFonts (propriété TextField.embedFonts). . . . . . . . . . . . . . . 1219
filters (propriété TextField.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
getDepth (méthode TextField.getDepth) . . . . . . . . . . . . . . . . . . . . 1222
getFontList (méthode TextField.getFontList). . . . . . . . . . . . . . . . 1222
getNewTextFormat (méthode TextField.getNewTextFormat) . 1223
getTextFormat (méthode TextField.getTextFormat). . . . . . . . . . 1224
gridFitType (propriété TextField.gridFitType) . . . . . . . . . . . . . . . . 1225
_height (propriété TextField._height) . . . . . . . . . . . . . . . . . . . . . . . . 1227
_height (propriété TextField._height) . . . . . . . . . . . . . . . . . . . . . . . . 1227
hscroll (propriété TextField.hscroll) . . . . . . . . . . . . . . . . . . . . . . . . . 1228
html (propriété TextField.html) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
htmlText (propriété TextField.htmlText) . . . . . . . . . . . . . . . . . . . . . 1230
length (propriété TextField.length). . . . . . . . . . . . . . . . . . . . . . . . . . 1230
maxChars (propriété TextField.maxChars) . . . . . . . . . . . . . . . . . . . 1231
maxhscroll (propriété TextField.maxhscroll) . . . . . . . . . . . . . . . . . . 1231
maxscroll (propriété TextField.maxscroll) . . . . . . . . . . . . . . . . . . . 1232
menu (propriété TextField.menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232
mouseWheelEnabled (propriété
TextField.mouseWheelEnabled) . . . . . . . . . . . . . . . . . . . . . . . . . 1234
multiline (propriété TextField.multiline). . . . . . . . . . . . . . . . . . . . . . 1235
_name (propriété TextField._name) . . . . . . . . . . . . . . . . . . . . . . . . . 1235
onChanged (gestionnaire TextField.onChanged) . . . . . . . . . . . . 1236
onKillFocus (gestionnaire TextField.onKillFocus) . . . . . . . . . . . . .1237
onScroller (gestionnaire TextField.onScroller) . . . . . . . . . . . . . . . .1237
onSetFocus (gestionnaire TextField.onSetFocus) . . . . . . . . . . . 1239
_parent (propriété TextField._parent) . . . . . . . . . . . . . . . . . . . . . . . 1240
password (propriété TextField.password) . . . . . . . . . . . . . . . . . . . . 1241
_quality (propriété TextField._quality) . . . . . . . . . . . . . . . . . . . . . . . 1242
removeListener (méthode TextField.removeListener) . . . . . . . . 1243
removeTextField (méthode TextField.removeTextField) . . . . . . 1244
replaceSel (méthode TextField.replaceSel) . . . . . . . . . . . . . . . . . 1244
replaceText (méthode TextField.replaceText) . . . . . . . . . . . . . . . 1246
restrict (propriété TextField.restrict) . . . . . . . . . . . . . . . . . . . . . . . . 1247
_rotation (propriété TextField._rotation) . . . . . . . . . . . . . . . . . . . . . 1248
scroll (propriété TextField.scroll) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249
selectable (propriété TextField.selectable) . . . . . . . . . . . . . . . . . . 1250
setNewTextFormat (méthode TextField.setNewTextFormat) . . 1251
setTextFormat (méthode TextField.setTextFormat) . . . . . . . . . . 1252
sharpness (propriété TextField.sharpness) . . . . . . . . . . . . . . . . . . 1254
_soundbuftime (propriété TextField._soundbuftime) . . . . . . . . . . 1255
styleSheet (propriété TextField.styleSheet) . . . . . . . . . . . . . . . . . 1255
tabEnabled (propriété TextField.tabEnabled) . . . . . . . . . . . . . . . . 1258
tabIndex (propriété TextField.tabIndex) . . . . . . . . . . . . . . . . . . . . . 1259
_target (propriété TextField._target) . . . . . . . . . . . . . . . . . . . . . . . . 1260
text (propriété TextField.text) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261
textColor (propriété TextField.textColor) . . . . . . . . . . . . . . . . . . . . 1262
Table des matières
27
textHeight (propriété TextField.textHeight) . . . . . . . . . . . . . . . . . . 1262
textWidth (propriété TextField.textWidth) . . . . . . . . . . . . . . . . . . . 1263
thickness (propriété TextField.thickness) . . . . . . . . . . . . . . . . . . . . 1263
type (propriété TextField.type). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264
_url (propriété TextField._url) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265
variable (propriété TextField.variable) . . . . . . . . . . . . . . . . . . . . . . . 1266
_visible (propriété TextField._visible) . . . . . . . . . . . . . . . . . . . . . . . . 1266
_width (propriété TextField._width) . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
wordWrap (propriété TextField.wordWrap) . . . . . . . . . . . . . . . . . . 1268
_x (propriété TextField._x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269
_xmouse (propriété TextField._xmouse) . . . . . . . . . . . . . . . . . . . . . 1270
_xscale (propriété TextField._xscale) . . . . . . . . . . . . . . . . . . . . . . . . .1271
_y (propriété TextField._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1271
_ymouse (propriété TextField._ymouse) . . . . . . . . . . . . . . . . . . . . . 1272
_yscale (propriété TextField._yscale) . . . . . . . . . . . . . . . . . . . . . . . . 1272
TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273
align (propriété TextFormat.align). . . . . . . . . . . . . . . . . . . . . . . . . . . 1275
blockIndent (propriété TextFormat.blockIndent) . . . . . . . . . . . . . . 1276
bold (propriété TextFormat.bold) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1276
bullet (propriété TextFormat.bullet) . . . . . . . . . . . . . . . . . . . . . . . . . 1277
color (propriété TextFormat.color) . . . . . . . . . . . . . . . . . . . . . . . . . . 1277
font (propriété TextFormat.font) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278
getTextExtent (méthode TextFormat.getTextExtent) . . . . . . . . . 1278
indent (propriété TextFormat.indent) . . . . . . . . . . . . . . . . . . . . . . . . 1281
italic (propriété TextFormat.italic) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282
kerning (propriété TextFormat.kerning). . . . . . . . . . . . . . . . . . . . . . 1282
leading (propriété TextFormat.leading) . . . . . . . . . . . . . . . . . . . . . . 1283
leftMargin (propriété TextFormat.leftMargin). . . . . . . . . . . . . . . . . 1284
letterSpacing (propriété TextFormat.letterSpacing). . . . . . . . . . . 1284
rightMargin (propriété TextFormat.rightMargin) . . . . . . . . . . . . . . 1285
size (propriété TextFormat.size) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286
tabStops (propriété TextFormat.tabStops) . . . . . . . . . . . . . . . . . . 1286
target (propriété TextFormat.target). . . . . . . . . . . . . . . . . . . . . . . . . 1287
TextFormat, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288
underline (propriété TextFormat.underline) . . . . . . . . . . . . . . . . . . 1289
url (propriété TextFormat.url) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1290
TextRenderer (flash.text.TextRenderer) . . . . . . . . . . . . . . . . . . . . . . .1290
maxLevel (propriété TextRenderer.maxLevel). . . . . . . . . . . . . . . . 1292
setAdvancedAntialiasingTable (méthode
TextRenderer.setAdvancedAntialiasingTable) . . . . . . . . . . . . . 1293
TextSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296
findText (méthode TextSnapshot.findText) . . . . . . . . . . . . . . . . . . 1297
getCount (méthode TextSnapshot.getCount) . . . . . . . . . . . . . . . . 1298
getSelected (méthode TextSnapshot.getSelected) . . . . . . . . . . . 1299
getSelectedText (méthode TextSnapshot.getSelectedText). . .1300
28
Table des matières
getText (méthode TextSnapshot.getText). . . . . . . . . . . . . . . . . . . . 1301
getTextRunInfo (méthode TextSnapshot.getTextRunInfo) . . . . 1302
hitTestTextNearPos (méthode
TextSnapshot.hitTestTextNearPos) . . . . . . . . . . . . . . . . . . . . . . 1305
setSelectColor (méthode TextSnapshot.setSelectColor) . . . . . 1307
setSelected (méthode TextSnapshot.setSelected). . . . . . . . . . . 1308
Transform (flash.geom.Transform). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
colorTransform (propriété Transform.colorTransform) . . . . . . . . . 1311
concatenatedColorTransform (propriété
Transform.concatenatedColorTransform). . . . . . . . . . . . . . . . . . 1312
concatenatedMatrix (propriété Transform.concatenatedMatrix) . 1313
matrix (propriété Transform.matrix) . . . . . . . . . . . . . . . . . . . . . . . . . . 1314
pixelBounds (propriété Transform.pixelBounds) . . . . . . . . . . . . . . 1315
Transform, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317
_alpha (propriété Video._alpha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320
attachVideo (méthode Video.attachVideo) . . . . . . . . . . . . . . . . . . . 1321
clear (méthode Video.clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322
deblocking (propriété Video.deblocking) . . . . . . . . . . . . . . . . . . . . 1322
_height (propriété Video._height) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323
height (propriété Video.height) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324
_name (propriété Video._name) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1325
_parent (propriété Video._parent). . . . . . . . . . . . . . . . . . . . . . . . . . . 1325
_rotation (propriété Video._rotation) . . . . . . . . . . . . . . . . . . . . . . . . 1325
smoothing (propriété Video.smoothing) . . . . . . . . . . . . . . . . . . . . . 1325
_visible (propriété Video._visible) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326
_width (propriété Video._width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326
width (propriété Video.width) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
_x (Video._x property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
_xmouse (propriété Video._xmouse) . . . . . . . . . . . . . . . . . . . . . . . . .1327
_xscale (propriété Video._xscale) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328
_y (propriété Video._y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328
_ymouse (propriété Video._ymouse) . . . . . . . . . . . . . . . . . . . . . . . . 1328
_yscale (propriété Video._yscale) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
addRequestHeader (méthode XML.addRequestHeader) . . . . . 1333
contentType (XML.contentType, propriété) . . . . . . . . . . . . . . . . . 1334
createElement (méthode nodeML.createElement) . . . . . . . . . . . 1335
createTextNode (méthode XML.createTextNode) . . . . . . . . . . . 1336
docTypeDecl (XML.docTypeDecl, propriété) . . . . . . . . . . . . . . . . .1337
getBytesLoaded (XML.getBytesLoaded, méthode) . . . . . . . . . . 1338
getBytesTotal (XML.getBytesTotal, méthode). . . . . . . . . . . . . . . 1339
idMap (XML.idMap, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
ignoreWhite (XML.ignoreWhite, propriété) . . . . . . . . . . . . . . . . . . . 1341
load (XML.load, méhode). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343
Table des matières
29
loaded (XML.loaded, propriété). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
onData (XML.onData, gestionnaire). . . . . . . . . . . . . . . . . . . . . . . . . 1346
onHTTPStatus (XML.onHTTPStatus, gestionnaire) . . . . . . . . . . 1347
onLoad (XML.onLoad, gestionnaire) . . . . . . . . . . . . . . . . . . . . . . . . 1349
parseXML (XML.parseXML, méthode) . . . . . . . . . . . . . . . . . . . . . .1350
send (XML.send, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
sendAndLoad (XML.sendAndLoad, méthode) . . . . . . . . . . . . . . . 1352
status (XML.status, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354
XML, constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
xmlDecl (XML.xmlDecl, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358
appendChild (XMLNode.appendChild, méthode) . . . . . . . . . . . . . 1360
attributes (XMLNode.attributes, propriété) . . . . . . . . . . . . . . . . . . . 1361
childNodes (XMLNode.childNodes, propriété) . . . . . . . . . . . . . . . 1362
cloneNode (XMLNode.cloneNode, méthode) . . . . . . . . . . . . . . . . 1363
firstChild (XMLNode.firstChild, propriété). . . . . . . . . . . . . . . . . . . . 1365
getNamespaceForPrefix (XMLNode.getNamespaceForPrefix,
méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
getPrefixForNamespace (XMLNode.getPrefixForNamespace,
méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
hasChildNodes (XMLNode.hasChildNodes, méthode) . . . . . . . . 1369
insertBefore (XMLNode.insertBefore, méthode) . . . . . . . . . . . . . 1369
lastChild (XMLNode.lastChild, propriété) . . . . . . . . . . . . . . . . . . . . 1370
localName (XMLNode.localName, propriété) . . . . . . . . . . . . . . . . .1371
namespaceURI (XMLNode.namespaceURI, propriété). . . . . . . . 1372
nextSibling (XMLNode.nextSibling, propriété) . . . . . . . . . . . . . . . 1374
nodeName (XMLNode.nodeName, propriété). . . . . . . . . . . . . . . . 1375
nodeType (XMLNode.nodeType, propriété) . . . . . . . . . . . . . . . . . 1376
nodeValue (XMLNode.nodeValue, propriété) . . . . . . . . . . . . . . . . 1378
parentNode (XMLNode.parentNode, propriété) . . . . . . . . . . . . . . 1379
prefix (XMLNode.prefix, propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . 1380
previousSibling (XMLNode.previousSibling, propriété). . . . . . . . 1381
removeNode (XMLNode.removeNode, méthode) . . . . . . . . . . . . 1381
toString (XMLNode.toString, méthode) . . . . . . . . . . . . . . . . . . . . . 1382
XMLNode(), constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383
XMLSocket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384
close (XMLSocket.close, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . 1387
connect (XMLSocket.connect, méthode) . . . . . . . . . . . . . . . . . . . . 1388
onClose (XMLSocket.onClose, gestionnaire) . . . . . . . . . . . . . . . .1390
onConnect (XMLSocket.onConnect, gestionnaire) . . . . . . . . . . .1390
onData (XMLSocket.onData, gestionnaire) . . . . . . . . . . . . . . . . . . 1391
onXML (XMLSocket.onXML, gestionnaire) . . . . . . . . . . . . . . . . . . 1392
send (XMLSocket.send, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . 1393
XMLSocket, constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394
30
Table des matières
XMLUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
accept (XMLUI.accept, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . .
cancel (XMLUI.cancel, méthode). . . . . . . . . . . . . . . . . . . . . . . . . . .
get (XMLUI.get, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
set (XMLUI.set, méthode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1394
1395
1395
1396
1396
Chapitre 3 : ActionScript déconseillé . . . . . . . . . . . . . . . . . . . . .1397
Classe déconseillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions déconseillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Propriétés déconseillées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Opérateurs déconseillés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1397
1397
1399
1399
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1401
Table des matières
31
32
Table des matières
CHAPITRE 1
1
Eléments du langage
ActionScript
Cette section fournit des informations sur la syntaxe, l'utilisation et des exemples de code
concernant les fonctions et les propriétés globales (ces éléments n'appartenant pas à une classe
ActionScript), ainsi que les directives de compilation ; pour les constantes, elle décrit les
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é : Flash Player 6.0 ; ActionScript 1.0
Exemple
#initclip
33
...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
#include, la syntaxe des fichiers inclus est également vérifiée.
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 contenant
l'instruction #include
■
Le répertoire Include global, qui peut prendre l'une des formes suivantes : --Windows
2000 ou Windows XP : C:\Documents and Settings\utilisateur \Local Settings\
Application Data\Macromedia\Flash 8\langue\Configuration\Include --Macintosh OS X :
Disque dur/Users/Library/Application Support/Macromedia/Flash 8/langue/
Configuration/Include
■
Le répertoire programme Flash 8\langue\First Run\Include. Si vous enregistrez un fichier à
cet endroit, il est copié dans le répertoire Include global au 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.)
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.
34
Chapitre 1: Eléments du langage ActionScript
Ne placez pas de point-virgule (;) à la fin de la ligne qui contient la directive #include.
Disponibilité : Flash Player 4.0 ; ActionScript 1.0
Paramètres
- 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.
[path]filename.as:String
Exemple
Les exemples suivants indiquent différentes manières de spécifier un chemin pour un fichier à
inclure dans votre script :
// Note that #include statements do not end with a semicolon (;)
// AS file is in same directory as FLA file or script
// or is in the global Include directory or the First Run/Include directory
#include "init_script.as"
// AS file is in a subdirectory of one of the above directories
// The subdirectory is named "FLA_includes"
#include "FLA_includes/init_script.as"
// AS file is in a subdirectory of the script file directory
// The subdirectory is named "SCRIPT_includes"
#include "SCRIPT_includes/init_script.as"
// AS file is in a directory at the same level as one of the above
directories
// AS file is in a directory at the same level as the directory
// that contains the script file
// The directory is named "ALL_includes"
#include "../ALL_includes/init_script.as"
// AS file is specified by an absolute path in Windows
// Note use of forward slashes, not backslashes
#include "C:/Flash_scripts/init_script.as"
// AS file is specified by an absolute path on Macintosh
#include "Mac HD:Flash_scripts:init_script.as"
Directive #initclip
#initclip [order:Number]
Directives de compilation
35
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é : Flash Player 6.0 ; ActionScript 1.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);
if (success) {
for (i in variables) {
trace("variables."+i+" = "+variables[i]);
}
}
};
36
Chapitre 1: Eléments du langage ActionScript
#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 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.
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é : Flash Player 5 ; ActionScript 1.0
Exemple
Cet exemple indique comment le typage automatique de données convertit false en nombre
et en chaîne :
var bool1:Boolean = Boolean(false);
Constantes
37
// converts it to the number 0
trace(1 + bool1); // outputs 1
// converts it to a string
trace("String: " + bool1); // outputs String: 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é : Flash Player 5 ; ActionScript 1.0
Voir également
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é : Flash Player 5 ; ActionScript 1.0
Voir également
NEGATIVE_INFINITY (propriété Number.NEGATIVE_INFINITY)
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é : Flash Player 5 ; ActionScript 1.0
Voir également
Fonction isNaN, NaN (propriété Number.NaN)
Constante newline
Insère un caractère de retour 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.
38
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
Exemple
L'exemple suivant indique comment newline affiche la sortie à partir de l'instruction
trace() sur plusieurs lignes.
var myName:String = "Lisa", myAge:Number = 30;
trace(myName+myAge);
trace("-----");
trace(myName+newline+myAge);
// output:
Lisa30
----Lisa
30
Voir également
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é : Flash Player 5 ; ActionScript 1.0
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
Constantes
39
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é : Flash Player 5 ; ActionScript 1.0
Exemple
L'exemple suivant illustre l'utilisation de true dans une instruction if :
var shouldExecute:Boolean;
// ...
// code that sets shouldExecute to either true or false goes here
// shouldExecute is set to true for this example:
shouldExecute = true;
if (shouldExecute == true) {
trace("your statements here");
}
//
//
//
//
true is also implied, so the if statement could also be written:
if (shouldExecute) {
trace("your statements here");
}
L'exemple suivant indique comment le typage automatique de données convertit true en
nombre 1 :
var myNum:Number;
myNum = 1 + true;
trace(myNum); // output: 2
Voir également
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 undefined est undefined.
40
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 5 ; ActionScript 1.0
Exemple
Dans l'exemple suivant, la variable x n'a pas été déclarée, sa valeur est donc undefined
undefined.
Dans la première section du code, l'opérateur d'égalité (==) compare la valeur de x à la valeur
undefined ; le résultat approprié est ensuite envoyé au panneau de sortie.
Dans la deuxième section du code, l'opérateur d'égalité (==) compare les valeurs null et
undefined.
// x has not been declared
trace("The value of x is "+x);
if (x == undefined) {
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
Constantes
41
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:N Crée un nouveau tableau vide ou convertit les
umber],
éléments spécifiés en tableau.
[elementN:Object])
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:O Convertit le paramètre expression en une valeur
bject)
booléenne et renvoie true ou false.
call(frame:Object)
Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser l'instruction function.
Exécute le script dans l'image appelée sans
positionner la tête de lecture sur celle-ci.
chr(number:Number)
Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser la méthode
String.fromCharCode().
Convertit les numéros de code ASCII en caractères.
clearInterval(interv Arrête l'appel setInterval().
alID:Number)
duplicateMovieClip(t Crée une occurrence de clip pendant la lecture du
arget:Object,
fichier SWF.
newname:String,
depth:Number)
escape(expression:St Convertit le paramètre en chaîne et applique le format
ring)
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 %.
eval(expression:Obje Accède aux variables, propriétés, objets ou clips en
ct)
42
fonction de leur nom.
Chapitre 1: Eléments du langage ActionScript
Modificateurs Signature
Description
fscommand(command:St Permet au fichier SWF de communiquer avec Flash
ring,
parameters:String)
Player ou le programme hébergeant Flash Player, tel
qu'un navigateur Web.
getProperty(my_mc:St Renvoie la valeur de la propriété spécifiée pour le clip
ring, property)
my_mc.
getTimer()
Renvoie le nombre de millisecondes qui se sont
écoulées depuis le début de la lecture du fichier SWF.
getURL(url: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.
[window:String],
[method:String])
getVersion()
Renvoie une chaîne contenant la version de Flash
Player et des informations sur la plate-forme.
gotoAndPlay([scene:S Place la tête de lecture sur l'image spécifiée dans une
tring],
frame:Object)
séquence et commence la lecture à partir de cette
image.
gotoAndStop([scene:S Place la tête de lecture sur l'image spécifiée sur une
tring],
séquence et l'arrête à ce niveau.
frame:Object)
ifFrameLoaded([scene Déconseillée à partir de Flash Player 5. Cette fonction
:String],
frame:Object)
int(value:Number)
est déconseillée. Macromedia vous recommande
d'utiliser la propriété MovieClip._framesloaded.
Vérifie si le contenu d'une image spécifique est
disponible localement.
Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser la méthode Math.round().
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)
nombre fini ou false s'il s'agit de l'infini ou de l'infini
négatif.
isNaN(expression:Obj Evalue le paramètre et renvoie true si la valeur est NaN
ect)
(not a number - n'est pas un nombre).
length(expression:St Déconseillée à partir de Flash Player 5. Cette fonction,
ring,
variable:Object)
à l'instar de toutes les fonctions de chaîne, est
déconseillée. Macromedia vous recommande d'utiliser
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.
Fonctions globales
43
Modificateurs Signature
Description
loadMovie(url:String Charge un fichier SWF ou JPEG dans Flash Player
, target:Object,
pendant la lecture du fichier SWF d'origine.
[method:String])
loadMovieNum(url:Str Charge un fichier SWF ou JPEG dans l'un des niveaux
ing, level:Number,
de Flash Player pendant la lecture du fichier SWF.
[method:String])
loadVariables(url:St Lit les données dans un fichier externe, tel qu'un fichier
ring, target:Object, texte ou du texte généré par ColdFusion, un script CGI,
[method:String])
des pages ASP (Active Server Pages), PHP ou un
script Perl et définit les valeurs pour les variables dans
un clip cible.
loadVariablesNum(url Lit les données dans un fichier externe, tel qu'un fichier
:String,
level:Number,
[method:String])
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.
mbchr(number:Number) Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser la méthode
String.fromCharCode().
Convertit un numéro de code ASCII en caractère
multi-octets.
mblength(string:Stri Déconseillée à partir de Flash Player 5. Il est
ng)
recommandé d'utiliser les méthodes et les propriétés
de la classe String.
Renvoie la longueur de la chaîne de caractères multioctets.
mbord(character:Stri Déconseillée à partir de Flash Player 5. Il est
ng)
recommandé d'utiliser la méthode
String.charCodeAt().
Convertit le caractère spécifié en nombre multi-octets.
mbsubstring(value:St Déconseillée à partir de Flash Player 5. Il est
ring, index:Number,
count:Number)
recommandé d'utiliser la méthode String.substr().
Extrait une nouvelle chaîne de caractères multi-octets
d'une chaîne de caractères multi-octets.
MMExecute(command:St Permet d'émettre des commandes de l'API Flash
44
ring)
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.
Chapitre 1: Eléments du langage ActionScript
Modificateurs Signature
Description
Number(expression:Ob Convertit le paramètre expression en valeur
ject)
numérique.
Object([value:Object Crée un objet vide ou convertit le nombre, la chaîne ou
])
la valeur booléenne spécifié en objet.
on(mouseEvent:Object Spécifie l'événement de type souris ou pression de
)
touche devant déclencher une action.
onClipEvent(movieEve Déclenche les actions définies pour une instance
nt:Object)
spécifique de clip.
ord(character:String Déconseillée à partir de Flash Player 5. Il est
)
recommandé d'utiliser les méthodes et les propriétés
de la classe String.
Convertit les caractères en numéros de code ASCII.
parseFloat(string:St Convertit une chaîne en nombre à virgule flottante.
ring)
parseInt(expression: Convertit une chaîne en entier.
String,
[radix: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:Object, Imprime le clip target en fonction des limites
boundingBox:String)
spécifiées par le paramètre (bmovie, bmax ou bframe).
printAsBitmap(target Imprime le clip target en tant que bitmap en fonction
:Object,
boundingBox:String)
des limites spécifiées par le paramètre (bmovie, bmax
ou bframe).
printAsBitmapNum(lev Imprime un niveau dans Flash Player en tant que
el:Number,
boundingBox:String)
bitmap en fonction des limites spécifiées par le
paramètre (bmovie, bmax ou bframe).
printNum(level:Numbe Imprime le niveau dans Flash Player en fonction des
r,
boundingBox:String)
limites spécifiées par le paramètre boundingBox
(bmovie, bmax, bframe).
random(value:Number) Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser la méthode 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> .
Fonctions globales
45
Modificateurs Signature
Description
removeMovieClip(targ Supprime le clip spécifié.
et:Object)
setInterval(function Appelle une fonction ou une méthode d'un objet à des
Reference:Function,
interval:Number,
intervalles périodiques pendant la lecture d'un fichier
SWF.
[param:Object],
objectReference:Obje
ct,
methodName:String)
setProperty(target:O Modifie la valeur des propriétés d'un clip pendant la
bject,
lecture de ce dernier.
property:Object,
expression:Object)
showRedrawRegions(en Permet au débogueur de délimiter les zones
able:Boolean,
redessinées de l'écran.
[color:Number])
startDrag(target:Obj Rend le clip target déplaçable pendant la lecture de
ect, [lock:Boolean], l'animation.
[left,top,right,bott
om: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:Ob Renvoie une chaîne représentant le paramètre
ject)
spécifié.
substring(string:Str Déconseillée à partir de Flash Player 5. Il est
ing, index:Number,
count:Number)
recommandé d'utiliser la méthode String.substr().
Extrait une partie d'une chaîne.
targetPath(targetObj Renvoie une chaîne contenant le chemin cible de
ect:Object)
movieClipObject.
tellTarget(target:St Déconseillée à partir de Flash Player 5. Macromedia
ring, statement(s))
46
vous recommande d'utiliser une notation de type point
(.) et l'instruction with.
Applique les instructions spécifiées dans le paramètre
statements au scénario spécifié dans le paramètre
target.
Chapitre 1: Eléments du langage ActionScript
Modificateurs Signature
toggleHighQuality()
Description
Déconseillée à partir de Flash Player 5. Il est
recommandé d'utiliser la méthode _quality.
Active et désactive l'anticrénelage dans Flash Player.
trace(expression:Obj Evalue l'expression et renvoie le résultat.
ect)
unescape(string:Stri Evalue le paramètre x en tant que chaîne, décode la
ng)
chaîne qui est au format codé en URL (en
convertissant toutes les séquences hexadécimales en
caractères ASCII) et renvoie la chaîne.
unloadMovie(target:O Supprime le clip qui a été chargé par l'intermédiaire de
bject)
la fonction loadMovie() de Flash Player.
unloadMovieNum(level Supprime un fichier SWF ou une image qui a été
: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 »).
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é : Flash Player 6 ; ActionScript 1.0
Fonctions globales
47
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.
[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.
elementN:Object
Renvoie
Array
- Un tableau.
Exemple
var myArray:Array = Array();
myArray.push(12);
trace(myArray); //traces 12
myArray[4] = 7;
trace(myArray); //traces 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); // traces 4
trace(myArray); // traces 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); // traces firstElement,secondElement,thirdElement
Unlike the Array class constructor, the Array() function does not use the
keyword new .
Voir également
Array
Protocole asfunction
asfunction:function:Function, parameter:String
48
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 5 ; ActionScript 1.0
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 to handle errors here
}
};
}
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.
Voir également
htmlText (propriété TextField.htmlText)
Fonctions globales
49
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 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é : Flash Player 5 ; ActionScript 1.0
Paramètres
expression:Object
- Une expression à convertir en valeur booléenne.
Renvoie
Boolean
- Une valeur booléenne.
Exemple
trace(Boolean(-1)); // output: true
trace(Boolean(0)); // output: false
trace(Boolean(1)); // output: true
trace(Boolean(true)); // output: true
50
Chapitre 1: Eléments du langage ActionScript
trace(Boolean(false)); // output: false
trace(Boolean("true")); // output: true
trace(Boolean("false")); // output: true
trace(Boolean("Craiggers")); // output: true
trace(Boolean("")); // output: 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")); // output: false
trace(Boolean("false")); // output: false
trace(Boolean("Craiggers")); // output: 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 Boolean, tandis
que la classe Boolean crée un objet Boolean. 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.
// Variables representing Boolean values are compared by value
var a:Boolean = Boolean("a"); // a is true
var b:Boolean = Boolean(1); // b is true
trace(a==b); // true
// Variables representing Boolean objects are compared by reference
var a:Boolean = new Boolean("a"); // a is true
var b:Boolean = new Boolean(1); // b is true
trace(a == b); // false
Voir également
Boolean
Fonction call
call(frame)
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser 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'action a été
exécutée à l'aide d'une action call(), les variables sont locales et expirent à la fin de la liste
actuelle.
Fonctions globales
51
■
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
frame:Object
- L'étiquette ou le numéro d'une image dans le scénario.
Voir également
Instruction function, call (méthode Function.call)
Fonction chr
chr(number:Number) : String
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
String.fromCharCode().
Convertit les numéros de code ASCII en caractères.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
number:Number
- Un numéro de code ASCII.
Renvoie
String
- La valeur de caractère du code ASCII spécifié.
Exemple
L'exemple suivant convertit le nombre 65 en lettre A et l'affecte à la variable myVar : myVar =
chr(65);
Voir également
fromCharCode (méthode String.fromCharCode)
Fonction clearInterval
clearInterval(intervalID:Number) : Void
Arrête l'appel setInterval().
Disponibilité : Flash Player 6 ; ActionScript 1.0
52
Chapitre 1: Eléments du langage ActionScript
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 également
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
- 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.
target:Object
newname:String
- Un identificateur unique pour le clip dupliqué.
Fonctions globales
53
- 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
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 également
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é : Flash Player 5 ; ActionScript 1.0
54
Chapitre 1: Eléments du langage ActionScript
Paramètres
expression:String
- L'expression est convertie en chaîne et est codée au format URL.
Renvoie
String
- Chaîne codée au format URL.
Exemple
Le code suivant donne le résultat someuser%40somedomain%2Ecom :
var email:String = "[email protected]";
trace(escape(email));
Dans cet exemple, le symbole (@) 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 également
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
Fonctions globales
55
eval ("var" + i) = "first";
par :
this["var"+i] = "first"
ou par :
set ("var" + i, "first");
Disponibilité : Flash Player 5 ; ActionScript 1.0
Paramètres
- 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.)
expression:Object
Renvoie
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 également
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.
56
Chapitre 1: 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 fscommand() command et parameters de la
fonction. 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.
Fonctions globales
57
Commande
Paramètre
Rôle
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.
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().
58
Chapitre 1: Eléments du langage ActionScript
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.
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 système de fichiers local ou dans le Sandbox de réseau local et si la page HTML
contenant ce fichier se trouve dans un Sandbox non approuvé. Pour plus d'informations,
consultez le :
■
Chapitre 17, « Fonctionnement de la sécurité » du guide Formation à ActionScript 2.0 dans
Flash
■
Livre blanc concernant la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security
■
Livre blanc concernant les API liées à la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security_apis
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 d'assistance
de Director à l'adresse www.macromedia.com/support/director.
Fonctions globales
59
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.macromedia.com/support/flash.
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é : Flash Player 3 ; ActionScript 1.0
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.
60
Chapitre 1: Eléments du langage ActionScript
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 de la fonction fscommand() parameters.
function myDocument_DoFSCommand(command, args) {
if (command == "messagebox") {
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 également
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
my_mc:String
property
- Le nom d'occurrence d'un clip pour lequel la propriété est extraite.
- Une propriété d'un clip.
Fonctions globales
61
Renvoie
Object
- La valeur de la propriété spécifiée.
Exemple
L'exemple suivant crée un nouveau clip someClip_mc et affiche la valeur alpha (_alpha) du
clip someClip_mc dans le panneau de 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é : Flash Player 4 ; ActionScript 1.0
Renvoie
- 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.
62
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
url:String
- L'URL permettant d'obtenir le document.
[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 :
window:String
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.macromedia.com/software/flash/flashpro/", "_blank");
};
};
var logo:MovieClipLoader = new MovieClipLoader();
logo.addListener(listenerObject);
logo.loadClip("http://www.helpexamples.com/flash/images/image1.jpg",
this.createEmptyMovieClip("macromedia_mc", this.getNextHighestDepth()));
Dans l'exemple suivant, la fonction getURL() est utilisée pour envoyer un message
électronique :
myBtn_btn.onRelease = function(){
getURL("mailto:[email protected]");
};
Dans le code ActionScript suivant, JavaScript est utilisé pour ouvrir une fenêtre d'alerte
lorsque le fichier SWF est intégré à une fenêtre de navigateur (sachez que lorsque vous appelez
JavaScript à l'aide de getURL(), le paramètre url est limité à 508 caractères) :
myBtn_btn.onRelease = function(){
getURL("javascript:alert('you clicked me')");
};
Fonctions globales
63
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 age:Number = 92;
myBtn_btn.onRelease = function() {
getURL("http://www.macromedia.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 age:Number = 92;
getURL("http://www.macromedia.com", "_blank", "POST");
Voir également
Fonction loadVariables, send (XML.send, méthode), sendAndLoad
(XML.sendAndLoad, méthode)
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é : Flash Player 5 ; ActionScript 1.0
Renvoie
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); // output: WIN 8,0,1,0
trace($version); // output: WIN 8,0,1,0
trace(System.capabilities.version); // output: WIN 8,0,1,0
64
Chapitre 1: Eléments du langage ActionScript
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 également
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é : Flash Player 2 ; ActionScript 1.0
Paramètres
scene:String
[facultatif ] - Une chaîne qui spécifie le nom de la séquence cible de la tête de
lecture.
- Un nombre représentant le numéro d'image ou une 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.
Fonctions globales
65
Voir également
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é : Flash Player 2 ; ActionScript 1.0
Paramètres
scene:String
[facultatif ] - Une chaîne qui spécifie le nom de la séquence cible de la tête de
lecture.
- Un nombre représentant le numéro d'image ou une 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.
66
Chapitre 1: Eléments du langage ActionScript
Voir également
gotoAndStop (méthode MovieClip.gotoAndStop), Fonction stop, Fonction play,
Fonction gotoAndPlay
Fonction ifFrameLoaded
ifFrameLoaded([scene:String], frame) {
statement(s);
}
Déconseillée à partir de Flash Player 5. Cette fonction est déconseillée. Macromedia vous
recommande d'utiliser la propriété MovieClip._framesloaded.
Vérifie si le contenu d'une image spécifique est disponible localement. Utilisez la fonction
ifFrameLoaded 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.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
scene:String
[facultatif ] - Une chaîne qui spécifie le nom de la séquence à charger.
- Le numéro ou l'étiquette d'image devant être chargé(e) avant l'exécution de
l'instruction suivante.
frame:Object
Voir également
, addListener (méthode MovieClipLoader.addListener)
Fonction int
int(value:Number) : Number
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode Math.round().
Convertit un nombre décimal en valeur entière en tronquant la valeur décimale. Cette
fonction est l'équivalent de la fonction Math.floor() si le paramètre value est positif et de la
fonction Math.ceil() si le paramètre value est négatif.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
value:Number
- Un nombre devant être arrondi à un entier.
Fonctions globales
67
Renvoie
Number
- Le nombre entier tronqué.
Voir également
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é : Flash Player 5 ; ActionScript 1.0
Paramètres
expression:Object - Une valeur booléenne, une variable ou toute autre expression à évaluer.
Renvoie
Boolean
- Une valeur booléenne.
Exemple
L'exemple suivant affiche les valeurs renvoyées pour isFinite :
isFinite(56)
// returns true
isFinite(Number.POSITIVE_INFINITY)
//returns 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é : Flash Player 5 ; ActionScript 1.0
68
Chapitre 1: Eléments du langage ActionScript
Paramètres
expression:Object - Une valeur booléenne, une variable ou toute autre expression à évaluer.
Renvoie
Boolean
- Une valeur booléenne.
Exemple
Le code suivant illustre les valeurs renvoyées pour la fonction isNaN() :
trace( isNaN("Tree") );
// returns true
trace( isNaN(56) );
// returns false
trace( isNaN(Number.POSITIVE_INFINITY) )
// returns 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) );
// output: true
// The output is true because the variable dividend is undefined.
// Do not use isNAN() to check for division by 0 because it will return
false.
// A positive number divided by 0 equals Infinity
(Number.POSITIVE_INFINITY).
// A negative number divided by 0 equals -Infinity
(Number.NEGATIVE_INFINITY).
Voir également
Constante NaN, NaN (propriété Number.NaN)
Fonction length
length(expression:String)length(variable)
Déconseillée à partir de Flash Player 5. Cette fonction, à l'instar de toutes les fonctions de
chaîne, est déconseillée. Macromedia vous recommande d'utiliser 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.
Fonctions globales
69
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
expression:String
variable:Object
- Une chaîne.
- Le nom d'une variable.
Renvoie
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 5.
Voir également
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
loadMovieNum() à la place de loadMovie().
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.
70
Chapitre 1: Eléments du langage ActionScript
La fonction unloadMovie() permet de supprimer les fichiers SWF chargés avec
loadMovie().
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 autorisé si le clip appelant se trouve dans le Sandbox du système
de fichiers local et si le clip chargé provient d'un Sandbox de 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 du système de fichiers local ne peuvent pas créer
de scripts dans les clips du Sandbox de réseau local (et inversement).
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
■
Livre blanc concernant la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security
■
Livre blanc concernant les API liées à la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security_apis
Disponibilité : Flash Player 3 ; ActionScript 1.0
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
- 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.
target:Object
Fonctions globales
71
[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
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);
// equivalent statement (Usage 1): loadMovie("circle.swf",
_level0.mySquare);
// equivalent statement (Usage 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);
// Note that using "this" as a string for the target parameter will not work
// equivalent statement (Usage 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 également
_level, propriété, Fonction loadMovieNum, loadMovie (méthode
MovieClip.loadMovie), loadClip (méthode MovieClipLoader.loadClip), Fonction
unloadMovie
72
Chapitre 1: Eléments du langage ActionScript
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.
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.
Fonctions globales
73
Pour Flash Player 8 :
■
Le chargement n'est pas autorisé si le clip appelant se trouve dans le Sandbox du système
de fichiers local et si le clip chargé provient d'un Sandbox de 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 du système de fichiers local ne peuvent pas créer
de scripts dans les clips du Sandbox de réseau local (et inversement).
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
■
Livre blanc concernant la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security
■
Livre blanc concernant les API liées à la sécurité de Flash Player 8 à l'adresse http://
www.macromedia.com/go/fp8_security_apis
Disponibilité : Flash Player 4 ; ActionScript 1.0
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
level:Number - Un entier spécifiant le niveau de Flash Player dans lequel le fichier SWF doit
se charger.
74
Chapitre 1: Eléments du langage ActionScript
[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 également
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=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103
Dans les fichiers SWF exécutés dans une version antérieure à Flash Player 7, l'url doit être
dans le même superdomaine que le fichier SWF qui transmet 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.
Fonctions globales
75
Dans les fichiers SWF, quelle que soit leur version, qui s'exécutent dans Flash Player 7 ou
version ultérieure, url doit figurer dans le même domaine que le fichier SWF qui envoie cet
appel (voir « Fonctions de sécurité de Flash Player » dans le guide Utilisation d'ActionScript
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 Utilisation d'ActionScript dans Flash.
Si vous souhaitez charger des variables dans un niveau spécifique, utilisez
loadVariablesNum() à la place de loadVariables().
Disponibilité : Flash Player 4 ; ActionScript 1.0
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, url doit appartenir au
même domaine que le fichier SWF. Pour plus de détails, reportez-vous à la section
Description.
url:String
target:Object
- Le chemin cible d'un clip devant recevoir les variables chargées.
[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 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) {
76
Chapitre 1: Eléments du langage ActionScript
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 également
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ée 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=Macromedia&address=601+Townsend&city=San+Francisco&zip=94103
Pour les fichiers SWF lus par une version antérieure à Flash Player 7, le paramètre 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 à 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.
Fonctions globales
77
Dans les fichiers SWF, quelle que soit leur version, qui s'exécutent dans Flash Player 7 ou
version ultérieure, url doit figurer dans le même domaine que le fichier SWF qui envoie cet
appel (voir « Fonctions de sécurité de Flash Player » dans le guide Utilisation d'ActionScript
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 Utilisation d'ActionScript dans Flash.
Si vous souhaitez charger des variables dans un clip cible, utilisez loadVariables() à la place
de loadVariablesNum().
Disponibilité : Flash Player 4 ; ActionScript 1.0
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, url doit appartenir au
même domaine que le fichier SWF. Pour plus de détails, reportez-vous à 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("-------------");
for (i in _level2) {
78
Chapitre 1: Eléments du langage ActionScript
trace(i+": "+_level2[i]);
}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval:Number = setInterval(checkParamsLoaded, 100);
// Params.txt includes the following text
var1="hello"&var2="goodbye"&done="done"
Voir également
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 à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
String.fromCharCode().
Convertit un numéro de code ASCII en caractère multi-octets.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
number:Number
- Le nombre à convertir en caractère multi-octets.
Voir également
fromCharCode (méthode String.fromCharCode)
Fonction mblength
mblength(string:String) : Number
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser les méthodes et les
propriétés de la classe String.
Renvoie la longueur de la chaîne de caractères multi-octets.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Fonctions globales
79
Paramètres
string:String
- La chaîne à mesurer.
Renvoie
Number
- La longueur de la chaîne de caractères multi-octets.
Voir également
String, length (propriété String.length)
Fonction mbord
mbord(character:String) : Number
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
String.charCodeAt().
Convertit le caractère spécifié en nombre multi-octets.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
character:String
- character Le caractère à convertir en nombre multi-octets.
Renvoie
Number
- Le caractère converti.
Voir également
charCodeAt (méthode String.charCodeAt)
Fonction mbsubstring
mbsubstring(value:String, index:Number, count:Number) : String
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
String.substr().
Extrait une nouvelle chaîne de caractères multi-octets d'une chaîne de caractères multi-octets.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
- La chaîne multi-octets à partir de laquelle il convient d'extraire une nouvelle
chaîne multi-octets.
value:String
80
Chapitre 1: Eléments du langage ActionScript
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.
Renvoie
String
- La chaîne extraite à partir de la chaîne de caractères multi-octets.
Voir également
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.macromedia.com/go/jsapi_info_en.
Disponibilité : Flash Player 7 ; ActionScript 1.0
Paramètres
command:String
- Toute commande pouvant être utilisée dans un fichier JSFL (Flash
JavaScript).
Fonctions globales
81
Renvoie
- Le résultat représenté sous forme de chaîne, s'il y en a un, renvoyé par l'instruction
JavaScript.
String
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 :
var numLibItems = MMExecute("fl.getDocumentDOM().library.items.length");
var message = numLibItems + " items in library";
MMExecute('fl.trace("' + message + '");');
■
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.
Fonction nextFrame
nextFrame() : Void
Place la tête de lecture sur l'image suivante.
Disponibilité : Flash Player 2 ; ActionScript 1.0
82
Chapitre 1: Eléments du langage ActionScript
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 également
Fonction prevFrame
Fonction nextScene
nextScene() : Void
Place la tête de lecture sur l'image 1 de la séquence suivante.
Disponibilité : Flash Player 2 ; ActionScript 1.0
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);
Fonctions globales
83
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 également
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 expression est true,
0 si expression est false.
■
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 : - Dans les fichiers
publiés pour Flash Player 6 ou version antérieure, le résultat est 0. - Dans les fichiers
publiés pour Flash Player 7 ou version ultérieure, le résultat est NaN.
Disponibilité : Flash Player 4 ; ActionScript 1.0
84
Chapitre 1: Eléments du langage ActionScript
Paramètres
- 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.
expression:Object
Renvoie
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;
// Without the Number() function, Flash would concatenate the value instead
// of adding values. You could also use "counter_txt.text++;"
counter_txt.text = Number(counter) + 1;
}
var intervalID:Number = setInterval(incrementInterval, 1000);
Voir également
Constante NaN, Number, Fonction parseInt, Fonction parseFloat
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é : Flash Player 5 ; ActionScript 1.0
Paramètres
value:Object
[facultatif ] - Une valeur de type numérique, chaîne ou booléen.
Renvoie
Object
- Un objet.
Fonctions globales
85
Exemple
Dans l'exemple suivant, un objet vide est créé, puis renseigné par des valeurs :
var company:Object = new Object();
company.name = "Macromedia, Inc.";
company.address = "600 Townsend Street";
company.city = "San Francisco";
company.state = "CA";
company.postal = "94103";
for (var i in company) {
trace("company."+i+" = "+company[i]);
}
Voir également
Object
Gestionnaire on
on(mouseEvent:Object) {
// your statements here
}
Spécifie l'événement de type souris ou pression de touche devant déclencher une action.
Disponibilité : Flash Player 2 ; ActionScript 1.0
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
L'utilisateur appuie sur le bouton de la souris pendant que le pointeur de la souris
survole le bouton.
■
press
■
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.
■
rollOut
■
rollOver
86
Le pointeur quitte la zone du bouton.
Le pointeur de la souris survole le bouton.
Chapitre 1: Eléments du langage ActionScript
■
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.
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 également
Gestionnaire onClipEvent, Key
Gestionnaire onClipEvent
onClipEvent(movieEvent:Object) {
// your statements here
}
Déclenche les actions définies pour une instance spécifique de clip.
Disponibilité : Flash Player 5 ; ActionScript 1.0
Fonctions globales
87
Paramètres
- 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
L'action commence dès que le clip est instancié et s'affiche dans le scénario.
■
load
■
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.
■
mouseMove
unload
enterFrame
_ymouse
■
L'action commence dès que la souris bouge. Les propriétés _xmouse et
permettent de déterminer la position du curseur.
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
permet d'extraire des informations sur la dernière touche utilisée.
Key.getCode()
■
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) {
88
Chapitre 1: Eléments du langage ActionScript
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, apparaissant dans le champ de 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;
}
Voir également
Key, _xmouse (propriété MovieClip._xmouse), _ymouse (propriété
MovieClip._ymouse), Gestionnaire on, Fonction updateAfterEvent
Fonction ord
ord(character:String) : Number
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser les méthodes et les
propriétés de la classe String.
Convertit les caractères en numéros de code ASCII.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
character:String
- Le caractère à convertir en numéro de code ASCII.
Renvoie
Number
- Le numéro de code ASCII du caractère spécifié.
Voir également
String, charCodeAt (méthode String.charCodeAt)
Fonctions globales
89
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é : Flash Player 5 ; ActionScript 1.0
Paramètres
string:String
- La chaîne à lire et convertir en nombre à virgule flottante.
Renvoie
Number
- Un nombre ou NaN (n'est pas un nombre).
Exemple
Les exemples suivants utilisent la fonction parseFloat() pour évaluer divers types de
nombres :
trace(parseFloat("-2")); // output: -2
trace(parseFloat("2.5")); // output: 2.5
trace(parseFloat(" 2.5")); // output: 2.5
trace(parseFloat("3.5e6")); // output: 3500000
trace(parseFloat("foobar")); // output: NaN
trace(parseFloat("3.75math")); // output: 3.75
trace(parseFloat("0garbage")); // output: 0
Voir également
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 des 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é : Flash Player 5 ; ActionScript 1.0
90
Chapitre 1: Eléments du langage ActionScript
Paramètres
expression:String
- Une chaîne à convertir en entier.
[facultatif ] - Un entier représentant la base du nombre à analyser. Les valeurs
valides sont comprises entre 2 et 36.
radix:Number
Renvoie
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")
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 également
, Fonction parseFloat
Fonctions globales
91
Fonction play
play() : Void
Fait avancer la tête de lecture au sein du scénario.
Disponibilité : Flash Player 2 ; ActionScript 1.0
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.stop_mc.onRelease = function() {
stop();
};
this.play_mc.onRelease = function() {
play();
};
trace("frame 1");
Voir également
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é : Flash Player 2 ; ActionScript 1.0
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 également
Fonction nextFrame,
92
prevFrame (méthode MovieClip.prevFrame)
Chapitre 1: Eléments du langage ActionScript
Fonction prevScene
prevScene() : Void
Place la tête de lecture sur l'image 1 de la séquence précédente.
Disponibilité : Flash Player 2 ; ActionScript 1.0
Voir également
Fonction nextScene
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
- 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.
target:Object
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 :
■
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.
bmovie
Fonctions globales
93
■
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.
■
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
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 également
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, Macromedia
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.)
94
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
- 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.
target:Object
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 :
■
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
bmovie
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 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 également
Fonction print, Fonction printAsBitmapNum, Fonction printNum, PrintJob
Fonctions globales
95
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éserver 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é : Flash Player 5 ; ActionScript 1.0
Paramètres
- 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.
level:Number
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 :
■
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
bmovie
images imprimables en tant que zone d'impression. Spécifiez le paramètre bmax lorsque la
taille des images imprimables de votre clip varie.
96
Chapitre 1: 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 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
La zone à imprimer est définie par le cadre de délimitation de l'image.
myBtn_btn.
myBtn_btn.onRelease = function(){
printAsBitmapNum(0, "bframe")
};
Voir également
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é : Flash Player 5 ; ActionScript 1.0
Paramètres
- 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.
level:Number
Fonctions globales
97
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 :
■
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
bmovie
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 bframe si vous avez des objets de
différentes tailles dans chaque image et souhaitez que chaque objet remplisse la page
imprimée.
Voir également
Fonction print, Fonction printAsBitmap, Fonction printAsBitmapNum, PrintJob
Fonction random
random(value:Number) : Number
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
value:Number
- Un entier.
Renvoie
Number
- Un entier aléatoire.
Exemple
L'utilisation suivante de la fonction random() renvoie une valeur de 0, 1, 2, 3 ou 4 :
random(5);
98
Chapitre 1: Eléments du langage ActionScript
Voir également
random (méthode Math.random)
Fonction removeMovieClip
removeMovieClip(target:Object)
Supprime le clip spécifié.
Disponibilité : Flash Player 4 ; ActionScript 1.0
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("myClip_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 également
Fonction duplicateMovieClip, duplicateMovieClip (méthode
MovieClip.duplicateMovieClip), attachMovie (méthode MovieClip.attachMovie),
removeMovieClip (méthode MovieClip.removeMovieClip), createEmptyMovieClip
(méthode MovieClip.createEmptyMovieClip)
Fonctions globales
99
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é : Flash Player 6 ; ActionScript 1.0
100
Chapitre 1: 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 à functionReference
ou methodName. Les paramètres multiples doivent être séparés par des 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.
Renvoie
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
101
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",
102
Chapitre 1: Eléments du langage ActionScript
"yellow",
"purple",
"green",
"orange",
"salmon",
"pink",
"lilac",
"powder blue",
"mint");
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
103
}
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 également
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é : Flash Player 4 ; ActionScript 1.0
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() {
104
Chapitre 1: Eléments du langage ActionScript
setProperty(params_mc, _x, getProperty(params_mc, _x)+20);
};
Voir également
Fonction getProperty
Fonction showRedrawRegions
showRedrawRegions(enable:Boolean, [color:Number]) : Void
Permet au débogueur de délimiter les zones redessinées de l'écran (c'est-à-dire les zones sales
mises à jour). Les contours peuvent également être activés via l'option de menu Redessiner les
régions.
Disponibilité : Flash Player 8 ; ActionScript 1.0
Paramètres
enable:Boolean - 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.
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 {
this._y += 5;
}
_global.showRedrawRegions(true);
function createShape(name:String):MovieClip {
var mc:MovieClip = this.createEmptyMovieClip(name,
this.getNextHighestDepth());
Fonctions globales
105
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é : Flash Player 4 ; ActionScript 1.0
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.
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();
106
Chapitre 1: Eléments du langage ActionScript
};
};
pic_mcl.addListener(listenerObject);
Voir également
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é : Flash Player 2 ; ActionScript 1.0
Voir également
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é : Flash Player 3 ; ActionScript 1.0
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;
Fonctions globales
107
for (prop in this.id3) {
trace(prop+" = "+this.id3[prop]);
}
trace("ID3 loaded.");
};
this.play_mc.onRelease = function() {
/* get the current offset. if you stop all sounds and click the play
button, the MP3 continues from
where it was stopped, instead of restarting from the beginning. */
var numSecondsOffset:Number = (bg_sound.position/1000);
bg_sound.start(numSecondsOffset);
};
this.stop_mc.onRelease = function() {
stopAllSounds();
};
Voir également
Sound
Fonction stopDrag
stopDrag() : Void
Arrête l'opération de déplacement en cours.
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 également
Fonction startDrag, _droptarget (propriété MovieClip._droptarget), startDrag
(méthode MovieClip.startDrag), stopDrag (méthode MovieClip.stopDrag)
108
Chapitre 1: Eléments du langage ActionScript
Fonction String
String(expression:Object) : String
Renvoie une chaîne représentant le paramètre spécifié, comme indiqué dans la liste suivante :
■
Si expression est un nombre, la chaîne renvoyée représente le nombre sous forme de
texte.
■
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 "false".
■
Si expression est un clip, la valeur renvoyée est le chemin cible du clip avec la notation à
barre oblique (/).
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é : Flash Player 4 ; ActionScript 1.0
Paramètres
expression:Object
- Une expression à convertir en chaîne.
Renvoie
String
- Une 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); // output: 39
Etant donné que les deux paramètres sont des chaînes, les valeurs sont concaténées au lieu
d'être ajoutées.
Fonctions globales
109
Voir également
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 à partir de Flash Player 5. Il est recommandé d'utiliser la méthode
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é : Flash Player 4 ; ActionScript 1.0
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.
Renvoie
String
- La sous-chaîne extraite.
Voir également
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é : Flash Player 5 ; ActionScript 1.0
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.
110
Chapitre 1: Eléments du langage ActionScript
Renvoie
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("myClip_mc", this.getNextHighestDepth());
trace(targetPath(myClip_mc)); // _level0.myClip_mc
Voir également
Fonction eval
Fonction tellTarget
tellTarget(target:String) {
statement(s);
}
Déconseillée à partir de Flash Player 5. Macromedia vous recommande d'utiliser une notation
de type point (.) et l'instruction with.
Applique les instructions spécifiées dans le paramètre statements au scénario spécifié dans 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 inviter les clips à
atteindre une image spécifique.
Dans Flash 5 ou version ultérieure, 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é : Flash Player 3 ; ActionScript 1.0
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.
Fonctions globales
111
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);
}
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 également
Instruction with
Fonction toggleHighQuality
toggleHighQuality()
Déconseillée à partir de Flash Player 5. Il est recommandé d'utiliser la méthode _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é : Flash Player 2 ; ActionScript 1.0
112
Chapitre 1: Eléments du langage ActionScript
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 également
, _quality, propriété
Fonction trace
trace(expression:Object)
Vous pouvez utiliser Flash Debug Player pour capturer les sorties de la fonction trace() et
afficher le résultat.
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 de 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é : Flash Player 4 ; ActionScript 1.0
Paramètres
expression:Object - 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
s'affiche dans le panneau de sortie.
expression
Exemple
L'exemple suivant utilise une instruction trace() pour afficher dans le panneau de sortie les
méthodes et propriétés du champ de 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]);
}
/* output:
error_txt.styleSheet = undefined
error_txt.mouseWheelEnabled = true
Fonctions globales
113
error_txt.condenseWhite = false
...
error_txt.maxscroll = 1
error_txt.scroll = 1
*/
Fonction unescape
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 la chaîne.
Disponibilité : Flash Player 5 ; ActionScript 1.0
Paramètres
string:String
- Une chaîne comportant des séquences d'échappement hexadécimales.
Renvoie
String
- Une chaîne décodée à partir d'un paramètre codé au format URL.
Exemple
L'exemple suivant illustre le processus de conversion escape/unescape :
var email:String = "[email protected]";
trace(email);
var escapedEmail:String = escape(email);
trace(escapedEmail);
var unescapedEmail:String = unescape(escapedEmail);
trace(unescapedEmail);
Le résultat suivant s'affiche dans le panneau de sortie.
[email protected]
user%40somedomain%2Ecom
[email protected]
Fonction unloadMovie
unloadMovie(target:MovieClip) : Void
unloadMovie(target:String) : Void
Supprime le clip qui a été chargé par l'intermédiaire de la fonction loadMovie() de Flash
Player. Pour décharger un clip chargé avec loadMovieNum(), utilisez unloadMovieNum() au
lieu de unloadMovie().
Disponibilité : Flash Player 3 ; ActionScript 1.0
114
Chapitre 1: Eléments du langage ActionScript
Paramètres
- Le chemin cible d'un clip. 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.
target: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);
/* or you could use the following, which refers to the movie clip
referenced by 'target_mc'. */
//unloadMovie(this);
};
};
pic_mcl.addListener(listenerObject);
Voir également
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é : Flash Player 3 ; ActionScript 1.0
Paramètres
level:Number
- Le niveau (_level N ) d'une animation chargée.
Fonctions globales
115
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 également
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é : Flash Player 5 ; ActionScript 1.0
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 également
Gestionnaire onClipEvent, Fonction setInterval
116
Chapitre 1: 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
Une référence à l'objet global qui contient les
principales classes ActionScript, telles que String,
Object, Math et Array.
_highquality
Déconseillé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
Une référence au scénario racine de _level N.
maxscroll
Déconseillédepuis Flash Player 5. Cette propriété a été
déconseillée en faveur deTextField.maxscroll.
Indique le numéro de ligne de la ligne supérieure de
texte visible dans un champ de 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.
_root
Spécifie ou renvoie une référence au scénario du clip
racine.
Propriétés globales
117
Modificateurs Propriété
Description
scroll
Déconseillédepuis Flash Player 5. Cette propriété a été
déconseillée en faveur deTextField.scroll.
Contrôle l'affichage des informations dans un champ
de texte associé à une variable.
_soundbuftime
Établit 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 méthode System.capabilities.hasAccessibility().
118
Chapitre 1: 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
panneau
Accessibilité
S'applique à
silent
Boolean
Rendre une animation Fichiers SWF entiers
accessible/Rendre
Clips Boutons Texte
l'objet accessible
dynamique Texte
(logique inverse)
d'entrée
forceSimple
Boolean
Rendre les objets
enfants accessibles
(logique inverse)
Fichiers SWF entiers
Clips
name
String
Nom
Fichiers SWF entiers
Clips Boutons Texte
d'entrée
description
String
Description
Fichiers SWF entiers
Clips Boutons Texte
dynamique 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.
Pour faire référence à l'objet _accProps représentant le document Flash, omettez le paramètre
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 :
instanceName.
Propriétés globales
119
if ( _accProps == undefined )
{
_accProps = new Object();
}
_accProps.name = "My SWF file";
Lorsque _accProps est utilisé dans 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.
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; // set a property
// other code here
delete my_mc._accProps.silent; // revert to default value
120
Chapitre 1: Eléments du langage ActionScript
La valeur _accProps doit être un objet. Ceci signifie que si aucun objet _accProps n'existe,
vous devez en créer un, avant de pouvoir affecter des indices aux propriétés de l'objet
_accProps.
if (_accProps == undefined)
{
_accProps = new Object();
}
_accProps.name = "My movie";
Disponibilité : Flash Player 6,0,65,0; ActionScript 1.0
Paramètres
- Nom de propriété d'accessibilité (consultez la
description suivante pour connaître les noms valides). instanceName
propertyName:Boolean or String
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
_accProps représentant le document Flash, omettez le paramètre instanceName.
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 également
isActive (méthode Accessibility.isActive), updateProperties (méthode
Accessibility.updateProperties), hasAccessibility (propriété
capabilities.hasAccessibility)
Propriétés globales
121
_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 (vrai).
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é : Flash Player 4 ; ActionScript 1.0
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 également
_focusrect (propriété Button._focusrect), _focusrect (propriété
MovieClip._focusrect)
122
Chapitre 1: 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.
Renvoie Une référence à l'objet global qui contient les principales classes ActionScript, telles
que String, Object, Math et Array.
Disponibilité : Flash Player 6 ; ActionScript 1.0
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
myVar = "localVariable";
trace(_global.myVar); // globalVariable
Propriétés globales
123
trace(myVar); // localVariable
Voir également
Instruction var, Instruction set variable
_highquality, propriété
_highquality
Déconseillé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é : Flash Player 4 ; ActionScript 1.0
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 également
_quality, propriété
_level, propriété
_levelN
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é _levelpour 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.
124
Chapitre 1: 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é : Flash Player 4 ; ActionScript 1.0
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 également
Fonction loadMovie, swapDepths (méthode MovieClip.swapDepths)
maxscroll, propriété
variable_name.maxscroll
Déconseillédepuis Flash Player 5. Cette propriété a été déconseillée en faveur
deTextField.maxscroll.
Indique le numéro de ligne de la ligne supérieure de texte visible dans un champ de 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 de texte. Cette propriété peut être récupérée mais pas modifiée.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Voir également
maxscroll (propriété TextField.maxscroll), scroll (propriété
TextField.scroll)
Propriétés globales
125
_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 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.
Disponibilité : Flash Player 5 ; ActionScript 1.0
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 également
_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.
126
Chapitre 1: Eléments du langage ActionScript
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ées.
"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ées
sur la base du
paramètre smoothing
utilisé dans les appels
MovieClip.attachBitma
p() et
MovieClip.beginBitmap
Fill().
Flash Player 6 et 7 :
Les bitmaps ne sont
pas lissées.
"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ées
sur la base du
paramètre smoothing
utilisé dans les appels
MovieClip.attachBitma
p() et
MovieClip.beginBitmap
Fill().
Flash Player 6 et 7 :
Les bitmaps sont
lissées si le clip est
statique.
Propriétés globales
127
Valeur
Description
Anticrénelage des
graphiques
Lissage des
bitmaps
"BEST"
Très haute qualité de
rendu.
Les graphiques sont
Flash Player 8 : Les
anticrénelés en
bitmaps sont lissées
utilisant une grille de 4 sur la base du
x 4 pixels.
paramètre smoothing
utilisé dans les appels
MovieClip.attachBitma
p() et
MovieClip.beginBitmap
Fill(). 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ées.
Disponibilité : Flash Player 5 ; ActionScript 1.0
Exemple
L'exemple suivant définit la qualité du rendu sur LOW :
_quality = "LOW";
_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é.
128
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 5 ; ActionScript 1.0
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 également
_lockroot (propriété MovieClip._lockroot), _parent, propriété, Fonction
targetPath
scroll, propriété
textFieldVariableName.scroll = x
Déconseillédepuis Flash Player 5. Cette propriété a été déconseillée en faveur
deTextField.scroll.
Contrôle l'affichage des informations dans un champ de texte associé à une variable. La
propriété scroll définit l'emplacement à partir duquel le champ de texte commence à
afficher le contenu ; une fois l'emplacement défini, Flash Player le met à jour lorsque
l'utilisateur fait défiler le champ de 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é : Flash Player 4 ; ActionScript 1.0
Propriétés globales
129
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 également
maxscroll (propriété TextField.maxscroll), scroll (propriété
TextField.scroll)
_soundbuftime, propriété
_soundbuftime:Number
= integer
Établit le nombre de secondes de son en diffusion continue à placer en mémoire tampon. La
valeur par défaut est de 5 secondes.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Paramètres
integer:Number
- Nombre de secondes précédant la diffusion en continu du fichier SWF.
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.
// create text fields to hold debug information.
this.createTextField("counter_txt", this.getNextHighestDepth(), 0, 0, 100,
22);
this.createTextField("debug_txt", this.getNextHighestDepth(), 0, 20, 100,
22);
// set the sound buffer to 10 seconds.
_soundbuftime = 10;
// create the new sound object instance.
var bg_sound:Sound = new Sound();
// load the MP3 sound file and set streaming to true.
bg_sound.loadSound("yourSound.mp3", true);
// function is triggered when the song finishes loading.
bg_sound.onLoad = function() {
130
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 5 ; ActionScript 1.0
Exemple
Créez un fichier ActionsScript 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)); //output: defined in FLA or AS
trace(obj.addStr.call(this, null)); //output: undefined
trace(obj.addStr.call(obj, null)); //output: 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 :
Propriétés globales
131
// incorrect version of Simple.as
/*
dynamic class Simple {
function callfunc() {
trace(func());
}
}
*/
// correct version of 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();
// output: true
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.
// sets the alpha property of the current movie clip to 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();
};
132
Chapitre 1: Eléments du langage ActionScript
Voir également
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.
+= (addition
Affecte à expression1 la valeur de expression1 + expression2.
assignment)
[] (array access)
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.
= (assignment)
Affecte la valeur d'expression2 (le paramètre de droite) à la variable, à
l'élément de tableau ou à la propriété dans expression1.
& (bitwise AND)
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.
&= (bitwise AND
Affecte à expression1 la valeur de expression1 & expression2.
assignment)
<< (bitwise left
shift)
<<= (bitwise left
shift and
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é 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.
assignment)
~ (bitwise NOT)
Connu également sous la forme de complément d'opérateur du un ou
opérateur de complément au niveau du bit.
| (bitwise OR)
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.
|= (bitwise OR
Affecte à expression1 la valeur de expression1 | expression2.
assignment)
Opérateurs
133
Opérateur
Description
>> (bitwise right
Convertit expression1 et expression2 en entiers 32 bits et décale tous
les bits d'expression1 vers la droite du nombre d'unités spécifié par
l'entier résultant de la conversion d'expression2.
shift)
>>= (bitwise right
shift and
Cet opérateur effectue un décalage vers la droite au niveau du bit et
stocke ensuite le contenu dans expression1.
assignment)
>>> (bitwise
unsigned right
shift)
>>>= (bitwise
unsigned right shift
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.
and assignment)
^ (bitwise XOR)
Convertit expression1 and 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, mais pas les deux, ont la valeur 1.
^= (bitwise XOR
Affecte à expression1 la valeur de expression1 ^ expression2.
assignment)
/*..*/ (block
Démarque une ou plusieurs lignes de commentaires de script.
comment delimiter)
, (comma)
Évalue expression1, puis expression2, etc.
add (concatenation
Déconseillédepuis Flash Player 5. Macromedia recommande d'utiliser
l'opérateur add (+) lorsque vous créez du contenu pour Flash Player 5 ou
supérieur. Cet opérateur n'est pas pris en charge dans Flash Player 8 ou
supérieur.
Concatène au moins deux chaînes.
(strings))
?: (conditional)
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.
-- (decrement)
Un opérateur unaire de pré et post-décrémentation qui soustrait 1 d'
expression.
/ (division)
Divise expression1 par expression2.
/= (division
Affecte à expression1 la valeur de expression1 / expression2.
assignment)
. (dot)
134
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.
Chapitre 1: Eléments du langage ActionScript
Opérateur
Description
== (equality)
Vérifie si deux expressions sont égales.
eq (equality
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.
(strings))
> (greater than)
Compare deux expressions et détermine si expression1 est supérieure à
expression2 ; dans l'affirmative, cet opérateur renvoie true.
gt (greater than
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 plus grand que
expression2, sinon renvoie false.
(strings))
>= (greater than or
equal to)
ge (greater than or
equal to (strings))
Compare deux expressions et détermine si expression1 est supérieure
ou égale à expression2 (true) ou si expression1 est inférieure à
expression2 (false).
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érieure ou égale à expression2,
sinon renvoiefalse .
++ (increment)
Un opérateur unaire de pré et post-incrémentation qui ajoute 1 à
expression .
!= (inequality)
Recherche l'inverse de l'opérateur d'égalité (==).
<> (inequality)
Déconseillé depuis Flash Player 5. Cet opérateur est déconseillé.
Macromedia 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 sousclasse de classConstructor.
< (less than)
Compare deux expressions et détermine si expression1 est inférieure à
expression2 ; dans l'affirmative, cet opérateur renvoie true.
lt (less than
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.
(strings))
<= (less than or
equal to)
Compare deux expressions et détermine si expression1 est inférieure ou
égale à expression2 ; dans l'affirmative, cet opérateur renvoie true.
Opérateurs
135
Opérateur
Description
le (less than or
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érieure ou égale à expression2,
sinon renvoie false.
equal to (strings))
// (line comment
Signale le début d'un commentaire de script.
delimiter)
&& (logical AND)
Effectue une opération booléenne sur les valeurs des deux expressions.
and (logical AND)
Déconseillé depuis Flash Player 5. Macromedia recommande d'utiliser
l'opérateur AND logique (&&).
Effectue une opération AND logique (&&) ) dans Flash Player 4.
! (logical NOT)
Inverse la valeur booléenne d'une variable ou d'une expression.
not (logical NOT)
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.
|| (logical OR)
Evalue l'expression1 (l'expression située à gauche de l'opérateur) et
renvoie true si cette expression est évaluée à true.
or (logical OR)
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, si l'une des deux expressions est
true, l'expression entière est true.
% (modulo)
Calcule le reste de expression1 divisé par expression2.
%= (modulo
Affecte à expression1 la valeur de expression1 % expression2.
assignment)
* (multiplication)
Multiplie deux expressions numériques.
*= (multiplication
Affecte à expression1 la valeur de expression1 * expression2.
assignment)
new
Crée un objet, initialement anonyme, et appelle la fonction identifiée par le
paramètre constructor.
ne (not equal
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 .
(strings))
{} (object
initializer)
136
Crée un objet et l'initialise avec les paires de propriétés spécifiées name et
value.
Chapitre 1: Eléments du langage ActionScript
Opérateur
Description
() (parentheses)
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.
=== (strict
equality)
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.
!== (strict
Recherche l'inverse exact de l'opérateur d'égalité stricte ( === ).
inequality)
" (string delimiter) 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.
- (subtraction)
Utilisé pour la négation ou la soustraction.
-= (subtraction
Affecte à expression1 la valeur de expression1 - expression2.
assignment)
: (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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1
- Nombre ou chaîne.
Opérateurs
137
expression2 : Number
- Nombre ou chaîne.
Valeur renvoyée
Object
- Chaîne, entier ou nombre à virgule flottante.
Exemple
Utilisation 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); // output: Cola plays Drums
Utilisation 2 : Cette instruction additionne les entiers 2 et 3, puis affiche l'entier obtenu, 5,
dans le panneau de sortie :
trace(2 + 3); // output: 5
Cette instruction additionne les nombres à virgule flottante 2,5 et 3,25 puis affiche le nombre
obtenu, 5,75 dans le panneau de sortie :
trace(2.5 + 3.25); // output: 5.75
Utilisation 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 de 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); //
138
= 3 + 10 + "asdf";
13asdf
= "asdf" + 3 + 10;
asdf310
Chapitre 1: Eléments du langage ActionScript
Opérateur d'affectation de l'addition +=
expression1 += expression2
Affecte à expression1 la valeur de 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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Number
- Nombre ou chaîne.
expression2 : Number
- Nombre ou chaîne.
Valeur renvoyée
Number
- Résultat de l'addition.
Exemple
Utilisation 1 : Cet exemple utilise l'opérateur += associé à une expression de type String et
envoie « My name is Gilbert » au panneau de sortie.
var x1:String = "My name is ";
x1 += "Gilbert";
trace(x1); // output: My name is Gilbert
Utilisation 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); // output: 15
Voir également
Opérateur d'addition +
Opérateurs
139
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.
Utilisation 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]]; // Select Debug >
List Variables in test mode
// to see a list of the array elements.
Utilisation 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]);// output: 6
140
Chapitre 1: Eléments du langage ActionScript
Utilisation 3 : Vous pouvez utiliser l'opérateur d'accès au tableau ([]) à la place de la fonction
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.
eval()
name["mc" + i] = "left_corner";
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
myArray : Object
- myArray - Nom d'un tableau.
- a0,a1,...aN Eléments d'un tableau ; tout type natif ou
occurrence d'objet, ce qui inclut les tableaux incorporés.
a0, a1,...aN : Object
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
-
Utilisation 1 : Référence à un tableau.
Utilisation 2 : Une valeur du tableau ; soit un type natif, soit une occurrence d'objet (ce qui
inclut une occurrence de tableau).
Utilisation 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 de 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); // output: Barbara,George,Mary
employee_array[2] = "Sam";
trace(employee_array); // output: Barbara,George,Sam
Opérateurs
141
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 de 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 également
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.
142
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
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; // in miles
trace (mercury.diameter); // output: 3030
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é diameterpour utiliser les kilomètres au lieu des miles :
var merkur:Object = mercury;
merkur.diameter = 4878; // in kilometers
trace (mercury.diameter); // output: 4878
Voir également
Opérateur == (égalité)
Opérateurs
143
& 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é : Flash Player 5 ; ActionScript 1.0
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); // output : 9 (or 1001 binary)
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.
144
Chapitre 1: Eléments du langage ActionScript
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 également
&= 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 de expression1 & expression2. Par exemple, les deux
expressions suivantes sont équivalentes :
x &= y;
x = x & y;
Disponibilité : Flash Player 5 ; ActionScript 1.0
Opérandes
expression1 : Number
- Nombre.
expression2 : Number
- Nombre.
Valeur renvoyée
Number
- Valeur affectée, expression1 & expression2.
Exemple
L'exemple suivant affecte la valeur 9 à x :
var x:Number = 15;
var y:Number = 9;
trace(x &= y); // output: 9
Voir également
& 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érateurs
145
<< 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 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 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 sera un entier compris entre -2147483648 et 2147483647.
Disponibilité : Flash Player 5 ; ActionScript 1.0
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 :
146
Chapitre 1: Eléments du langage ActionScript
// 2 binary == 0010
// 8 binary == 1000
trace(2 << 2); // output: 8
Voir également
>>= 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é : Flash Player 5 ; ActionScript 1.0
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
// shift all
x <<= 1;
trace(x); //
// 4 decimal
// 8 decimal
= 4;
bits one slot to the left.
output: 8
= 0100 binary
= 1000 binary
Opérateurs
147
Voir également
<< 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'expression en 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).
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 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 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é : Flash Player 5 ; ActionScript 1.0
Opérandes
expression : Number
- Nombre.
Valeur renvoyée
Number
148
- Résultat de l'opération au niveau du bit.
Chapitre 1: Eléments du langage ActionScript
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; // defines bit 0 as the read-only flag
var flags:Number = 0;
trace(flags);
/* To set the read-only flag in the flags variable,
the following code uses the bitwise OR:
*/
flags |= ReadOnlyFlag;
trace(flags);
/* To clear the read-only flag in the flags variable,
first construct a mask by using bitwise NOT on ReadOnlyFlag.
In the mask, every bit is a 1 except for the read-only flag.
Then, use bitwise AND with the mask to clear the read-only flag.
The following code constructs the mask and performs the bitwise AND:
*/
flags &= ~ReadOnlyFlag;
trace(flags);
// output: 0 1 0
Voir également
& 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 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 leurs chiffres les plus
importants.
Opérateurs
149
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é : Flash Player 5 ; ActionScript 1.0
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 illustre une opération OR (|) au niveau du bit :
// 15 decimal = 1111 binary
var x:Number = 15;
// 9 decimal = 1001 binary
var y:Number = 9;
// 1111 | 1001 = 1111
trace(x | y); // returns 15 decimal (1111 binary)
Ne confondez pas l'opération unique | (OR au niveau du bit) avec l'opérateur || (OR
logique).
Voir également
& 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é : Flash Player 5 ; ActionScript 1.0
150
Chapitre 1: Eléments du langage ActionScript
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 decimal = 1111 binary
var x:Number = 15;
// 9 decimal = 1001 binary
var y:Number = 9;
// 1111 |= 1001 = 1111
trace(x |= y); // returns 15 decimal (1111 binary)
Voir également
& 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 droite du nombre d'unités spécifié 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.
Opérateurs
151
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 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 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 sera un entier compris entre -2147483648 et 2147483647.
Disponibilité : Flash Player 5 ; ActionScript 1.0
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 65535 en entier 32 bits et le décale de 8 bits vers la droite :
var x:Number = 65535 >> 8;
trace(x); // outputs 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); // outputs -1
L'exemple suivant affiche le résultat de l'exemple précédent :
var x:Number = -1;
152
Chapitre 1: Eléments du langage ActionScript
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 également
>>= 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é : Flash Player 5 ; ActionScript 1.0
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++) {
// Extract least significant bit using bitwise AND
var lsb:Number = numberToConvert & 1;
// Add this bit to the result
string result = (lsb ? "1" : "0")+result;
// Shift numberToConvert right by one bit, to see next bit
numberToConvert >>= 1;
Opérateurs
153
}
return result;
}
trace(convertToBinary(479));
// Returns the string 00000000000000000000000111011111
// This string is the binary representation of the decimal
// number 479
Voir également
>> 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.
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é : Flash Player 5 ; ActionScript 1.0
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;
154
Chapitre 1: Eléments du langage ActionScript
trace(x); // output: 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 également
>>= Opérateur de décalage droit au niveau du bit et d'affectation
>>>= 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é : Flash Player 5 ; ActionScript 1.0
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
Voir également
>>> 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
Opérateurs
155
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, mais pas
les deux, 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é : Flash Player 5 ; ActionScript 1.0
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 decimal = 1111 binary
// 9 decimal = 1001 binary
var x:Number = 15 ^ 9;
trace(x);
// 1111 ^ 1001 = 0110
// returns 6 decimal (0110 binary)
Voir également
& 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
156
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 5 ; ActionScript 1.0
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 decimal = 1111 binary
var x:Number = 15;
// 9 decimal = 1001 binary
var y:Number = 9;
trace(x ^= y); // returns 6 decimal (0110 binary)
Voir également
& 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)
comment */
comment
comment */
/*
/*
Opérateurs
157
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é : Flash Player 5 ; ActionScript 1.0
Opérandes
comment
- Tout caractère.
Exemple
Le script suivant utilise des séparateurs de commentaires au début du script :
/* records the X and Y positions of
the ball and bat movie clips */
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 :
/* this is an attempt to nest comments.
/* But the first closing tag will be paired
with the first opening tag */
and this text will not be interpreted as a comment */
Voir également
Opérateur // (séparateur de commentaires sur une ligne)
Opérateur , (virgule)
(expression1 , expression2 [, expressionN... ])
Évalue 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é : Flash Player 4 ; ActionScript 1.0
158
Chapitre 1: Eléments du langage ActionScript
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.
Exemple
L'exemple suivant utilise l'opérateur virgule (,) dans une boucle for :
for (i = 0,
trace("i =
}
// Output:
// i = 0, j
// i = 1, j
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 () et montre que
l'opérateur virgule renvoie uniquement la valeur de la première expression sans l'opérateur
parenthèses () :
var v:Number = 0;
v = 4, 5, 6;
trace(v); // output: 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 lorsqu'il est utilisé
avec l'opérateur parenthèses () :
var v:Number = 0;
v = (4, 5, 6);
trace(v); // output: 6
L'exemple suivant utilise l'opérateur virgule (,) sans l'opérateur parenthèses () et montre que
l'opérateur virgule évalue de manière séquentielle toutes les expressions mais renvoie
uniquement la valeur de la première expression. 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); // output: 4
trace(z); // output: 1
L'exemple suivant est identique au précédent à ceci près qu'il inclut l'opérateur parenthèses ()
et montre à nouveau que, lorsqu'il est utilisé conjointement avec l'opérateur parenthèses (),
l'opérateur virgule (,) renvoie la valeur de la dernière expression de la série :
Opérateurs
159
var v:Number = 0;
var z:Number = 0;
v = (v + 4, z++, v + 6);
trace(v); // output: 6
trace(z); // output: 1
Voir également
Opérateur () (parenthèses)
Opérateur de concaténation add (chaînes)
string1 add string2
Déconseillédepuis Flash Player 5. Macromedia recommande d'utiliser l'opérateur add (+)
lorsque vous créez du contenu pour Flash Player 5 ou version ultérieure. Cet opérateur n'est
pas pris en charge dans Flash Player 8 ou supérieur.
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é : Flash Player 4 ; ActionScript 1.0
Opérandes
string1 : String
- Chaîne.
string2 : String
- Chaîne.
Valeur renvoyée
String
- Chaîne concaténée.
Voir également
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.
160
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
- Expression qui renvoie une valeur booléenne ; généralement une
expression de comparaison, telle que x < 5.
expression1 : Object
expression2 : Object
- Valeurs de tout type.
expression3 : Object
- Valeurs de tout type.
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); // returns 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 .
expression peut être une variable, un élément de tableau ou une propriété d'objet. La
forme post-décrément de l'opérateur (--expression) soustrait 1 d' expression et renvoie
le résultat. La forme pré-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é : Flash Player 4 ; ActionScript 1.0
Opérateurs
161
Opérandes
expression : Number
- Nombre ou variable qui renvoie un nombre.
Valeur renvoyée
Number
- Résultat de la valeur décrémentée.
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 is equal to 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 xcomme résultat y :
var x:Number = 3;
var y:Number = x--; //y is equal to 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é : Flash Player 4 ; ActionScript 1.0
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);
162
Chapitre 1: Eléments du langage ActionScript
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 également
Opérateur % (modulo)
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é : Flash Player 4 ; ActionScript 1.0
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); // output: 5
Voir également
Opérateur / (division)
. Opérateur point (.)
object.property_or_methodinstancename.variable
instancename.childinstanceinstancename.childinstance.variable
Opérateurs
163
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é : Flash Player 4 ; ActionScript 1.0
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
est incorporée dans ce dernier.
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 de 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;
164
Chapitre 1: Eléments du langage ActionScript
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é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ée différent, ActionScript tente de convertir le type de données d'expression2 pour le
faire correspondre à celui d' expression1.
Disponibilité : Flash Player 5 ; ActionScript 1.0
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");
}
Opérateurs
165
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 =
var y:String =
trace(x == y);
var x:String =
var y:String =
trace(x == y);
5;
"5";
// output: true
"5";
"66";
// output: false
"chris";
"steve";
// output: 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);
// will output false
// Arrays are only considered equal
// if the variables refer to the same array.
var thirdArray:Array = firstArray;
trace(firstArray == thirdArray); // will output true
Voir également
! 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 à la chaîne représentant l'expression2, false sinon.
Disponibilité : Flash Player 4 ; ActionScript 1.0
166
Chapitre 1: 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 également
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 (faux). 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é : Flash Player 4 ; ActionScript 1.0
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 de texte score_txt est supérieure à 90 :
if (score_txt.text>90) {
trace("Congratulations, you win!");
} else {
trace("sorry, try again");
}
Opérateurs
167
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
si expression1 est supérieur à expression2, sinon renvoie false.
true
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 également
> 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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Object
- Chaîne, entier ou nombre à virgule flottante.
expression2 : Object
- Chaîne, entier ou nombre à virgule flottante.
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) {
168
Chapitre 1: Eléments du langage ActionScript
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érieur ou égal à expression2, sinon renvoie false .
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 également
Opérateur >= (supérieur ou égal à)
Opérateur ++ (incrément)
++expression
expression++
Un opérateur unaire de pré et post-incrémentation qui ajoute 1 à expression .
expression peut être une variable, un élément de tableau ou une propriété d'objet. La
forme pré-incrément de l'opérateur (++expression) ajoute 1 à expression et renvoie le
résultat. La forme post-incrément de l'opérateur (expression++) ajoute 1 à 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;
//traces x:2
//traces y:2
Opérateurs
169
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++;
//traces x:2
//traces y:1
Disponibilité : Flash Player 4 ; ActionScript 1.0
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
while s'exécute à cinq reprises :
var i:Number = 0;
while (i++ < 5) {
trace("this is execution " + i);
}
/* output:
this is execution 1
this is execution 2
this is execution 3
this is execution 4
this is execution 5
*/
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()); //traces: 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()); //traces: 1,2,3,4,5,6,7,8,9,10
170
Chapitre 1: Eléments du langage ActionScript
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 :
// using a while loop
var a:Array = new Array();
var i:Number = 0;
while (i < 10) {
a.push(i++);
}
trace(a.toString()); //traces 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
// using a for loop
var a:Array = new Array();
for (var i = 0; i < 10; i++) {
a.push(i);
}
trace(a.toString()); //traces 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
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.
Opérateurs
171
Lorsque la comparaison porte sur la valeur, si expression1 et expression2 ont un type de
donnée différent, ActionScript tente de convertir le type de données d' expression2 pour le
faire correspondre à celui d'expression1.
Disponibilité : Flash Player 5 ; ActionScript 1.0
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); // returns true
trace(5 != 5) //returns false
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
// trace statement output: foo foo true foo foo false
L'exemple suivant illustre la comparaison par référence avec deux tableaux :
var a:Array = [
var b:Array = [
trace(a); // 1,
trace(b); // 1,
trace(a!=b); //
172
1, 2, 3 ];
1, 2, 3 ];
2, 3
2, 3
true
Chapitre 1: Eléments du langage ActionScript
a = b;
trace(a); // 1, 2, 3
trace(b); // 1, 2, 3
trace(a != b); // false
// trace statement output: 1,2,3 1,2,3 true 1,2,3 1,2,3 false
Voir également
! Opérateur NOT logique, Opérateur !== (inégalité stricte), Opérateur && (AND
logique), Opérateur || (OR logique), Opérateur == (égalité), Opérateur ===
(égalité stricte)
Opérateur d'inégalité <>
expression1 <> expression2
Déconseillé depuis Flash Player 5. Cet opérateur est déconseillé. Macromedia 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é : Flash Player 2 ; ActionScript 1.0
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 également
Opérateur != (inégalité)
Opérateurs
173
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é : Flash Player 6 ; ActionScript 1.0
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 occurence ou une sous-classe de classConstructor,
renvoietrue, sinon il renvoie false. De même, _global instanceof Object
renvoie false.
Boolean
instanceof
Voir également
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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Number
- Nombre ou chaîne.
expression2 : Number
- Nombre ou chaîne.
174
Chapitre 1: Eléments du langage ActionScript
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(3 < 10); // true
trace(10 < 3); // false
trace("Allen" < "Jack"); // true
trace("Jack" < "Allen"); //false
trace("11" < "3"); // true
trace("11" < 3); // false (numeric comparison)
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érieur à
dans les autre cas.
expression2, false
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 également
Opérateur < (inférieur à)
Opérateur <= (inférieur ou égal à)
expression1 <= expression2
Opérateurs
175
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.
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 (numeric comparison)
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 true si expression1 est inférieure ou
égale à expression2, false dans les autre cas.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Object
- Nombres, chaînes ou variables.
expression2 : Object
- Nombres, chaînes ou variables.
176
Chapitre 1: Eléments du langage ActionScript
Valeur renvoyée
Boolean
- Résultat de la comparaison.
Voir également
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é : Flash Player 1,0 ; ActionScript 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 :
// record the X position of the
var ballX:Number = ball_mc._x;
// record the Y position of the
var ballY:Number = ball_mc._y;
// record the X position of the
var batX:Number = bat_mc._x;
// record the Y position of the
var batY:Number = bat_mc._y;
ball movie clip
ball movie clip
bat movie clip
ball movie clip
Voir également
Opérateur /*..*/ (séparateur de commentaires de bloc)
Opérateur && (AND logique)
expression1 && expression2
Opérateurs
177
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
Renvoie
true&&true
true
true&&false
false
false&&false
false
false&&true
false
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Number
- Valeur booléenne ou expression qui se convertit en valeur
booléenne.
expression2 : Number
- Valeur booléenne ou une 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!");
}
// output: You Win the Game!
Voir également
! Opérateur NOT logique, Opérateur != (inégalité), Opérateur !== (inégalité
stricte), Opérateur || (OR logique), Opérateur == (égalité), Opérateur ===
(égalité stricte)
178
Chapitre 1: Eléments du langage ActionScript
Opérateur AND (and logique)
condition1 and condition2
Deconseillé depuis Flash Player 5. Macromedia 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é : Flash Player 4 ; ActionScript 1.0
Opérandes
condition1 : Boolean
true
condition2 : Boolean
true
- condition1,condition2 Conditions ou expressions renvoyant
ou false.
- condition1,condition2 Conditions ou expressions renvoyant
ou false.
Valeur renvoyée
Boolean
- Résultat booléen de l'opération logique.
Voir également
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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression : Boolean
- Expression ou variable qui renvoie une valeur booléenne.
Valeur renvoyée
Boolean
- Résultat booléen de l'opération logique.
Opérateurs
179
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 de
sortie.
var happy:Boolean = false;
if (!happy) {
trace("don't worry, be happy"); //traces don't worry, be happy
}
L'instruction trace parce que !false égale true.
Voir également
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é : Flash Player 4 ; ActionScript 1.0
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 également
! Opérateur NOT logique
Opérateur || (OR logique)
expression1 || expression2
180
Chapitre 1: Eléments du langage ActionScript
Evalue expression1 (l'expression située à gauche de l'opérateur) et renvoie true si cette
expression est vraie. 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 truetrue 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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Number
- Valeur booléenne ou une expression qui se convertit en valeur
booléenne.
expression2 : Number
- Valeur booléenne ou une 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"); // output: 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 .
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 {
Opérateurs
181
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 également
! 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, si l'une des deux expressions est true, l'expression entière
est true.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
condition1 : Boolean
- Expression qui prend pour valeur true ou false.
condition2 : Boolean
- Expression qui prend pour valeur true ou false.
Valeur renvoyée
Boolean
- Résultat de l'opération logique.
Voir également
Opérateur || (OR logique), | Opérateur OR au niveau du bit
Opérateur % (modulo)
expression1 % expression2
182
Chapitre 1: Eléments du langage ActionScript
Calcule le reste de expression1 divisé par expression2. Si l'un des paramètres
d'expression n'est pas numérique, l'opérateur modulo (%) tente de le convertir en nombre.
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é : Flash Player 4 ; ActionScript 1.0
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); // traces 2
trace(4.3%2.1); // traces 0.0999999999999996
trace(4%4); // traces 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 également
Opérateur / (division), round (méthode Math.round)
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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Number
- Nombre ou expression évaluée sous forme de nombre.
Opérateurs
183
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); // output: 4
Voir également
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é : Flash Player 4 ; ActionScript 1.0
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
Utilisation 1 : L'instruction suivante multiplie les entiers 2 et 3 :
trace(2*3); // output: 6
Le résultat est 6 qui correspond à un entier. Utilisation 2 : Cette instruction multiplie les
nombres à virgule flottante 2,0 et 3,1416 :
trace(2.0 * 3.1416); // output: 6.2832
Le résultat est 6,2832 qui correspond à un nombre à virgule flottante.
184
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 4 ; ActionScript 1.0
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
Utilisation 1 : L'exemple suivant affecte la valeur 50 à la variable x :
var x:Number = 5;
var y:Number = 10;
trace(x *= y); // output: 50
Utilisation 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;
// output: -14
Voir également
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.
Opérateurs
185
Disponibilité : Flash Player 5 ; ActionScript 1.0
Opérandes
constructor : Object - 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.
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 également
Opérateur d'accès au tableau [], Opérateur {} (initialiseur d'objet)
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 égal à
expression2, false dans les autre cas.
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Object
- Nombres, chaînes ou variables.
expression2 : Object
- Nombres, chaînes ou variables.
Valeur renvoyée
Boolean
186
- Renvoie true si expression1 n'est pas égal à expression2 ; false sinon.
Chapitre 1: Eléments du langage ActionScript
Voir également
Opérateur != (inégalité)
Opérateur {} (initialiseur d'objet)
object = { name1 : value1 , name2 : value2 ,... nameN : valueN }
[...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.
{expression1;
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é : Flash Player 5 ; ActionScript 1.0
Opérandes
object : Object - Oobjet à créer. name1,2,...N - Noms des propriétés. value1,2,...N -
Valeurs correspondantes pour chaque propriété name.
Valeur renvoyée
Object
-
Utilisation 1 : Un objet Object.
Utilisation 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,
et balance avec les valeurs suivantes :
state, zip,
var account:Object = {name:"Macromedia, Inc.", address:"600 Townsend
Street", city:"San Francisco", state:"California", zip:"94103",
balance:"1000"};
for (i in account) {
trace("account." + i + " = " + account[i]);
}
Opérateurs
187
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 également
Object
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.
Utilisation 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.
Utilisation 2 : Évalue une série d'expressions, séparées par des virgules, dans la séquence et
renvoie le résultat de l'expression finale.
Utilisation 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é : Flash Player 4 ; ActionScript 1.0
Opérandes
expression1 : Object
188
- Nombres, chaînes, variables ou texte.
Chapitre 1: Eléments du langage ActionScript
expression2 : Object
function : Function
- Nombres, chaînes, variables ou texte.
- Fonction à exécuter sur le contenu des parenthèses.
- 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.
parameter1...parameterN : Object
Exemple
Utilisation 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)); // Output: 45
trace((2 + 3) * (4 + 5)); // Output: 45trace(2 + (3 * (4 + 5))); // //
writes 29
trace(2 + (3 * (4 + 5))); // Output: 29trace(2+(3*4)+5); // writes 19
trace(2 + (3 * 4) + 5); // Output: 19
Utilisation 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)); // outputs 23
Utilisation 3 : L'exemple suivant illustre l'utilisation des parenthèses avec des fonctions :
var today:Date = new Date();
trace(today.getFullYear()); // traces current year
function traceParameter(param):Void { trace(param); }
traceParameter(2 * 2); //traces 4
Voir également
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 :
Opérateurs
189
■
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é : Flash Player 6 ; ActionScript 1.0
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é et d'égalité stricte :
// Both return true because no conversion is done
var string1:String = "5";
var string2:String = "5";
trace(string1 == string2); // true
trace(string1 === string2); // true
// Automatic data typing in this example converts 5 to "5"
var string1:String = "5";
var num:Number = 5;
trace(string1 == num); // true
trace(string1 === num); // false
// Automatic data typing in this example converts true to "1"
var string1:String = "1";
var bool1:Boolean = true;
trace(string1 == bool1); // true
trace(string1 === bool1); // false
// Automatic data typing in this example converts false to "0"
var string1:String = "0";
var bool2:Boolean = false;
trace(string1 == bool2); // true
trace(string1 === bool2); // false
190
Chapitre 1: Eléments du langage ActionScript
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.
// Create a string variable using a literal value
var str:String = "asdf";
// Create a variable that is a reference
var stringRef:String = new String("asdf");
// The equality operator does not distinguish among literals, variables,
// and references
trace(stringRef == "asdf"); // true
trace(stringRef == str); // true
trace("asdf" == str); // true
// The strict equality operator considers variables that are references
// distinct from literals and variables
trace(stringRef === "asdf"); // false
trace(stringRef === str); // false
Voir également
! 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 égal à 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é : Flash Player 6 ; ActionScript 1.0
Opérateurs
191
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
trace(s1 == s3); // false
trace(s1 == n); // true
trace(s1 == b); // false
trace(s1 === s2); // true
trace(s1 === s3); // false
trace(s1 === n); // false
trace(s1 === b); // false
trace(s1 !== s2); // false
trace(s1 !== s3); // true
trace(s1 !== n); // true
trace(s1 !== b); // true
Voir également
! 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.
192
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
Opérandes
text : String
- Séquence de zéros 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); };
// displays Prince Edward Island
Voir également
String, Fonction String
Opérateur - (soustraction)
(Negation) -expression
(Subtraction) expression1
- expression2
Utilisé pour la négation ou la soustraction.
Utilisation 1 : Lorsque cet opérateur est utilisé pour la négation, il inverse le signe de
l'expression numérique expression. Utilisation 2 : Lorsqu'il est utilisé pour la soustraction, il
effectue une soustraction arithmétique sur deux expressions numériques, en soustrayant
expression2 de 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é : Flash Player 4 ; ActionScript 1.0
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.
Opérateurs
193
Exemple
Utilisation 1 : L'instruction suivante inverse le signe de l'expression 2 + 3 :
trace(-(2+3)); // output: -5
Utilisation 2 : L'instruction suivante soustrait l'entier 2 de l'entier 5 :
trace(5-2); // output: 3
Le résultat est 3 qui correspond à un entier. Utilisation 3 : L'instruction suivante soustrait le
nombre à virgule flottante 1,5 du nombre à virgule flottante 3,25 :
trace(3.25-1.5); // output: 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 de 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é : Flash Player 4 ; ActionScript 1.0
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); // output: -5
L'exemple suivant indique comment convertir des chaînes en nombres :
var x:String = "5";
var y:String = "10";
x -= y; trace(x); // output: -5
194
Chapitre 1: Eléments du langage ActionScript
Voir également
Opérateur - (soustraction)
: Opérateur
[ 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.
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é : Flash Player 6 ; ActionScript 1.0
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
Utilisation 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 = "";
Utilisation 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);
Opérateurs
195
}
trace(randomInt(8));
Utilisation 3 : L'exemple suivant définit une fonction intitulée ssquareRoot() 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 également
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é : Flash Player 5 ; ActionScript 1.0
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
196
Chapitre 1: Eléments du langage ActionScript
Voir également
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é : Flash Player 5 ; ActionScript 1.0
Opérandes
expression : Object
- Expression à évaluer.
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.
Instructions
197
Instruction
Description
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
Évalue 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
Évalue l'expression init (initialiser) une fois, puis amorce une séquence
de bouclage.
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
Évalue 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.
198
Chapitre 1: Eléments du langage ActionScript
Instruction
Description
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.
while
Évalue 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é : Flash Player 4 ; ActionScript 1.0
Exemple
L'exemple suivant utilise l'instruction break pour fermer une boucle sans fin :
var i:Number = 0;
while (true) {
trace(i);
Instructions
199
if (i >= 10) {
break; // this will terminate/exit the loop
}
i++;
}
ce qui permet de suivre les informations suivantes :
0
1
2
3
4
5
6
7
8
9
10
Voir également
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 utilisez 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é : Flash Player 4 ; ActionScript 1.0
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.
200
Chapitre 1: Eléments du langage ActionScript
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");
break;
case 8 :
trace("September");
break;
default :
trace("some other month");
}
Voir également
Instruction break
Instruction class
[dynamic] class className [
interfaceName... ] ] {
// class definition here
}
extends superClass ] [ implements interfaceName[,
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
utiliser 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.
Instructions
201
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.
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, utilisez le mot-clé implements. Pour créer
des sous-classes d'une classe, utilisez le mot-clé extends. (Une classe ne peut étendre qu'une
seule autre classe, mais peut implémenter plusieurs interfaces.) Vous pouvez utiliser
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 // OK
class C extends Class_d implements Interface_i, Interface_j // OK
class C extends Class_d, Class_e // not OK
Disponibilité : Flash Player 6 ; ActionScript 2,0
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.
// Filename Plant.as
class Plant {
// Define property names and types
var leafType:String;
var bloomSeason:String;
// Following line is constructor
// because it has the same name as the class
function Plant(param_leafType:String, param_bloomSeason:String) {
// Assign passed values to properties when new Plant object is created
this.leafType = param_leafType;
202
Chapitre 1: Eléments du langage ActionScript
this.bloomSeason = param_bloomSeason;
}
// Create methods to return property values, because best practice
// recommends against directly referencing a property of a class
function getLeafType():String {
return leafType;
}
function getBloomSeason():String {
return bloomSeason;
}
}
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");
// Confirm parameters were passed correctly
trace(pineTree.getLeafType());
trace(pineTree.getBloomSeason());
L'exemple suivant crée une classe intitulée ImageLoader. Le constructeur ImageLoader
réclame trois paramètres.
// Filename 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 également
Instruction dynamic
Instructions
203
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é : Flash Player 4 ; ActionScript 1.0
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;
}
204
Chapitre 1: Eléments du langage ActionScript
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;
}
trace(i);
}
Voir également
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
utilisez l'instruction default en dehors d'une instruction switch, ceci produit une erreur et
le script ne se compile pas.
Disponibilité : Flash Player 6 ; ActionScript 1.0
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 de sortie.
var dayOfWeek:Number = new Date().getDay();
switch (dayOfWeek) {
case 1 :
trace("Monday");
break;
case 2 :
Instructions
205
trace("Tuesday");
break;
case 3 :
trace("Wednesday");
break;
case 4 :
trace("Thursday");
break;
case 5 :
trace("Friday");
break;
default :
trace("Weekend");
}
Voir également
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 utiliser 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 utilisé 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é : Flash Player 5 ; ActionScript 1.0
Valeur renvoyée
Boolean
- Valeur booléenne.
Paramètres
reference:Object
206
- Nom de la variable ou de l'objet à éliminer.
Chapitre 1: Eléments du langage ActionScript
Exemple
Utilisation 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); //output: Jon
delete account;
trace(account.name); //output: undefined
Utilisation 2 : L'exemple suivant supprime une propriété d'un objet :
// create the new object "account"
var account:Object = new Object();
// assign property name to the account
account.name = "Jon";
// delete the property
delete account.name;
Utilisation 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] is deleted, but Array.length is not changed
delete my_array[2];
trace(my_array.length); // output: 3
trace(my_array); // output: abc,def,undefined
Utilisation 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";
// copy the reference variable into a new variable
// and delete ref1
ref2 = ref1;
delete ref1;
trace("ref1.name "+ref1.name); //output: ref1.name undefined
trace("ref2.name "+ref2.name); //output: 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.
Voir également
Instruction var
Instructions
207
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 ddo..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é : Flash Player 4 ; ActionScript 1.0
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);
/* output:
0
1
2
3
4
*/
208
Chapitre 1: Eléments du langage ActionScript
Voir également
Instruction break
Instruction dynamic
className [ extends superClass ] [ implements interfaceName[,
interfaceName... ] ] {
dynamic class
// class definition here
}
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é : Flash Player 6 ; ActionScript 2,0
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;
}
}
Instructions
209
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 :
// Before dynamic is added
var craig:Person2 = new Person2("Craiggers", 32);
for (i in craig) {
trace("craig." + i + " = " + craig[i]);
}
/* output:
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]);
}
/* output: **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 également
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é : Flash Player 4 ; ActionScript 1.0
210
Chapitre 1: Eléments du langage ActionScript
Paramètres
condition:Boolean
- Expression qui prend pour valeur 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 également
Instruction if
Instruction else if
if(condition) {
statement(s);
} else if(condition) {
statement(s);
}
Évalue 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é : Flash Player 4 ; ActionScript 1.0
Paramètres
condition:Boolean
- Expression qui prend pour valeur true ou false.
Instructions
211
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 également
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é : Flash Player 6 ; ActionScript 2,0
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.
L'exemple suivant affiche le contenu d'un fichier intitulé Vehicle.as, qui définit la classe
Vehicle :
212
Chapitre 1: Eléments du langage ActionScript
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");
}
}
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(); // output: [Vehicle] start
myNewCar.stop(); // output: [Car] stop with anti-lock brakes
myNewCar.activateCarAlarm(); // output: [Car] activateCarAlarm
Instructions
213
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(); // output: [Truck] make beeping sound [Vehicle] reverse
myTruck.stop(); // output: [Vehicle] stop
Voir également
Instruction class
Instruction for
for(init;
condition; next) {
statement(s);
}
Évalue 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
doit exécuter, peuvent être omises si une seule instruction doit s'exécuter.
for
Disponibilité : Flash Player 5 ; ActionScript 1.0
214
Chapitre 1: Eléments du langage ActionScript
Paramètres
- 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.
init
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); // output: 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); // output: 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); // output: 5050
Voir également
Opérateur ++ (incrément)
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.
Instructions
215
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és en premier, puis les propriétés de son prototype
immédiat, puis les propriétés du prototype du prototype, etc. 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é : Flash Player 5 ; ActionScript 1.0
Paramètres
variableIterant:String - Nom d'une variable devant servir d'itérant, référençant chaque
propriété d'un objet ou d'un élément dans un tableau.
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]);
}
//output
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]);
// output:
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) {
216
Chapitre 1: Eléments du langage ActionScript
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: (Declares a named function.)
function functionname([parameter0, parameter1,...parameterN]){
statement(s)
}
Usage 2: (Declares an anonymous function and returns a reference to it.)
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.
Utilisez l'instruction 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.
Instructions
217
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é : Flash Player 5 ; ActionScript 1.0
Valeur renvoyée
String : Utilisation 1 : Le formulaire de déclaration ne doit rien renvoyer. Utilisation 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
du paramètre :
Math.pow(x, 2)
function sqr(x:Number) {
return Math.pow(x, 2);
}
var y:Number = sqr(3);
trace(y); // output: 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); // output: 9
function sqr(x:Number) {
return Math.pow(x, 2);
}
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 () {
// your statements here
}
218
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 6 ; ActionScript 2,0
Paramètres
property:String - Mot que vous utilisez pour faire référence à la propriété qui obtient
l'accès ; cette valeur doit être identique à la valeur utilisée dans la commande set
correspondante.
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;
}
}
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);
/* output:
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 également
addProperty (méthode Object.addProperty)
Instructions
219
Instruction if
if(condition) {
statement(s);
}
Évalue 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é : Flash Player 4 ; ActionScript 1.0
Paramètres
condition:Boolean
- Expression qui prend pour valeur 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();
}
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 de 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.";
}
220
Chapitre 1: Eléments du langage ActionScript
else {
this._parent.message_txt.text = "Very good, you hit the button in
"+difference+" seconds.";
}
};
Voir également
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é : Flash Player 6 ; ActionScript 2.0
Exemple
Voir la sectioninterface.
Voir également
Instruction class
Instruction import
className
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 :
import
import
// before importing
var myUser:macr.util.users.UserClass = new macr.util.users.UserClass();
// after importing
import macr.util.users.UserClass;
var myUser:UserClass = new UserClass();
Lorsque le package contient plusieurs fichiers de classe (working_directory /macr/utils/
auxquels vous devez accéder, vous pouvez les importer tous dans une instruction
unique, comme indiqué dans l'exemple suivant :
users)
import macr.util.users.*;
Instructions
221
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 :
// On Frame 1 of a 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é : Flash Player 6 ; ActionScript 2.0
Paramètres
className:String
- Nom qualifié d'une classe définie dans un fichier de classe externe.
Exemple
Instruction interface
InterfaceName [extends InterfaceName ] {}
Définit une interface. Une interface est similaire à une classe. Les différences fondamentales
sont regroupées ci-dessous :
interface
■
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é : Flash Player 6 ; ActionScript 2.0
222
Chapitre 1: Eléments du langage ActionScript
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)
// filename Ia.as
interface Ia {
function k():Number; // method declaration only
function n(x:Number):Number; // without implementation
}
// filename B.as
class B implements Ia {
function k():Number {
return 25;
}
function n(x:Number):Number {
return x + 5;
}
} // external script or Actions panel // script file
var mvar:B = new B();
trace(mvar.k()); // 25
trace(mvar.n(7)); // 12
// filename c.as
class C implements Ia {
function k():Number {
return 25;
}
} // error: class must implement all interface methods
// filename Ib.as
interface Ib {
function o():Void;
}
class D implements Ia, Ib {
function k():Number {
return 15;
}
function n(x:Number):Number {
return x * x;
}
function o():Void {
trace("o");
}
} // external script or Actions panel // script file
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 {
Instructions
223
function k():Number {
return 25;
}
function n(x:Number):Number {
return x + 5;
}
function o():Void {
trace("o");
}
function p():Void {
trace("p");
}
}
Voir également
Instruction class
instruction intrinsic
intrinsic class className [extends
interfaceName...] ] {
//class definition here
}
superClass] [implements interfaceName [,
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.
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é : Flash Player 6 ; ActionScript 2.0
224
Chapitre 1: Eléments du langage ActionScript
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).
// The following code must be placed in a file named Circle.as
// that resides within your classpath:
intrinsic class Circle {
var radius:Number;
function Circle(radius:Number);
function getArea():Number;
function getDiameter():Number;
function setRadius(param_radius:Number):Number;
}
// This ActionScript 1.0 class definition may be placed in your FLA file.
// Circle class is defined using 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;
}
}
// ActionScript 2.0 code that uses the Circle class
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 également
Instruction class
Instructions
225
Instruction private
class someClassName{
private var name;
private function name() {
// your statements here
}
}
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 ddonné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é : Flash Player 6 ; ActionScript 2.0
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";
}
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(); // Output: privateProperty is visible only
within class and subclasses
226
Chapitre 1: Eléments du langage ActionScript
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); // Error
Voir également
Instruction public
Instruction public
class someClassName{
public var name;
public function name() {
// your statements here
}
}
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é : Flash Player 6 ; ActionScript 2.0
Paramètres
name:String
- Nom de la variable ou de la fonction à spécifier en tant que publique.
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 :
import User;
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é.
Instructions
227
Voir également
Instruction private
return, instruction
return[expression]
Spécifie la valeur renvoyée par une fonction. L'instruction return évalue expression et
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é : Flash Player 5 ; ActionScript 1.0
Valeur renvoyée
String
- Paramètre expression évalué, si disponible.
Paramètres
expression - Chaîne, nombre, valeur booléenne, tableau ou objet à évaluer et renvoyer sous
forme de valeur de la fonction. Ce paramètre est facultatif.
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); // output: 114
Voir également
Instruction function
228
Chapitre 1: Eléments du langage ActionScript
Instruction set
function set property(varName) {
// your statements here
}
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é : Flash Player 6 ; ActionScript 2.0
Paramètres
- 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.
property:String
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;
}
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); // output: Gus
gus.username = "Rupert";
trace(gus.username); // output: Rupert
Instructions
229
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 également
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.
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); // outputs Tuesday
trace(Tuesday); // outputs Saturday
Pour remédier à cette situation, incluez les guillemets ("") :
set ("myVariable", "Saturday");
trace(myVariable); //outputs Saturday
230
Chapitre 1: Eléments du langage ActionScript
Disponibilité : Flash Player 4 ; ActionScript 1.0
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 également
Instruction var
Instruction static
class someClassName{
static var name;
static function name() {
// your statements here
}
}
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 occurence de la classe, vous
pouvez également accéder à un membre statique en utilisant l'occurence, 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é : Flash Player 6 ; ActionScript 2.0
Instructions
231
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);
Voir également
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.
232
Chapitre 1: Eléments du langage ActionScript
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é : Flash Player 6 ; ActionScript 1.0
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.
- Paramètres facultatifs qui sont transmis à la version superclass de la méthode (syntaxe
1) ou à la fonction constructeur de la superclasse (syntaxe 2).
argN
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é : Flash Player 4 ; ActionScript 1.0
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();
Instructions
233
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 également
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 de sortie.
De manière générale, le système renvoie des occurrences de la classe Error ou de ses sousclasses (voir la section Exemple).
Disponibilité : Flash Player 7 ; ActionScript 1.0
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.
234
Chapitre 1: Eléments du langage ActionScript
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 de 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.
// Define Error subclass InvalidEmailError // In 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) {
this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100,
22);
error_txt.autoSize = true;
error_txt.text = e.toString();
}
Voir également
Erreur
Instruction try..catch..finally
try {
// ... try block ...
} finally {
Instructions
235
// ... finally block ...
}
try {
// ... try block ...
} catch(error [:ErrorType1]) {
// ... catch block ...
} [catch(error[:ErrorTypeN]) {
// ... catch block ...
}] [finally {
// ... finally block ...
}]
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
e, theException 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.
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é : Flash Player 7 ; ActionScript 1.0
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.
236
Chapitre 1: Eléments du langage ActionScript
Exemple
L'exemple suivant indique comment créer une instruction try..finally. Étant 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. Étant 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");
}
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;
}
Instructions
237
}
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();
}
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.
// In RecordSetException.as:
class RecordSetException extends Error {
var message = "Record set exception occurred.";
}
// In 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();
238
Chapitre 1: Eléments du langage ActionScript
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());
}
catch (e:MalformedRecord) {
trace(e.toString());
}
Voir également
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; // syntax error
Instructions
239
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é : Flash Player 5 ; ActionScript 1.0
Paramètres
variableName:String
- Identificateur.
Exemple
Le script ActionScript suivant crée un nouveau tableau contenant des noms de produits.
ajoute un élément à la fin du tableau. Si vous souhaitez utiliser le typage strict,
vous devez impérativement utiliser le var 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.
Array.push
var product_array:Array = new Array("MX 2004", "Studio", "Dreamweaver",
"Flash", "ColdFusion", "Contribute", "Breeze");
product_array.push("Flex");
trace(product_array);
// output: MX
2004,Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex
Instruction while
while(condition) {
statement(s);
}
Évalue 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.
240
Chapitre 1: Eléments du langage ActionScript
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.
■
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. Sinon, 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é : Flash Player 4 ; ActionScript 1.0
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 de sortie.
0
3
6
9
12
15
18
Instructions
241
Voir également
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ées 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'occurence california.
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 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.
242
Chapitre 1: Eléments du langage ActionScript
var shortcut = this._parent._parent.name_txt; shortcut.text = "Hank";
shortcut.autoSize = true;
Disponibilité : Flash Player 5 ; ActionScript 1.0
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);
}
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 rne 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 de sortie.
area = 28.2743338823081
x = -3
y = 3
Instructions
243
244
Chapitre 1: Eléments du langage ActionScript
2
CHAPITRE 2
Classes ActionScript
La documentation relative aux classes ActionScript inclut des informations sur la syntaxe,
l'utilisation et des exemples de code concernant les méthodes, les propriétés, les gestionnaires
d'événements et les é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 incluent de nouvelles classes dans Flash Player 8, contenues 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 également
hasAccessibility (propriété capabilities.hasAccessibility), _accProps,
propriété
245
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
static
Description
isActive() : Boolean Indique si une option d'accessibilité est actuellement
active et si le lecteur communique avec elle.
static
updateProperties() : Entraîne l'entrée en vigueur de toutes les modifications
Void
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 MSAA. 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
246
Chapitre 2: Classes ActionScript
Renvoie
- 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 également
updateProperties (méthode Accessibility.updateProperties), _accProps,
propriété, hasAccessibility (propriété capabilities.hasAccessibility)
updateProperties (méthode
Accessibility.updateProperties)
statique publique 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
247
Voir également
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
Voir également
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
Le 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é)
248
Chapitre 2: 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 également
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 également
callee (propriété arguments.callee)
length (propriété arguments.length)
public length : Number
Le 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
249
Array
Object
|
+-Array
public dynamic class
extends Object
Array
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; // Both array variables refer to the same
array.
twoArray[0] = "z";
trace(oneArray); // Output: 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"};
250
Chapitre 2: Classes ActionScript
trace(myAssocArray.fname); // Output: John
trace(myAssocArray["lname"]); // Output: Public
myAssocArray.initial = "Q";
trace(myAssocArray.initial); // Output: Q
Disponibilité : ActionScript 1.0 ; Flash Player 5
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é
static
Description
CASEINSENSITIVE:Numb Dans les méthodes de tri, cette constante spécifie le tri
er
non sensible à la casse.
DESCENDING:Number
Dans les méthodes de tri, cette constante spécifie
l'ordre de tri décroissant.
length:Number
Un 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:N Spécifie qu'un tri renvoie un tableau indexé résultant
static
static
umber
de l'appel de la méthode sort() ou sortOn().
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é)
Résumé des constructeurs
Signature
Description
Array([value:Object] Permet de créer un tableau.
)
Array
251
Résumé de la méthode
Modificateurs Signature
Description
concat([value:Object Concatène les éléments spécifiés dans les paramètres
]) : Array
avec ceux contenus dans un tableau et crée un
nouveau tableau.
join([delimiter:Stri Convertit les éléments d'un tableau en chaînes, insère
ng]) : String
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) : Ajoute un ou plusieurs éléments à la fin d'un tableau et
Number
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:Nu Renvoie un nouveau tableau constitué d'un éventail
mber],
d'éléments issus du tableau original, sans modifier ce
[endIndex:Number]) : dernier.
Array
sort([compareFunctio Trie les éléments d'un tableau.
n:Object],
[options:Number]) :
Array
sortOn(fieldName:Obj Trie les éléments d'un tableau selon un ou plusieurs
ect,
champs du tableau.
[options:Object]) :
Array
splice(startIndex:Nu Ajoute et supprime des éléments dans un tableau.
mber,
[deleteCount:Number]
, [value:Object]) :
Array
toString() : String
Renvoie une valeur de chaîne représentant les
éléments dans l'objet Array spécifié.
unshift(value:Object Ajoute un ou plusieurs éléments au début d'un tableau
) : Number
252
Chapitre 2: Classes ActionScript
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 :
■
Un entier spécifiant le nombre d'éléments contenus dans le tableau.
■
Une liste de deux valeurs arbitraires ou plus. 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().
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); // Traces 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); // Returns 4.
Array
253
trace(my_array[0]); // Returns undefined.
if (my_array[0] == undefined) { // No quotation marks around undefined.
trace("undefined is a special value, not a string");
} // Traces: 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); // Returns 5.
trace(go_gos_array.join(", ")); // Displays elements.
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(" + "));
// Returns Belinda + Nina + Kathy + Charlotte + Jane + Donna.
Voir également
Opérateur d'accès au tableau [], length (propriété Array.length)
CASEINSENSITIVE (propriété
Array.CASEINSENSITIVE)
statique publique 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 également
sort (méthode Array.sort), sortOn (méthode Array.sortOn)
254
Chapitre 2: Classes ActionScript
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
value:Object [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.
Renvoie
Array
- Un 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);
// Creates array [a,b,c,1,2,3].
Le code suivant concatène trois tableaux :
var num1_array:Array = [1,3,5];
var num2_array:Array = [2,4,6];
var num3_array:Array = [7,8,9];
var nums_array:Array=num1_array.concat(num2_array,num3_array)
trace(nums_array);
// Creates array [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 and 3 are elements in a nested array.
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
Array
255
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 également
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 ] - Un caractère ou une 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.
Renvoie
String
- Une 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());
// Displays Earth,Moon,Sun.
trace(a_array.join(" - "));
// Displays Earth - Moon - Sun.
256
Chapitre 2: Classes ActionScript
trace(a_array.join(" + "));
// Displays 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(" + "));
// Returns Europa,Io,Callisto + Titan,Rhea.
Voir également
split (méthode String.split)
length (propriété Array.length)
public length : Number
Un 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é
length, le tableau sera tronqué.
Disponibilité : ActionScript 1.0 ; Flash Player 5
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); // initial length is 0
my_array[0] = "a";
trace(my_array.length); // my_array.length is updated to 1
my_array[1] = "b";
trace(my_array.length); // my_array.length is updated to 2
my_array[9] = "c";
trace(my_array.length); // my_array.length is updated to 10
trace(my_array);
// displays:
Array
257
//
a,b,undefined,undefined,undefined,undefined,undefined,undefined,undefine
d,c
// if the length property is now set to 5, the array will be truncated
my_array.length = 5;
trace(my_array.length); // my_array.length is updated to 5
trace(my_array); // outputs: a,b,undefined,undefined,undefined
NUMERIC (propriété Array.NUMERIC)
statique publique 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 également
sort (méthode Array.sort), sortOn (méthode Array.sortOn)
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
Renvoie
Object
258
- La valeur du dernier élément dans le tableau spécifié.
Chapitre 2: Classes ActionScript
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); // Displays fish.
trace(myPets_array); // Displays cat,dog,bird.
Voir également
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.
Renvoie
Number
- Un 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.
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 de sortie.
var myPets_array:Array = new Array("cat", "dog");
var pushed:Number = myPets_array.push("bird", "fish");
trace(pushed); // Displays 4.
Voir également
pop (méthode Array.pop), shift (méthode Array.shift), unshift (méthode
Array.unshift)
Array
259
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 également
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
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); // Displays 1,2,3,4,5,6.
numbers_array.reverse();
trace(numbers_array); // Displays 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
Renvoie
Object
260
- Le premier élément d'un tableau.
Chapitre 2: Classes ActionScript
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); // Displays "cat".
trace(myPets_array); // Displays dog,bird,fish.
Voir également
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
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.
endIndex:Number [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.
Renvoie
Array
- Un tableau constitué d'un éventail d'éléments issus du tableau original.
Array
261
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); // Returns cat,dog.
trace(myPets_array); // Returns 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); // Traces 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); // Returns fish.
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 ».
262
Chapitre 2: Classes ActionScript
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
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
■
Array.NUMERIC
ou 8
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.
Renvoie
- La valeur de renvoi dépend du fait que vous transmettiez ou non des paramètres,
comme décrit dans la liste suivante :
Array
■
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.
Array
263
■
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); // Displays
oranges,apples,strawberries,pineapples,cherries.
fruits_array.sort();
trace(fruits_array); // Displays
apples,cherries,oranges,pineapples,strawberries.
trace(fruits_array); // Writes
apples,cherries,oranges,pineapples,strawberries.
fruits_array.sort(Array.DESCENDING);
trace(fruits_array); // Displays
strawberries,pineapples,oranges,cherries,apples.
trace(fruits_array); // Writes
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];
var name2:String = b.split(":")[0];
if (name1<name2) {
return -1;
} else if (name1>name2) {
return 1;
} else {
return 0;
}
}
trace("Unsorted:");
//Displays Unsorted:
trace(passwords_array);
//Displays mom:glam,ana:ring,jay:mag,anne:home,regina:silly.
//Writes mom:glam,ana:ring,jay:mag,anne:home,regina:silly
passwords_array.sort(order);
trace("Sorted:");
//Displays Sorted:
264
Chapitre 2: Classes ActionScript
trace(passwords_array);
//Displays ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
//Writes ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
Voir également
| 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).
■
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);
Array
265
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
Paramètres
- Une chaîne identifiant un champ à utiliser en tant que valeur de tri ou
un tableau dans lequel le premier élément représente le champ de tri principal, le deuxième le
champ de tri secondaire, etc.
fieldName:Object
[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
ou 1
■
Array.CASEINSENSITIVE
■
Array.DESCENDING
ou 2
■
Array.UNIQUESORT
ou 4
■
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,
au lieu du format numérique (2).
DESCENDING)
Renvoie
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é.
266
Chapitre 2: Classes ActionScript
■
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);
}
// Results:
// 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);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha
rec_array.sortOn(["city", "name" ]);
for(i=0; i<rec_array.length; i++){
trace(rec_array[i].name + ", " + rec_array[i].city);
}
// Results:
// 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:
Array();
"Bob", age:29});
"abcd", age:3});
"barb", age:35});
Array
267
my_array.push({password: "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
// 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é.
268
Chapitre 2: Classes ActionScript
var indexArray:Array = my_array.sortOn("age", Array.RETURNINDEXEDARRAY);
Voir également
| 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
- 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).
startIndex:Number
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
Renvoie
Array
- Un 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) ); // Displays dog,bird,fish.
trace( myPets_array ); // cat
Array
269
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 ) ); // Displays 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" ) ); // Displays empty array.
trace( myFurniture_array ); // displays 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
Renvoie
String
- Une chaîne.
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()); // Displays 1,2,3,4,5.
Cet exemple renvoie le résultat 1,2,3,4,5 de l'instruction trace.
270
Chapitre 2: Classes ActionScript
Voir également
split (méthode String.split), join (méthode Array.join)
UNIQUESORT (propriété Array.UNIQUESORT)
statique publique 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 également
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.
Renvoie
Number
- Un entier représentant la nouvelle longueur du tableau.
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 ); // Displays dog,cat,fish.
pets_array.unshift("ferrets", "gophers", "engineers");
trace( pets_array ); // Displays ferrets,gophers,engineers,dog,cat,fish.
Array
271
Voir également
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.
■
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.
272
Chapitre 2: Classes ActionScript
■
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é)
AsBroadcaster
273
Résumé de la méthode
Modificateurs Signature
Description
addListener(listener Enregistre un objet de façon à ce que ce dernier
Obj:Object) :
reçoive les messages de notification.
Boolean
broadcastMessage(eve Envoie un message d'événement à chaque objet de la
ntName:String) :
liste d'écouteurs.
Void
static
initialize(obj:Objec Ajoute une fonctionnalité de notification d'événements
t) : Void
et de gestion des écouteurs à un objet donné.
removeListener(liste Supprime un objet de la liste d'objets recevant des
nerObj: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.
Renvoie
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.
274
Chapitre 2: Classes ActionScript
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); // Register myListener1 as listener.
someObject.addListener(myListener2); // Register myListener2 as listener.
Voir également
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
AsBroadcaster
275
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"); // Broadcast the "someEvent"
message.
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");
Voir également
initialize (méthode AsBroadcaster.initialize), removeListener (méthode
AsBroadcaster.removeListener)
initialize (méthode AsBroadcaster.initialize)
statique publique 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
276
- Un objet faisant office d'objet de diffusion.
Chapitre 2: Classes ActionScript
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(); // Creates broadcast object.
var myListener1:Object = new Object(); // Creates listener object.
var myListener2:Object = new Object(); // Creates listener object.
myListener1.someEvent = function() { // Creates listener method.
trace("myListener1 received someEvent");
}
myListener2.someEvent = function() { // Createz listener method.
trace("myListener2 received someEvent");
}
AsBroadcaster.initialize(someObject); // Makes someObject an event
broadcaster.
someObject.addListener(myListener1); // Registers myListener1 as listener.
someObject.addListener(myListener2); // Registers myListener2 as listener.
someObject.broadcastMessage("someEvent"); // Broadcasts the "someEvent"
message.
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");
AsBroadcaster
277
_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
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); // Output: 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(); // create broadcast object
var myListener1:Object = new Object(); // create listener object
var myListener2:Object = new Object(); // create listener object
myListener1.someEvent = function() { // create listener method
trace("myListener1 received someEvent");
}
myListener1.anotherEvent = function() { // create another listener method
trace("myListener1 received anotherEvent");
}
myListener2.someEvent = function() { // create listener method
trace("myListener2 received someEvent");
}
AsBroadcaster.initialize(someObject); // make someObject an event
broadcaster
someObject.addListener(myListener1); // register myListener1 as listener
someObject.addListener(myListener2); // register myListener2 as listener
var numListeners:Number = someObject._listeners.length; // get number of
registered listeners
278
Chapitre 2: Classes ActionScript
// cycle through all listener objects, listing all properties of each
listener object
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]);
}
}
Voir également
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
listenerObj:Object - Le nom d'un objet écouteur enregistré pour recevoir des notifications
d'événement émanant de l'objet de diffusion.
Renvoie
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); // Output: 2
someObject.removeListener(myListener1);
trace(someObject._listeners.length); // Output: 1
AsBroadcaster
279
Voir également
addListener (méthode AsBroadcaster.addListener), initialize (méthode
AsBroadcaster.initialize)
BevelFilter (flash.filters.BevelFilter)
Object
|
+-flash.filters.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.
280
Chapitre 2: Classes ActionScript
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
Voir également
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:Numbe La valeur de transparence alpha de la couleur de
r
soulignement.
highlightColor:Numbe La couleur de soulignement du biseau.
r
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)
281
Résumé des constructeurs
Signature
Description
BevelFilter([distanc Initialise une nouvelle occurrence BevelFilter avec les paramètres
spécifiés.
e:Number],
[angle:Number],
[highlightColor:Numb
er],
[highlightAlpha:Numb
er],
[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)
282
Chapitre 2: Classes ActionScript
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
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, .8, 0x0000FF,
.8, 20, 20, 1, 3, "inner", false);
rect.filters = new Array(filter);
return rect;
}
BevelFilter (flash.filters.BevelFilter)
283
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
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
highlightAlpha: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.
shadowColor:Number
[facultatif ] - La couleur d'ombre du biseau, 0xRRVVBB. La valeur par
défaut est 0x000000.
[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.
shadowAlpha: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.
blurX:Number
[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 ] - 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 le biseau et l'arrière-plan. Les valeurs valides sont comprises entre 0 et 255. La
valeur par défaut est 1.
284
Chapitre 2: Classes ActionScript
quality:Number [facultatif ] - 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.
[facultatif ] - Le type de biseau. Les valeurs valides sont "inner", "outer" et
La valeur par défaut est "inner".
type:String
"full".
[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
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 = .8;
shadowColor:Number = 0x0000FF;
shadowAlpha:Number = .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 {
BevelFilter (flash.filters.BevelFilter)
285
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;
}
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;
286
Chapitre 2: Classes ActionScript
rect._y = 20;
var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF,
.8, 20, 20, 1, 3, "inner", false);
rect.filters = new Array(filter);
return rect;
}
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, .8, 0x0000FF,
.8, 20, 20, 1, 3, "inner", false);
BevelFilter (flash.filters.BevelFilter)
287
rect.filters = new Array(filter);
return rect;
}
clone (méthode BevelFilter.clone)
public clone() : BevelFilter
Renvoie une copie de cet objet filtre.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Renvoie
- Une nouvelle occurrence BevelFilter dont toutes les
propriétés sont identiques à celles de l'occurrence BevelFilter d'origine.
flash.filters.BevelFilter
Exemple
L'exemple suivant crée trois objets BevelFilter et les compare. Vous pouvez créer l'objet
filter_1 à 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.
import flash.filters.BevelFilter;
var filter_1:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF,
.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
288
Chapitre 2: Classes ActionScript
// >> distance: 5
}
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 de manière plus détaillée les relations qui existent 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, .8, 0x0000FF,
.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)
289
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, .8, 0x0000FF,
.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
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;
290
Chapitre 2: Classes ActionScript
var rect:MovieClip = createBevelRectangle("BevelHighlightAlpha");
rect.onRelease = function() {
var filter:BevelFilter = this.filters[0];
filter.highlightAlpha = .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, .8, 0x0000FF,
.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;
var rect:MovieClip = createBevelRectangle("BevelHighlightColor");
rect.onRelease = function() {
var filter:BevelFilter = this.filters[0];
filter.highlightColor = 0x0000FF;
this.filters = new Array(filter);
BevelFilter (flash.filters.BevelFilter)
291
}
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, .8, 0x0000FF,
.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);
}
function createBevelRectangle(name:String):MovieClip {
var w:Number = 100;
var h:Number = 100;
292
Chapitre 2: Classes ActionScript
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, .8, 0x0000FF,
.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 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. Au lieu
d'augmenter la valeur de quality, vous pouvez souvent obtenir un effet similaire dont le
rendu est obtenu plus rapidement. Pour ce faire, il vous suffit d'augmenter 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];
filter.quality = 1;
this.filters = new Array(filter);
}
BevelFilter (flash.filters.BevelFilter)
293
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, .8, 0x0000FF,
.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 = .2;
this.filters = new Array(filter);
}
function createBevelRectangle(name:String):MovieClip {
var w:Number = 100;
var h:Number = 100;
var bgColor:Number = 0x00CC00;
294
Chapitre 2: Classes ActionScript
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, .8, 0x0000FF,
.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;
var rect:MovieClip = this.createEmptyMovieClip(name,
this.getNextHighestDepth());
rect.beginFill(bgColor);
rect.lineTo(w, 0);
rect.lineTo(w, h);
rect.lineTo(0, h);
BevelFilter (flash.filters.BevelFilter)
295
rect.lineTo(0, 0);
rect._x = 20;
rect._y = 20;
var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF,
.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);
rect.lineTo(0, h);
rect.lineTo(0, 0);
rect._x = 20;
rect._y = 20;
296
Chapitre 2: Classes ActionScript
var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF,
.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;
var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF,
.8, 20, 20, 1, 3, "inner", false);
rect.filters = new Array(filter);
return rect;
}
BevelFilter (flash.filters.BevelFilter)
297
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().
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.
Disponibilité : ActionScript 1.0 ; Flash Player 8
298
Chapitre 2: Classes ActionScript
Voir également
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
[lecture seule]
Le rectangle qui délimite la taille et l'emplacement de
l'image bitmap.
[lecture seule]
Définit si l'image bitmap prend en charge la
transparence par pixel.
width:Number [lecture
La largeur de l'image bitmap en pixels.
transparent:Boolean
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:Num Crée un objet BitmapData à la largeur et la hauteur spécifiées.
ber, height:Number,
[transparent:Boolean
],
[fillColor:Number])
BitmapData (flash.display.BitmapData)
299
Résumé de la méthode
Modificateurs Signature
Description
applyFilter(sourceBi Prend une image source et un objet filtre et génère
tmap:BitmapData,
l'image filtrée.
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: Définit les valeurs de couleur dans une zone spécifiée
Rectangle,
d'une image bitmap avec un objet ColorTransform.
colorTransform:Color
Transform) : Void
copyChannel(sourceBi Transfère les données du canal d'un autre objet
tmap:BitmapData,
BitmapData ou de l'objet actuel vers un canal de l'objet
sourceRect:Rectangle BitmapData actuel.
, destPoint:Point,
sourceChannel:Number
,
destChannel:Number)
: Void
copyPixels(sourceBit Met en place une routine rapide permettant de
map:BitmapData,
manipuler les pixels de différentes images sans effets
sourceRect:Rectangle d'étirement, de rotation ou de couleur.
, destPoint:Point,
[alphaBitmap:BitmapD
ata],
[alphaPoint:Point],
[mergeAlpha:Boolean]
) : Void
dispose() : Void
300
Chapitre 2: Classes ActionScript
Libère la mémoire utilisée pour stocker l'objet
BitmapData.
Modificateurs Signature
Description
Dessine une image source ou un clip sur une image de
destination avec la fonctionnalité de rendu vectoriel de
[colorTransform:Colo Flash Player.
draw(source:Object,
[matrix:Matrix],
rTransform],
[blendMode:Object],
[clipRect:Rectangle]
,
[smooth:Boolean]) :
Void
fillRect(rect:Rectan Remplit une zone rectangulaire de pixels avec une
gle, color:Number) : couleur ARVB spécifiée.
Void
Effectue une opération de peinture sur une image à
partir de certaines coordonnées (x, y) et à l'aide d'une
color:Number) : Void certaine couleur.
floodFill(x:Number,
y:Number,
generateFilterRect(s Détermine le rectangle de destination affecté par
ourceRect:Rectangle, l'appel de la méthode applyFilter(), en fonction
filter:BitmapFilter) d'un objet BitmapData, d'un rectangle source et d'un
: Rectangle
objet filtre spécifiés.
getColorBoundsRect(m Détermine une zone rectangulaire qui regroupe tous
ask:Number,
color:Number,
les pixels d'une couleur spécifiée au sein de l'image
bitmap.
[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).
getPixel32(x:Number, Renvoie une valeur de couleur ARVB qui contient des
y:Number) : Number
données de canal alpha, ainsi que les données RVB.
hitTest(firstPoint:P Procède à la détection des clics au niveau des pixels
oint,
entre une image bitmap et un point, un rectangle ou
firstAlphaThreshold: toute autre image bitmap.
Number,
secondObject:Object,
[secondBitmapPoint:P
oint],
[secondAlphaThreshol
d:Number]) : Boolean
BitmapData (flash.display.BitmapData)
301
Modificateurs Signature
static
Description
loadBitmap(id:String Renvoie un nouvel objet BitmapData qui contient une
) : BitmapData
version bitmap du symbole identifié par un ID de
liaison spécifié dans la bibliothèque.
merge(sourceBitmap:B Procède au mélange canal par canal d'une image
itmapData,
source vers une image de destination.
sourceRect:Rectangle
, destPoint:Point,
redMult:Number,
greenMult:Number,
blueMult:Number,
alphaMult:Number) :
Void
noise(randomSeed:Num Remplit une image avec des pixels représentant un
ber, [low:Number],
bruit aléatoire.
[high:Number],
[channelOptions:Numb
er],
[grayScale:Boolean])
: Void
paletteMap(sourceBit Remappe les valeurs des canaux de couleur dans une
map:BitmapData,
image recevant jusqu'à quatre tableaux de données de
sourceRect:Rectangle palette de couleurs, un pour chaque canal.
, destPoint:Point,
[redArray:Array],
[greenArray:Array],
[blueArray:Array],
[alphaArray:Array])
: Void
perlinNoise(baseX:Nu Génère une image de bruit Perlin.
mber, baseY:Number,
numOctaves:Number,
randomSeed:Number,
stitch:Boolean,
fractalNoise:Boolean
,
[channelOptions:Numb
er],
[grayScale:Boolean],
[offsets:Object]) :
Void
302
Chapitre 2: Classes ActionScript
Modificateurs Signature
Description
pixelDissolve(source Procède à la dissolution de pixels, soit d'une image
Bitmap:BitmapData,
source vers une image de destination, soit en utilisant
sourceRect:Rectangle la même image.
, destPoint:Point,
[randomSeed:Number],
[numberOfPixels:Numb
er],
[fillColor:Number])
: Number
scroll(x:Number,
y:Number) : Void
setPixel(x:Number,
y:Number,
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.
color:Number) : Void
setPixel32(x:Number, Définit la couleur et les valeurs de transparence alpha
y:Number,
d'un pixel unique d'un objet BitmapData.
color:Number) : Void
threshold(sourceBitm Teste les valeurs de pixels d'une image selon un seuil
ap:BitmapData,
spécifié et définit les pixels qui réussissent le test sur
sourceRect:Rectangle de nouvelles valeurs de couleur.
, destPoint:Point,
operation:String,
threshold:Number,
[color:Number],
[mask:Number],
[copySource:Boolean]
) : Number
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)
BitmapData (flash.display.BitmapData)
303
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
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
destPoint:flash.geom.Point - Le point sur l'image de destination (l'occurrence
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
filter:flash.filters.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.
304
Chapitre 2: Classes ActionScript
■
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.
Renvoie
- 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.
Number
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, .8, 0x0000FF, .8,
20, 20, 1, 3, "inner", false);
mc.onPress = function() {
myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new
Point(0, 0), filter);
}
Voir également
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)
BitmapData (flash.display.BitmapData)
305
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 opaque, sauf si vous transmettez la valeur true 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).
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
306
Chapitre 2: Classes ActionScript
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
Renvoie
flash.display.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. Vous pouvez constater que, contrairement à bitmap_2, considéré comme étant
é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);
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]
BitmapData (flash.display.BitmapData)
307
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
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]
// >> 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
308
Chapitre 2: Classes ActionScript
// >> width: 100
}
Pour illustrer de manière plus détaillée les relations qui existent entre bitmap_1, bitmap_2 et
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.
clonedBitmap,
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
Paramètres
rect:flash.geom.Rectangle - Un objet Rectangle qui définit la zone de l'image dans
laquelle l'objet ColorTransform est appliqué.
colorTransform:flash.geom.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;
BitmapData (flash.display.BitmapData)
309
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 également
ColorTransform (flash.geom.ColorTransform), Rectangle (flash.geom.Rectangle)
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 :
■
1
(rouge)
■
2
(vert)
■
4
(bleu)
■
8
(alpha)
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
sourceBitmap:flash.display.BitmapData - 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.
- 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.
sourceRect:flash.geom.Rectangle
310
Chapitre 2: Classes ActionScript
destPoint:flash.geom.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).
- 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.
sourceChannel:Number
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.
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 également
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.
BitmapData (flash.display.BitmapData)
311
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.
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 true.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
- Le point de destination représentant le coin supérieur
gauche de la zone rectangulaire dans laquelle les nouveaux pixels sont placés.
destPoint:flash.geom.Point
alphaBitmap:flash.display.BitmapData
[facultatif ] - Une source de l'objet BitmapData
alpha secondaire.
[facultatif ] - Le point, sur l'objet BitmapData alpha,
correspondant au coin supérieur gauche du paramètre sourceRect.
alphaPoint:flash.geom.Point
mergeAlpha:Boolean [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.
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);
312
Chapitre 2: Classes ActionScript
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_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 effectués sur l'occurrence échouent et une valeur de -1 sera 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
BitmapData (flash.display.BitmapData)
313
trace(myBitmapData.height); // -1
trace(myBitmapData.transparent); // -1
}
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 utiliser les objets Matrix, ColorTransform,
BlendMode 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.
matrix:flash.geom.Matrix [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.
colorTransform:flash.geom.ColorTransform [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.
blendMode:Object
314
[facultatif ] - Un objet BlendMode.
Chapitre 2: Classes ActionScript
clipRect:flash.geom.Rectangle [facultatif ] - Un objet Rectangle. Si cette valeur n'est pas
fournie, aucun découpage n'est effectué.
[facultatif ] - Une valeur booléenne indiquant si un objet BitmapData doit
être lissé lorsqu'il est dimensionné. La valeur par défaut est false.
smooth:Boolean
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";
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);
BitmapData (flash.display.BitmapData)
315
mc.lineTo(0, height);
mc.lineTo(width, height);
mc.lineTo(width, 0);
mc.lineTo(0, 0);
return mc;
}
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:flash.geom.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;
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 également
Rectangle (flash.geom.Rectangle)
316
Chapitre 2: Classes ActionScript
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);
mc.onPress = function() {
myBitmapData.floodFill(_xmouse, _ymouse, 0x000000FF);
}
BitmapData (flash.display.BitmapData)
317
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:flash.geom.Rectangle
- Un rectangle définissant la zone de l'image source à
utiliser en tant qu'entrée.
filter:flash.filters.BitmapFilter
- Un objet filtre utilisé pour calculer les dimensions
du rectangle de destination.
Renvoie
flash.geom.Rectangle - Un rectangle de destination dont les dimensions ont été calculées à
l'aide d'une image, du paramètre sourceRect et d'un filtre.
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);
318
Chapitre 2: Classes ActionScript
var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, .8, 0x0000FF, .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.
Renvoie
flash.geom.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);
BitmapData (flash.display.BitmapData)
319
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
Paramètres
x:Number
- La coordonnée x du pixel.
y:Number
- La coordonnée y du pixel.
Renvoie
- 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
320
Chapitre 2: Classes ActionScript
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 également
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.
Renvoie
- 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.
Number
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);
BitmapData (flash.display.BitmapData)
321
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 également
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);
var mc:MovieClip = this.createEmptyMovieClip("mc",
this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
trace(myBitmapData.height); // 80
myBitmapData.height = 999;
trace(myBitmapData.height); // 80
322
Chapitre 2: Classes ActionScript
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:flash.geom.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.
secondBitmapPoint:flash.geom.Point [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.
[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.
secondAlphaThreshold:Number
Renvoie
- Une valeur booléenne. En cas de correspondance, renvoie une valeur de true ;
dans le cas contraire.
Boolean
false
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;
BitmapData (flash.display.BitmapData)
323
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 y:" + 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;
}
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
324
- Un ID de liaison d'un symbole dans la bibliothèque.
Chapitre 2: Classes ActionScript
Renvoie
flash.display.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 mélange 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
Paramètres
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
destPoint:flash.geom.Point - Le point sur l'image de destination (l'occurrence
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
redMult:Number
- Un nombre par lequel la valeur de canal red doit être multipliée.
greenMult:Number
- Un nombre par lequel la valeur de canal green doit être multipliée.
BitmapData (flash.display.BitmapData)
325
blueMult:Number
- 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);
}
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.
low:Number [facultatif ] - La valeur la plus faible à générer pour chaque canal (de 0 à 255). La
valeur par défaut est 0.
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.
326
Chapitre 2: Classes ActionScript
channelOptions:Number [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).
[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.
grayScale:Boolean
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;
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);
}
BitmapData (flash.display.BitmapData)
327
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 une valeur
comprise entre 0 et 255 distincte. 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
Paramètres
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
destPoint:flash.geom.Point - Le point sur l'image de destination (l'objet BitmapData
actuel) correspondant au coin supérieur gauche du rectangle source.
redArray:Array
[facultatif ] - Si redArray n'est pas null, red = redArray[source red
value] else red = source rect value.
328
Chapitre 2: Classes ActionScript
greenArray:Array
[facultatif ] - Si greenArray n'est pas null, green =
greenArray[source green value] else green = source green value.
[facultatif ] - Si blueArray n'est pas null, blue = blueArray[source
blue value] else blue = source blue value.
blueArray:Array
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;
myBitmapData.paletteMap(myBitmapData, new Rectangle(0, 0, 100, 40), new
Point(0, 0), redArray, greenArray, null, null);
}
BitmapData (flash.display.BitmapData)
329
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 sorti en 1982.
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
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.
330
Chapitre 2: Classes ActionScript
- 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.
randomSeed:Number
stitch:Boolean - Une 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.
- Une 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
[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.
grayScale:Boolean
[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.
offsets:Object
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);
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());
BitmapData (flash.display.BitmapData)
331
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
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
destPoint:flash.geom.Point - Le point sur l'image de destination (l'occurrence
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
randomSeed:Number [facultatif ] - La valeur de départ aléatoire à utiliser pour démarrer la
dissolution de pixels. La valeur par défaut est 0.
332
Chapitre 2: Classes ActionScript
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.
Renvoie
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;
}
BitmapData (flash.display.BitmapData)
333
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);
334
Chapitre 2: Classes ActionScript
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;
}
BitmapData (flash.display.BitmapData)
335
function sketch() {
myBitmapData.setPixel(_xmouse, _ymouse, 0x000000);
}
Voir également
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;
}
336
Chapitre 2: Classes ActionScript
mc.onRelease = function() {
delete this.onEnterFrame;
}
function sketch() {
myBitmapData.setPixel32(_xmouse, _ymouse, 0x00000000);
}
Voir également
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
BitmapData (flash.display.BitmapData)
337
Paramètres
sourceBitmap:flash.display.BitmapData - 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.
sourceRect:flash.geom.Rectangle
- Un rectangle qui définit la zone de l'image source à
utiliser en tant qu'entrée.
destPoint:flash.geom.Point - Le point sur l'image de destination (l'occurrence
BitmapData actuelle) correspondant au coin supérieur gauche du rectangle source.
- L'un des opérateurs de comparaison suivants, transmis en tant que
chaîne : "<", "<=", ">", ">=", "==", "!="
operation:String
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
mask:Number [facultatif ] - Le masque à utiliser pour isoler un composant de couleur. La
valeur par défaut est 0xFFFFFFFF.
copySource:Boolean [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.
Renvoie
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);
338
Chapitre 2: Classes ActionScript
mc.onPress = function() {
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 :
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(myBitmapData.transparent); // false
myBitmapData.transparent = true;
trace(myBitmapData.transparent); // false
width (propriété BitmapData.width)
public width : Number [lecture seule]
La 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);
BitmapData (flash.display.BitmapData)
339
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
La classe de base BitmapFilter pour tous les effets de filtrage d'image.
Les classes BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter,
DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter et
GradientGlowFilter héritent de 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é)
340
Chapitre 2: Classes ActionScript
Résumé de la méthode
Modificateurs Signature
Description
Renvoie un objet BitmapFilter qui est une copie exacte
de l'objet BitmapFilter d'origine.
clone() :
BitmapFilter
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
flash.filters.BitmapFilter
- Objet BitmapFilter.
BlurFilter (flash.filters.BlurFilter)
Object
|
+-flash.filters.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.
BlurFilter (flash.filters.BlurFilter)
341
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 d'applyFilter sur un objet BitmapData utilise
l'objet BitmapData d'origine ainsi que l'objet filtre pour générer 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. 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 également
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)
342
Chapitre 2: Classes ActionScript
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é)
Récapitulatif des constructeurs
Signature
Description
BlurFilter([blurX:Nu Initialise le filtre avec les paramètres spécifiés.
mber],
[blurY:Number],
[quality:Number])
Résumé de la méthode
Modificateurs Signature
Description
clone() : BlurFilter Renvoie une copie de cet objet filtre.
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)
BlurFilter (flash.filters.BlurFilter)
343
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
blurX:Number [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.
[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
[facultatif ] - Nombre de fois que le filtre doit s'appliquer. 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.
quality:Number
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);
344
Chapitre 2: Classes ActionScript
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.
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;
}
BlurFilter (flash.filters.BlurFilter)
345
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
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
346
Chapitre 2: Classes ActionScript
Valeur renvoyée
flash.filters.BlurFilter - Nouvelle occurrence BlurFilter dont toutes les propriétés sont
identiques à celles de l'occurrence BlurFilter d'origine.
Exemple
L'exemple suivant crée trois objets BlurFilter et les compare. Vous pouvez créer l'objet
à 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.
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 démontrer davantage les relations 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
BlurFilter (flash.filters.BlurFilter)
347
trace(filter_2.quality); // 2
trace(clonedFilter.quality); // 2
filter_1.quality = 1;
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. Plutôt que d'augmenter la valeur de quality, vous
pouvez souvent 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. Lorsque 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);
348
Chapitre 2: Classes ActionScript
rect.lineTo(0, 0);
rect._x = 20;
rect._y = 20;
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
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é des constructeurs
Signature
Description
Boolean([value:Objec Crée un objet Boolean.
t])
Boolean
349
Résumé de la méthode
Modificateurs Signature
Description
toString() : String
Renvoie la représentation de l'objet booléen 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 booléen est initialisé avec
une 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();
toString (méthode Boolean.toString)
public toString() : String
Renvoie la représentation de l'objet booléen sous forme de chaîne ("true" ou "false").
Disponibilité : ActionScript 1.0 ; Flash Player 5
350
Chapitre 2: Classes ActionScript
Valeur renvoyée
String
- Chaîne; "true" ou "false".
Exemple
Cet exemple crée une variable de type Boolean et utilise la méthode toString() pour
convertir la valeur en chaîne à utiliser dans l'instruction trace :
var myBool:Boolean = true;
trace("The value of the Boolean myBool is: " + myBool.toString());
myBool = false;
trace("The value of the Boolean myBool is: " + myBool.toString());
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
Boolean
351
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 des
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 également
Object
352
Chapitre 2: Classes ActionScript
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:Boolea Si défini sur true, Flash Player place en mémoire
n
cache une version bitmap interne du bouton.
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.
_highquality:Number
Déconseillédepuis Flash Player 7. Cette propriété a été
déconseillée en faveur deButton._quality.
Spécifie le niveau d'anti-aliasing appliqué au fichier
SWF actuel.
menu:ContextMenu
Associe l'objet ContextMenu, contextMenu à l'objet
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:Rectangle La zone rectangulaire qui définit les neuf zones de
redimensionnement du bouton.
_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.
Button
353
Modificateurs Propriété
_target:String
[lecture seule]
Description
Renvoie le chemin cible de l'occurrence de bouton
spécifiée par my_btn.
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
Récupère l'URL du fichier SWF qui a créé le bouton.
seule]
useHandCursor:Boolea Valeur booléenne qui, lorsqu'elle est définie sur true
n
(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.
_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é)
354
Chapitre 2: Classes ActionScript
Résumé des événements
Evénement
Description
onDragOut =
Invoqué lorsque vous cliquez sur le bouton à l'aide du bouton de la souris,
puis faites glisser le pointeur hors du bouton.
function() {}
onDragOver =
function() {}
onKeyDown =
function() {}
Invoqué lorsque l'utilisateur appuie sur le bouton de la souris, le fait glisser
hors du bouton, puis sur le bouton.
Invoqué lorsqu'un bouton reçoit le focus clavier et lorsque l'utilisateur
appuie sur une touche.
function() {}
Invoqué lorsqu'un bouton reçoit le focus d'entrée et lorsque l'utilisateur
relâche une touche.
onKillFocus =
Invoqué lorsqu'un bouton perd le focus clavier.
onKeyUp =
function(newFocu
s:Object) {}
onPress =
Invoqué lorsqu'un bouton est enfoncé.
function() {}
onRelease =
Invoqué lorsqu'un bouton est relâché.
function() {}
onReleaseOutside Invoqué lorsque l'utilisateur relâche la souris tandis que le pointeur se
= function() {}
trouve hors du bouton après avoir appuyé sur celui-ci lorsque le pointeur
se trouvait à l'intérieur du bouton.
onRollOut =
Invoqué lorsque le pointeur se déplace hors d'une zone du bouton.
function() {}
onRollOver =
Invoqué lorsque le pointeur se déplace sur une zone du bouton.
function() {}
onSetFocus =
Invoqué lorsqu'un bouton reçoit le focus clavier.
function(oldFocu
s:Object) {}
Button
355
Résumé de la méthode
Modificateurs Signature
getDepth() : Number
Description
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
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 également
_alpha (propriété MovieClip._alpha), _alpha (propriété TextField._alpha)
356
Chapitre 2: Classes ActionScript
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
357
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èreplan 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.
358
Chapitre 2: Classes ActionScript
Illustration
Description
Valeur de l'entier
Valeur de chaîne
3
"multiply"
Illustration
Description
Multiplie les valeurs
des couleurs primaires
du bouton par celles de
la couleur d'arrièreplan, 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.
Button
359
Valeur de l'entier
Valeur de chaîne
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ère-plan 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).
360
Chapitre 2: Classes ActionScript
Illustration
Description
Valeur de l'entier
Valeur de chaîne
6
"darken"
Illustration
Description
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ère-plan 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).
Button
361
Valeur de l'entier
Valeur de chaîne
7
"difference"
362
Chapitre 2: Classes ActionScript
Illustration
Description
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ère-plan 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).
Valeur de l'entier
Valeur de chaîne
8
"add"
Illustration
Description
Ajoute les couleurs
primaires du bouton à
celles de son arrièreplan, 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ère-plan 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
363
Valeur de l'entier
Valeur de chaîne
9
"subtract"
Soustrait les couleurs
primaires du bouton de
celles de son arrièreplan, 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ère-plan 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èreplan. 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".
364
Chapitre 2: Classes ActionScript
Illustration
Description
Valeur de l'entier
Valeur de chaîne
12
"erase"
Illustration
Description
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".
Button
365
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é blendModesur une autre valeur, Flash la définit sur
"normal".
366
Chapitre 2: Classes ActionScript
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) // add
Pour un exemple similaire, veuillez consulter la description de la propriété blendMode de la
classe MovieClip.
Voir également
blendMode (propriété MovieClip.blendMode)
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 une bitmap en mémoire cache sont
tracées sur la bitmap et non pas sur la scène principale. Cette bitmap est ensuite copiée 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 de la bitmap changent, elle est recréée au lieu d'être étirée.
Aucune bitmap interne n'est créée 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 réglage cacheAsBitmap à sa position
précédente.
Button
367
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 la bitmap est trop grande, c'est à dire supérieure à 2800 pixels dans l'un des deux
sens.
■
Quand la 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 occurence 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.
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 définie sur false), le bouton est visible mais vous ne pouvez pas cliquer sur celuici. 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
368
Chapitre 2: Classes ActionScript
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 occurence de boutons sur la scène. Ensuite, attribuez leur les noms
d'occurence 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;
//button code
// the following function will not get called
// because myBtn2_btn.enabled was set to false
myBtn1_btn.onRelease = function() {
trace( "you clicked : " + this._name );
};
myBtn2_btn.onRelease = function() {
trace( "you clicked : " + this._name );
};
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.
Button
369
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 ([]).
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. Cette bitmap source
est ensuite reprise 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;
370
Chapitre 2: Classes ActionScript
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 également
, cacheAsBitmap (propriété Button.cacheAsBitmap)
_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;
Button
371
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.
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());
};
372
Chapitre 2: Classes ActionScript
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. 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 également
getDepth (méthode MovieClip.getDepth), getDepth (méthode
TextField.getDepth),
_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édepuis Flash Player 7. Cette propriété a été déconseillée en faveur
deButton._quality.
Button
373
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 également
_quality (propriété Button._quality), _quality, propriété
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
L'objet ContextMenu contient un élément de menu unique (intitulé « Save... »)
incluant une fonction de gestionnaire de rappel intitulée doSave.
myBtn_btn.
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 ");
374
Chapitre 2: Classes ActionScript
}
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 également
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
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() {
Button
375
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
Exemple
L'exemple suivant définit une fonction pour le gestionnaire onDragOver qui envoie une
instruction trace() au panneau de 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 également
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é.
376
Chapitre 2: Classes ActionScript
Disponibilité : ActionScript 1.0 ; Flash Player 6
Exemple
Dans l'exemple suivant, une fonction qui envoie du texte vers le panneau de 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;
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 Tab 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 également
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
Button
377
Exemple
Dans l'exemple suivant, une fonction qui envoie du texte vers le panneau de 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";
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
Tab 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 également
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
378
Chapitre 2: Classes ActionScript
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;
};
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 de 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 de
sortie est définie pour le gestionnaire onPress :
my_btn.onPress = function () {
trace ("onPress called");
};
Button
379
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 de
sortie est définie pour le gestionnaire onRelease :
my_btn.onRelease = function () {
trace ("onRelease called");
};
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 de
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
380
Chapitre 2: Classes ActionScript
Exemple
Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau de
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
Exemple
Dans l'exemple suivant, une fonction envoyant une instruction trace() vers le panneau de
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 Tab 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.
Button
381
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 de sortie.
_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 également
_parent (propriété MovieClip._parent), _target (propriété
MovieClip._target), _root, propriété
382
Chapitre 2: Classes ActionScript
_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ées.
■
"MEDIUM 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ées. Ce niveau de qualité convient aux animations
qui ne contiennent pas de texte.
■
"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ées 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
Button
383
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() {
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 également
_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.
384
Chapitre 2: Classes ActionScript
■
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é.
■
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 également
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.
Button
385
Pour plus d'informations et un exemple, consultez la propriété globale _soundbuftime.
Disponibilité : ActionScript 1.0 ; Flash Player 6
Voir également
_soundbuftime, propriété
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 également
tabIndex (propriété Button.tabIndex), tabEnabled (propriété
MovieClip.tabEnabled), tabEnabled (propriété TextField.tabEnabled)
386
Chapitre 2: Classes ActionScript
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.
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.
Button
387
Voir également
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)
_target (propriété Button._target)
public _target : String [lecture seule]
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); //displays /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); //displays /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)); //displays _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); //displays my_btn
};
Voir également
_target (propriété MovieClip._target)
388
Chapitre 2: Classes ActionScript
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.
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 également
trackAsMenu (propriété MovieClip.trackAsMenu)
_url (propriété Button._url)
public _url : String [lecture seule]
Récupère l'URL du fichier SWF qui a créé le bouton.
Disponibilité : ActionScript 1.0 ; Flash Player 6
Button
389
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");
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);
}
390
Chapitre 2: Classes ActionScript
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.
_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 également
_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
Button
391
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 de sortie. Entrez le code ActionScript suivant dans l'image 1
du scénario :
my_btn.onRelease = function() {
trace(this._width);
this._width ~= 1.1;
};
Voir également
_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 également
_xscale (propriété Button._xscale), _y (propriété Button._y), _yscale
(propriété Button._yscale)
392
Chapitre 2: Classes ActionScript
_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;
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 également
_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
Button
393
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 également
_x (propriété Button._x), _y (propriété Button._y), _yscale (propriété
Button._yscale)
_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 également
_x (propriété Button._x), _xscale (propriété Button._xscale), _yscale
(propriété Button._yscale)
394
Chapitre 2: Classes ActionScript
_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();
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 également
_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(){
Button
395
this._xscale ~= 1.1;
this._yscale ~ 1.1;
};
Voir également
_y (propriété Button._y), _x (propriété Button._x), _xscale (propriété
Button._xscale)
Camera
Object
|
+-Camera
public class Camera
extends Object
La classe Camera est principalement dédiée à Macromedia Flash Communication Server, mais
peut être utilisée de façon restreinte 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 Macromedia 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
396
Chapitre 2: Classes ActionScript
Résumé des propriétés
Modificateurs Propriété
Description
activityLevel:Number Une valeur numérique spécifiant la quantité de
[lecture seule]
mouvement détectée par la caméra.
bandwidth:Number
Un entier spécifiant la quantité maximale de bande
passante pouvant être utilisée par la vidéo sortante
actuelle, en octets.
[lecture seule]
currentFps:Number
[lecture seule]
fps:Number [lecture
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]
index:Number [lecture
seule]
motionLevel: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.
Valeur numérique spécifiant l'intensité de mouvement
requise pour appeler Camera.onActivity(true).
motionTimeOut:Number Nombre de millisecondes entre le moment où la
[lecture seule]
caméra arrête la détection du mouvement et le
moment où Camera.onActivity (false) est appelé.
muted:Boolean
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.
[lecture seule]
name:String [lecture
seule]
static
names:Array [lecture
seule]
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.
[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.
width:Number [lecture
La largeur de capture actuelle, en pixels.
quality:Number
seule]
Camera
397
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
onActivity =
Gestionnaire d'événements : invoqué lorsque la caméra commence ou
function(active: arrête la détection du mouvement.
Boolean) {}
onStatus =
Gestionnaire d'événements : invoqué lorsque l'utilisateur autorise ou
function(infoObj refuse l'accès à la caméra.
ect: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:Numbe Définit le mode de capture de la caméra sur le mode
r], [height:Number], natif qui remplit le mieux les conditions requises.
[fps:Number],
[favorArea:Boolean])
: Void
setMotionLevel([moti Spécifie la quantité de mouvement requise pour
onLevel:Number],
appeler Camera.onActivity(true).
[timeOut:Number]) :
Void
setQuality([bandwidt Définit le montant maximum de bande passante par
h:Number],
[quality:Number]) :
Void
398
Chapitre 2: Classes ActionScript
seconde ou la qualité d'image requise des données
vidéo sortantes actuelles.
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)
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é
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 :
activityLevel
// video instance on the Stage.
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);
};
Camera
399
my_cam.onActivity = function(isActive:Boolean) {
var themeColor:String = (isActive) ? "haloGreen" : "haloOrange";
activity_pb.setStyle("themeColor", themeColor);
};
Voir également
motionLevel (propriété Camera.motionLevel), setMotionLevel (méthode
Camera.setMotionLevel )
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);
}
400
Chapitre 2: Classes ActionScript
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 également
setQuality (méthode Camera.setQuality)
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 également
setMode (méthode Camera.setMode), fps (propriété Camera.fps)
Camera
401
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 également
currentFps (propriété Camera.currentFps), setMode (méthode Camera.setMode)
402
Chapitre 2: Classes ActionScript
get (méthode Camera.get)
public static get([index:Number]) : Caméra
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.
Camera
403
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 de paramètres Flash
Player Camera, 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 aucune caméra, il effectuera une analyse à chaque fois que
Camera.get est appelé. 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 doive 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();
404
Chapitre 2: Classes ActionScript
var my_video:Video;
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 également
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");
Camera
405
dimensions_lbl.text = "width: "+my_cam.width+", height: "+my_cam.height+",
FPS: "+my_cam.fps;
Consultez également l'exemple relatif à Camera.setMode().
Voir également
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;
}
406
Chapitre 2: Classes ActionScript
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 également
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, reportez-vous à 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);
// configure the ProgressBar component instance
var motion_pb:mx.controls.ProgressBar;
motion_pb.mode = "manual";
motion_pb.label = "Motion: %3%%";
var motionLevel_lbl:mx.controls.Label;
// configure the NumericStepper component instance
var motionLevel_nstep:mx.controls.NumericStepper;
motionLevel_nstep.minimum = 0;
motionLevel_nstep.maximum = 100;
motionLevel_nstep.stepSize = 5;
Camera
407
motionLevel_nstep.value = my_cam.motionLevel;
// Continuously update the progress of the ProgressBar component instance to
the activityLevel
// of the current Camera instance, which is defined in my_cam
this.onEnterFrame = function() {
motion_pb.setProgress(my_cam.activityLevel, 100);
};
// When the level of activity goes above or below the number defined in
Camera.motionLevel,
// trigger the onActivity event handler.
my_cam.onActivity = function(isActive:Boolean) {
// If isActive equals true, set the themeColor variable to "haloGreen".
// Otherwise set the themeColor to "haloOrange".
var themeColor:String = (isActive) ? "haloGreen" : "haloOrange";
motion_pb.setStyle("themeColor", themeColor);
};
function changeMotionLevel() {
// Set the motionLevel property for my_cam Camera instance to the value
of the NumericStepper
// component instance. Maintain the current motionTimeOut value of the
my_cam Camera instance.
my_cam.setMotionLevel(motionLevel_nstep.value, my_cam.motionTimeOut);
}
motionLevel_nstep.addEventListener("change", changeMotionLevel);
Voir également
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 configurer cette propriété, appelez Camera.setMotionLevel().
Disponibilité : ActionScript 1.0 ; Flash Player 6
408
Chapitre 2: Classes ActionScript
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 également
setMotionLevel (méthode Camera.setMotionLevel ), onActivity (gestionnaire
Camera.onActivity)
Camera
409
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, reportez-vous à 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) {
// If user is denied access to their Camera, you can display an error
message here. You can display the user's Camera/Privacy settings again
using System.showSettings(0);
trace("User denied access to Camera");
System.showSettings(0);
}
};
Voir également
get (méthode Camera.get), onStatus (gestionnaire Camera.onStatus)
name (propriété Camera.name)
public name : String [lecture seule]
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
410
Chapitre 2: Classes ActionScript
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 également
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 basé
sur 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 de classe Array de
Camera.names.
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
Camera
411
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 également
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(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 :
// Assumes a Video object named "myVideoObject" is on the Stage
active_cam = Camera.get();
412
Chapitre 2: Classes ActionScript
myVideoObject.attachVideo(active_cam);
active_cam.setMotionLevel(10, 500);
active_cam.onActivity = function(mode)
{
trace(mode);
}
Voir également
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, reportez-vous à Camera.get().
Disponibilité : ActionScript 1.0 ; Flash Player 6
Paramètres
infoObject:Object
- Paramètre défini selon le message de statut.
Camera
413
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 également
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é requis pour l'image, 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);
414
Chapitre 2: Classes ActionScript
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 également
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 passe 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 si 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 ; en attribuant la même valeur à ces
propriétés, 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.
Camera
415
[facultatif ] - Cadence à laquelle la caméra doit capturer des données, en images
par seconde. La valeur par défaut est 15.
fps:Number
[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 le maintien de la taille de
capture est favorisé ; l'utilisation de ce paramètre permet de sélectionner le mode qui
correspond le mieux aux valeurs width et height , même si cela affecte les performances en
réduisant la cadence. 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 également
fps (propriété Camera.fps), height (propriété Camera.height), largeur
(propriété Camera.width), currentFps (propriété Camera.currentFps)
416
Chapitre 2: Classes ActionScript
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, l'impact de ces méthodes sur la
publication des flux continus diffère de manière significative :
■
Microphone.setSilenceLevel() est conçu pour optimiser la bande passante. Lorsqu'un
flux continu est considéré comme étant silencieux, aucune donnée audio n'est envoyée. En
revanche, un message unique est envoyé, indiquant le début du silence.
■
est conçu pour détecter le mouvement et n'a aucune
incidence sur l'utilisation de la bande passante. Même si un flux vidéo ne détecte pas le
mouvement, la vidéo est toujours envoyée.
Camera.setMotionLevel()
Disponibilité : ActionScript 1.0 ; Flash Player 6
Paramètres
[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.
motionLevel:Number
Camera
417
[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.
// Assumes a Video object named "myVideoObject" is on the Stage
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 également
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 être généralement appliquée que si
vous transmettez la vidéo via Flash Communication Server.
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.
■
418
Pour indiquer que l'utilisation de la bande passante est prioritaire, transmettez une valeur
à bandwidth et attribuez 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.
Chapitre 2: Classes ActionScript
■
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 l'utilisation de la 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 de la vidéo
permettant de respecter la qualité requise et ne dépassant pas 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
[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 16 384.
bandwidth:Number
quality:Number [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.
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.
// Ensure that no more than 8192 (8K/second) is used to send video
active_cam.setQuality(8192,0);
// Ensure that no more than 8192 (8K/second) is used to send video
// with a minimum quality of 50
active_cam.setQuality(8192,50);
// Ensure a minimum quality of 50, no matter how much bandwidth it takes
active_cam.setQuality(0,50);
Voir également
get (méthode Camera.get), qualité (propriété Camera.quality), bandwidth
(propriété Camera.bandwidth)
Camera
419
largeur (propriété Camera.width)
public quality : 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 IPS (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 également
height (propriété Camera.height), setMode (méthode Camera.setMode)
capabilities (System.capabilities)
Object
|
+-System.capabilities
public class capabilities
extends Object
420
Chapitre 2: Classes ActionScript
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
capabilities (System.capabilities)
421
Résumé des propriétés
Modificateurs Propriété
static
avHardwareDisable:Bo Valeur booléenne spécifiant si l'accès à la caméra et
olean [lecture seule]
static
static
lean [lecture seule]
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.
hasAudio:Boolean
Spécifie si le système est doté de fonctionnalités
audio.
hasAudioEncoder:Bool Spécifie si Flash Player peut coder un flux audio
ean [lecture seule]
static
static
static
au microphone de l'utilisateur est interdit
administrativement (true) ou autorisé (false).
hasAccessibility:Boo Valeur booléenne définie sur true si le lecteur
[lecture seule]
static
Description
continu.
hasEmbeddedVideo:Boo Valeur booléenne définie sur true si le lecteur
lean [lecture seule]
s'exécute sur un système qui prend en charge la vidéo
intégrée ; sinon définie sur false.
hasIME:Boolean
[lecture seule]
Indique si le système est doté d'un IME, (éditeur de
méthode d'entrée).
hasMP3:Boolean
Spécifie si le système est doté d'un décodeur MP3.
[lecture seule]
static
hasPrinting:Boolean
[lecture seule]
static
hasScreenBroadcast:B Valeur booléenne définie sur true si le lecteur prend
oolean [lecture seule]
static
les vidéos en flux continu ; sinon définie sur false.
hasVideoEncoder:Bool Spécifie si Flash Player peut coder un flux vidéo.
ean [lecture seule]
422
les sons en flux continu ; définie sur false sinon.
hasStreamingVideo:Bo Valeur booléenne définie sur true si le lecteur peut lire
olean [lecture seule]
static
en charge la lecture des applications de diffusion sur
écran exécutées via Flash Communication Server ;
définie sur false sinon.
hasStreamingAudio:Bo Valeur booléenne définie sur true si le lecteur peut lire
olean [lecture seule]
static
en charge le développement des applications de
diffusion sur écran devant être exécutées via Flash
Communication Server ; définie sur false sinon.
hasScreenPlayback:Bo Valeur booléenne définie sur true si le lecteur prend
olean [lecture seule]
static
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.
Chapitre 2: Classes ActionScript
Modificateurs Propriété
Description
static
Valeur booléenne indiquant si le lecteur est une
version officielle (false) ou une version de débogage
spéciale (true).
isDebugger:Boolean
[lecture seule]
static
language:String
[lecture seule]
static
localFileReadDisable Valeur booléenne indiquant si l'accès en lecture au
:Boolean [lecture
seule]
static
manufacturer:String
[lecture seule]
static
Indique la langue du système sur lequel s'exécute le
lecteur.
os:String [lecture
disque dur de l'utilisateur est interdit
administrativement (true) ou autorisé (false).
Chaîne indiquant le fabricant de Flash Player, au
format "Macromedia OSName" (OSName peut être
"Windows", "Macintosh", "Linux", ou "Other OS
Name").
Chaîne indiquant le système d'exploitation actuel.
seule]
static
pixelAspectRatio:Num Entier indiquant les proportions de l'écran, en pixels.
ber [lecture seule]
static
playerType:String
Chaîne indiquant le type de lecteur.
[lecture seule]
static
screenColor:String
Chaîne indiquant la couleur d'écran.
[lecture seule]
static
screenDPI:Number
[lecture seule]
static
screenResolutionX:Nu Entier indiquant la résolution horizontale maximale de
mber [lecture seule]
static
static
l'écran.
screenResolutionY:Nu Entier indiquant la résolution verticale maximale de
mber [lecture seule]
l'écran.
serverString:String
Chaîne de code URL spécifiant les valeurs de chaque
propriété System.capabilities.
[lecture seule]
static
Nombre indiquant la résolution en points par pouce
(ppp) de l'écran, en pixels.
version:String
[lecture seule]
Chaîne contenant la plate-forme Flash Player et les
informations sur la version (par exemple, "WIN
8,0,0,0").
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é)
capabilities (System.capabilities)
423
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 également
get (méthode Camera.get), obtenir (méthode Microphone.get), showSettings
(méthode System.showSettings)
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);
424
Chapitre 2: Classes ActionScript
Voir également
isActive (méthode Accessibility.isActive), updateProperties (méthode
Accessibility.updateProperties),
hasAudio (propriété capabilities.hasAudio)
public static hasAudio : Boolean [lecture seule]
Spécifie si le système est doté de fonctionnalités audio. Valeur booléenne définie sur true si le
lecteur s'exécute sur un système doté de fonctionnalités audio ; sinon définie sur false. 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
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
capabilities (System.capabilities)
425
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());
}
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
426
Chapitre 2: Classes ActionScript
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 Communication 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);
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 Communication 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
capabilities (System.capabilities)
427
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);
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
428
Chapitre 2: Classes ActionScript
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 [lecture seule]
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.
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
capabilities (System.capabilities)
429
Langue
Balise
Coréen
ko
Norvégien
no
Autre/inconnu
xu
Polonais
pl
Portugais
pt
Russe
ru
Chinois simplifié
zh-CN
Espagnol
es
Suédois
sv
Chinois traditionnel
zh-TW
Turc
tr
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.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
430
Chapitre 2: Classes ActionScript
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 [lecture seule]
Chaîne indiquant le fabricant de Flash Player, au format "Macromedia 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
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 [lecture seule]
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
capabilities (System.capabilities)
431
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 [lecture seule]
Chaîne indiquant le type de lecteur. Cette propriété peut avoir l'une des valeurs suivantes :
■
■
"StandAlone"
"External"
pour le Flash StandAlone Player
pour la version Flash Player utilisée par le lecteur externe, ou en mode Tester
l'animation..
pour le module externe du navigateur Flash Player
■
"PlugIn"
■
"ActiveX"
pour le contrôle ActiveX de Flash Player utilisé par Microsoft Internet
Explorer
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 [lecture seule]
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);
432
Chapitre 2: Classes ActionScript
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
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);
capabilities (System.capabilities)
433
serverString (propriété capabilities.serverString)
public static serverString : String [lecture seule]
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);
version (propriété capabilities.version)
public static version : String [lecture seule]
Chaîne contenant la plate-forme Flash Player et les informations sur la version (par exemple,
"WIN 8,0,0,0"). La chaîne de serveur est V.
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.
434
Chapitre 2: Classes ActionScript
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é)
Résumé des constructeurs
Signature
Description
Color(target:Object) Classe déconseillée.
Crée un objet Color pour le clip spécifié par le paramètre target_mc.
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 Classe déconseillée.
) : Void
Spécifie une couleur RVB pour un objet Color.
setTransform(transfo Classe déconseillée.
rmObject:Object) :
Void
Définit les informations relatives à la transformation de
couleurs pour un objet Color.
Color
435
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)
La classe Color est déconseillée depuis Flash Player 8.
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.
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
La classe Color est déconseillée depuis Flash Player 8.
Renvoie la combinaison R+V+B actuellement utilisée par l'objet Color.
Disponibilité : ActionScript 1.0 ; Flash Player 5
Valeur renvoyée
Number
436
- Nombre représentant la valeur numérique RVB de la couleur spécifiée.
Chapitre 2: Classes ActionScript
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);
// set the color
my_color.setRGB(0xff9933);
var myValue:String = my_color.getRGB().toString(16);
// trace the color value
trace(myValue); // traces ff9933
Voir également
setRGB (méthode Color.setRGB)
getTransform (méthode Color.getTransform)
public getTransform() : Object
La classe Color est déconseillée depuis Flash Player 8.
Renvoie la valeur de transformation définie par le dernier appel Color.setTransform().
Disponibilité : ActionScript 1.0 ; Flash Player 5
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().
Color
437
Voir également
setTransform (méthode Color.setTransform)
setRGB (méthode Color.setRGB)
public setRGB(offset:Number) : Void
La classe Color est déconseillée depuis Flash Player 8.
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
- 0x RRGGBB La valeur hexadécimale ou la couleur RVB à définir. Les valeurs
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.
offset:Number
RR, GG,
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 turns red
Voir également
setTransform (méthode Color.setTransform)
setTransform (méthode Color.setTransform)
public setTransform(transformObject:Object) : Void
La classe Color est déconseillée depuis Flash Player 8.
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.
438
Chapitre 2: Classes ActionScript
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;
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
- 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 ci-dessous.
transformObject:Object
Color
439
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 :
// Create a color object called my_color for the target my_mc
var my_color:Color = new Color(my_mc);
// Create a color transform object called myColorTransform using
// Set the values for myColorTransform
var myColorTransform:Object = { ra: 50, rb: 244, ga: 40, gb: 112, ba: 12,
bb: 90, aa: 40, ab: 70};
// Associate the color transform object with the Color object
// created for my_mc
my_color.setTransform(myColorTransform);
Voir également
Object
ColorMatrixFilter
(flash.filters.ColorMatrixFilter)
Object
|
+-flash.filters.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 les filtres lors de l'exécution du clip, 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.
440
Chapitre 2: Classes ActionScript
Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode
BitmapData.applyFilter() . L'appel applyFilter() sur un objet BitmapData, utilise
l'objet BitmapData d'origine ainsi que l'objet filtre pour générer 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.
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]
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 (where N is between 0.0 and 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.
ColorMatrixFilter (flash.filters.ColorMatrixFilter)
441
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();
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]); // red
matrix = matrix.concat([0, xPercent, 0, 0, 0]); // green
matrix = matrix.concat([0, 0, xPercent, 0, 0]); // blue
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 également
getPixel (méthode BitmapData.getPixel), applyFilter (méthode
BitmapData.applyFilter), filters (propriété MovieClip.filters), cacheAsBitmap
(propriété MovieClip.cacheAsBitmap)
442
Chapitre 2: Classes ActionScript
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ésumé des constructeurs
Signature
Description
ColorMatrixFilter(ma Initialise une nouvelle occurrence ColorMatrixFilter avec les paramètres
trix:Array)
spécifiés.
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)
ColorMatrixFilter (flash.filters.ColorMatrixFilter)
443
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
- Nouvelle occurrence ColorMatrixFilter dont les
propriétés sont toutes identiques à celles de l'occurrence d'origine.
flash.filters.ColorMatrixFilter
Exemple
L'exemple suivant crée une nouvelle occurrence de ColorMatrixFilter et ensuite la clone en
utilisant la méthode clone. La propriété matrix ne peut pas être changée directement (par
exemple, clonedFilter.matrix[2] = 1;). Vous devez plutôt donner une référence au
tableau, effectuer le changement, et restaurer 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]);
//
//
//
//
red
green
blue
alpha
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
444
- Tableau de 20 éléments organisés en matrice de 4 x 5.
Chapitre 2: Classes ActionScript
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 nouvelle occurrence de ColorMatrixFilter et ensuite change sa
propriété matrix. La propriété matrix ne peut pas être changée directement en modifiant sa
valeur (par exemple, clonedFilter.matrix[2] = 1;). Vous devez plutôt donner une
référence au tableau, effectuer le changement de la référence, et restaurer 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]);
//
//
//
//
red
green
blue
alpha
var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
trace("filter: " + filter.matrix);
var changedMatrix:Array = filter.matrix;
changedMatrix[2] = 1;
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.
ColorTransform (flash.geom.ColorTransform)
445
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 également
getTransform (méthode Color.getTransform), setTransform (méthode
Color.setTransform), Transform (flash.geom.Transform)
446
Chapitre 2: Classes ActionScript
Résumé des propriétés
Modificateurs Propriété
Description
alphaMultiplier:Numb Une valeur décimale multipliée par la valeur du canal
er
de transparence alpha.
alphaOffset:Number
Un nombre, compris entre -255 et 255, qui est ajouté
à la valeur du canal de transparence alpha après avoir
été multiplié par la valeur alphaMultiplier.
blueMultiplier:Numbe Une valeur décimale multipliée par la valeur du canal
r
de bleu.
blueOffset:Number
Un nombre, compris entre -255 et 255, qui est ajouté
à la valeur du canal de bleu après avoir été multiplié par
la valeur blueMultiplier.
greenMultiplier:Numb Une valeur décimale multipliée par la valeur du canal
er
de vert.
greenOffset:Number
Un nombre, compris entre -255 et 255, qui est ajouté
à la valeur du canal de vert après avoir été multiplié par
la valeur greenMultiplier.
redMultiplier:Number Une valeur décimale multipliée par la valeur du canal
de rouge.
redOffset:Number
Un nombre, compris entre -255 et 255, qui est ajouté
à la valeur du canal de rouge après avoir été multiplié
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é)
ColorTransform (flash.geom.ColorTransform)
447
Résumé des constructeurs
Signature
Description
ColorTransform([redM Crée un objet ColorTransform pour un objet d'affichage avec les
ultiplier:Number],
paramètres RVB et alpha spécifiés.
[greenMultiplier:Num
ber],
[blueMultiplier:Numb
er],
[alphaMultiplier:Num
ber],
[redOffset:Number],
[greenOffset:Number]
,
[blueOffset:Number],
[alphaOffset:Number]
)
Résumé de la méthode
Modificateurs Signature
Description
concat(second:ColorT Applique au clip une deuxième transformation additive
ransform) : Void
de couleur.
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)
448
Chapitre 2: Classes ActionScript
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 = .5;
trace(colorTrans.alphaMultiplier); // .5
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;
}
Voir également
_alpha (propriété MovieClip._alpha)
ColorTransform (flash.geom.ColorTransform)
449
alphaOffset (propriété ColorTransform.alphaOffset)
public alphaOffset : Number
Un nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de transparence
alpha après avoir été multiplié 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();
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
450
Chapitre 2: Classes ActionScript
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 = .5;
trace(colorTrans.blueMultiplier); // .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;
}
blueOffset (propriété ColorTransform.blueOffset)
public blueOffset : Number
Un nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de bleu après avoir
été multiplié 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
ColorTransform (flash.geom.ColorTransform)
451
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
Paramètres
redMultiplier:Number [facultatif ] - Valeur du multiplicateur de rouge, comprise entre 0 et
1. La valeur par défaut est 1.
greenMultiplier:Number [facultatif ] - Valeur du multiplicateur de vert, comprise entre 0 et
1. La valeur par défaut est 1.
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
[facultatif ] - Décalage de la valeur du canal de couleur rouge (-255 à
255). La valeur par défaut est 0.
redOffset:Number
greenOffset:Number [facultatif ] - Décalage de la valeur du canal de couleur vert (-255 à
255). La valeur par défaut est 0.
452
Chapitre 2: Classes ActionScript
[facultatif ] - Décalage de la valeur du canal de couleur bleu (-255 à
255). La valeur par défaut est 0.
blueOffset:Number
[facultatif ] - Décalage de la valeur du canal de transparence alpha (255 à 255). La valeur par défaut est 0.
alphaOffset:Number
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)
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
second:flash.geom.ColorTransform - Deuxième objet ColorTransform devant être
combiné avec l'objet ColorTransform actuel.
ColorTransform (flash.geom.ColorTransform)
453
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, .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;
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;
}
454
Chapitre 2: Classes ActionScript
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 = .5;
trace(colorTrans.greenMultiplier); // .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;
}
greenOffset (propriété ColorTransform.greenOffset)
public greenOffset : Number
Un nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de vert après avoir
été multiplié par la valeur greenMultiplier.
Disponibilité : ActionScript 1.0 ; Flash Player 8
ColorTransform (flash.geom.ColorTransform)
455
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
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 = .5;
456
Chapitre 2: Classes ActionScript
trace(colorTrans.redMultiplier); // .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
Un nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de rouge après avoir
été multiplié 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
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();
ColorTransform (flash.geom.ColorTransform)
457
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
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 {
458
Chapitre 2: Classes ActionScript
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 également
setRGB (méthode Color.setRGB), getRGB (méthode Color.getRGB)
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
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).
toSting().
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)
459
ContextMenu
Object
|
+-ContextMenu
public dynamic class
extends Object
ContextMenu
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
ContextMenuItem 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.
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.
460
Chapitre 2: 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 également
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,
function(item:Ob mais avant que le menu ne s'affiche.
ject,
item_menu:Object
) {}
Résumé des constructeurs
Signature
Description
ContextMenu([callbac Crée un nouvel objet ContextMenu.
kFunction:Function])
ContextMenu
461
Résumé de la méthode
Modificateurs Signature
Description
copy() : ContextMenu Crée une copie de l'objet ContextMenu spécifié.
hideBuiltInItems() : Masque tous les éléments de menu intégrés (à
Void
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;
var propValue = my_cm.builtInItems[propName];
462
Chapitre 2: Classes ActionScript
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
[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.
callbackFunction:Function
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; // Change this to false to remove
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;
}
}
function itemHandler(obj, item) {
ContextMenu
463
//...put code here...
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 également
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();
// custom function (not shown)
trace("something");
}
clone_cm = my_cm.copy();
this.menu = my_cm;
for (var i in clone_cm.customItems) {
trace("clone_cm-> "+clone_cm.customItems[i].caption);
464
Chapitre 2: Classes ActionScript
}
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
des 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 également
menu (propriété Button.menu), menu (propriété MovieClip.menu), menu
(propriété TextField.menu), push (méthode Array.push)
ContextMenu
465
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 fonctionne en définissant 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
466
Chapitre 2: Classes ActionScript
Paramètres
item:Object - 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_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
extends Object
ContextMenuItem
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
467
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:Bool Valeur booléenne indiquant si une barre de séparation
ean
doit apparaître au-dessus de l'élément de menu
spécifié.
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é)
468
Chapitre 2: Classes ActionScript
Résumé des événements
Evénement
Description
onSelect =
Appelé lorsque l'élément de menu spécifié est sélectionné dans le menu
function(obj:Obj contextuel de Flash Player.
ect,
menuItem:Object)
{}
Résumé des constructeurs
Signature
Description
ContextMenuItem(capt Crée un nouvel objet ContextMenuItem pouvant être ajouté dans le
tableau ContextMenu.customItems.
ion:String,
callbackFunction:Fun
ction,
[separatorBefore:Boo
lean],
[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
ContextMenuItem
469
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);
}
this.menu = my_cm;
constructeur ContextMenuItem
public ContextMenuItem(caption:String, callbackFunction:Function,
[separatorBefore:Boolean], [enabled:Boolean], [visible:Boolean])
Crée un nouvel objet ContextMenuItem pouvant être ajouté dans le 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
[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.
enabled:Boolean
visible:Boolean [facultatif ] - Valeur booléenne indiquant si l'élément de menu est visible
ou invisible. La valeur par défaut est true.
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));
470
Chapitre 2: Classes ActionScript
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;
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
471
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
obj:Object - 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.
menuItem:Object
472
- Référence à l'objet ContextMenuItem sélectionné.
Chapitre 2: 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 également
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
473
Voir également
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;
474
Chapitre 2: Classes ActionScript
ConvolutionFilter
(flash.filters.ConvolutionFilter)
Object
|
+-flash.filters.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 les filtres lors de l'exécution du clip, 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, utilise
l'objet BitmapData d'origine ainsi que l'objet filtre pour générer 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.
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)
475
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 également
applyFilter (méthode BitmapData.applyFilter), filters (propriété
MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap)
476
Chapitre 2: Classes ActionScript
Résumé des propriétés
Modificateurs Propriété
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).
matrixY:Number
La dimension y de la matrice (le nombre de lignes de la
matrice).
preserveAlpha:Boolea Indique ce à quoi la convolution s'applique.
n
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
ConvolutionFilter(ma Initialise une occurrence ConvolutionFilter avec les paramètres spécifiés.
trixX:Number,
matrixY:Number,
matrix:Array,
[divisor:Number],
[bias:Number],
[preserveAlpha:Boole
an],
[clamp:Boolean],
[color:Number],
[alpha:Number])
ConvolutionFilter (flash.filters.ConvolutionFilter)
477
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)
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 %. La valeur par défaut est 1,0.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Exemple
L'exemple suivant change 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 = .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());
478
Chapitre 2: Classes ActionScript
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 change 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;
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 spécifié de l'image d'entrée. Une 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
ConvolutionFilter (flash.filters.ConvolutionFilter)
479
Exemple
L'exemple suivant change la propriété clamp de filter de sa valeur par défaut true à false.
import
import
import
import
flash.filters.ConvolutionFilter;
flash.display.BitmapData;
flash.geom.Rectangle;
flash.geom.Point;
var clamp:Boolean = false;
var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1,
1, 1, 1, 1], 9, 0, true, clamp, 0x00FF00, 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);
mc.onPress = function() {
myBitmapData.applyFilter(myBitmapData, new Rectangle(0, 0, 98, 78), new
Point(2, -2), 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
- Nouvelle occurrence ConvolutionFilter dont les
propriétés sont toutes identiques à celles de l'occurrence d'origine.
flash.filters.ConvolutionFilter
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 ne l'est pas, même s'il
contient les mêmes valeurs que filter_1.
import flash.filters.ConvolutionFilter;
var filter_1:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1,
1, 1, 1, 1], 9);
480
Chapitre 2: Classes ActionScript
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
}
Pour démontrer davantage les relations 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;
ConvolutionFilter (flash.filters.ConvolutionFilter)
481
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);
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);
}
482
Chapitre 2: Classes ActionScript
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
[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.
divisor:Number
bias:Number [facultatif ] - Ecart à ajouter au résultat de la transformation de matrice. La
valeur par défaut est 0.
[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. Une 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.
color:Number
[facultatif ] - Couleur hexadécimale à substituer aux pixels provenant de
l'image source.
alpha:Number
[facultatif ] - Valeur Alpha de la couleur de substitution.
ConvolutionFilter (flash.filters.ConvolutionFilter)
483
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 ayant les 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);
}
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 change la propriété divisor de filter à 6.
import flash.filters.ConvolutionFilter;
import flash.display.BitmapData;
484
Chapitre 2: Classes ActionScript
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
Exemple
L'exemple suivant change la propriété matrix de filter d'une valeur qui estompe une
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);
ConvolutionFilter (flash.filters.ConvolutionFilter)
485
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
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
486
Chapitre 2: Classes ActionScript
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 change la propriété preserveAlpha de filter de sa valeur par défaut
true à false.
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);
}
CustomActions
Object
|
+-CustomActions
public class CustomActions
extends Object
CustomActions
487
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 des actions
personnalisées nommé name.
get(name:String) :
String
static
install(name:String, Installe un nouveau fichier de définition XML des
data:String) :
actions personnalisées indiqué par le paramètre name.
Boolean
Renvoie un objet Array contenant les noms de toutes
les actions personnalisées enregistrées via l'outil de
programmation Flash.
static
list() : Array
static
uninstall(name:Strin Supprime le fichier de définition XML des actions
g) : Boolean
personnalisées nommé name.
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)
488
Chapitre 2: Classes ActionScript
get (méthode CustomActions.get)
public static get(name:String) : String
Lit le contenu du fichier de définition XML des 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, une valeur undefined
est renvoyée. Si la définition XML des 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
- Si la définition XML des actions personnalisées est localisée, renvoie une chaîne ;
sinon, renvoie une valeur undefined.
String
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);
CustomActions
489
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>
<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>
490
Chapitre 2: Classes ActionScript
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.
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;
CustomActions
491
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 des 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.
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());
492
Chapitre 2: Classes ActionScript
};
my_xml.load("dogclass.xml");
uninstall_btn.onRelease = function() {
CustomActions.uninstall("dogclass");
trace(CustomActions.list());
};
Pour plus d'informations sur la création de dogclass.xml, consultez
CustomActions.install().
Voir également
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.
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.
Date
493
■
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é)
Résumé des constructeurs
Signature
Description
Date([yearOrTimevalu Construit un nouvel objet Date qui contient la date et l'heure spécifiées.
e:Number],
[month:Number],
[date:Number],
[hour:Number],
[minute:Number],
[second:Number],
[millisecond:Number]
)
494
Chapitre 2: Classes ActionScript
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() :
Renvoie les millisecondes (entier de 0 à 999) de
l'objet Date spécifié, conformément à l'heure locale.
Number
getMinutes() :
Number
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() :
Renvoie les secondes (entier de 0 à 59) de l'objet
Date spécifié, conformément à l'heure locale.
Number
getTime() : Number
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 locale
de l'ordinateur et l'heure universelle.
: Number
getUTCDate() :
Number
Renvoie le jour du mois (entier de 1 à 31) de l'objet
Date spécifié, conformément à l'heure universelle.
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.
getUTCFullYear() :
Number
getUTCHours() :
Number
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.
Date
495
Modificateurs Signature
getUTCMinutes() :
Number
getUTCMonth() :
Number
getUTCSeconds() :
Number
getUTCYear() :
Number
getYear() : Number
Description
Renvoie les minutes (entier de 0 à 59) de l'objet Date
spécifié, conformément à l'heure universelle.
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.
Renvoie l'année de l'objet Date spécifié,
conformément à l'heure locale.
setDate(date:Number) Définit le jour du mois de l'objet Date spécifié,
: Number
conformément à l'heure locale, et renvoie la nouvelle
heure en millisecondes.
setFullYear(year:Num Définit l'année de l'objet Date spécifié, conformément
ber, [month:Number], à l'heure locale, et renvoie la nouvelle heure en
[date:Number]) :
millisecondes.
Number
setHours(hour:Number Définit les heures de l'objet Date spécifié
) : Number
conformément à l'heure locale et renvoie la nouvelle
heure en millisecondes.
setMilliseconds(mill Définit les millisecondes de l'objet Date spécifié
isecond:Number) :
Number
conformément à l'heure locale et renvoie la nouvelle
heure en millisecondes.
setMinutes(minute:Nu Définit les minutes de l'objet Date spécifié
mber) : Number
conformément à l'heure locale et renvoie la nouvelle
heure en millisecondes.
setMonth(month:Numbe Définit le mois de l'objet Date spécifié conformément à
r, [date:Number]) :
Number
l'heure locale et renvoie la nouvelle heure en
millisecondes.
setSeconds(second:Nu Définit les secondes de l'objet Date spécifié
mber) : Number
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 millisecondes
Number) : Number
496
Chapitre 2: Classes ActionScript
écoulées depuis le premier janvier 1970 à minuit et
renvoie la nouvelle heure en millisecondes.
Modificateurs Signature
Description
setUTCDate(date:Numb Définit la date de l'objet Date spécifié conformément à
er) : Number
l'heure universelle et renvoie la nouvelle heure en
millisecondes.
setUTCFullYear(year: Définit l'année de l'objet Date spécifié (my_date)
Number,
[month:Number],
conformément à l'heure universelle et renvoie la
nouvelle heure en millisecondes.
[date:Number]) :
Number
setUTCHours(hour:Num Définit l'heure de l'objet Date spécifié conformément à
ber,
[minute:Number],
l'heure universelle et renvoie la nouvelle heure en
millisecondes.
[second:Number],
[millisecond:Number]
) : Number
setUTCMilliseconds(m Définit les millisecondes de l'objet Date spécifié
illisecond:Number) : conformément à l'heure universelle et renvoie la
Number
nouvelle heure en millisecondes.
setUTCMinutes(minute Définit les minutes de l'objet Date spécifié
:Number,
[second:Number],
conformément à l'heure universelle et renvoie la
nouvelle heure en millisecondes.
[millisecond:Number]
) : Number
setUTCMonth(month:Nu Définit le mois, et éventuellement le jour, de l'objet
mber,
[date:Number]) :
Date spécifié conformément à l'heure universelle et
renvoie la nouvelle heure en millisecondes.
Number
setUTCSeconds(second Définit les secondes de l'objet Date spécifié
:Number,
conformément à l'heure universelle et renvoie la
[millisecond:Number] nouvelle heure en millisecondes.
) : Number
setYear(year:Number) Définit l'année de l'objet Date spécifié conformément
: Number
toString() : String
à l'heure locale et renvoie la nouvelle heure en
millisecondes.
Renvoie une valeur de chaîne pour l'objet de date
spécifié dans un format lisible.
Date
497
Modificateurs Signature
Description
static
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.
UTC(year:Number,
month:Number,
[date:Number],
[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
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);
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.
498
Chapitre 2: Classes ActionScript
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
yearOrTimevalue:Number [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.
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
- Entier compris entre 0 et 999 millisecondes.
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);
Date
499
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); // displays current date in United States date format
Voir également
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); // displays current date in United States date format
Voir également
getMinutes (méthode Date.getMinutes), getFullYear (méthode Date.getFullYear)
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.
500
Chapitre 2: Classes ActionScript
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()); // displays 104
trace(my_date.getFullYear()); // displays current year
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
Date
501
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
- 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 getMilliseconds() pour renvoyer la valeur en millisecondes de
cet objet :
var my_date:Date = new Date();
trace(my_date.getMilliseconds());
502
Chapitre 2: Classes ActionScript
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());
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 {
Date
503
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
- 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 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());
504
Chapitre 2: Classes ActionScript
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.
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()); // output: 25
Date
505
Voir également
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()); // output will be based on local timezone
trace(today_date.getUTCDay()); // output will equal getDay() plus or minus
one
Voir également
getDay (méthode Date.getDay)
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
506
- Entier.
Chapitre 2: Classes ActionScript
Exemple
L'exemple suivant crée un nouvel objet Date object 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()); // display based on local timezone
trace(today_date.getUTCFullYear()); // displays getYear() plus or minus 1
Voir également
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()); // display based on local timezone
trace(today_date.getUTCHours()); // display equals getHours() plus or minus
12
Voir également
getHours (méthode Date.getHours)
Date
507
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());
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.
508
Chapitre 2: Classes ActionScript
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()); // output based on local timezone
trace(today_date.getUTCMonth()); // output equals getMonth() plus or minus
1
Voir également
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());
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.
Date
509
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()); // display based on local timezone
trace(today_date.getUTCFullYear()); // displays getYear() plus or minus 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()); // output: 104
trace(today_date.getFullYear()); // output: 2004
Voir également
getFullYear (méthode Date.getFullYear)
510
Chapitre 2: Classes ActionScript
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 mai
2004 :
var today_date:Date = new Date(2004,4,15);
trace(today_date.getDate()); //displays 15
today_date.setDate(25);
trace(today_date.getDate()); //displays 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 définis 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
Paramètres
year:Number - 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.
Date
511
[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
mai 2002 :
var my_date:Date = new Date(2004,4,15);
trace(my_date.getFullYear()); //output: 2004
my_date.setFullYear(2002);
trace(my_date.getFullYear()); //output: 2002
Voir également
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
- 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.setHours() pour modifier l'heure et la
définir sur 16:00 :
512
Chapitre 2: Classes ActionScript
var my_date:Date = new Date(2004,4,15,8);
trace(my_date.getHours()); // output: 8
my_date.setHours(16);
trace(my_date.getHours()); // output: 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()); // output: 250
my_date.setMilliseconds(575);
trace(my_date.getMilliseconds()); // output: 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
Paramètres
minute:Number
- Entier compris entre 0 et 59.
Date
513
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()); // output: 0
my_date.setMinutes(30);
trace(my_date.getMinutes()); // output: 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).
date: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é.
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()); //output: 4
my_date.setMonth(5);
trace(my_date.getMonth()); //output: 5
514
Chapitre 2: 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()); // output: 0
my_date.setSeconds(45);
trace(my_date.getSeconds()); // output: 45
setTime (méthode Date.setTime)
public setMilliseconds(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
515
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(); // convert my_date to
milliseconds
myDate_num += 30 * 60 * 1000; // add 30 minutes in milliseconds
my_date.setTime(myDate_num); // set my_date Date object 30 minutes forward
trace(my_date.getFullYear()); // output: 2004
trace(my_date.getMonth()); // output: 4
trace(my_date.getDate()); // output: 15
trace(my_date.getHours()); // output: 8
trace(my_date.getMinutes()); // output: 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()); // output: 10
my_date.setUTCDate(25);
trace(my_date.getUTCDate()); // output: 25
516
Chapitre 2: Classes ActionScript
Voir également
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
year:Number - Entier représentant l'année spécifiée en tant qu'année entière à quatre chiffres,
telle que 2000.
[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()); // output: 2001
my_date.setUTCFullYear(1995, 4, 25);
trace(my_date.getUTCFullYear()); // output: 1995
trace(my_date.getUTCMonth()); // output: 4
trace(my_date.getUTCDate()); // output: 25
Voir également
getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay)
Date
517
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).
[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é.
minute: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é.
second:Number
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()); // output: 8
trace(my_date.getUTCMinutes()); // output: 30
my_date.setUTCHours(17,30,47);
trace(my_date.getUTCHours()); // output: 17
trace(my_date.getUTCMinutes()); // output: 30
trace(my_date.getUTCSeconds()); // output: 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.
518
Chapitre 2: Classes ActionScript
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()); // output: 250
my_date.setUTCMilliseconds(575);
trace(my_date.getUTCMilliseconds()); // output: 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
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.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()); // output: 0
my_date.setUTCMinutes(30);
trace(my_date.getUTCMinutes()); // output: 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).
date: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é.
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 juin
2004 :
var today_date:Date = new Date(2004,4,15);
trace(today_date.getUTCMonth()); // output: 4
today_date.setUTCMonth(5);
trace(today_date.getUTCMonth()); // output: 5
Voir également
getUTCDay (méthode Date.getUTCDay), getDay (méthode Date.getDay)
520
Chapitre 2: Classes ActionScript
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()); // output: 0
my_date.setUTCSeconds(45);
trace(my_date.getUTCSeconds()); // output: 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
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.
Date
521
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()); // output: 104
trace(my_date.getFullYear()); // output: 2004
my_date.setYear(99);
trace(my_date.getYear()); // output: 99
trace(my_date.getFullYear()); // output: 1999
my_date.setYear(2003);
trace(my_date.getYear()); // output: 103
trace(my_date.getFullYear()); // output: 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());
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.
522
Chapitre 2: Classes ActionScript
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);
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.
Date
523
DisplacementMapFilter
(flash.filters.DisplacementMapFilter)
Object
|
+-flash.filters.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
L'appel applyFilter() sur un objet BitmapData modifie ce
dernier et ne peut pas être annulé.
BitmapData.applyFilter().
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.
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.
524
Chapitre 2: Classes ActionScript
Ce filtre prend en charge 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 la
bitmap de destination, la classe DisplacementMapFilter effectue ce qui suit :
■
Elle acquiert la couleur de (x,y) dans le mappage de la bitmap
■
Elle calcule un décalage sur la base de cette couleur
■
Elle recherche cet emplacement de décalage (x+dx,y+dy) dans la 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 également
applyFilter (méthode BitmapData.applyFilter), filters (propriété
MovieClip.filters), cacheAsBitmap (propriété MovieClip.cacheAsBitmap)
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
525
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.
mapBitmap:BitmapData 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é)
526
Chapitre 2: Classes ActionScript
Récapitulatif des constructeurs
Signature
Description
DisplacementMapFilte Initialise une occurrence DisplacementMapFilter avec les paramètres
r(mapBitmap:BitmapDa spécifiés.
ta, mapPoint:Point,
componentX:Number,
componentY:Number,
scaleX:Number,
scaleY:Number,
[mode:String],
[color:Number],
[alpha:Number])
Résumé de la méthode
Modificateurs Signature
Description
Renvoie une copie de cet objet filtre.
clone() :
DisplacementMapFilte
r
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)
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
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
527
Exemple
L'exemple suivant modifie la propriété hors limites alpha pour la mettre à 0x00FF00 sur le
clip existant 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;
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;
528
Chapitre 2: 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;
}
clone (méthode DisplacementMapFilter.clone)
public clone() : DisplacementMapFilter
Renvoie une copie de cet objet filtre.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Valeur renvoyée
- Nouvelle occurrence DisplacementMapFilter
dont les propriétés sont toutes identiques à celles de l'occurrence d'origine.
flash.filters.DisplacementMapFilter
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 ne l'est pas, même s'il
contient les mêmes valeurs que filter_1.
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);
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
529
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
// >> 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);
530
Chapitre 2: Classes ActionScript
bmp.draw(mc, new Matrix(), new ColorTransform(), "normal",
bmp.rectangle, true);
mc.attachBitmap(bmp, this.getNextHighestDepth());
return bmp;
}
Pour démontrer davantage les relations 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();
trace(filter_1.mode); // wrap
trace(filter_2.mode); // wrap
trace(clonedFilter.mode); // wrap
filter_1.mode = "ignore";
trace(filter_1.mode); // ignore
trace(filter_2.mode); // ignore
trace(clonedFilter.mode); // wrap
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;
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
531
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
Exemple
L'exemple suivant modifie la propriété hors limites color pour la mettre à 0x00FF00 sur le
clip existant 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;
532
Chapitre 2: Classes ActionScript
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;
}
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
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
533
Exemple
L'exemple suivant change la propriété componentX sur le 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);
}
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;
534
Chapitre 2: 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;
}
Voir également
BitmapData (flash.display.BitmapData)
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 change la propriété componentY sur le 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;
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
535
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;
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;
}
536
Chapitre 2: Classes ActionScript
Voir également
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:flash.display.BitmapData
- Objet BitmapData contenant les données de
mappage du déplacement.
- 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.
mapPoint:flash.geom.Point
- 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 :
componentX:Number
■
1
(rouge)
■
2
(vert)
■
4(bleu)
■
8
(alpha)
- 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 :
componentY:Number
■
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
[facultatif ] - Mode du filtre. Les valeurs possibles sont les suivantes :
- Ramène la valeur de déplacement à l'autre côté de l'image source.
■
"wrap"
■
"clamp"
- Corrige la valeur de déplacement en fonction du bord de l'image source.
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
537
- Si la valeur de déplacement est hors limites, ignore le déplacement et utilise le
pixel source.
■
"ignore"
■
"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.
[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".
color:Number
alpha:Number [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 1,0.
Utilisez ce paramètre si le mode est défini sur "color".
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])
L'exemple suivant instancie un nouveau DisplacementMapFilter ayant une 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);
538
Chapitre 2: Classes ActionScript
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;
}
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 plutôt acquérir une référence à mapBitmap, effectuer le changement de référence et
ensuite définir mapBitmap par rapport à la référence.
Disponibilité : ActionScript 1.0 ; Flash Player 8
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
539
Exemple
L'exemple suivant change la propriété mapBitmap sur le 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");
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;
540
Chapitre 2: 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;
}
Voir également
BitmapData (flash.display.BitmapData)
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 plutôt acquérir une référence à mapPoint, effectuer le changement de référence et
ensuite définir mapPoint par rapport à la référence.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Exemple
L'exemple suivant change la propriété mapPoint sur le 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() {
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
541
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;
}
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);
542
Chapitre 2: Classes ActionScript
txtBlock.txt.text = "watch the text bend with the displacement map";
return txtBlock;
}
Voir également
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.
■
"clamp"
■
"ignore"
■
"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.
"wrap"
- 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.
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");
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;
}
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.
544
Chapitre 2: Classes ActionScript
Disponibilité : ActionScript 1.0 ; Flash Player 8
Exemple
L'exemple suivant change la propriété scaleX sur le 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);
}
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;
DisplacementMapFilter (flash.filters.DisplacementMapFilter)
545
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;
}
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 change la propriété scaleY sur le 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");
546
Chapitre 2: Classes ActionScript
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)
547
DropShadowFilter
(flash.filters.DropShadowFilter)
Object
|
+-flash.filters.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.
■
Pour appliquer des filtres aux occurrences BitmapData, utilisez la méthode
BitmapData.applyFilter(). L'appel d'applyFilter() sur un objet BitmapData utilise
l'objet BitmapData source ainsi que l'objet filtre pour générer 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. 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
548
Chapitre 2: Classes ActionScript
Voir également
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
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.
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 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é)
DropShadowFilter (flash.filters.DropShadowFilter)
549
Récapitulatif des constructeurs
Signature
Description
DropShadowFilter([di Crée une nouvelle occurrence DropShadowFilter avec les paramètres
spécifiés.
stance:Number],
[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)
alpha (propriété DropShadowFilter.alpha)
public alpha : Number
La valeur de transparence alpha de la couleur d'ombre. Les valeurs valides vont de 0 à 1. Par
exemple, 0,25 définit la valeur de transparence à 25 %. La valeur par défaut est 1.
Disponibilité : ActionScript 1.0 ; Flash Player 8
550
Chapitre 2: Classes ActionScript
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 = .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, .8,
16, 16, 1, 3, false, false, false);
var filterArray:Array = new Array();
filterArray.push(filter);
art.filters = filterArray;
return art;
}
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 change la propriété angle sur une occurrence de clip existant quand un
utilisateur clique dessus.
DropShadowFilter (flash.filters.DropShadowFilter)
551
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, .8,
16, 16, 1, 3, false, false, false);
var filterArray:Array = new Array();
filterArray.push(filter);
art.filters = filterArray;
return art;
}
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 change la propriété blurX sur une occurrence de clip existant quand 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);
552
Chapitre 2: Classes ActionScript
}
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, .8,
16, 16, 1, 3, false, false, false);
var filterArray:Array = new Array();
filterArray.push(filter);
art.filters = filterArray;
return art;
}
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 change la propriété blurY sur une occurrence de clip existant quand 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;
DropShadowFilter (flash.filters.DropShadowFilter)
553
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, .8,
16, 16, 1, 3, false, false, false);
var filterArray:Array = new Array();
filterArray.push(filter);
art.filters = filterArray;
return art;
}
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
- Nouvelle occurrence DropShadowFilter dont les
propriétés sont toutes identiques à celles de l'occurrence d'origine.
flash.filters.DropShadowFilter
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 ne l'est pas, même s'il contient les mêmes valeurs que
filter_1.
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) {
554
Chapitre 2: Classes ActionScript
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]
// >> hideObject: false
// >> strength: 1
// >> blurY: 16
// >> blurX: 16
// >> knockout: false
// >> inner: false
// >> quality: 3
// >> alpha: 0.8
// >> color: 0
// >> angle: 45
// >> distance: 15
}
Pour démontrer davantage les relations 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 nouvelle occurrence basée sur les valeurs de
filter_1 au lieu de faire référence à ces valeurs.
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.knockout); // false
trace(filter_2.knockout); // false
trace(clonedFilter.knockout); // false
filter_1.knockout = true;
trace(filter_1.knockout); // true
DropShadowFilter (flash.filters.DropShadowFilter)
555
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
Exemple
L'exemple suivant change la propriété color sur une occurrence de clip existant quand 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, .8,
16, 16, 1, 3, false, false, false);
var filterArray:Array = new Array();
filterArray.push(filter);
art.filters = filterArray;
return art;
}
556
Chapitre 2: Classes ActionScript
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 change la propriété distance sur une occurrence de clip existant quand un
utilisateur clique dessus.
import flash.filters.DropShadowFilter;
var mc:MovieClip = createDropShadowRectangle("DropShadowDistance");
mc.onRelease = function() {
var filter:DropShadowFilter = this.filters[0];
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, .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.
DropShadowFilter (flash.filters.DropShadowFilter)
557
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
distance:Number [facultatif ] - Distance de décalage de l'ombre en pixels. La valeur par
défaut est 4 (virgule flottante).
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 0xRRGGBB. La
valeur par défaut est 0x000000.
color:Number
[facultatif ] - Valeur de transparence alpha de la couleur d'ombre. Les valeurs
valides vont de 0 à 1. Par exemple, 0,25 définit la valeur de transparence à 25 %. La valeur par
défaut est 1.
alpha:Number
blurX:Number [facultatif ] - Quantité de flou à appliquer horizontalement. 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.
[facultatif ] - Quantité de flou à appliquer verticalement. 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 de fois que 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.
[facultatif ] - Indique si l'ombre est intérieure ou non. Une 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 soit pas de poinçonnage.
knockout:Boolean
[facultatif ] - 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.
hideObject:Boolean
558
Chapitre 2: Classes ActionScript
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 = .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;
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;
}
DropShadowFilter (flash.filters.DropShadowFilter)
559
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 change la propriété hideObject sur un clip existant quand 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);
}
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, .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.
560
Chapitre 2: Classes ActionScript
Disponibilité : ActionScript 1.0 ; Flash Player 8
Exemple
L'exemple suivant change la propriété inner sur un clip existant quand 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;
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, .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 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
soit pas de poinçonnage.
Disponibilité : ActionScript 1.0 ; Flash Player 8
DropShadowFilter (flash.filters.DropShadowFilter)
561
Exemple
L'exemple suivant change la propriété knockout sur un clip existant quand 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);
art._x = 20;
art._y = 20;
var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, .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. Plutôt que
d'augmenter la valeur de quality, vous pouvez souvent obtenir un effet similaire avec un
rendu plus rapide en augmentant simplement les valeurs de blurX et blurY.
562
Chapitre 2: Classes ActionScript
Disponibilité : ActionScript 1.0 ; Flash Player 8
Exemple
L'exemple suivant change la propriété quality sur un clip existant quand 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);
art.lineTo(0, h);
art.lineTo(0, 0);
art._x = 20;
art._y = 20;
var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, .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
DropShadowFilter (flash.filters.DropShadowFilter)
563
Exemple
L'exemple suivant change la propriété strength sur un clip existant quand un utilisateur
clique dessus.
import flash.filters.DropShadowFilter;
var mc:MovieClip = createDropShadowRectangle("DropShadowStrength");
mc.onRelease = function() {
var filter:DropShadowFilter = this.filters[0];
filter.strength = .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;
var filter:DropShadowFilter = new DropShadowFilter(15, 45, 0x000000, .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.
564
Chapitre 2: Classes ActionScript
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:Strin Crée un nouvel objet Error.
g])
Résumé de la méthode
Modificateurs Signature
toString() : String
Description
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.
Erreur
565
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");
// output: Strings do not match.
} catch (e_err:Error) {
trace(e_err.toString());
}
Voir également
Instruction throw, Instruction try..catch..finally
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.");
566
Chapitre 2: Classes ActionScript
}
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 également
Instruction throw, Instruction try..catch..finally
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);
// output: DivideByZeroError -> Unable to divide by zero.
} catch (e_err:DivideByZeroError) {
// divide by zero error occurred
trace(e_err.name+" -> "+e_err.toString());
} catch (e_err:Error) {
// generic error occurred
trace(e_err.name+" -> "+e_err.toString());
Erreur
567
}
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 également
Instruction throw, Instruction try..catch..finally
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");
// output: Strings do not match.
} catch (e_err:Error) {
trace(e_err.toString());
}
Voir également
message (propriété Error.message), Instruction throw, Instruction
try..catch..finally
568
Chapitre 2: Classes ActionScript
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.
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 pris en charge par les combinaisons suivantes de navigateurs et de
systèmes d'exploitation :
Navigateur
Système d'exploitation
Internet Explorer 5.0 et Windows
versions ultérieures
Netscape 8.0 et
versions ultérieures
Windows
Macintosh
Mozilla 1.7.5 et
versions ultérieures
Windows
Macintosh
Firefox 1.0 et versions
ultérieures
Windows
Macintosh
Safari 1.3 et versions
ultérieures
Macintosh
ExternalInterface (flash.external.ExternalInterface)
569
ExternalInterface requiert que le navigateur Web de l'utilisateur prenne en charge 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]
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(methodNa Enregistre une méthode ActionScript comme pouvant
me:String,
être appelée à partir du conteneur.
instance:Object,
method:Function) :
Boolean
static
call(methodName:Stri Appelle une fonction présentée par le conteneur Flash
ng,
Player, en transmettant la valeur zéro ou d'autres
[parameter1:Object]) arguments.
: 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)
570
Chapitre 2: Classes ActionScript
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
Paramètres
- 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.
methodName:String
- 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
Boolean - 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.
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 définissant une valeur appropriée pour la balise
allowScriptAccess OBJECT ou EMBED du HTML de l'environnement conteneur.
Exemple
L'exemple suivant enregistre la fonction goToMacromedia() 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 = goToMacromedia;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName,
instance, method);
var txtField:TextField = this.createTextField("txtField",
this.getNextHighestDepth(), 0, 0, 200, 50);
ExternalInterface (flash.external.ExternalInterface)
571
txtField.border = true;
txtField.text = wasSuccessful.toString();
function goToMacromedia() {
txtField.text = "http://www.macromedia.com";
getURL("http://www.macromedia.com", "_self");
}
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>
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
572
Chapitre 2: 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 la prise en charge
personnalisé de 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)
573
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;
}
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.";
574
Chapitre 2: Classes ActionScript
}
</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 :
■
En utilisant 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é.
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. Lorsque l'appel de la
méthode browse() a réussi, 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 initie le téléchargement à partir d'une URL
distante.
FileReference (flash.net.FileReference)
575
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 initié 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(),
FileReferenceList.browse(), ou FileReference.download() s'exécutent, la lecture du
fichier SWF s'arrête sur les plate-formes suivantes : 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
ulté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
Disponibilité : ActionScript 1.0 ; Flash Player 8
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";
576
Chapitre 2: Classes ActionScript
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);
}
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 également
FileReferenceList (flash.net.FileReferenceList)
FileReference (flash.net.FileReference)
577
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]
modificationDate:Dat Date de la dernière modification du fichier sur le disque
e [lecture seule]
local.
name:String [lecture
Nom du fichier sur le disque local.
seule]
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é)
Résumé des événements
Evénement
Description
onCancel =
Appelé lorsque l'utilisateur ferme la boîte de dialogue de recherche de
function(fileRef fichier.
:FileReference)
{}
onComplete =
Appelé en cas de réussite de l'opération d'envoi ou de téléchargement.
function(fileRef
:FileReference)
{}
onHTTPError =
Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP.
function(fileRef
:FileReference,
httpError:Number
) {}
578
Chapitre 2: Classes ActionScript
Evénement
Description
onIOError =
Appelé lorsqu'une erreur d'entrée/sortie se produit.
function(fileRef
:FileReference)
{}
onOpen =
Appelé au début d'une opération d'envoi ou de téléchargement.
function(fileRef
:FileReference)
{}
onProgress =
Appelé régulièrement pendant l'opération d'envoi ou de téléchargement.
function(fileRef
:FileReference,
bytesLoaded:Numb
er,
bytesTotal:Numbe
r) {}
onSecurityError
=
Appelé lorsqu'un envoi ou un téléchargement échoue en raison d'une
erreur de sécurité.
function(fileRef
:FileReference,
errorString:Stri
ng) {}
onSelect =
Appelé lorsque l'utilisateur sélectionne un fichier à envoyer ou télécharger
function(fileRef dans la boîte de dialogue de recherche de fichiers.
:FileReference)
{}
Récapitulatif des constructeurs
Signature
Description
FileReference()
Crée un nouvel objet FileReference.
FileReference (flash.net.FileReference)
579
Résumé de la méthode
Modificateurs Signature
Description
addListener(listener Enregistre un objet pour recevoir une notification
:Object) : Void
lorsqu'un écouteur d'événements FileReference est
invoqué.
browse([typelist:Arr Affiche une boîte de dialogue de recherche de fichier
ay]) : Boolean
dans laquelle l'utilisateur peut sélectionner un fichier
local à envoyer.
cancel() : Void
Annule une opération de chargement ou de
téléchargement en cours sur cet objet FileReference.
download(url:String, Affiche une boîte de dialogue permettant à l'utilisateur
[defaultFileName:Str de télécharger un fichier à partir d'un serveur distant.
ing]) : Boolean
removeListener(liste Supprime un objet de la liste d'objets recevant des
ner:Object) :
messages de notification d'événement.
Boolean
upload(url:String) : Procède au chargement d'un fichier sélectionné par un
Boolean
utilisateur sur un serveur distant.
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.
580
Chapitre 2: 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.macromedia.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)
581
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. 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 : [{description: "string describing the first set of file types",
extension: "semicolon-delimited list of file extensions"}]
Exemple :
[{description: "Images", extension: "*.jpg;*.gif;*.png"}, {description:
"Flash Movies", 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. 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 :
[{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"}]
Exemple :
[{description: "Image files", extension: "*.jpg;*.gif;*.png", macType:
"JPEG;jp2_;GIFF"}, {description: "Flash Movies", 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.
582
Chapitre 2: Classes ActionScript
Valeur renvoyée
Boolean - Renvoie true si les paramètres sont valides et que la boîte de dialogue 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.
Evénements
onCancel
Invoqué quand l'utilisateur ferme la boîte de dialogue en cliquant sur Annuler ou en la
fermant.
onSelect
Invoqué quand l'utilisateur réussit à choisir un élément à télécharger dans la boîte de dialogue.
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 également
onSelect (écouteur d'événement FileReferenceList.onSelect), onCancel
(écouteur d'événement FileReference.onCancel), download (méthode
FileReference.download), browse (méthode FileReferenceList.browse)
FileReference (flash.net.FileReference)
583
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
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.macromedia.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();
584
Chapitre 2: Classes ActionScript
listener.onSelect = function(file:FileReference):Void {
trace("creationDate: " + file.creationDate);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
Voir également
browse (méthode FileReference.browse)
creator (propriété FileReference.creator)
public creator : String [lecture seule]
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 également
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 peut télécharger des fichiers jusqu'à 100 Mo.
FileReference (flash.net.FileReference)
585
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.
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. Vous pouvez également envoyer des données 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 :
■
Interdit si le fichier SWF appelant est dans une Sandbox locale non sûre.
■
Par défaut, l'accès est refusé entre Sandboxes. Un site web peut autoriser l'accès à une
ressource en ajoutant un fichier de régulation inter-domaines.
Pour plus d'informations, consultez les sections suivantes :
■
Chapitre 17, « Compréhension de la sécurité » dans Apprentissage d' ActionScript 2.0 dans
Flash
■
Le livre blanc sur la sécurité dans Flash Player 8
■
Le livre blanc sur la sécurité dans Flash Player 8 en liaison avec les API
Disponibilité : ActionScript 1.0 ; Flash Player 8
586
Chapitre 2: Classes ActionScript
Paramètres
url:String - URL du fichier à télécharger sur l'ordinateur local. Vous pouvez également
envoyer des données 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://
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.
defaultFileName:String [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 : / \ : *
?"<>|%
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; c'est-à-dire que 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.
Evénements
onCancel
Invoqué lorsque l'utilisateur ferme la boîte de dialogue.
onComplete
Appelé en cas de réussite de l'opération de téléchargement.
onIOError
FileReference (flash.net.FileReference)
587
Invoqué pour l'une des raisons suivantes :
■
Une erreur d'entrée/sortie se produit lors de la lecture ou de la transmission du fichier.
■
Le fichier SWF tente de télécharger un fichier à partir d'un serveur nécessitant une
authentification, dans le lecteur autonome ou externe. Au cours du téléchargement, les
lecteurs autonomes et externes ne permettent pas aux utilisateurs d'entrer des mots de
passe. Si un fichier SWF présent dans ces lecteurs tente de télécharger un fichier à partir
d'un serveur nécessitant une authentification, le téléchargement échoue. Le
téléchargement de fichiers peut réussir uniquement via les lecteurs avec contrôle ActiveX
et plug-in navigateur.
onOpen
Invoqué lors du démarrage d'un téléchargement.
onProgress
Appelé régulièrement pendant le téléchargement du fichier.
onSecurityError
Appelé lorsqu'un téléchargement échoue en raison d'une erreur de sécurité.
onSelect
Invoqué quand l'utilisateur choisit un fichier à partir de la boîte de dialogue de
téléchargement.
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 {
588
Chapitre 2: Classes ActionScript
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.macromedia.com/platform/whitepapers/
platform_overview.pdf";
if(!fileRef.download(url, "FlashPlatform.pdf")) {
trace("dialog box failed to open.");
}
Voir également
browse (méthode FileReference.browse), browse (méthode
FileReferenceList.browse), upload (méthode FileReference.upload)
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 initie 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);
FileReference (flash.net.FileReference)
589
}
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.download(url, "FlashPlatform.pdf");
Voir également
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 {
trace("modificationDate: " + file.modificationDate);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
Voir également
browse (méthode FileReference.browse)
name (propriété FileReference.name)
public name : String [lecture seule]
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.
590
Chapitre 2: Classes ActionScript
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 également
browse (méthode FileReference.browse)
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:flash.net.FileReference
- Objet FileReference qui a initié 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();
FileReference (flash.net.FileReference)
591
listener.onCancel = function(file:FileReference):Void {
trace("onCancel");
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
if(!fileRef.download(url, "FlashPlatform.pdf")) {
trace("dialog box failed to open.");
}
onCancel (écouteur d'événement
FileReference.onComplete)
onCancel = 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).
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
Exemple
L'exemple suivant trace un message quand l'événement onComplete est déclenché.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onComplete = function(file:FileReference):Void {
trace("onComplete: " + file.name);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
fileRef.download(url, "FlashPlatform.pdf");
592
Chapitre 2: Classes ActionScript
onHTTPError (écouteur d'événement
FileReference.onHTTPError)
onHTTPError = function(fileRef:FileReference, httpError:Number) {}
Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP.
Compte tenu de la façon dont Flash Player s'appuie sur l'ordre d'empilement du navigateur
au cours du téléchargement de fichiers, cette erreur n'est pas applicable aux échecs de
téléchargement. Si un téléchargement échoue en raison d'une erreur HTTP, l'erreur est
signalée en tant qu'erreur d'E/S.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
httpError:Number - Erreur HTTP à l'origine de l'échec de ce chargement. Par exemple, une
erreur httpError 404 indique qu'une page n'a pas été trouvée. Les valeurs d'erreur HTTP
sont répertoriées dans les sections 10.4 et 10.5 de la spécification HTTP à l'adresse ftp://
ftp.isi.edu/in-notes/rfc2616.txt.
Exemple
L'exemple suivant crée un objet FileReference comprenant un écouteur pour chaque
événement possible, y compris onHttpError. Cet écouteur est déclenché uniquement en cas
d'échec du chargement dû à une erreur HTTP.
import flash.net.FileReference;
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);
}
FileReference (flash.net.FileReference)
593
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);
}
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();
onIOError (écouteur d'événement
FileReference.onIOError)
onCancel = function(fileRef:FileReference) {}
Appelé lorsqu'une erreur d'entrée/sortie se produit.
Cet écouteur est invoqué lorsque le chargement ou téléchargement échoue pour l'une des
raisons suivantes :
■
Une erreur d'entrée/sortie se produit lors de la lecture, l'écriture ou la transmission du
fichier.
■
Le fichier SWF tente de charger un fichier sur un serveur nécessitant une authentification
(comme un nom d'utilisateur et un mot de passe). Au cours du chargement, Flash Player
ne permet pas aux utilisateurs d'entrer des mots de passe. Si un fichier SWF tente de
charger un fichier sur un serveur nécessitant une authentification, le chargement échoue.
594
Chapitre 2: Classes ActionScript
■
Le fichier SWF tente de télécharger un fichier à partir d'un serveur nécessitant une
authentification, dans le lecteur autonome ou externe. Au cours du téléchargement, les
lecteurs autonomes et externes ne permettent pas aux utilisateurs d'entrer des mots de
passe. Si un fichier SWF présent dans ces lecteurs tente de télécharger un fichier à partir
d'un serveur nécessitant une authentification, le téléchargement échoue. Le
téléchargement de fichiers peut réussir uniquement via les lecteurs avec contrôle ActiveX
et plug-in navigateur.
■
La valeur passée au paramètre url dans upload() contient un protocole invalide. Les
protocoles valides sont HTTP et HTTPS.
Important : Seules les applications Flash s'exécutant dans un navigateur, via le plug-in du
navigateur ou le contrôle ActiveX, peuvent fournir une boîte de dialogue pour inviter
l'utilisateur à entrer un nom d'utilisateur et un mot de passe en vue de l'authentification, et
ceci uniquement pour les téléchargements. Concernant les chargements effectués via le plugin ou le contrôle ActiveX, ou le chargement/téléchargement via les lecteurs autonomes ou
externes, le transfert de fichiers échoue.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
Exemple
L'exemple suivant trace un message quand l'événement onIOError est déclenché. Pour
simplifier, aucun des autres écouteurs d'événements n'est inclus dans cet exemple.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onIOError = function(file:FileReference):Void {
trace("onIOError");
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.download("http://www.macromedia.com/NonExistentFile.pdf",
"NonExistentFile.pdf");
FileReference (flash.net.FileReference)
595
onOpen (écouteur d'événement
FileReference.onOpen)
onOpen = function(fileRef:FileReference) {}
Appelé au début d'une opération d'envoi ou de téléchargement.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
Exemple
L'exemple suivant trace un message quand l'événement onOpen est déclenché.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onOpen = function(file:FileReference):Void {
trace("onOpen: " + file.name);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
fileRef.download(url, "FlashPlatform.pdf");
onProgress (écouteur d'événement
FileReference.onProgress)
onProgress = function(fileRef:FileReference, bytesLoaded:Number, bytesTotal:Number) {}
Appelé régulièrement pendant l'opération d'envoi ou de téléchargement. L'écouteur
onProgress est invoqué pendant que Flash Player transmet des octets à un serveur, il est
appelé régulièrement pendant la transmission, même si elle ne réussit pas au final. Pour
déterminer si la transmission du fichier est entièrement terminée, et à quel moment, utilisez
onComplete.
Dans certains cas, les écouteurs onProgress ne sont pas invoqués, par exemple lorsque le
fichier transmis est de très petite taille ou lorsque le chargement ou le téléchargement
s'effectuent très rapidement.
596
Chapitre 2: Classes ActionScript
La progression du chargement d'un fichier ne peut pas être déterminée sur les plate-formes
Macintosh avec version antérieure à OS X 10.3. L'événement onProgress est appelé au cours
du chargement, mais la valeur du paramètre bytesLoaded à -1 indique que la progression ne
peut pas être déterminée.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
bytesLoaded:Number
- Objet FileReference qui a initié l'opération.
- Nombre d'octets transmis jusque là.
- Taille totale du fichier à transmettre, en octets. Si la taille ne peut pas
être déterminée, la valeur est -1.
bytesTotal:Number
Exemple
L'exemple suivant trace la progression d'un téléchargement utilisant l'écouteur d'événement
onProgress.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onProgress = function(file:FileReference, bytesLoaded:Number,
bytesTotal:Number):Void {
trace("onProgress: " + file.name + " with bytesLoaded: " + bytesLoaded +
" bytesTotal: " + bytesTotal);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
fileRef.download(url, "FlashPlatform.pdf");
Voir également
FileReference (flash.net.FileReference)
597
onSecurityError (écouteur d'événement
FileReference.onSecurityError)
onSecurityError = function(fileRef:FileReference, errorString:String)
Appelé lorsqu'un envoi ou un téléchargement échoue en raison d'une erreur de sécurité. Le
fichier SWF effectuant l'appel a peut-être essayé d'accéder à un fichier SWF hors de son
domaine et ne dispose pas de l'autorisation requise à cet effet. Vous pouvez tenter de remédier
à cette erreur via un fichier de régulation inter-domaines.
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
- Décrit l'erreur à l'origine de l'appel d'onSecurityError. La valeur
est « securitySandboxError ».
errorString:String
Exemple
L'exemple suivant crée un objet FileReference comprenant un écouteur pour chaque
événement possible, y compris onSecurityError. L'écouteur onSecurityError est
déclenché uniquement en cas d'échec du chargement dû à une erreur de sécurité.
import flash.net.FileReference;
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);
598
Chapitre 2: Classes ActionScript
}
listener.onComplete = function(file:FileReference):Void {
trace("onComplete: " + file.name);
}
listener.onHTTPError = function(file:FileReference):Void {
trace("onHTTPError: " + file.name);
}
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();
onSelect (écouteur d'événement
FileReference.onSelect)
onSelect = 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. (Cette boîte de dialogue est affichée quand vous appelez
FileReference.browse(), FileReferenceList.browse(), ou
FileReference.download().) Lorsque l'utilisateur sélectionne un fichier et confirme
l'opération (par exemple, en cliquant sur OK), les propriétés de l'objet FileReference sont
renseignées.
L'écouteur onSelect fonctionne un peu différemment selon la méthode qui l'invoque.
Quand onSelect est invoqué après un appel browse(), Flash Player peut lire toutes les
propriétés d'un objet FileReference, parce que le fichier choisi est dans le système local de
fichiers. Quand onSelect est invoqué après un appel download(), Flash Player peut lire
uniquement la propriété name, parce que le fichier n'a pas encore été téléchargé dans le
système local de fichiers au moment où onSelect est invoqué. Quand le fichier a été
téléchargé et onComplete invoqué, alors Flash Player peut lire toutes les autres propriétés de
l'objet FileReference.
Disponibilité : ActionScript 1.0 ; Flash Player 8
FileReference (flash.net.FileReference)
599
Paramètres
fileRef:flash.net.FileReference
- Objet FileReference qui a initié l'opération.
Exemple
L'exemple suivant trace un message dans l'écouteur d'événement onSelect.
import flash.net.FileReference;
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.");
}
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
removeListener
(méthodeFileReference.removeListener)
public removeListener(listener:Object) : Boolean
Supprime un objet de la liste d'objets recevant des messages de notification d'événement.
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.
Valeur renvoyée
Boolean - Renvoie true si l'objet spécifié dans le paramètre listener a été enlevé avec
succès. Autrement, cette méthode renvoie false.
Exemple
L'exemple suivant enlève un écouteur d'événement par la méthode removeListener. Si un
utilisateur annule le téléchargement, l'écouteur est enlevé pour qu'il ne continue pas à recevoir
les événements de l'objet FileReference.
import flash.net.FileReference;
600
Chapitre 2: Classes ActionScript
var listener:Object = new Object();
listener.onCancel = function(file:FileReference):Void {
trace(file.removeListener(this)); // true
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.macromedia.com/platform/whitepapers/
platform_overview.pdf";
fileRef.download(url, "FlashPlatform.pdf");
size (propriété FileReference.size)
public size : Number [lecture seule]
Taille du fichier sur le disque local en octets. 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 taille d'un fichier choisi par l'utilisateur.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
trace("size: " + file.size + " bytes");
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
Voir également
browse (méthode FileReference.browse)
type (propriété FileReference.type)
public type : String [lecture seule]
Type de fichier. Sous Windows, cette propriété est l'extension de fichier. Sous Macintosh,
cette propriété est le type de fichier à quatre caractères. 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
FileReference (flash.net.FileReference)
601
Exemple
L'exemple suivant récupère le type d'un fichier choisi par l'utilisateur.
import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
trace("type: " + file.type);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
Voir également
browse (méthode FileReference.browse)
upload (méthode FileReference.upload)
public upload(url:String) : Boolean
Procède au chargement d'un fichier sélectionné par un utilisateur sur un serveur distant. Flash
Player peut télécharger des fichiers jusqu'à 100 Mo. Il est nécessaire d'appeler
FileReference.browse() ou FileReferenceList.browse() avant d'appeler cette
méthode.
Les écouteurs reçoivent des événements permettant d'indiquer la progression du chargement,
s'il a réussi ou échoué. Bien que vous puissiez utiliser l'objet FileReferenceList permettant aux
utilisateurs un choix multiple de fichiers à charger, vous devez charger les fichiers un par un.
Pour cela, faites une itération dans le tableau FileReferenceList.fileList des objets
FileReference.
Le fichier est chargé vers l'URL passée dans le paramètre url. L'URL doit être un script
serveur configuré pour accepter les téléchargements montants. Flash Player télécharge les
fichiers en utilisant la méthode HTTP POST. Le script serveur qui gère le chargement doit
attendre une requête POST comportant les éléments suivants :
■
Un élément Content-Type de multipart/form-data
■
Un élément Content-Disposition avec l'attribut name défini sur "Filedata" et un
attribut filename défini sur le nom du fichier d'origine.
■
Le contenu binaire actuel du fichier
Voici un exemple de requête POST :
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="Filedata"; filename="example.jpg"
602
Chapitre 2: Classes ActionScript
Content-Type: application/octet-stream
... contents of example.jpg ...
--AaB03x--
Vous pouvez envoyer des données au serveur avec l'appel upload() en ajoutant les paramètres
de l'URL.
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 :
■
Interdit si le fichier SWF appelant est dans une Sandbox locale non sûre.
■
Par défaut, l'accès est refusé entre Sandboxes. Un site web peut autoriser l'accès à une
ressource en ajoutant un fichier de régulation inter-domaines.
Pour plus d'informations, consultez les sections suivantes :
■
Chapitre 17, « Compréhension de la sécurité » dans Apprentissage d' ActionScript 2.0 dans
Flash
■
Le livre blanc sur la sécurité dans Flash Player 8
■
Le livre blanc sur la sécurité dans Flash Player 8 en liaison avec les API
Disponibilité : ActionScript 1.0 ; Flash Player 8
Paramètres
- URL du script serveur configuré pour gérer le chargement par appels HTTP
L'URL peut être de type HTTP ou de type HTTPS pour les chargements sécurisés.
url:String
POST.
Vous pouvez envoyer des données au serveur avec l'appel upload() en ajoutant les paramètres
de l'URL ; par ex.http://www.myserver.com/upload.cgi?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.
Valeur renvoyée
Boolean
■
: une valeur false dans l'un des cas suivants :
FileReference.browse()
n'a pas été appelé avec succès sur cet objet, ou
n'a pas été appelé avec succès avec cet objet dans son
FileReferenceList.browse()
tableau filelist.
FileReference (flash.net.FileReference)
603
■
Le protocole utilisé n'est pas le protocole HTTP ou HTTPS.
■
Une violation de sécurité se produit, c'est-à-dire : si votre fichier SWF essaye d'accéder à
un fichier sur un serveur hors de la Sandbox de sécurité de votre fichier SWF.
■
Le type ou le format du paramètre url n'est pas correct.
■
L'appel ne comporte pas le nombre requis de paramètres.
Evénements
onCancel
Invoqué lorsque l'utilisateur ferme la boîte de dialogue.
onComplete
Appelé en cas de réussite de l'opération de téléchargement montant.
onHTTPError
Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP.
onIOError
Invoqué dans l'un des cas suivants :
■
Le chargement échoue en raison d'une erreur d'entrée/sortie lors de la lecture, l'écriture ou
la transmission du fichier par Flash Player.
■
Le fichier SWF tente de charger un fichier sur un serveur nécessitant une authentification
(comme un nom d'utilisateur et un mot de passe). Au cours du chargement, Flash Player
ne permet pas aux utilisateurs d'entrer des mots de passe.
■
Le chargement échoue parce que le paramètre url renferme un protocole invalide.
FileReference.upload() doit utiliser HTTP ou HTTPS.
onOpen
Invoqué lors du démarrage d'un téléchargement montant.
onProgress
Appelé régulièrement pendant le téléchargement du fichier.
onSecurityError
604
Chapitre 2: Classes ActionScript
Appelé lorsqu'un envoi ou un téléchargement échoue en raison d'une erreur de sécurité.
Exemple
L'exemple suivant montre l'implémentation de la méthode upload() en informant d'abord
l'utilisateur de choisir un fichier à télécharger, puis en gérant les écouteurs onSelect et
onCancel, pour finalement gérer les résultats du téléchargement en cours.
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 listener:Object = new Object();
listener.onSelect = function(file:FileReferenc

Manuels associés