▼
Scroll to page 2
of
1280
i ADOBE® DIRECTOR® 11 Dictionnaire de script ADOBE DIRECTOR 11.0 ii Dictionnaire de script © 2007 Adobe Systems Incorporated. Tous droits réservés. Guide de prise en main du logiciel Adobe® Director® 11 pour Windows® Lorsque le présent guide est distribué avec un logiciel assujetti à une licence d’utilisateur final, le présent guide, ainsi que le logiciel en question, sont régis par cette licence. La copie et l’utilisation du présent guide sont soumises aux termes du contrat d’utilisateur final. A moins d’une autorisation expresse accordée par cette licence, la reproduction, le stockage dans un système de récupération et la transmission de ce guide, sous quelque forme que ce soit, mécanique ou électronique, sont interdites sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Veuillez noter que le contenu du présent guide est protégé par les lois sur les droits d’auteur, même s’il n’est pas distribué avec un logiciel assujetti à une licence d’utilisateur final. Les informations contenues dans le guide sont fournies à titre purement informatif ; elles sont susceptibles d’être modifiées sans préavis et ne doivent pas être interprétées comme étant un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated n’accepte aucune responsabilité quant aux erreurs ou inexactitudes pouvant être contenues dans le présent guide. Veuillez noter que les illustrations et images existantes que vous souhaiterez éventuellement inclure dans votre projet sont susceptibles d’être protégées par les lois sur les droits d’auteur. L’inclusion non autorisée de tels éléments dans vos nouveaux travaux peut constituer une violation des droits du propriétaire. Veuillez vous assurer de détenir toute autorisation nécessaire auprès du détenteur des droits. Toute référence à des noms de sociétés dans les modèles ou images types n’est utilisée qu’à titre d’exemple et ne fait référence à aucune société réelle. Adobe, le logo Adobe, Director et Shockwave Player sont des marques ou des marques déposées d’Adobe Systems Incorporated aux Etats-Unis et/ou dans d’autres pays. Microsoft, Windows, Windows Vista, PowerPoint, Windows Media Player, DirectX, DirectSound, Windows Media Audio, Microsoft Speech Application Programming Interface (SAPI) et Internet Explorer sont des marques ou des marques déposées de Microsoft Corporation aux Etats-Unis et/ou dans d’autres pays. Sun est une marque ou une marque déposée de Sun Microsystems, Inc. aux Etats-Unis ou dans d’autres pays. Apple, Mac OS, QuickTime, QT3Mix, MacPaint et Macintosh sont des marques déposées d’Apple, Inc. aux Etats-Unis et dans d’autres pays. Bitstream est une marque ou une marque déposée de Bitstream, Inc. PhysX est une marque déposée de AGEIA Technologies, Inc. Ce produit contient les logiciels BISAFE et/ou TIPEM de RSA Data Security, Inc. Technologie de compression et de décompression vidéo Sorenson Spark™ utilisée sous licence de Sorenson Media, Inc. VeriSign est une marque ou une marque déposée de VeriSign, Inc. RealAudio, RealMedia, RealNetworks, RealPix, RealPlayer, RealOne Player, RealProducer, RealProducer Plus, RealSystem, RealText et RealVideo sont des marques ou des marques déposées de RealNetworks, Inc. Sound Forge est une marque ou une marque déposée de Sony Corporation. OpenGL est une marque déposée de SGI. Targa est une marque déposée de TARGA. Netscape est une marque déposée de Netscape Communications Corporation. Toutes les autres marques citées sont la propriété de leurs détenteurs respectifs. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, Etats-Unis. ADOBE DIRECTOR 11.0 iii Dictionnaire de script Avis aux utilisateurs finaux du gouvernement des Etats-Unis. Ce logiciel et la documentation attenante font partie des « Commercial Items », visés à l’article 48 C.F.R., alinéa 2.101, qui se composent des « Commercial computer software » et « Commercial Computer Software Documentation », visés à l’article 48 C.F.R., alinéa 12.212 ou 48 C.F.R., alinéa 227.7202, selon le cas. Conformément à l’article 48 C.F.R. alinéa 12.212 ou à l’article 48 C.F.R., alinéas 227.7202-1 à 227.7202-4, selon le cas, la licence des « Commercial Computer Software » et « Commercial Computer Software Documentation » est accordée aux utilisateurs finaux faisant partie du gouvernement des Etats-Unis (a) en tant que « Commercial Items » et (b) uniquement selon les droits accordés à tous les autres utilisateurs finaux selon les conditions mentionnées dans les présentes. Droits non publiés réservés dans le cadre des lois sur les droits d’auteur en vigueur aux Etats-Unis. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, Etats-Unis. A l’attention des utilisateurs finaux du gouvernement des Etats-Unis, Adobe s’engage à respecter la législation relative à l’égalité des chances y compris, le cas échéant, les dispositions du décret 11246, tel qu’amendé, à la section 402 de la loi sur l’assistance aux vétérans du Vietnam (Vietnam Era Veterans Readjustment Assistance Act) de 1974 (38 USC 4212) et à la section 503 de la loi sur la réadaptation (Rehabilitation Act) de 1973, telle qu’amendée, et la réglementation des articles 41 CFR, alinéas 60-1 à 60-60, 60-250 et 60-741. La clause d’action positive et la réglementation décrites dans la phrase précédente sont incluses par référence. iv Table des matières Chapitre 1 : Introduction Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Nouveautés concernant la programmation dans Director Nouveautés de cette documentation .................................. 1 ...................................................... 2 Recherche d’informations en matière de programmation dans Director ..................... 3 Chapitre 2 : Principes de base de la programmation dans Director Types de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Terminologie de programmation Syntaxe de programmation Types de données Valeurs littérales Variables .......................................................... 5 ............................................................... 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Constructions conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Evénements, messages et gestionnaires Listes linéaires et listes de propriétés Tableaux de la syntaxe JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Chapitre 3 : Rédaction de scripts dans Director Choix entre Lingo et la syntaxe JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Programmation avec la syntaxe à point Introduction aux objets de Director . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Diagrammes de modèles d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Fonctions et propriétés de haut niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Introduction à la programmation orientée objet dans Director Programmation orientée objet avec la syntaxe Lingo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Programmation orientée objet avec la syntaxe JavaScript Rédaction de scripts dans la fenêtre Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Chapitre 4 : Débogage de scripts dans Director Bonnes habitudes de rédaction de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Opérations de débogage de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Débogage dans la fenêtre Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Débogage dans la fenêtre Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Débogage dans l’Inspecteur d’objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Débogage dans la fenêtre Débogueur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Débogage de projections et d’animations Shockwave Débogage avancé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Chapitre 5 : Objets principaux de Director Bibliothèque de distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 v Touche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Acteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Animation Lecteur Son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Piste audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Image-objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Piste d’image-objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Chapitre 6 : Types de médias GIF animé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Bouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Palette de couleurs Curseur DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Champ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Boucle d’animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Composant Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Animation Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Animation liée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 QuickTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 RealMedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Shockwave 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Shockwave Audio Son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Forme vectorielle Windows Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Chapitre 7 : Objets de programmation Fileio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Xtra MUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 NetLingo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 SpeechXtra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 XML Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Chapitre 8 : Objets 3D Caméra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Group Lumière Acteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 vi Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Ressource de modèle Mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Services de rendu Matériau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Image-objet Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Chapitre 9 : Constantes " (chaîne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 BACKSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 EMPTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 ENTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 QUOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 RETURN (constante) SPACE TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 TRUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 VOID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Chapitre 10 : Evénements et messages on activateApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 on activateWindow on beginSprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 on closeWindow on cuePassed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 on deactivateApplication on deactivateWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 on DVDeventNotification on endSprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 on enterFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 on EvalScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 on exitFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 on getBehaviorDescription on getBehaviorTooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 on getPropertyDescriptionList on hyperlinkClicked on idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 on isOKToAttach on keyDown on keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 on mouseDown (gestionnaire d’événement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 on mouseEnter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 on mouseLeave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 vii on mouseUp (gestionnaire d’événement) on mouseUpOutside on mouseWithin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 on moveWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 on openWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 on prepareFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 on prepareMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 on resizeWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 on rightMouseDown (gestionnaire d’événement) on rightMouseUp (gestionnaire d’événement) on runPropertyDialog on savedLocal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 on sendXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 on startMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 on stepFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 on stopMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 on streamStatus on timeOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 trayIconMouseDoubleClick trayIconMouseDown trayIconRightMouseDown on zoomWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Chapitre 11 : Mots-clés \ (continuation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 char...of end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 end case exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 exit repeat field global if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 INF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 item...of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 line...of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 loop (mot-clé) me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 NAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 next repeat on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 otherwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 viii put...after . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 put...before put...into . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 repeat while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 repeat with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 repeat with...down to repeat with...in list return (mot-clé) set...to, set...= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 sprite...intersects sprite...within . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 word...of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Chapitre 12 : Méthodes abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 abs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 activateAtLoc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 activateButton() add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 add (texture 3D) addAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 addBackdrop addCamera addChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 addModifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 addOverlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 addProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 addToWorld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 addVertex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 alert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Alert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 appMinimize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 atan() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 beep() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 beginRecording() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 bitAnd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 bitNot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 bitOr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 bitXor() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 breakLoop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 browserName() build() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 cacheDocVerify() cacheSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 ix call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 callAncestor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 callFrame() camera() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 cameraCount() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 cancelIdleLoad() castLib() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 channel() (niveau supérieur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 channel() (son) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 chapterCount() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 charPosToLoc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 chars() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 charToNum() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 clearAsObjects() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 clearCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 clearError() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 clearFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 clearGlobals() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 clone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 cloneDeep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 cloneModelFromCastmember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 cloneMotionFromCastmember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 closeFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 closeXlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 color() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 constrainH() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 constrainV() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 copyPixels() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 copyToClipBoard() cos() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 count() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 createFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 createMask() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 createMatte() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 crop() (image) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 crop() (bitmap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 cross . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 crossProduct() cursor() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 date() (formats) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 date() (système) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 delay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 delete() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 deleteFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 x deleteAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 deleteCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 deleteFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 deleteGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 deleteLight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 deleteModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 deleteModelResource deleteMotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 deleteOne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 deleteProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 deleteShader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 deleteTexture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 deleteVertex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 displayOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 displaySave() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 doneParsing() dot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 dotProduct() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 downloadNetThing draw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 duplicate() (image) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 duplicate() (fonction de liste) duplicate() (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 duplicateFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 enableHotSpot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 endRecording() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 erase() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 error() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 externalEvent() extrude3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 externalParamName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 externalParamValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 extractAlpha() fadeIn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 fadeOut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 fadeTo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 fileName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 fileOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 fileSave() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 fill() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 filter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 findLabel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 findEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 findPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 xi findPosNear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 finishIdleLoad() flashToStage() float() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 floatP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 flushInputEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 forget() (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 forget() (temporisation) framesToHMS() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 frameReady() (animation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 frameStep() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 freeBlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 freeBytes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 generateNormals() getaProp getAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 getError() (Flash, SWA) getError() (XML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 getErrorString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 getFinderInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 getFlashProperty() getFrameLabel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 getHardwareInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 getHotSpotRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 GetItemPropList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 getLast() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 getLatestNetID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 getNetText() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 getNormalized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 getNthFileNameInFolder() getOne() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 getOSDirectory() getPixel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 getPlayList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 getPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 getPref() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 getPos() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 getPref() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 getProp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 getPropAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 getRendererServices() getStreamStatus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 getURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 getVal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 xii getVariable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 GetWidgetList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 GetWindowPropList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 getWorldTransform() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 go() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 goLoop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 goNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 goPrevious() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 goToFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 gotoNetMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 gotoNetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 group() halt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 handler() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 handlers() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 hilite (commande) hitTest() HMStoFrames() hold() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 identity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 idleLoadDone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 ignoreWhiteSpace() ilk() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 ilk (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 image() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 importFileInto() Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 insertBackdrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 insertFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 insertOverlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 inside() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 installMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 integer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 integerP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Interface() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 interpolate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 interpolateTo() intersect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 inverse() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 invert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 isBusy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 isInWorld() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 isPastCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 ItemUpdate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 keyPressed() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 xiii label() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 last() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 lastClick() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 lastEvent() length() light() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 lineHeight() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 linePosToLocV() linkAs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 list() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 listP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 loadFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 locToCharPos() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 locVToLinePos() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 log() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 makeList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 makeScriptedSprite() makeSubList() map() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 map (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 mapMemberToStage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 mapStageToMember() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 marker() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 matrixAddition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 matrixMultiply() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 matrixMultiplyScalar() matrixTranspose() max() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 maximize() mci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 member() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 mergeDisplayTemplate() mergeProps() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 mesh (propriété) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 meshDeform (modificateur) min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 minimize() model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 modelResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 modelsUnderLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 modelsUnderRay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 modelUnderLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 motion() move() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 moveToBack() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 xiv moveToFront() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 moveVertex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 moveVertexHandle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 multiply() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 neighbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 netAbort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 netDone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 netError() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 netLastModDate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 netMIME() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 netStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 netTextResult() new() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 newCamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 newColorRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 newCurve() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 newGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 newLight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 newMatrix() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 newMember() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 newMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 newModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 newModelResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 newMotion() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 newObject() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 newShader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 newTexture normalize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 nothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 nudge() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 numColumns() numRows() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 numToChar() objectP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 offset() (fonction de chaîne) offset() (fonction de rectangle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 open() (lecteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 open() (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 openFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 openXlib param() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 paramCount() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 parseString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 parseURL() pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 xv pasteClipBoardInto() pause() (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 pause() (piste audio) pause() (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 pause() (RealMedia, SWA, Windows Media) perlinNoise() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 perpendicularTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 pictureP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 play() (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 play() (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 play() (piste audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 play() (RealMedia, SWA, Windows Media) playFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 playFromToTime() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 playNext() (piste audio) playNext() (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 playerParentalLevel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 point() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 pointAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 pointInHyperlink() pointToChar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 pointToItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 pointToLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 pointToParagraph() pointToWord() postNetText power() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 preLoad() (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 preLoad() (animation) preLoadBuffer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 preLoadMember() preLoadMovie() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 preloadNetThing() preMultiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 preRotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 preScale() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 preTranslate() print() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 printAsBitmap() printFrom() propList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 proxyServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 ptToHotSpotID() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 puppetPalette() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 puppetSprite() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 xvi puppetTempo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 puppetTransition() put() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 qtRegisterAccessKey() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 qtUnRegisterAccessKey() queue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 queue() (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 QuickTimeVersion() quit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 ramNeeded() random() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 randomVector() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 randomVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 rawNew() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 readChar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 readFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 readLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 readToken() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 readWord() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 realPlayerNativeAudio() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 realPlayerPromptToInstall() realPlayerVersion() recordFont rect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 registerForEvent() registerScript() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 removeBackdrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 removeFromWorld removeLast() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 removeModifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 removeOverlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 removeScriptedSprite() resetWorld resolveA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 resolveB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 restart() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 restore() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 resume() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 returnToTitle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 revertToWorldDefaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 rewind() (piste audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 rewind() (Windows Media) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 rewind() (GIF animé, Flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 rollOver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 xvii rootMenu() rotate run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 runMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 save castLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 saveMovie() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 scale (commande) script() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 scrollByLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 scrollByPage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 seek() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 selectAtLoc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 selectButton() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 selectButtonRelative() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 selection() (fonction) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 sendAllSprites() sendEvent sendSprite() setAlpha() setaProp setAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 setCallback() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 setCollisionCallback() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 setFilterMask() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 setFinderInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 setFlashProperty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 setNewLineConversion() setPixel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 setPlayList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 setPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 setPref() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 setProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 setScriptList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 settingsPanel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 setPref() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 setTrackEnabled() setVal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 setVariable() shader() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 showLocals() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 showProps() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 showGlobals() shutDown() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 sin() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 xviii sound() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 sprite() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 spriteSpaceToWorldSpace sqrt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 stageBottom stageLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 stageRight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 stageToFlash() stageTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 status() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 stop() (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 stop() (piste audio) stop() (Flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 stop() (RealMedia, SWA, Windows Media) stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 stopEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 stream() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 string() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 stringP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 subPictureType() substituteFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 swing() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 symbol() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 symbolP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 tan() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 tellStreamStatus() tellTarget() texture() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 time() (système) timeout() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 titleMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 top (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 topCap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 topRadius trace() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 transform (commande) translate union() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 unLoad() (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 unLoad() (animation) unLoadMember() unLoadMovie() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 unregisterAllEvents update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 updateFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 xix updateStage() URLEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 value() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 vector() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 version() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 voiceCount() voiceGet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 voiceGetAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 voiceGetPitch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 voiceGetRate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 voiceGetVolume() voiceInitialize() voicePause() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 voiceResume() voiceSet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 voiceSetPitch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 voiceSetRate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 voiceSetVolume() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 voiceSpeak() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 voiceState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 voiceStop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 voiceWordPos() voidP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 window() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 WindowOperation windowPresent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 worldSpaceToSpriteSpace writeChar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 writeReturn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 writeString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 xtra() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 zoomBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 Chapitre 13 : Opérateurs # (symbole) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 . (opérateur point) - (signe moins) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628 -- (séparateur de commentaires) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 &, + (opérateur de concaténation) &&, + (opérateur de concaténation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 () (parenthèses) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631 * (multiplication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 + (addition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 + (addition) (3D) - (soustraction) * (multiplication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 xx / (division) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 / (division) (3D) < (inférieur à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 <= (inférieur ou égal à) <> (différent de) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 = (signal égal à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 > (supérieur à) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637 > = (supérieur ou égal à) [ ] (crochets d’accès) [ ] (liste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 @ (chemin d’accès) and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 contains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643 not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 starts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 Chapitre 14 : Propriétés _global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 _key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 _mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 _movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650 _player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650 _sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 _system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 aboutInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 actionsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 active3dRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 activeCastLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 activeWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 actorList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 alertHook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 allowCustomCaching allowGraphicMenu allowSaveLocal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 allowTransportControl allowVolumeControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 allowZooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 alphaThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 ambient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 ambientColor ancestor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 angle (3D) angle (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 xxi angleCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 animationEnabled antiAlias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 antiAliasingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 antiAliasingSupported antiAliasThreshold antiAliasType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 appearanceOptions applicationName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670 applicationPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670 aspectRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671 attenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 attributeName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 attributeValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 audio (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 audio (RealMedia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 audio (Windows Media) audioChannelCount audioExtension audioFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676 audioSampleRate audioStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 autoblend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 autoCameraPosition autoMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 autoTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 axisAngle back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 audioStreamCount auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 backColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682 backdrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 backgroundColor beepOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 bevelDepth bevelType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 bgColor (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686 bgColor (image-objet, acteur 3D) bias bitmapSizes bitRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 bitsPerSample blend (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 blend (image-objet) blendConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 xxii blendConstantList blendFactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 blendFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693 blendFunctionList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 blendLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 blendRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 blendSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696 blendSourceList blendTime bone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698 bonesPlayer (modificateur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698 border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 bottom (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 bottomCap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 bottomRadius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702 bottomSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702 boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 boundingSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 boxDropShadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 boxType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 brightness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 broadcastProps bufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 buttonCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 buttonsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 buttonStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707 buttonType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 bytesStreamed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 bytesStreamed (3D) camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 cameraPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 cameraRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 castLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 castLibNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 castMemberList center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 centerRegPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 centerStage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 changeArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 channelCount chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 chapterCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 characterSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 charSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 xxiii checkMark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 child (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 child (XML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 chunkSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 clearAtRender clearValue clickLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 clickMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723 clickOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724 closed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725 closedCaptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725 collision (modificateur) collisionData collisionNormal color() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729 color (brouillard) color (lumière) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730 colorBufferDepth colorDepth colorList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 colorRange colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 colorSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 commandDown comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 compressed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 controlDown controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 copyrightInfo (animation) copyrightInfo (SWA) count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 count (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 cpuHogTicks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743 creaseAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743 creases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 creationDate crop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 cuePointNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 cuePointTimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 currentLoopState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 currentSpriteNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 currentTime (3D) currentTime (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749 currentTime (QuickTime, AVI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749 xxiv currentTime (RealMedia) currentTime (Sprite) cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752 cursorSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756 debugPlaybackEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 decayMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 defaultRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 defaultRectMode density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 depth (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761 depth (bitmap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762 depthBufferDepth deskTopRectList diffuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764 diffuseColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764 diffuseLightMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 digitalVideoTimeScale digitalVideoType direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 directionalColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 directionalPreset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 directToStage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 disableImagingTransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770 displayFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770 displayMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771 displayRealLogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771 displayTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772 distribution dither . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 dockingEnabled domain doubleClick drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 drawRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 dropShadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 duration (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 duration (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 duration (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 duration (RealMedia, SWA) editable editShortCutsEnabled elapsedTime emissive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 xxv emitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 emulateMultibuttonMouse enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 enabled (collision) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 enabled (brouillard) enabled (sds) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 enableFlashLingo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 endAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 endColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 endFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 endTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790 environmentPropList error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 eventPassMode exitLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794 externalParamCount face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795 face[ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 far (brouillard) fieldOfView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798 fieldOfView (3D) fileFreeSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 fileName (distribution) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 fileName (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 fileName (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 fileSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 fileVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 fillColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 fillCycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804 fillDirection filled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 fillMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 fillOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 fillScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 filterlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 firstIndent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 fixedLineSpace fixedRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 fixStageSize flashRect flat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 flipH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 flipV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 floatPrecision fog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 xxvi folder font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816 fontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 fontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818 foreColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 frameCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 frameLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821 framePalette frameRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 frameRate (DVD) frameScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 frameSound1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 frameSound2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 frameTempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 frameTransition front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 frontWindow fullScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 getBoneID globals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 glossMap gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 gradientType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831 height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 height (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 heightVertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 highlightPercentage highlightStrength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 hilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 hither . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835 hotSpot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836 hotSpotEnterCallback hotSpotExitCallback HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 hyperlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 hyperlinkRange hyperlinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 hyperlinkState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 idleHandlerPeriod idleLoadMode idleLoadPeriod idleLoadTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 idleReadChunkSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 xxvii image (image) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 image (RealMedia) image (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 imageCompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 imageEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 imageQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848 immovable ink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 inker (modificateur) inlineImeEnabled interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 invertMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 isVRMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853 itemDelimiter kerning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 kerningThreshold key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856 keyboardFocusSprite keyCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 keyDownScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 keyframePlayer (modificateur) keyUpScript labelList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862 lastChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862 lastClick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863 lastError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863 lastEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864 lastFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864 lastKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865 lastRoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865 left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866 left (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 leftIndent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 length (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868 lengthVertices level lifetime light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 lineColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 lineCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 lineDirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 lineHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 lineOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872 lineSize linked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873 xxviii loaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 loc (fond et recouvrement) locH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 lockTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 locV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876 locZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876 lod (modificateur) loop (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 loop (émetteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 loop (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 loop (Flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880 loop (Windows Media) loopBounds loopCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882 loopEndTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883 loopsRemaining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884 loopStartTime magnitude margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885 markerList mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 maxInteger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887 maxSpeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 mediaReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889 mediaStatus (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890 mediaStatus (RealMedia, Windows Media) mediaXtraList member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892 member (distribution) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892 member (animation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 member (piste audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 member (image-objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894 memorySize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 meshDeform (modificateur) milliseconds minSpeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898 missingFonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898 mode (émetteur) mode (collision) model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 modelA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 modelB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901 modelResource modified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 xxix modifiedBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 modifiedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 modifier[] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 mostRecentCuePoint motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 motionQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 mouseChar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 mouseDownScript mouseH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 mouseItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 mouseLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 mouseLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 mouseLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 mouseMember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914 mouseOverButton mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 mouseUpScript mouseV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918 moveableSprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 multiSound name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 mouseWord movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921 name (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921 name (propriété de menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 name (propriété d’élément de menu) name (image-objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 name (piste d’image-objet) name (temporisation) name (XML) nearFiltering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 netThrottleTicks node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 near (brouillard) netPresent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 nodeEnterCallback nodeExitCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 nodeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 normalList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 normals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 number (distribution) number (caractères) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 xxx number (éléments) number (lignes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 number (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 number (menus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 number (éléments de menu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 number (piste d’image-objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 number (système) number (mots) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 number of members number of xtras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 numChannels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 numParticles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 numSegments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 obeyScoreRotation optionDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 organizationName originalFont originH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 originMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 originPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944 originV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 orthoHeight overlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947 pageHeight palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 paletteMapping paletteRef pan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 pan (propriété QTVR) paragraph parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951 password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 path (animation) path (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 pathName (acteur Flash) pathStrength pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 pausedAtStart (Flash, vidéo numérique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 pausedAtStart (RealMedia, Windows Media) percentBuffered percentPlayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958 percentStreamed (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 percentStreamed (acteur) period persistent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 xxxi picture (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 picture (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962 platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963 playBackMode playing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964 playing (3D) playlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 playRate (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966 playRate (DVD) playRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 playRate (Windows Media) pointAtOrientation pointOfContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968 position (transformation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 positionReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970 posterFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970 preferred3dRenderer preLoad (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 preLoad (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973 preLoadEventAbort preLoadMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 preLoadRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 preLoadTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 productName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 productVersion projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 purgePriority quad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980 quality (3D) radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 randomSeed recordFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982 rect (caméra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983 rect (image) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984 rect (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985 rect (image-objet) rect (fenêtre) ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987 reflectionMap reflectivity region regPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 regPoint (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 xxxii regPointVertex renderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991 rendererDeviceList renderFormat renderStyle resizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994 resolution (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994 resolution (DVD) resolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 resource right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 right (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 rightIndent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 rightMouseDown rightMouseUp romanLingo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 rootLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 rootNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1000 rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1000 rotation (fond et recouvrement) rotation (matériau de gravure) rotation (transformation) rotationReset RTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1004 safePlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1004 sampleCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1005 sampleRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1006 sampleSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1007 savew3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1008 saveWorld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1008 scale (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1009 scale (fond et recouvrement) scale (acteur) scale (transformation) scaleMode score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1013 scoreColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1013 scoreSelection script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1015 scripted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1015 scriptingXtraList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1016 scriptInstanceList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1016 scriptList scriptNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1018 scriptsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1018 xxxiii scriptText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1019 scriptType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1019 scrollTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1020 sds (modificateur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1021 searchCurrentFolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1022 searchPathList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1022 selectedButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1023 selectedText selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1024 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1025 selection (propriété d’acteur texte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1025 selEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1026 selStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1026 serialNumber shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1027 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1028 shaderList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1029 shadowPercentage shadowStrength shapeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1031 shiftDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1031 shininess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1032 silhouettes size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1032 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1033 sizeRange sizeState skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1033 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1034 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1034 smoothness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1035 sound (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1036 sound (lecteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1037 soundChannel (SWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1037 soundChannel (RealMedia) soundDevice soundDeviceList soundEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1039 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1040 soundKeepDevice soundLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1041 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1041 soundMixMedia source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1038 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1039 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1042 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1043 sourceFileName sourceRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1043 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1044 specular (lumière) specular (matériau) specularColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1044 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1045 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1045 specularLightMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1046 spotAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1047 spotDecay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1047 xxxiv sprite (animation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1047 sprite (piste d’image-objet) spriteNum stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1048 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1049 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1050 startAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1050 startFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1051 startTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1052 startTimeList state (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1052 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1053 state (Flash, SWA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1054 state (RealMedia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1055 static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1057 staticQuality status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1057 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1058 stillDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1059 stopTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1059 stopTimeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1060 streamMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1061 streamName streamSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1061 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1062 streamSize (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1063 strokeColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1063 strokeWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1064 style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1064 subdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1065 subPicture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1065 subPictureCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1066 suspendUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1066 switchColorDepth systemTrayIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1066 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1067 systemTrayTooltip tabCount tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1068 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1069 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1069 target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1070 targetFrameRate tension text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1070 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1071 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1071 texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1072 textureCoordinateList textureCoordinates textureLayer textureList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1074 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1074 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1075 textureMember textureMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1075 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1076 textureModeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1076 xxxv textureRenderFormat textureRepeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1078 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1079 textureRepeatList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1079 textureTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1080 textureTransformList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1082 textureType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1084 thumbNail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1084 tilt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1085 time (objet de temporisation) timeoutHandler timeoutList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1086 timeScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1087 title (DVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1087 title (fenêtre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088 titlebarOptions titleCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1089 toolXtraList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1090 toon (modificateur) top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1090 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1092 topSpacing traceLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1092 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1093 traceLogFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1093 traceScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1094 trackCount (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1095 trackCount (image-objet) trackEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1095 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1096 trackNextKeyTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1096 trackNextSampleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1097 trackPreviousKeyTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1097 trackPreviousSampleTime trackStartTime (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1098 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1098 trackStartTime (image-objet) trackStopTime (acteur) trackStopTime (image-objet) trackText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1100 trackType (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1101 trackType (image-objet) trails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1099 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1099 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1102 transform (propriété) transitionType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1104 transitionXtraList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1104 translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1105 transparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1106 triggerCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1106 trimWhiteSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1108 xxxvi tunnelDepth tweened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1109 tweenMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1109 type (lumière) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1110 type (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1110 type (ressource de modèle) type (mouvement) type (matériau) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1113 type (image-objet) type (texture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1114 type (fenêtre) updateLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1115 updateMovieEnabled URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117 useAlpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117 useDiffuseWithTexture useFastQuads useHypertextStyles useLineOffset userData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1120 userName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1121 userName (RealMedia) useTargetFrameRate vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1122 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1123 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1123 vertexList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1124 vertexList (générateur de maille) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1125 vertexList (déformation de maille) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1125 vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1126 video (QuickTime, AVI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1126 video (RealMedia, Windows Media) videoFormat videoForWindowsPresent viewH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1129 viewPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1130 viewScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1131 viewV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1132 visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1133 visible (image-objet) visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1134 volume (DVD) volume (acteur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1135 volume (piste audio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1135 volume (image-objet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1136 volume (Windows Media) warpMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1136 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1137 xxxvii width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138 width (3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138 widthVertices wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1139 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1139 window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1140 windowBehind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1140 windowInFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1141 windowList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1141 wordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1142 worldPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1142 worldTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1143 wrapTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1143 wrapTransformList x (vecteur) xAxis xtra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1146 xtraList (animation) xtraList (lecteur) y (vecteur) yAxis yon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1148 z (vecteur) zAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1147 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1149 Chapitre 15 : Moteur physique Propriétés de l’univers physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1151 Méthodes de l’univers physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1157 Méthodes de gestion des corps rigides Propriétés des corps rigides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1161 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1165 Méthodes des corps rigides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1176 Méthodes des contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1178 Propriétés des contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1184 Propriétés des ressorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1188 Méthodes de collision et de rappel de collision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1192 Méthodes du terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1198 Propriétés du terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1201 Méthodes du joint à 6 degrés de liberté Propriétés 6 degrés de liberté Méthodes du raycasting Codes d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1204 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1222 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1224 1 Chapitre 1 : Introduction Cette référence fournit des informations conceptuelles et pratiques sur la programmation dans Adobe® Director® 11 ainsi que des descriptions et des exemples concernant les API de programmation que vous utilisez pour rédiger des scripts. Les API de programmation représentent les outils par lesquels vous accédez aux fonctionnalités de Director via un script pour ajouter une dimension interactive à une animation. En utilisant ces API, vous pouvez non seulement créer des fonctionnalités interactives identiques à celles fournies par les comportements prédéfinis qui sont livrés avec Director, mais aussi en créer d’autres plus puissantes et variées. Les comportements prédéfinis vous permettent d’ajouter des fonctionnalités interactives de base à une animation, comme par exemple déplacer la tête de lecture sur un numéro d’image ou un repère ou faire un zoom avant lorsque l’utilisateur clique sur une image-objet. Ils permettent également d’utiliser des fonctionnalités non interactives telles que l’animation d’images-objets, le chargement de médias et la navigation dans une image. Les API de programmation vous permettent de développer et de personnaliser ces types de fonctionnalités. Public visé Cette référence vous concerne si vous souhaitez effectuer une ou plusieurs des opérations suivantes : • développer les fonctionnalités existantes des comportements prédéfinis à l’aide de scripts ; • ajouter des fonctionnalités à une animation en utilisant des scripts au lieu des comportements prédéfinis ; • ajouter des fonctionnalités plus puissantes, variées et personnalisées à une animation que celles proposées par les comportements prédéfinis. Cette référence a pour objectif de fournir toutes les informations, de base et avancées, dont vous avez besoin pour ajouter une dimension interactive à vos animations en utilisant des scripts. Ainsi, il n’est pas nécessaire d’avoir une grande expérience dans la programmation pour rédiger des scripts efficaces dans Director. Quel que soit votre niveau d’expérience avec Director, Lingo ou la syntaxe JavaScript™, prenez un moment pour consulter « Principes de base de la programmation dans Director », page 4 et « Rédaction de scripts dans Director », page 43 avant de commencer à rédiger des scripts. Comme tous les produits, Director possède ses propres et uniques conventions de programmation, types de données, etc. Pour pouvoir rédiger des scripts efficaces, vous devez vous familiariser avec ces caractéristiques uniques de Director. Nouveautés concernant la programmation dans Director Si vous avez déjà écrit des scripts avec les versions précédentes de Director, vous devez prendre note des innovations et modifications importantes concernant la programmation dans cette nouvelle version. Adobe Director prend en charge la programmation en Unicode. ADOBE DIRECTOR 11.0 2 Dictionnaire de script Limites de la prise en charge d’Unicode dans Director • Les langues qui s’écrivent de la droite vers la gauche ne sont pas prises en charge. • Les fonctions de l’Xtra File I/O telles que readchar(), getLength() et getPosition() ne fonctionnent qu’avec une entrée de caractères à un octet. Pour pouvoir lire des caractères Unicode à deux ou trois octets, lisez le fichier en entier dans un objet de chaîne à l’aide de la méthode readFile(). Utilisez ensuite la méthode char...of pour lire le caractère Unicode. • Les composants de Director Physics ne prennent pas en charge Unicode. • Les noms Unicode des chemins d’accès HTTP ne sont pas pris en charge. • Vous ne pouvez pas nommer un Xtra de programmation comme une chaîne Unicode en utilisant la clé de registre « kMoaMmDictType_MessageTable ». Vous ne pouvez pas non plus exposer les fonctions Lingo nommées avec Unicode en utilisant les Xtras de programmation. • Les Xtras de programmation exposent les fonctions Lingo. Les noms de ces fonctions exposés via les Xtras ne sont pas pris en charge avec Unicode. • Les noms de modèles 3D ne sont pas pris en charge avec Unicode. La fenêtre Script comporte un panneau de l’explorateur en plus de l’Editeur de script. Par défaut, le panneau de l’explorateur apparaît à gauche de l’Editeur de script. Vous pouvez voir le panneau de l’explorateur en mode dictionnaire ou navigateur de scripts. Mode dictionnaire Le mode dictionnaire affiche une liste de fonctions de script Lingo/JavaScript intégrées organisées sous la forme d’une arborescence. Les fonctions sont classées selon leur catégorie et par ordre alphabétique comme un index. Utilisez le mode dictionnaire pour effectuer les opérations suivantes : • parcourir les fonctions intégrées des scripts Lingo et JavaScript ; • utiliser les fonctions intégrées pour créer des scripts. Mode navigateur de scripts Le mode navigateur de scripts affiche les scripts et les gestionnaires associés qui ont été utilisés dans l’animation. Dans ce mode, vous pouvez créer de nouveaux scripts et gestionnaires. Utilisez le mode navigateur de scripts pour effectuer les opérations suivantes : • parcourir les scripts et les gestionnaires de l’animation actuelle comme une arborescence ou une liste ; • trier les scripts en fonction du nom du script, du nom de l’acteur, du numéro de l’acteur ou du type de script ; • localiser un gestionnaire dans l’Editeur de script ; • créer des scripts pour chaque type de script. Nouveautés de cette documentation Si vous avez appris à rédiger des scripts dans les versions précédentes de Director, vous devez prendre connaissance des modifications apportées à cette nouvelle documentation. Le manuel Référence de scripting de Director remplace le Dictionnaire Lingo livré avec les versions précédentes de Director. Cette référence n’est pas organisée de la même manière que le Dictionnaire Lingo. ADOBE DIRECTOR 11.0 3 Dictionnaire de script Dans le Dictionnaire Lingo, les informations concernant le modèle de programmation étaient classées par fonction. Par exemple, si vous vouliez apprendre à utiliser des images-objets dans un script, vous deviez consulter l’une des sections référencées sous l’en-tête Images-objets, telles que Glissement d’images-objets, Dimensions des imagesobjets, etc. En outre, toutes les API de programmation étaient répertoriées par ordre alphabétique dans une seule liste, c’est-à-dire que les fonctions, les propriétés, les événements, etc. étaient tous réunis dans la même liste par ordre alphabétique. Dans le manuel Référence de scripting de Director, les informations concernant le modèle de programmation sont classées par objet. Cette classification reflète fidèlement l’organisation des objets de programmation actuels que vous utilisez dans vos scripts. Par exemple, si vous voulez savoir comment utiliser les images-objets dans un script, vous devez consulter la section Images-objets du chapitre Objets principaux de Director. Les API de programmation sont toujours répertoriées par ordre alphabétique mais elles sont également classées en fonction du type d’API. Par exemple, toutes les méthodes sont listées par ordre alphabétique sous l’en-tête Méthodes, toutes les propriétés sont listées par ordre alphabétique sous l’en-tête Propriétés, etc. Recherche d’informations en matière de programmation dans Director Le nouveau manuel Référence de scripting de Director contient les rubriques suivantes : fournit des informations sur les concepts et composants de base que vous utilisez lors de la rédaction de scripts dans Director. Principes de base de la programmation dans Director fournit des informations sur l’environnement de programmation de Director, en plus de celles concernant les concepts et techniques de programmation avancés. Rédaction de scripts dans Director fournit des informations sur la manière de résoudre les problèmes liés à vos scripts lorsqu’ils ne fonctionnent pas correctement. Débogage de scripts dans Director Objets principaux de Director fournit une liste des objets et API utilisés pour accéder aux principales fonctionnalités et fonctions de Director, telles que le moteur du lecteur de Director, les fenêtres d’animation, les images-objets, les sons, etc. fournit une liste des types de médias et API que vous utilisez pour accéder aux fonctionnalités des divers types de médias (RealMedia, DVD, GIF animé, etc.) et qui sont ajoutés aux animations en tant qu’acteurs. Types de médias fournit une liste des objets de programmation, aussi appelés Xtras, et des API que vous utilisez pour développer les fonctionnalités de base de Director. Les Xtras fournissent certaines fonctions telles que l’importation de filtres et la connexion à Internet. Objets de programmation Objets 3D Constantes fournit une liste des objets utilisés pour ajouter des fonctionnalités 3D à une animation. fournit une liste des constantes disponibles dans Director. Evénements et messages fournit une liste des événements disponibles dans Director. Mots-clés fournit une liste des mots clés disponibles dans Director. Méthodes fournit une liste des méthodes disponibles dans Director. Opérateurs Propriétés fournit une liste des opérateurs disponibles dans Director. fournit une liste des propriétés disponibles dans Director. 4 Chapitre 2 : Principes de base de la programmation dans Director Si vous n’avez jamais créé de scripts dans Director®, prenez le temps d’apprendre les principaux concepts de programmation qui vous aident à créer des scripts dans Director avant de commencer. Certains de ces principes de base comprennent des définitions de termes importants, les règles de syntaxe, les types de données disponibles et des informations sur les éléments de programmation de base dans Director, tels que les variables, les tableaux, les opérateurs, etc. Types de scripts Une animation de Director peut contenir quatre types de scripts : les comportements, les scripts d’animation, les scripts parents et les scripts associés aux acteurs. Les comportements, les scripts d’animation et les scripts parents figurent tous dans la fenêtre Distribution sous la forme d’acteurs indépendants. Un script associé à un acteur figure dans la fenêtre Distribution et n’apparaît pas indépendamment. • Comportements : ces scripts sont associés à des images-objets ou images dans le scénario et sont appelés comportements d’image-objet ou comportements d’image. La miniature de la fenêtre Distribution de chaque comportement contient une icône de comportement dans l’angle inférieur droit. Lorsqu’il est utilisé dans le manuel Référence de scripting de Director, le terme comportement se rapporte à n’importe quel script associé à une image-objet ou une image. Cette définition diffère de celle des comportements figurant dans la Palette des bibliothèques de Director. Pour plus d’informations sur ces comportements de Director, consultez les rubriques du manuel Utilisation de Director dans l’Aide de Director. Tous les comportements ajoutés à une bibliothèque de distribution figurent dans le menu local Comportements de l’Inspecteur de comportement. Ce menu ne contient pas les autres types de scripts. Vous pouvez placer le même comportement à plusieurs endroits du scénario. Lorsque vous modifiez un comportement, la nouvelle version de ce comportement est automatiquement appliquée à tous les endroits auxquels il est associé dans le scénario. • Scripts d’animation : ces scripts contiennent des gestionnaires disponibles globalement ou au niveau d’une animation. Les gestionnaires d’événements d’un script d’animation peuvent être appelés depuis n’importe quel script de l’animation pendant la lecture. Une icône de script d’animation apparaît dans l’angle inférieur droit de la miniature correspondante dans la fenêtre Distribution. Les scripts d’animation sont disponibles pour l’animation entière, quelle que soit l’image où se trouve la tête de lecture ou l’image-objet que l’utilisateur manipule. Lors de la lecture d’une animation dans une fenêtre ou comme animation liée, un script d’animation n’est disponible que pour sa propre animation. • Scripts parents : ces scripts spéciaux contiennent les éléments Lingo utilisés pour créer des objets enfants. Vous pouvez utiliser des scripts parents pour générer des objets scripts qui ont une réponse et un comportement similaires tout en se comportant indépendamment les uns des autres. Une icône de script parent apparaît dans l’angle inférieur droit de la miniature correspondante dans la fenêtre Distribution. ADOBE DIRECTOR 11.0 5 Dictionnaire de script Pour plus d’informations sur l’utilisation des scripts parents et des objets enfants, consultez « Programmation orientée objet avec la syntaxe Lingo », page 49. La syntaxe JavaScript n’utilise pas de scripts parents ou d’objets enfants. Elle utilise des techniques de programmation orientée objet de style JavaScript normales. Pour plus d’informations sur la programmation orientée objet dans la syntaxe JavaScript, consultez « Programmation orientée objet avec la syntaxe JavaScript », page 58. • Composants d’acteurs Flash® : vous ne pouvez accéder à ces composants placés sur la scène (sous la forme d’images-objets Flash) lorsqu’ils sont invisibles qu’en utilisant l’objet Acteur. L’utilisation de l’objet Image-objet pour une image-objet Flash avec une propriété d’invisibilité renverra un message d’erreur. • Scripts associés aux acteurs : scripts directement associés à un acteur, indépendamment du scénario. Lorsque ces acteurs sont affectés à des images-objets, leurs scripts sont mis à la disposition de ces dernières. Contrairement aux comportements, aux scripts parents et aux scripts d’animation, les scripts d’acteurs n’apparaissent pas dans la fenêtre Distribution. Cependant, si l’option Afficher les icônes de script des acteurs est sélectionnée dans la boîte de dialogue Préférences de la fenêtre Distribution, les acteurs auxquels sont associés des scripts sont identifiés par une petite icône de script dans l’angle inférieur gauche de leur miniature dans la fenêtre Distribution. Terminologie de programmation La syntaxe Lingo et la syntaxe JavaScript utilisent toutes deux des termes qui sont propres à chaque langage, en plus de certains termes qui sont partagés par ces langages. Les termes importants de programmation sont présentés dans l’ordre alphabétique. Ces termes sont utilisés tout au long du manuel Référence de scripting de Director, il est donc nécessaire de bien les assimiler avant de continuer. • Constantes : éléments dont les valeurs ne changent jamais. Par exemple, dans Lingo, les constantes telles que TAB, EMPTY et RETURN ont toujours les mêmes valeurs et ne peuvent être modifiées. Dans la syntaxe JavaScript, les constantes telles que Math.PI et Number.MAX_VALUE ont toujours les mêmes valeurs et ne peuvent être modifiées. Vous pouvez également créer vos propres constantes dans la syntaxe JavaScript à l’aide du mot-clé const. Pour plus d’informations sur les constantes, consultez « Constantes », page 14. • Evénements : actions qui se produisent pendant la lecture d’une animation. Les événements se produisent à l’arrêt d’une animation, au démarrage d’une image-objet, à l’entrée de la tête de lecture dans une image, lors de l’emploi du clavier par l’utilisateur, etc. Les événements de Director sont tous prédéfinis et ont toujours le même sens. Pour plus d’informations sur les événements, consultez « Evénements », page 28. • Expressions : parties d’instruction produisant une valeur. Par exemple, 2 + 2 est une expression. • Fonctions : fonctions de haut niveau ou types spécifiques de codes de la syntaxe JavaScript. Une fonction de haut niveau ordonne à une animation de faire quelque chose pendant la lecture de l’animation ou renvoie une valeur, mais elle n’est pas appelée à partir d’un objet spécifique. Par exemple, vous appelez la fonction de haut niveau list() en utilisant la syntaxe list(). Comme c’est le cas pour une fonction, une méthode ordonne également à une animation de faire quelque chose pendant la lecture de l’animation ou renvoie une valeur, mais elle est toujours appelée à partir d’un objet. ADOBE DIRECTOR 11.0 6 Dictionnaire de script Une fonction est utilisée dans la syntaxe JavaScript pour représenter un gestionnaire d’événement, un objet personnalisé, une méthode personnalisée, etc. L’utilisation des fonctions JavaScript dans de tels cas est expliquée dans les rubriques appropriées, plus loin dans cette référence. • Gestionnaires ou gestionnaires d’événements : ensemble d’instructions placées dans un script et exécutées en réponse à un événement déterminé et à un message subséquent. Lorsqu’un événement se produit, Director génère et envoie un message correspondant aux scripts et un gestionnaire approprié est exécuté en réponse au message. Les noms des gestionnaires sont toujours les mêmes que les événements et messages auxquels ils répondent. Remarque : bien qu’un événement soit géré par une fonction dans la syntaxe JavaScript, le terme gestionnaire désigne, dans cette référence, à la fois les gestionnaires Lingo et les fonctions de la syntaxe JavaScript qui gèrent les événements. Pour plus d’informations sur les gestionnaires, consultez « Gestionnaires », page 30. • Mots-clés : mots réservés ayant un sens particulier. Par exemple, dans Lingo, le mot-clé end indique la fin d’un gestionnaire. Dans la syntaxe JavaScript, le mot-clé var indique que le terme suivant est une variable. • Listes (Lingo) ou Tableaux (syntaxe JavaScript) : ensembles ordonnés de valeurs qui permettent le suivi et la mise à jour d’un ensemble de données, tels qu’une série de noms ou de valeurs affectées à un ensemble de variables. Un exemple simple de liste est une liste de nombres, telle que [1, 4, 2]. Pour plus d’informations sur l’utilisation des listes dans Lingo et dans la syntaxe JavaScript, consultez « Listes linéaires et listes de propriétés », page 33. Pour plus d’informations sur l’utilisation des tableaux de la syntaxe JavaScript, consultez « Tableaux de la syntaxe JavaScript », page 40. • Messages : avertissements envoyés aux scripts par Director lorsque des événements déterminés se produisent dans une animation. Par exemple, lorsque la tête de lecture entre dans une image donnée, l’événement enterFrame se produit et Director envoie un message enterFrame. Si un script contient un gestionnaire enterFrame, les instructions de ce gestionnaire sont exécutées puisque le gestionnaire a reçu le message enterFrame. Si aucun script ne contient de gestionnaire de message, le message est ignoré dans le script. Pour plus d’informations sur les messages, consultez « Messages », page 29. • Méthodes : termes entraînant une action pendant la lecture de l’animation ou le renvoi d’une valeur ; elles sont appelées à partir d’un objet. Par exemple, vous appelez la méthode insertFrame() de l’objet Animation en utilisant la syntaxe _movie.insertFrame(). Bien que leurs fonctionnalités soient similaires aux fonctions de haut niveau, les méthodes sont toujours appelées à partir d’un objet, contrairement aux fonctions de haut niveau. • Opérateurs : calculent une nouvelle valeur à partir d’une ou de plusieurs valeurs. Par exemple, l’opérateur d’addition (+) additionne deux valeurs ou plus pour produire une nouvelle valeur. Pour plus d’informations sur les opérateurs, consultez « Opérateurs », page 19. • Paramètres : repères permettant de transmettre des valeurs aux scripts. Les paramètres s’appliquent aux méthodes et aux gestionnaires d’événements mais pas aux propriétés. Ils sont exigés par certaines méthodes, mais ne sont pas obligatoires pour d’autres. Par exemple, la méthode go() de l’objet Animation envoie la tête de lecture à une image précise, et indique éventuellement le nom de l’animation dans laquelle se trouve l’image. Pour effectuer cette tâche, la méthode go() nécessite au moins un paramètre et en accepte un autre. Le premier paramètre requis précise l’image à laquelle doit être envoyée la tête de lecture, le second paramètre facultatif indique l’animation dans laquelle se trouve l’image. Vu que le premier paramètre est obligatoire, une erreur de script est renvoyée s’il n’est pas présent au moment où la méthode go() est invoquée. Étant donné que le second paramètre est facultatif, la méthode effectue sa tâche même si ce paramètre n’est pas présent. ADOBE DIRECTOR 11.0 7 Dictionnaire de script • Propriétés : attributs définissant un objet. Par exemple, l’image-objet d’une animation possède des attributs précis tels que sa largeur, sa hauteur, la couleur de son arrière-plan, etc. Pour accéder aux valeurs de ces trois attributs, vous devez utiliser les propriétés width, height et backColor de l’objet de l’image-objet. Pour plus d’informations sur l’attribution de propriétés aux variables, consultez « Stockage et mise à jour de valeurs dans des variables », page 16. • Instructions : instructions valides que Director peut exécuter. Les scripts sont tous composés d’ensembles d’instructions. L’instruction Lingo suivante est une instruction complète. _movie.go("Author") Pour plus d’informations sur la rédaction d’instructions, consultez « Programmation avec la syntaxe à point », page 44. • Variables : éléments servant à stocker et à mettre à jour des valeurs. Les variables doivent commencer par une lettre, un trait de soulignement (_) ou le signe dollar ($). Les caractères suivants du nom d’une variable peuvent également être des chiffres (0 à 9). Pour attribuer des valeurs aux variables ou modifier les valeurs de plusieurs propriétés, utilisez l’opérateur égal à (=). Pour plus d’informations sur l’utilisation des variables, consultez « Variables », page 15. Syntaxe de programmation Les règles générales suivantes s’appliquent à Lingo et à la syntaxe JavaScript : • Les repères de commentaires varient de Lingo à la syntaxe JavaScript. Les commentaires Lingo sont tous précédés de deux traits d’union (--). Chaque ligne d’un commentaire constitué de plusieurs lignes doit être précédée de deux traits d’union. -- This is a single-line Lingo comment -- This is a -- multiple-line Lingo comment Les commentaires d’une seule ligne utilisant la syntaxe JavaScript sont précédés de deux barres obliques (//). Les commentaires à plusieurs lignes sont précédés du signe /* et suivis du signe */. // This is a single-line JavaScript syntax comment /* This is a multiple-line JavaScript syntax comment */ Vous pouvez placer un commentaire sur une ligne séparée ou après une instruction. Le texte qui suit les repères de commentaires sur la même ligne est ignoré. Les commentaires peuvent être variés : il peut s’agir de notes concernant un script ou un gestionnaire particulier ou une instruction dont l’objectif n’est pas évident. Ces commentaires vous permettent de vous familiariser avec une procédure que vous n’avez pas utilisée depuis longtemps. L’ajout d’un grand nombre de commentaires n’augmente pas la taille de votre fichier d’animation lorsqu’il est enregistré sous forme d’un fichier compressé DCR ou DXR. Les commentaires sont supprimés du fichier lors du processus de décompression. ADOBE DIRECTOR 11.0 8 Dictionnaire de script Vous pouvez également utiliser des repères de commentaires pour ignorer les sections de code que vous souhaitez désactiver à des fins de test ou de débogage. En ajoutant des repères de commentaires au code au lieu de le supprimer, vous transformez provisoirement une section en commentaires. Sélectionnez le code à activer ou à désactiver et utilisez les boutons Insérer une marque de commentaire ou Supprimer la marque de commentaire de la fenêtre Script pour ajouter ou retirer rapidement les repères de commentaires. • Les parenthèses sont nécessaires après chaque nom de méthode et de fonction. Par exemple, lorsque vous appelez la méthode beep() de l’objet Son, vous devez insérer des parenthèses après le mot beep. Sinon, une erreur de script se produira. // JavaScript syntax _sound.beep(); // this statement will work properly _sound.beep; // this statement will result in a script error Lorsque vous appelez une méthode, une fonction ou un gestionnaire à partir d’une autre méthode ou fonction ou d’un autre gestionnaire, vous devez inclure des parenthèses dans l’instruction d’appel. Dans l’exemple suivant, la méthode modifySprite() contient un appel de gestionnaire spriteClicked. L’appel du gestionnaire spriteClicked doit inclure des parenthèses, sinon, vous obtenez une erreur de script : // JavaScript syntax function modifySprite() { spriteClicked(); // this call to the handler will work properly spriteClicked; // this call to the handler results in a script error } function spriteClicked() { // handler code here } Vous pouvez également utiliser des parenthèses pour annuler l’ordre de priorité des opérations mathématiques ou pour faciliter la lecture de vos instructions. Par exemple, la première expression mathématique ci-dessous renverra le résultat 13, tandis que la seconde expression renverra le résultat 5 : 5 * 3 - 2 -- yields 13 5 * (3 - 2) -- yields 5 • La syntaxe des gestionnaires d’événements varie de Lingo à JavaScript. Avec Lingo, les gestionnaires utilisent la syntaxe on handlerName. Avec la syntaxe JavaScript, les gestionnaires sont implémentés comme des fonctions et utilisent la syntaxe function handlerName(). Par exemple, les instructions suivantes contiennent un gestionnaire qui émet un signal sonore lorsque l’utilisateur clique sur la souris : -- Lingo syntax on mouseDown _sound.beep() end // JavaScript syntax function mouseDown() { _sound.beep(); } • La syntaxe des paramètres des gestionnaires d’événements peut varier de Lingo à la syntaxe JavaScript. Lingo et JavaScript prennent en charge les paramètres transmis à un gestionnaire, placés entre parenthèses. Si plusieurs paramètres sont transmis, chaque paramètre est séparé par une virgule. Dans Lingo, vous pouvez également transmettre des paramètres qui ne sont pas placés entre parenthèses. Par exemple, le gestionnaire addThem reçoit les deux paramètres a et b : -- Lingo syntax on addThem a, b -- without parentheses c = a + b end ADOBE DIRECTOR 11.0 9 Dictionnaire de script on addThem(a, b) -- with parentheses c = a + b end // JavaScript syntax function addThem(a, b) { c = a + b; } • Le mot-clé const peut être utilisé dans la syntaxe JavaScript pour préciser une constante dont la valeur ne change pas. Lingo possède son propre ensemble de constantes prédéfinies (TAB, EMPTY, etc.), le mot-clé const ne s’applique donc pas à Lingo. Par exemple, l’instruction suivante indique une constante appelée intAuthors et définit sa valeur sur 12. Cette valeur est toujours 12 et ne pourra pas être modifiée par un script : // JavaScript syntax const intAuthors = 12; • Le mot-clé var dans la syntaxe JavaScript peut être placé devant un mot pour préciser que ce terme est une variable. L’instruction suivante crée une variable appelée startValue : // JavaScript syntax var startValue = 0; Remarque : bien que l’utilisation de var dans la syntaxe JavaScript soit facultative, il est recommandé de toujours déclarer les variables JavaScript locales ou celles se trouvant au sein d’une fonction à l’aide de var. Pour plus d’informations sur l’utilisation des variables, consultez « Variables », page 15. • Le symbole de continuation (\) de Lingo indique qu’une longue ligne d’exemples de codes s’étale sur deux ou plusieurs lignes. Les lignes Lingo divisées de cette manière ne représentent pas des lignes de codes séparées. Par exemple, le code suivant est valide : -- Lingo syntax tTexture = member("3D").model("box") \ .shader.texture La syntaxe JavaScript ne comporte pas de symbole de continuation de ligne. Pour diviser une longue chaîne de codes JavaScript en plusieurs lignes, il vous suffit d’ajouter un retour à la ligne à la fin d’une ligne, puis de continuer le code sur la ligne suivante. • Le point-virgule peut être utilisé pour indiquer la fin d’une instruction en code JavaScript. Les points-virgules ne s’appliquent pas à Lingo. L’utilisation du point-virgule est facultative. Lorsqu’il est utilisé, il doit être placé à la fin d’une instruction complète. Par exemple, les deux instructions suivantes créent une variable appelée startValue : // JavaScript syntax var startValue = 0 var startValue = 0; Un point-virgule n’indique pas nécessairement la fin d’une ligne de code JavaScript, et plusieurs instructions peuvent être placées sur une ligne. Cependant, pour des raisons de clarté, il est recommandé de placer des instructions distinctes sur des lignes séparées. Par exemple, les trois instructions suivantes occupent une seule ligne de code et fonctionnent correctement, mais la lecture du code n’est pas facile. // JavaScript syntax _movie.go("Author"); var startValue = 0; _sound.beep(); ADOBE DIRECTOR 11.0 10 Dictionnaire de script • Les espaces entre les caractères au sein des expressions et instructions sont ignorés dans Lingo et la syntaxe JavaScript. Dans les chaînes de caractères entre guillemets droits, les espaces sont considérés comme des caractères. Si vous souhaitez insérer des espaces dans une chaîne, vous devez les y placer explicitement. Par exemple, la première instruction ci-dessous ignore les espaces entre les éléments de la liste, et la seconde inclut les espaces. -- Lingo syntax myList1 = ["1", myList2 = [" 1 • ", " "2", "3"] -- yields ["1", "2", "3"] 2 ", " 3 "] -- yields [" 1 ", " 2 ", " 3 "] La sensibilité à la casse peut varier de Lingo à la syntaxe JavaScript. Lingo ne différencie pas les majuscules des minuscules, ce qui vous permet d’utiliser les majuscules et les minuscules comme bon vous semble. Par exemple, les quatre instructions suivantes sont équivalentes : -- Lingo syntax member("Cat").hilite member("cat").hiLite MEMBER("CAT").HILITE Member("Cat").Hilite = = = = true True TRUE true Bien que Lingo ne soit pas sensible à la casse, il est recommandé de choisir une casse et de l’utiliser de manière cohérente dans l’ensemble de vos scripts. Cette habitude permet d’identifier plus facilement les noms de gestionnaires, variables, acteurs, etc. La syntaxe JavaScript est sensible à la casse lorsqu’elle fait référence à des objets, aux propriétés de haut niveau ou méthodes faisant référence à des objets ou aux variables définies par l’utilisateur. Par exemple, la méthode de haut niveau sprite()renvoie une référence à une image-objet précise et est implémentée dans Director avec toutes les lettres minuscules. La première instruction ci-dessous se rapporte au nom de la première image-objet d’une animation, tandis que les deux instructions suivantes entraînent une erreur de script. // JavaScript syntax sprite(1).name // This statement functions normally Sprite(1).name // This statement results in a script error SPRITE(1).name // This statement results in a script error Les chaînes littérales sont toujours sensibles à la casse dans Lingo et la syntaxe JavaScript. Pour plus d’informations sur l’utilisation des chaînes, consultez « Chaînes », page 13. Types de données Un type de données est un ensemble de données dont les valeurs possèdent des caractéristiques similaires et prédéfinies. Chaque valeur de variable et de propriété dans Director est d’un type de données précis, et les valeurs renvoyées par les méthodes sont d’un type de données précis. Par exemple, considérons les deux instructions suivantes. Dans la première instruction, il a été attribué à la variable intX le nombre entier 14. La variable intX est donc du type de données Nombre entier. Dans la seconde instruction, il a été attribué à la variable stringX une séquence de valeurs de caractères, c’est-à-dire une chaîne. La variable stringX est donc du type de données Chaîne. -- Lingo syntax intX = 14 stringX = "News Headlines" // JavaScript syntax var intX = 14; var stringX = "News Headlines"; ADOBE DIRECTOR 11.0 11 Dictionnaire de script Les valeurs renvoyées par les méthodes ou fonctions appartiennent également à un type de données. Par exemple, la méthode windowPresent() de l’objet Lecteur renvoie une valeur indiquant si une fenêtre est présente. La valeur renvoyée est TRUE (1) ou FALSE (0). Certains types de données sont partagés par Lingo et la syntaxe JavaScript, d’autres se rapportent à l’un ou l’autre des langages. L’ensemble de types de données pris en charge par Director est fixe et ne peut être modifié, ce qui signifie qu’il n’est pas possible d’ajouter de nouveaux types de données ou de supprimer les types de données existants. Director prend en charge les types de données suivants. Type de données Description # (symbole) Unité autonome pouvant représenter une condition ou un indicateur. Par exemple, #list ou #word. Tableau (syntaxe JavaScript seulement) Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Tableau peut être utilisé avec des listes linéaires de valeurs. La fonctionnalité d’un objet Tableau est identique à celle du type de données Liste de Lingo. Valeur booléenne Une valeur TRUE (1) ou FALSE (0). Dans Lingo, toutes les valeurs TRUE ou FALSE sont de simples constantes de nombres entiers, 1 pour TRUE et 0 pour FALSE. Dans la syntaxe JavaScript, toutes les valeurs true ou false sont par défaut les vraies valeurs booléennes true ou false mais sont automatiquement converties, le cas échéant, en simples constantes de nombres entiers dans Director. Dans Lingo, TRUE et FALSE peuvent être en majuscules ou en minuscules. Dans la syntaxe JavaScript, true et false doivent toujours être en minuscules. Couleur Représente la couleur d’un objet. Constante Une donnée dont la valeur ne change pas. Date Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Date permet d’utiliser des dates dans la syntaxe JavaScript. Dans Lingo, utilisez la méthode date() pour créer un objet Date et utiliser des dates. Valeur à virgule flottante (Lingo seulement) Nombre à virgule flottante. Par exemple, 2,345 ou 45,43. Fonction (syntaxe JavaScript seulement) Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Fonction peut être utilisé pour préciser une chaîne de codes à exécuter. Nombre entier (Lingo seulement) Nombre entier. Par exemple, 5 ou 298. Liste Une liste linéaire ou de propriétés composée respectivement de noms de valeurs ou de propriétés et de valeurs. Mathématique (syntaxe JavaScript seulement) Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Mathématique peut être utilisé pour effectuer des opérations mathématiques. Nul (syntaxe JavaScript seulement) Indique une variable dont la valeur correspond à 0 dans les contextes numériques et à false dans les contextes booléens. Nombre (syntaxe JavaScript seulement) Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Nombre peut être utilisé pour représenter des constantes numériques telles qu’une valeur maximale, une valeur not-a-number (NaN) et une infinité. Objet Bien qu’il ne s’agisse pas exactement d’un type de données, un objet Objet peut être utilisé pour créer un conteneur personnalisé de données et des méthodes agissant sur les données. Point Point sur l’espace de coordonnées ayant une coordonnée horizontale et une coordonnée verticale. Rectangle Rectangle dans l’espace de coordonnées. ADOBE DIRECTOR 11.0 12 Dictionnaire de script Type de données (Suite) Description (Suite) Expression régulière (JavaScript seulement) Modèle d’expression régulière utilisé pour la correspondance avec les combinaisons de caractères dans les chaînes. Chaîne Chaîne de symboles clavier ou de valeurs de caractères. Par exemple, « Director » ou « $5,00 ». Non défini (syntaxe JavaScript seulement) Indique une variable qui n’a pas de valeur. Vecteur Point dans l’espace 3D. VOID (Lingo seulement) Indique une valeur vide. Remarque : plusieurs types de données et d’objets de la syntaxe JavaScript possèdent leur propre ensemble de méthodes et propriétés qui peuvent être utilisées pour une manipulation plus approfondie de ces types. Bien que le manuel Référence de scripting de Director donne parfois des informations sur certaines de ces méthodes et propriétés, ces informations ne sont pas complètes. Pour plus d’informations sur ces types de données et objets et leurs méthodes et propriétés, consultez l’une des nombreuses documentations d’autres éditeurs sur le sujet. Les propriétés intégrées de Director, telles que la propriété name de l’objet Acteur, ne peuvent recevoir que des valeurs qui sont du même type de données que celui de la propriété. Par exemple, le type de données de la propriété name de l’objet Acteur est une chaîne, et la valeur doit donc être une chaîne telle que News Headlines. Si vous essayez d’attribuer une valeur d’un type de données différent à cette propriété, telle que le nombre entier 20, vous obtenez une erreur de script. Si vous créez vos propres propriétés, leurs valeurs peuvent être de n’importe quel type de données, quel que soit le type de données de la valeur initiale. Lingo et la syntaxe JavaScript sont tous deux dynamiques. Cela signifie que vous n’avez pas à préciser le type de données d’une variable lorsque vous la déclarez et que les types de données sont automatiquement convertis, le cas échéant, lors de l’exécution d’un script. Par exemple, la syntaxe JavaScript suivante définit la variable myMovie comme étant un nombre entier, et plus tard dans le script, elle est définie comme étant une chaîne. Lors de l’exécution du script, le type de données de myMovie est converti automatiquement : -- Lingo syntax myMovie = 15 -- myMovie is initially set to an integer ... myMovie = "Animations" -- myMovie is later set to a string // JavaScript syntax var myMovie = 15; // myMovie is initially set to an integer ... myMovie = "Animations"; // myMovie is later set to a string Valeurs littérales Une valeur littérale est une partie d’instruction ou d’expression qui doit être traitée telle quelle, et non comme une variable ou un élément de script. Les valeurs littérales que vous pouvez rencontrer dans un script sont les chaînes de caractères, les entiers, les nombres décimaux, les noms et numéros d’acteurs, les noms et numéros d’images et d’animations, les symboles et les constantes. Chaque type de valeur littérale est régi par ses propres règles. ADOBE DIRECTOR 11.0 13 Dictionnaire de script Chaînes Les chaînes sont des mots ou des groupes de caractères que le script traite en tant que mots standard, et non en tant que variables. Elles doivent être encadrées de guillemets droits. Par exemple, vous pouvez utiliser des chaînes pour transmettre des messages aux utilisateurs de votre animation ou pour attribuer des noms aux acteurs. Dans l’instruction suivante, Hello et Greeting sont des chaînes. Hello est le texte littéral placé dans l’acteur texte et Greeting est le nom de ce dernier. -- Lingo syntax member("Greeting").text = "Hello" De même, lorsque vous testez une chaîne, vous devez l’entourer de guillemets droits, comme dans l’exemple suivant : -- Lingo syntax if "Hello Mr. Jones" contains "Hello" then soundHandler Lingo et la syntaxe JavaScript considèrent les espaces figurant au début ou à la fin d’une chaîne comme une partie littérale de la chaîne. L’expression suivante comprend un espace après le mot à : // JavaScript syntax trace("My thoughts amount to "); Bien que Lingo ne distingue pas les majuscules des minuscules lorsqu’il fait référence aux acteurs, aux variables, etc., les chaînes littérales sont sensibles à la casse. Par exemple, les deux instructions suivantes placent un texte différent dans l’acteur indiqué, car Hello et HELLO sont des chaînes littérales : -- Lingo syntax member("Greeting").text = "Hello" member("Greeting").text = "HELLO" Dans Lingo, la fonction string() peut convertir une valeur numérique en une chaîne. Dans la syntaxe JavaScript, la méthode toString() peut convertir une valeur numérique en une chaîne. Remarque : si vous essayez d’utiliser la méthode toString() dans la syntaxe JavaScript sur une valeur null ou undefined, vous obtenez une erreur de script. Ceci n’est pas le cas avec Lingo, dont la fonction string() s’applique à toutes les valeurs, y compris celles qui sont VOID. Nombres Dans Lingo, il existe deux types de nombres : les entiers et les décimaux. Un nombre entier ne comporte ni fraction ni décimale, dans les plages -2 147 483 648 et +2 147 483 647. Entrez des nombres entiers sans utiliser de virgule. Utilisez le signe moins (-) pour les nombres négatifs. Un nombre décimal, également appelé nombre à virgule flottanteou valeur à virgule flottante, est un nombre qui inclut une virgule décimale. Dans Lingo, la propriété floatPrecision détermine le nombre de décimales utilisées pour l’affichage de ces nombres. Director utilise toujours le nombre entier, jusqu’à 15 chiffres utiles, dans ses calculs ; il arrondit tout nombre comportant plus de 15 chiffres utiles. La syntaxe JavaScript ne fait pas de distinction entre les nombres entiers et les nombres à virgule flottante, et n’utilise que des nombres. Par exemple, les instructions suivantes montrent que le nombre 1 est un nombre entier dans Lingo et un nombre dans la syntaxe JavaScript, et que le nombre décimal 1,05 est un nombre à virgule flottante dans Lingo et un nombre dans la syntaxe JavaScript : -- Lingo syntax put(ilk(1)) -- #integer put(ilk(1.05)) -- #float ADOBE DIRECTOR 11.0 14 Dictionnaire de script // JavaScript syntax trace(typeof(1)) // number trace(typeof(1.05)) // number Dans Lingo, vous pouvez convertir un nombre décimal en nombre entier avec la fonction integer(). Vous pouvez également convertir un nombre entier en nombre décimal en effectuant une opération mathématique sur le nombre entier, par exemple en multipliant un nombre entier par un nombre décimal. Dans la syntaxe JavaScript, la fonction parseInt() vous permet de convertir une chaîne ou un nombre décimal en nombre entier. Contrairement à la fonction integer() de Lingo, parseInt() arrondit au nombre inférieur. Par exemple, l’instruction suivante arrondit le nombre décimal 3,9 et le convertit au nombre entier 4 (Lingo) et 3 (syntaxe JavaScript) : -- Lingo syntax theNumber = integer(3.9) -- results in a value of 4 // JavaScript syntax var theNumber = parseInt(3.9); // results in a value of 3 Dans Lingo, la fonction value() peut convertir une chaîne en une valeur numérique. Vous pouvez également utiliser une notation exponentielle avec les nombres décimaux : par exemple, -1,1234e-100 ou 123,4e+9. Dans Lingo, la fonction float() vous permet de convertir un nombre entier ou une chaîne en un nombre décimal. Dans la syntaxe JavaScript, la fonction parseFloat() vous permet de convertir une chaîne en un nombre décimal. Par exemple, l’instruction suivante enregistre la valeur 3,0000 (Lingo) et 3 (syntaxe JavaScript) dans la variable theNumber. -- Lingo syntax theNumber = float(3) -- results in a value of 3.0000 // JavaScript syntax var theNumber = parseFloat(3) // results in a value of 3 Constantes Une constante est une valeur déclarée dont le contenu ne change jamais. Dans Lingo, les termes prédéfinis TRUE, FALSE, VOID et EMPTY sont des constantes car leur valeur ne change jamais. Les termes prédéfinis BACKSPACE, ENTER, QUOTE, RETURN, SPACE et TAB sont des constantes qui font référence aux touches du clavier. Par exemple, pour tester si la dernière touche enfoncée par l’utilisateur était la barre Espace, utilisez l’instruction suivante : -- Lingo syntax if _key.keyPressed() = SPACE then beep() Dans la syntaxe JavaScript, vous pouvez accéder à des constantes prédéfinies à l’aide de types de données propres à la syntaxe JavaScript. Par exemple, l’objet Nombre contient des constantes telles que Number.MAX_VALUE et Number.NaN, l’objet Mathématique renferme des constantes telles que Math.PI et Math.E, etc. Remarque : cette référence ne fournit pas d’informations approfondies sur les constantes prédéfinies dans la syntaxe JavaScript. Pour plus d’informations sur ces constantes, consultez l’une des nombreuses documentations d’autres éditeurs sur le sujet. Dans la syntaxe JavaScript, vous pouvez également définir vos propres constantes à l’aide du mot-clé const. Par exemple, l’instruction suivante crée une constante appelée items et lui attribue la valeur 20. Cette valeur ne peut pas être modifiée après sa création. // JavaScript syntax const items = 20; ADOBE DIRECTOR 11.0 15 Dictionnaire de script Pour plus d’informations sur les constantes, consultez « Constantes », page 146. Symboles Dans Lingo, un symbole est une chaîne ou toute autre valeur précédée du signe dièse (#). Les symboles sont des constantes définies par l’utilisateur. Les comparaisons utilisant des symboles s’effectuent très rapidement, créant ainsi un code plus efficace. Remarque : dans Lingo, la majuscule pour le symbole correspond à la minuscule. Si vous essayez de convertir une chaîne (par exemple, Sonia) en symbole à l’aide de la fonction symbol(), vous obtiendrez comme résultat : sonia. Par exemple, la première instruction ci-dessous s’exécute plus rapidement que la seconde : -- Lingo syntax userLevel = #novice userLevel = "novice" Les symboles ne peuvent contenir ni espaces ni ponctuation. Dans Lingo et la syntaxe JavaScript, convertissez une chaîne en symbole à l’aide de la méthode symbol(). -- Lingo syntax x = symbol("novice") -- results in #novice // JavaScript syntax var x = symbol("novice"); // results in #novice Reconvertissez un symbole en chaîne à l’aide de la fonction string() (Lingo) ou la méthode toString() (syntaxe JavaScript). -- Lingo syntax x = string(#novice) -- results in "novice" // JavaScript syntax var x = symbol("novice").toString(); // results in "novice" Dans la syntaxe JavaScript, vous ne pouvez pas comparer des symboles du même nom pour déterminer s’ils font référence au même symbole. Pour comparer des symboles du même nom, vous devez d’abord les convertir en chaîne en utilisant la méthode toString(). Variables Director utilise des variables pour conserver et actualiser les valeurs. Comme son nom l’indique, une variable contient une valeur qui peut être modifiée ou mise à jour pendant la lecture de l’animation. En modifiant la valeur d’une variable pendant la lecture de l’animation, Director peut par exemple stocker une URL, mémoriser le nombre de fois qu’un utilisateur prend part à une session de discussion en ligne, enregistrer si une opération réseau est terminée ou non, etc. Il est conseillé de toujours attribuer une valeur connue à une variable la première fois que vous la déclarez. Cette opération est appelée initialisation d’une variable. L’initialisation d’une variable facilite le suivi de cette variable et permet de comparer ses différentes valeurs au fur et à mesure de la lecture de l’animation. ADOBE DIRECTOR 11.0 16 Dictionnaire de script Les variables peuvent être globales ou locales. Une variable locale n’existe que tant que le gestionnaire dans lequel elle a été définie est en cours d’exécution. Une variable globale peut exister et conserver sa valeur tant que l’application Director est en cours d’exécution, notamment lorsqu’une animation passe à une autre animation. Une variable peut être globale au sein d’un gestionnaire individuel, un script spécifique ou une animation entière ; la portée dépend de la manière dont la variable globale est initialisée. Si vous souhaitez qu’une variable soit disponible pendant toute l’animation, il est recommandé de la déclarer dans un gestionnaire on prepareMovie (Lingo) ou function prepareMovie() (syntaxe JavaScript). Elle est ainsi disponible dès le début de l’animation. Pour plus d’informations sur l’utilisation des variables globales et locales, consultez « Utilisation de variables globales », page 17 et « Utilisation de variables locales », page 19. Stockage et mise à jour de valeurs dans des variables Les variables peuvent contenir des données pour tous les types de données de Director, qu’il s’agisse de nombres entiers, de chaînes, de valeurs TRUE ou FALSE, de symboles, de listes ou du résultat d’un calcul. Pour stocker les valeurs des propriétés et des variables, utilisez l’opérateur égal à (=). Comme indiqué dans la section Types de données de cette référence, les variables de Lingo et de la syntaxe JavaScript sont dynamiques, ce qui signifie qu’elles contiennent des types de données différents à des moments différents. La possibilité de modifier le type d’une variable distingue Lingo d’autres langages tels que Java™ et C++, où cette possibilité n’existe pas. Par exemple, l’instruction set x = 1 crée la variable x, qui est une variable nombre entier, car vous lui avez attribué un entier. Si vous utilisez ensuite l’instruction set x = "un", la variable x devient une variable à chaîne puisqu’elle contient maintenant une chaîne. Vous pouvez convertir une chaîne en nombre à l’aide de la fonction value() (Lingo) ou de la méthode parseInt() (syntaxe JavaScript)ou un nombre en chaîne à l’aide de la fonction string() (Lingo) ou de la méthode toString() (syntaxe JavaScript). Les valeurs de certaines propriétés peuvent être définies (la valeur est attribuée) et renvoyées (la valeur est récupérée) et les valeurs de certaines propriétés ne peuvent être que renvoyées. Les propriétés dont les valeurs peuvent être à la fois définies et renvoyées sont appelées lecture/écriture, celles qui peuvent seulement être renvoyées étant appelées lecture seule. Il s’agit en général de propriétés décrivant une condition échappant au contrôle de Director. Par exemple, vous ne pouvez pas définir la propriété d’acteur numChannels, qui indique le nombre de pistes d’une animation possédant un contenu Adobe® Shockwave®. Par contre, vous pouvez récupérer le nombre de pistes en faisant référence à la propriété numChannels d’un acteur. Affecter une valeur à une variable O Utilisez l’opérateur égal à (=). Par exemple, l’instruction suivante attribue une URL à la variable placesToGo : // JavaScript syntax var placesToGo = "http://www.adobe.com"; Les variables peuvent également contenir le résultat d’opérations mathématiques. Par exemple, l’instruction suivante ajoute le résultat d’une addition à la variable mySum : -- Lingo syntax mySum = 5 + 5 -- this sets mySum equal to 10 ADOBE DIRECTOR 11.0 17 Dictionnaire de script Comme exemple supplémentaire, l’instruction suivante renvoie l’acteur attribué à l’image-objet 2 en récupérant la valeur de la propriété member de l’image-objet et le place dans la variable textMember. -- Lingo syntax textMember = sprite(2).member Il est recommandé d’utiliser des noms de variables qui indiquent le rôle de ces variables. Vos scripts n’en sont que plus faciles à lire. Par exemple, la variable maSum indique que cette variable contient le résultat d’une addition. Tester la valeur de propriétés ou de variables O Utilisez la fonction put() ou trace() dans la fenêtre Messages ou cochez les valeurs de la fenêtre Surveillance (put() et trace() proposent des fonctionnalités identiques et sont disponibles dans Lingo et la syntaxe JavaScript). Par exemple, l’instruction suivante affiche la valeur attribuée à la variable myNumber dans la fenêtre Messages. -- Lingo syntax myNumber = 20 * 7 put(myNumber) -- displays 140 in the Message window // JavaScript syntax var myNumber = 20 * 7; trace(myNumber) // displays 140 in the Message window Utilisation de variables globales Les variables globales peuvent être partagées par les gestionnaires, les scripts ou les animations. Une variable globale existe et garde sa valeur tant que Director est en cours d’exécution ou jusqu’à ce que vous appeliez la méthode clearGlobals(). Dans Adobe Shockwave Player, les variables globales subsistent dans les animations affichées par la méthode goToNetMovie(), mais pas dans celles qui sont affichées par la méthode goToNetPage() . Chaque gestionnaire déclarant une variable globale peut utiliser la valeur de cette variable. S’ils modifient cette valeur, la nouvelle valeur est accessible à tous les autres gestionnaires qui considèrent cette variable comme globale. Il est recommandé de démarrer le nom de toutes les variables globales par un g minuscule. Cette convention permet d’identifier plus facilement les variables globales lors de l’examen de votre code. Director propose une manière d’afficher toutes les variables globales actuelles et leurs valeurs actuelles, et d’effacer les valeurs de toutes les variables globales. Afficher toutes les variables globales actuelles et leurs valeurs actuelles O Utilisez la méthode showGlobals() de l’objet Global dans la fenêtre Messages. Pour plus d’informations sur la fenêtre Messages, consultez « Débogage dans la fenêtre Messages », page 83. Supprimer toutes les variables globales actuelles O Utilisez la méthode clearGlobals() de l’objet Global de la fenêtre Messages pour attribuer à toutes les variables globales la valeur VOID (Lingo) ou undefined (syntaxe JavaScript). Le contrôle des valeurs des variables globales, lors de la lecture d’une animation, s’effectue par le biais de l’Inspecteur d’objet. Pour plus d’informations sur l’Inspecteur d’objet, consultez « Débogage dans l’Inspecteur d’objet », page 87. ADOBE DIRECTOR 11.0 18 Dictionnaire de script Variables globales dans Lingo Dans Lingo, les variables sont considérées, par défaut, comme des variables locales, et vous n’avez donc pas besoin d’insérer un mot-clé avant le nom d’une variable. Pour déclarer une variable globale, vous devez faire précéder la variable du mot-clé global. Si vous déclarez une variable globale au début d’un script et avant un gestionnaire, cette variable est disponible pour tous les gestionnaires de ce script. Si vous déclarez une variable globale au sein d’un gestionnaire, cette variable est disponible pour ce gestionnaire uniquement. Cependant, si vous déclarez une variable globale du même nom au sein de deux gestionnaires distincts, et que vous mettez à jour la valeur de la variable dans un gestionnaire, vous mettez également à jour la valeur de la variable dans l’autre gestionnaire. Les exemples suivants illustrent ce qui se passe avec deux variables globales : gScript, qui est à la disposition de tous les gestionnaires dans le script, et gHandler, qui est disponible au sein de son propre gestionnaire et de tout autre gestionnaire qui la déclare à sa première ligne. -- Lingo syntax global gScript -- gScript is available to all handlers on mouseDown global gHandler gScript = 25 gHandler = 30 end on mouseUp global gHandler trace(gHandler) -- displays 30 end Dans Lingo, lorsque vous utilisez le terme global pour définir des variables globales, elles possèdent automatiquement une valeur initiale égale à VOID. Variables globales dans la syntaxe JavaScript Dans la syntaxe JavaScript, les variables sont considérées comme des variables globales par défaut. La portée d’une variable globale peut être déterminée par la manière dont elle est déclarée et la position à laquelle elle est déclarée. • Si vous déclarez une variable au sein d’une fonction de la syntaxe JavaScript sans la faire précéder du mot-clé var, cette variable est disponible pour toutes les fonctions du script qui la contient. • Si vous déclarez une variable en dehors d’une fonction de la syntaxe JavaScript, avec ou sans le mot-clé var, cette variable est disponible pour toutes les fonctions du script qui la contient. • Si vous déclarez une variable à l’intérieur ou à l’extérieur d’une fonction de la syntaxe JavaScript en utilisant la syntaxe _global.varName, cette variable est disponible pour tous les scripts d’une animation. L’exemple suivant utilise la syntaxe _global.gMovie dans un script pour déclarer la variable gMovie en tant que variable globale. Cette variable est disponible pour tous les scripts d’une animation : // JavaScript syntax _global.gMovie = 1; // Declare gMovie in one script // Create a function in a separate script that operates on gMovie function mouseDown() { _global.gMovie++; return(_global.gMovie); } ADOBE DIRECTOR 11.0 19 Dictionnaire de script L’exemple suivant déclare la variable globale gScript dans un script. Cette variable est uniquement disponible pour les fonctions de ce script. // JavaScript syntax var gScript = 1; // Declare gScript in a script // gScript is available only to functions in the script that defines it function mouseDown() { gScript++; return(gScript); } Dans la syntaxe JavaScript, lorsque vous définissez des variables avant les gestionnaires, elles reçoivent automatiquement la valeur initiale undefined. Utilisation de variables locales Une variable locale n’existe que tant que le gestionnaire dans lequel elle a été définie est en cours d’exécution. Cependant, après avoir créé une variable locale, vous pouvez l’utiliser dans d’autres expressions ou modifier sa valeur tant qu’un script se trouve dans le gestionnaire qui a défini la variable. Il est préférable de définir une variable comme locale lorsque vous ne souhaitez l’utiliser que provisoirement dans un gestionnaire. Vous limitez ainsi les risques de modification accidentelle de sa valeur dans d’autres gestionnaires utilisant le même nom de variable. Créer une variable locale O Dans Lingo, attribuez une valeur à la variable à l’aide de l’opérateur égal à (=). O Dans la syntaxe JavaScript, à l’intérieur d’une fonction, insérez le mot-clé var avant le nom de la variable puis attribuez-lui une valeur à l’aide de l’opérateur égal à. Remarque : Etant donné que les variables de la syntaxe JavaScript sont, par défaut, globales, si vous essayez de déclarer une variable locale à l’intérieur d’une fonction sans utiliser le mot-clé var, votre script risque de créer un comportement inattendu. Ainsi, et bien que l’utilisation de var soit facultative, il est fortement recommandé de déclarer toutes les variables JavaScript locales à l’aide de var pour éviter tout comportement inattendu. Afficher toutes les variables locales actuelles d’un gestionnaire O Dans Lingo, utilisez la fonction showLocals(). Dans Lingo,vous pouvez utiliser cette méthode dans la fenêtre Messages ou dans des gestionnaires pour faciliter le débogage des scripts. Le résultat apparaît dans la fenêtre Messages. La méthode showLocals() ne s’applique pas à la syntaxe JavaScript. Pour contrôler les valeurs des variables locales lors de la lecture d’une animation, utilisez l’Inspecteur d’objet. Pour plus d’informations sur l’Inspecteur d’objet, consultez « Débogage dans l’Inspecteur d’objet », page 87. Opérateurs Les opérateurs sont des éléments indiquant aux scripts de Lingo et de la syntaxe JavaScript comment combiner, comparer ou modifier les valeurs d’une expression. Plusieurs des opérateurs de Director sont partagés par Lingo et la syntaxe JavaScript, et certains sont propres à un langage. ADOBE DIRECTOR 11.0 20 Dictionnaire de script Certains types d’opérateurs comprennent : • les opérateurs arithmétiques (tels que +, -, / et *) ; • les opérateurs de comparaison (tels que <,> et >=), qui comparent deux arguments ; • les opérateurs logiques (not, and, or), qui combinent des conditions simples en conditions composées ; • les opérateurs de chaînes (tels que &, && et +) qui relient ou concatènent des chaînes de caractères. Remarque : il existe beaucoup plus de types d’opérateurs dans la syntaxe JavaScript que dans Lingo, et ils ne sont pas tous décrits dans cette référence. Pour plus d’informations sur les autres opérateurs dans JavaScript 1.5, reportez-vous à l’une des nombreuses documentations d’autres éditeurs sur le sujet. Les éléments sur lesquels les opérateurs agissent sont appelés des opérandes. Dans Lingo, il n’existe que des opérateurs binaires. Dans la syntaxe JavaScript, il existe des opérateurs binaires et unaires. Un opérateur binaire nécessite deux opérandes, l’un placé avant l’opérateur et l’autre après. Un opérateur unaire nécessite un seul opérande, placé soit avant soit après l’opérateur. Dans l’exemple suivant, la première instruction illustre un opérateur binaire où les variables x et y sont des opérandes et le signe plus (+) l’opérateur. La seconde instruction illustre un opérateur unaire où la variable i est l’opérande et ++ l’opérateur. // JavaScript syntax x + y; // binary operator i++; // unary operator Pour plus d’informations sur les opérateurs, consultez « Opérateurs », page 626. Ordre de priorité des opérateurs Lorsqu’au moins deux opérateurs sont utilisés dans la même instruction, certains opérateurs sont prioritaires par rapport à d’autres selon une hiérarchie précise pour déterminer les opérateurs à exécuter en premier. Cette hiérarchie est appelée ordre de priorité des opérateurs. Par exemple, une multiplication est toujours effectuée avant une addition. Cependant, les éléments entre parenthèses sont prioritaires par rapport à la multiplication. Dans l’exemple suivant, en l’absence de parenthèses, la multiplication de cette instruction se produit en premier : -- Lingo syntax total = 2 + 4 * 3 -- results in a value of 14 Lorsque l’addition apparaît entre parenthèses, l’addition s’effectue en premier : -- Lingo syntax total = (2 + 4) * 3 -- results in a value of 18 Vous trouverez ci-dessous une description des types d’opérateurs et de leur ordre de priorité. Les opérateurs possédant une priorité élevée sont exécutés en premier. Par exemple, un opérateur dont l’ordre de priorité est 5 est exécuté avant un opérateur dont l’ordre de priorité est 4. Les opérations qui ont le même ordre de priorité sont exécutées de gauche à droite. Opérateurs arithmétiques Les opérateurs arithmétiques additionnent, soustraient, multiplient, divisent et effectuent d’autres opérations arithmétiques. Les parenthèses et le signe moins sont également des opérateurs arithmétiques. ADOBE DIRECTOR 11.0 21 Dictionnaire de script Opérateur Effet Ordre de priorité () Opérations permettant de contrôler la priorité. 5 - Lorsque placé devant un chiffre, en inverse la valeur. 5 * Effectue une multiplication. 4 mod (Lingo seulement) Effectue des opérations de modulos. 4 / Effectue une division. 4 % (syntaxe JavaScript seulement) Renvoie le reste du nombre entier résultant d’une division de deux opérandes. 4 ++ (syntaxe JavaScript seulement) Ajoute un à son opérande. S’il est utilisé comme opérateur préfixe (++x), renvoie la valeur de son opérande après avoir ajouté un. S’il est utilisé comme opérateur suffixe (x++), renvoie la valeur de son opérande avant d’ajouter un. 4 -- (syntaxe JavaScript seulement) Soustrait un de son opérande. La valeur renvoyée est analogue à celle de l’opérateur d’incréments. 4 + Lorsque placé entre deux chiffres, effectue une addition. 3 - Lorsque placé entre deux chiffres, effectue une soustraction. 3 Remarque : dans Lingo, lorsque seuls des nombres entiers sont utilisés dans une opération, le résultat est toujours un nombre entier. Si vous utilisez des entiers et des nombres à virgule flottante dans la même opération, le résultat est toujours un nombre à virgule flottante. Dans la syntaxe JavaScript, tous les calculs renvoient comme résultat des nombres à virgule flottante. Si le résultat de la division d’un entier par un autre entier n’est pas un nombre entier, Lingo arrondit le résultat au nombre entier inférieur le plus proche. Par exemple, le résultat de 4/3 est 1. Dans la syntaxe JavaScript, la valeur à virgule flottante, 1,333, est renvoyée. Pour forcer Lingo à calculer une valeur sans arrondir le résultat, utilisez float() avec une ou plusieurs des valeurs dans l’expression. Par exemple, le résultat de 4/float(3) est 1.333). Opérateurs de comparaison Les opérateurs de comparaison comparent deux valeurs et déterminent si la comparaison est vraie (true) ou fausse (false). Opérateur Signification Ordre de priorité == (syntaxe JavaScript seulement) Deux opérandes sont égaux. Si les opérandes ne sont 1 pas du même type de données, la syntaxe JavaScript essaie de les convertir en type de données approprié afin d’effectuer la comparaison. === (syntaxe JavaScript seulement) Deux opérandes sont égaux et du même type. != (syntaxe JavaScript seulement) Deux opérandes ne sont pas égaux. Si les opérandes 1 ne sont pas du même type de données, la syntaxe JavaScript essaie de les convertir en type de données approprié afin d’effectuer la comparaison. !== (syntaxe JavaScript seulement) Deux opérandes ne sont pas égaux et/ou du même type. 1 <> (Lingo seulement) Deux opérandes ne sont pas égaux. 1 1 ADOBE DIRECTOR 11.0 22 Dictionnaire de script Opérateur (Suite) Signification (Suite) Ordre de priorité (Suite) < L’opérande de gauche est inférieur à l’opérande de droite. 1 <= L’opérande de gauche est inférieur ou égal à l’opérande de droite. 1 > L’opérande de gauche est supérieur à l’opérande de droite. 1 >= L’opérande de gauche est supérieur ou égal à l’opérande de droite. 1 = (Lingo seulement) Deux opérandes sont égaux. 1 Opérateurs d’affectation Un opérateur d’affectation attribue une valeur à son opérande de gauche en fonction de la valeur de son opérande de droite. A l’exception de l’opérateur d’affectation de base égal à (=), tous les opérateurs d’affectation de raccourcis suivants ne s’appliquent qu’à la syntaxe JavaScript. Opérateur Signification Ordre de priorité = Egal à 1 x += y (syntaxe JavaScript seulement) x = x + y 1 x -= y (syntaxe JavaScript seulement) x = x - y 1 x *= y (syntaxe JavaScript seulement) x = x * y 1 x /= y (syntaxe JavaScript seulement) x = x / y 1 x %= y (syntaxe JavaScript seulement) x = x % y 1 Opérateurs logiques Les opérateurs logiques testent si deux expressions logiques sont vraies (true) ou fausses (false). Faites attention lorsque vous utilisez les opérateurs logiques et les opérateurs de chaînes dans Lingo et la syntaxe JavaScript. Par exemple, dans la syntaxe JavaScript, && est un opérateur logique qui détermine si deux expressions sont vraies, mais dans Lingo, && est un opérateur de chaînes qui concatène deux chaînes et insère un espace entre deux expressions. Opérateur Effet Ordre de priorité and (Lingo seulement) Détermine si les deux expressions sont vraies. 4 && (syntaxe JavaScript seulement) Détermine si les deux expressions sont vraies. 4 or (Lingo seulement) Détermine si une des expressions ou les deux, sont vraies. 4 || (syntaxe JavaScript seulement) Détermine si une des expressions ou les deux, sont vraies. 4 not (Lingo seulement) Inverse une expression. 5 ! (JavaScript seulement) Inverse une expression. 5 L’opérateur not (Lingo) ou ! (syntaxe JavaScript) est utile pour passer de la valeur TRUE ou FALSE à la valeur opposée. Par exemple, l’instruction suivante active le son s’il est désactivé ou le désactive s’il est activé : ADOBE DIRECTOR 11.0 23 Dictionnaire de script -- Lingo syntax _sound.soundEnabled = not (_sound.soundEnabled) // JavaScript syntax _sound.soundEnabled = !(_sound.soundEnabled); Opérateurs de chaînes Les opérateurs de chaînes combinent et définissent des chaînes. Faites attention lorsque vous utilisez les opérateurs logiques et les opérateurs de chaînes dans Lingo et la syntaxe JavaScript. Par exemple, dans la syntaxe JavaScript, && est un opérateur logique qui détermine si deux expressions sont vraies, mais dans Lingo, && est un opérateur de chaînes qui concatène deux chaînes et insère un espace entre deux expressions. Opérateur Effet Ordre de priorité & (Lingo seulement) Concatène deux chaînes. 2 + (syntaxe JavaScript seulement) Concatène deux valeurs de chaîne et renvoie une troisième chaîne qui unit les deux opérandes. 2 += (syntaxe JavaScript seulement) Concatène une variable de chaîne et une valeur de chaîne et attribue la valeur renvoyée à la variable de chaîne. 2 && (Lingo seulement) Concatène deux chaînes et insère un espace entre elles. 2 " Indique le début ou la fin d’une chaîne. 1 Constructions conditionnelles Par défaut, Director exécute toujours les instructions d’un script en commençant par la première instruction et en continuant dans l’ordre dans lequel elles apparaissent, jusqu’à ce qu’il rencontre la dernière instruction ou une instruction l’envoyant à un autre endroit. L’ordre d’exécution des instructions est tributaire de l’ordre dans lequel vous les placez. Par exemple, si vous rédigez une instruction nécessitant le calcul d’une valeur, vous devez d’abord placer une instruction calculant cette valeur. Dans l’exemple suivant, la première instruction additionne deux nombres et la seconde affecte une représentation de la somme sous forme de chaîne à un acteur champ, appelé Answer, affiché sur la scène. La seconde instruction n’a pu être placée avant la première parce que la variable x n’a pas encore été définie. -- Lingo syntax x = 2 + 2 member("Answer").text = string(x) // JavaScript syntax var x = 2 + 2; member("Answer").text = x.toString(); Lingo et la syntaxe JavaScript proposent des conventions servant à modifier l’ordre d’exécution ou les instructions de script par défaut et aussi à effectuer des actions en fonction de conditions spécifiques. Par exemple, vous pouvez choisir d’effectuer les actions suivantes dans vos scripts : • exécuter une série d’instructions si une condition logique est vraie ou exécuter d’autres instructions si la condition logique est fausse ; ADOBE DIRECTOR 11.0 24 Dictionnaire de script • évaluer une expression et essayer d’adapter sa valeur à une condition spécifique ; • exécuter une série d’instructions plusieurs fois de suite jusqu’à ce qu’une condition spécifique soit remplie. Test de conditions logiques Pour exécuter une instruction ou une série d’instructions lorsqu’une condition donnée est vraie ou fausse, vous utilisez les structures if...then...else (Lingo) ou if...else (syntaxe JavaScript). Par exemple, vous pouvez créer une structure if...then...else ou if...then qui vérifie que le téléchargement du texte à partir d’Internet est terminé et qui, le cas échéant, le formate. Ces structures utilisent le modèle suivant pour tester les conditions logiques : • Dans Lingo et la syntaxe JavaScript, les instructions qui vérifient si une condition est vraie ou fausse commencent par l’élément if. • Dans Lingo, si la condition existe, les instructions suivant l’élément then sont exécutées. Dans la syntaxe JavaScript, les accolades ({ }) remplacent l’élément Lingo then et doivent encadrer chaque instruction if, else ou else if. • Dans Lingo et la syntaxe JavaScript, si la condition n’existe pas, les scripts passent à l’instruction suivante du gestionnaire en utilisant l’élément else ou else if. • Dans Lingo, l’élément end if indique la fin du test if. Dans la syntaxe JavaScript, le test if se termine automatiquement. Il n’y a donc pas d’élément qui termine explicitement le test. Pour optimiser les performances de vos scripts, commencez par tester les conditions les plus vraisemblables. Les instructions suivantes testent plusieurs conditions. Le terme else if spécifie l’exécution d’autres tests si les conditions précédentes se sont avérées fausses : -- Lingo syntax if _mouse.mouseMember = member(1) then _movie.go("Cairo") else if _mouse.mouseMember = member(2) then _movie.go("Nairobi") else _player.alert("You’re lost.") end if // JavaScript syntax if (_mouse.mouseMember = member(1)) { _movie.go("Cairo"); } else if (_mouse.mouseMember = member(2)) { _movie.go("Nairobi"); } else { _player.alert("You’re lost."); } Lors de la rédaction de structures if…then dans Lingo, vous pouvez placer l’instruction ou les instructions après then sur la même ligne que celle de then ou les placer sur leur propre ligne en insérant un retour chariot après then. Si vous insérez un retour chariot, vous devez également placer une instruction end if à la fin de la structure if...then. Lors de la rédaction de structures if dans la syntaxe JavaScript, vous pouvez placer l’instruction ou les instructions après if sur la même ligne que celle de if ou les placer sur leur propre ligne en insérant un retour chariot après if. Par exemple, les instructions suivantes sont équivalentes : ADOBE DIRECTOR 11.0 25 Dictionnaire de script -- Lingo syntax if _mouse.mouseMember = member(1) then _movie.go("Cairo") if _mouse.mouseMember = member(1) then _movie.go("Cairo") end if // JavaScript syntax if (_mouse.mouseMember = member(1)) { _movie.go("Cairo"); } if (_mouse.mouseMember = member(1)) { _movie.go("Cairo"); } Pour plus d’informations sur l’utilisation des structures if...then...else et if...else, consultez « if », page 202. Evaluation et correspondance d’expressions Les structures case (Lingo) ou switch...case (syntaxe JavaScript) sont des raccourcis permettant d’éviter l’utilisation des structures if...then...else ou if...then dans les structures à branchements multiples. Les structures case et switch...case sont souvent plus efficaces et plus lisibles que beaucoup de structures if...then...else ou if...then. Dans Lingo, la condition devant être testée suit le terme case dans la première ligne de la structure case. La comparaison commence par la première ligne, puis passe à la suivante, etc. jusqu’à ce que Lingo rencontre une expression correspondant à la condition testée. Lorsqu’une correspondance est trouvée, Director exécute les instructions Lingo qui suivent l’expression. Dans la syntaxe JavaScript, la condition devant être testée suit le terme switch dans la première ligne de la structure. Chaque comparaison du test suit le terme case dans chaque ligne contenant un test. Vous pouvez mettre fin à une comparaison case en utilisant le terme facultatif break. Lorsque vous insérez le terme break, vous excluez le programme de la structure switch et exécutez toute instruction qui suit la structure. Si vous n’insérez pas break, la comparaison case suivante est exécutée. Une structure case ou switch...case peut utiliser des comparaisons comme conditions de test. Par exemple, les structures case et switch...case suivantes testent la dernière touche sur laquelle l’utilisateur a appuyé, et répond en conséquence : • Si l’utilisateur a appuyé sur A, l’animation passe à l’image Pomme. • Si l’utilisateur a appuyé sur B ou C, l’animation exécute la transition demandée et passe à l’image Oranges. • Si l’utilisateur a appuyé sur n’importe quelle autre touche, l’ordinateur émet un bip sonore. -- Lingo syntax case (_key.key) of "a" : _movie.go("Apple") "b", "c": _movie.puppetTransition(99) _movie.go("Oranges") otherwise: _sound.beep() end case // JavaScript syntax switch (_key.key) { case "a" : _movie.go("Apple"); ADOBE DIRECTOR 11.0 26 Dictionnaire de script break; case "b": case "c": _movie.puppetTransition(99); _movie.go("Oranges"); break; default: _sound.beep() } Remarque : dans la syntaxe JavaScript, vous ne pouvez effectuer qu’une seule comparaison par instruction case. Pour plus d’informations sur l’utilisation des structures case, consultez « case », page 196. Répétition d’actions Dans Lingo et la syntaxe JavaScript, vous pouvez répéter une action un certain nombre de fois ou tant qu’une condition spécifique existe. Dans Lingo, pour répéter une action un certain nombre de fois, vous utilisez une structure repeat with. Spécifiez le nombre de répétitions sous forme de plage après l’instruction repeat with. Pour répéter une action un certain nombre de fois dans la syntaxe JavaScript, vous utilisez la structure for. La structure for nécessite trois paramètres : le premier paramètre initialise généralement une variable compteur, le second précise une condition à évaluer à chaque fois dans la boucle et le troisième est généralement utilisé pour mettre à jour ou incrémenter la variable compteur. Les structures repeat with et for servent à effectuer la même opération sur une série d’objets. Par exemple, la boucle suivante applique l’encre Fond transparent aux images-objets 2 à 10 : -- Lingo syntax repeat with n = 2 to 10 sprite(n).ink = 36 end repeat // JavaScript syntax for (var n=2; n<=10; n++) { sprite(n).ink = 36; } Cet exemple exécute une action similaire, mais avec des nombres décroissants : -- Lingo syntax repeat with n = 10 down to 2 sprite(n).ink = 36 end repeat // JavaScript syntax for (var n=10; n>=2; n--) { sprite(n).ink = 36; } Dans Lingo, pour répéter une série d’instructions tant qu’une condition spécifique existe, utilisez la structure repeat while. Dans la syntaxe JavaScript, pour répéter une série d’instructions tant qu’une condition spécifique existe, utilisez la structure while. Par exemple, les instructions suivantes font émettre un bip sonore continu à l’animation à chaque fois que l’utilisateur appuie sur le bouton de la souris : ADOBE DIRECTOR 11.0 27 Dictionnaire de script -- Lingo syntax repeat while _mouse.mouseDown _sound.beep() end repeat // JavaScript syntax while (_mouse.mouseDown) { _sound.beep(); } Les scripts Lingo et JavaScript continuent à effectuer une boucle sur les instructions de la boucle jusqu’à ce que la condition ne soit plus vraie ou jusqu’à ce que l’une des instructions envoie le script à l’extérieur de la boucle. Dans l’exemple précédent, le script quitte la boucle lorsque l’utilisateur relâche le bouton de la souris puisque la condition mouseDown cesse d’exister. Pour quitter une boucle dans Lingo, utilisez l’instruction exit repeat. Pour quitter une boucle dans la syntaxe JavaScript, vous pouvez utiliser le terme break. Le script quitte automatiquement la boucle lorsqu’une condition n’est plus vraie. Par exemple, les instructions suivantes font émettre un bip sonore à l’animation à chaque fois que l’utilisateur appuie sur le bouton de la souris, sauf si le pointeur de la souris se trouve au-dessus de l’image-objet 1. Dans ce cas, le script quitte la boucle et le bip sonore s’arrête. La méthode rollover() indique si le pointeur se trouve au-dessus de l’image-objet spécifiée. -- Lingo syntax repeat while _mouse.stillDown _sound.beep() if _movie.rollOver(1) then exit repeat end repeat // JavaScript syntax while (_mouse.stillDown) { _sound.beep(); if (_movie.rollOver(1)) { break; } } Pour plus d’informations sur les structures repeat while et while, consultez « repeat while », page 213. Evénements, messages et gestionnaires Pour créer des scripts solides et utiles, il est essentiel de maîtriser les concepts et les fonctionnalités des événements, messages et gestionnaires. Si vous comprenez l’ordre dans lequel les événements et les messages sont envoyés et reçus, vous pouvez déterminer exactement quand des scripts ou des parties de scripts donnés doivent être exécutés. Ceci vous aide à déboguer vos scripts si certaines actions ne se produisent pas au moment prévu. Les événements suivants se produisent durant la lecture d’une animation : • des événements se produisent en réaction à une action du système ou à une action définie par l’utilisateur ; • des messages correspondant à ces événements sont envoyés aux scripts d’une animation ; • les gestionnaires compris dans les scripts contiennent les instructions qui sont exécutées lorsqu’un message est reçu. ADOBE DIRECTOR 11.0 28 Dictionnaire de script Le nom d’un événement correspond au nom du message qu’il produit, et le gestionnaire de cet événement correspond à la fois à l’événement et au message. Par exemple, lorsque l’événement mouseDown se produit, Director crée et envoie aux scripts un message appelé mouseDown qui est ensuite pris en charge par un gestionnaire appelé mouseDown. Evénements Durant la lecture d’une animation, deux catégories d’événements se produisent : • Les événements système se produisent sans aucune interaction entre un utilisateur et l’animation et sont prédéfinis et nommés dans Director, par exemple, lorsque la tête de lecture entre dans une image, lorsque vous cliquez sur une image-objet, etc. • Les événements définis par l’utilisateur se produisent en réponse aux actions que vous définissez. Par exemple, vous pouvez créer un événement qui se produit lorsque la couleur de fond d’une image-objet passe du rouge au bleu, après qu’un son a été lu cinq fois, etc. Plusieurs événements système tels que prepareFrame, beginSprite, etc., se produisent automatiquement et dans un ordre prédéfini durant la lecture d’une animation. D’autres événements système, en particulier des événements liés à la souris tels que mouseDown, mouseUp etc., ne se produisent pas nécessairement de manière automatique durant la lecture d’une animation, mais plutôt après qu’ils aient été déclenchés par un utilisateur. Par exemple, au début d’une animation, l’événement prepareMovie est toujours le premier à se produire, l’événement prepareFrame toujours le second, etc. Cependant, les événements mouseDown et mouseUp peuvent ne jamais se produire dans une animation, à moins qu’un utilisateur ne les déclenche en cliquant sur l’animation. Les listes suivantes répertorient les événements système qui se produisent toujours durant une animation et l’ordre dans lequel ils se produisent. Les événements se produisent dans l’ordre suivant au démarrage de l’animation : 1 prepareMovie prepareFrame Immédiatement après l’événement prepareFrame, Director lit les sons, dessine les imagesobjets et effectue les transitions ou les effets de palette. Cet événement se produit avant l’événement enterFrame. L’utilisation d’un gestionnaire prepareFrame est conseillée pour exécuter un script avant que l’image ne soit dessinée. 2 3 beginSprite 4 startMovie Cet événement se produit lorsque la tête de lecture pénètre dans la zone d’une image-objet. Cet événement se produit dans la première image lue. Lorsqu’une animation rencontre une image, les événements se produisent dans l’ordre suivant : 1 beginSprite Cet événement ne se produit que si de nouvelles images-objets apparaissent dans l’image. 2 3 stepFrame prepareFrame enterFrame Après l’événement enterFrame, mais avant exitFrame, Director gère les délais exigés par les réglages de cadence, les événements d’inactivité et les événements clavier et souris. 4 5 exitFrame 6 endSprite Cet événement ne se produit que lorsque la tête de lecture sort d’une image-objet de l’image. Les événements se produisent dans l’ordre suivant lorsque la lecture de l’animation s’arrête : 1 endSprite Cet événement ne se produit que si l’animation contient des images-objets. 2 stopMovie ADOBE DIRECTOR 11.0 29 Dictionnaire de script Pour plus d’informations sur les événements système prédéfinis de Director, consultez « Evénements et messages », page 153. Messages Pour exécuter au bon moment l’ensemble d’instructions de script approprié, Director doit déterminer ce qui se passe dans l’animation et les instructions à exécuter pour répondre à certains événements. Director utilise des messages pour indiquer que des événements spécifiques se produisent dans l’animation, tels qu’un clic sur une image-objet, l’enfoncement des touches du clavier, le démarrage de l’animation, l’entrée ou la sortie de la tête de lecture dans une image ou encore le renvoi d’une valeur spécifique par un script. L’ordre dans lequel les messages sont envoyés aux objets de l’animation est le suivant : 1 Les messages sont d’abord envoyés aux comportements associés aux images-objets affectées par l’événement. Si plusieurs comportements sont associés à une image-objet, ceux-ci répondent au message dans l’ordre dans lequel ils ont été associés à cette image-objet. 2 Les messages sont ensuite envoyés au script de l’acteur de l’image-objet. 3 Les messages sont ensuite envoyés aux comportements associés à l’image actuelle. 4 Enfin, les messages sont envoyés aux scripts de l’animation. Bien qu’il vous soit possible de définir le nom de vos messages, la plupart des événements communs survenant dans une animation possèdent des noms de message prédéfinis. Pour plus d’informations sur les messages intégrés à Director, consultez « Evénements et messages », page 153. Définition de messages personnalisés En plus d’utiliser les noms de messages prédéfinis, vous pouvez définir vos propres messages et les noms des gestionnaires correspondants. Un message personnalisé peut appeler un autre script, un autre gestionnaire ou le gestionnaire de l’instruction même. Lorsque le gestionnaire appelé a terminé son exécution, l’exécution du gestionnaire qui l’a appelé reprend. Les noms de messages et de gestionnaires personnalisés doivent répondre aux critères suivants : • Ils doivent débuter par une lettre. • Ils doivent inclure uniquement des caractères alphanumériques (pas de caractères spéciaux ou de ponctuation). • Ils doivent être composés d’un ou de plusieurs mots reliés par un trait de soulignement (les espaces ne sont pas autorisés). • Ils ne peuvent pas être identiques au nom d’un élément Lingo ou JavaScript prédéfini. L’utilisation de mots-clés Lingo ou JavaScript prédéfinis pour les noms de messages et de gestionnaires peut prêter à confusion. Bien qu’il soit possible de remplacer ou d’augmenter explicitement la fonctionnalité d’un élément Lingo ou JavaScript en l’utilisant comme nom de message ou de gestionnaire, seuls les utilisateurs chevronnés devraient effectuer cette opération. Lorsque vous utilisez plusieurs gestionnaires remplissant des fonctions similaires, donnez-leur des noms commençant de la même manière afin de les regrouper dans les listes alphabétiques, comme par exemple la liste qui apparaît lorsque vous sélectionnez l’option Edition > Rechercher > Gestionnaire. ADOBE DIRECTOR 11.0 30 Dictionnaire de script Gestionnaires Un gestionnaire est un ensemble d’instructions placées dans un script et exécutées en réponse à un événement déterminé et à un message subséquent. Bien que Director contienne des événements et des messages intégrés, vous devez créer vos propres gestionnaires pour chaque paire d’événements/messages que vous voulez gérer. Stratégie de positionnement des gestionnaires Vous pouvez placer des gestionnaires dans n’importe quel type de script, un script pouvant contenir plusieurs gestionnaires. Il est recommandé de regrouper les gestionnaires apparentés au même endroit afin d’en simplifier la gestion. Les recommandations suivantes s’appliquent aux situations les plus actuelles : • Pour associer un gestionnaire à une image-objet déterminée ou pour exécuter un gestionnaire en réponse à une action dans une image-objet précise, placez le gestionnaire dans un comportement affecté à l’image-objet. • Pour définir un gestionnaire disponible à tout moment lorsque l’animation se trouve dans une image déterminée, placez-le dans un comportement affecté à l’image. Par exemple, pour qu’un gestionnaire réponde à un clic de la souris lorsque la tête de lecture est dans une image, quel que soit l’endroit où se produit le clic, placez un gestionnaire mouseDown ou mouseUp dans le comportement de l’image plutôt que dans un comportement d’image-objet. • Pour définir un gestionnaire exécuté en réponse à des messages d’événements se produisant n’importe où dans l’animation, placez-le dans un script d’animation. • Pour définir un gestionnaire exécuté en réponse à un événement affectant un acteur, quelles que soient les images-objets utilisant cet acteur, placez-le dans un script d’acteur. Identification du moment auquel les gestionnaires reçoivent un message Après avoir envoyé un message aux scripts, Director vérifie la présence de gestionnaires dans un ordre défini. 1 Director vérifie d’abord l’existence de gestionnaires dans l’objet à partir duquel le message a été envoyé. Si un gestionnaire est trouvé, le message est intercepté et le script du gestionnaire est exécuté. 2 S’il ne trouve pas de gestionnaire, Director vérifie, dans un ordre croissant, les scripts d’animation associés à un acteur et pouvant contenir un gestionnaire lié au message. Si un gestionnaire est trouvé, le message est intercepté et le script du gestionnaire est exécuté. 3 Si aucun gestionnaire n’a été trouvé, Director vérifie si un script d’image contient un gestionnaire pour le message. Si un gestionnaire est trouvé, le message est intercepté et le script du gestionnaire est exécuté. S’il ne trouve pas de gestionnaire, Director vérifie, dans un ordre croissant, les scripts associés aux images-objets et pouvant contenir un gestionnaire lié au message. Si un gestionnaire est trouvé, le message est intercepté et le script du gestionnaire est exécuté. 4 Le message n’est pas automatiquement transmis aux emplacements restants après son interception par le gestionnaire. Cependant, dans Lingo, vous pouvez utiliser la méthode pass() pour ignorer cette règle par défaut et transmettre le message à d’autres objets. Si le gestionnaire recherché n’est pas trouvé après l’envoi du message à tous les emplacements possibles, Director ignore le message. L’ordre exact dans lequel Director envoie un message aux objets dépend du message même. Pour plus d’informations sur l’ordre des objets auxquels Director envoie des messages spécifiques, consultez l’entrée correspondant à chaque message dans « Evénements et messages », page 153. ADOBE DIRECTOR 11.0 31 Dictionnaire de script Utilisation de paramètres pour transmettre des valeurs à un gestionnaire L’utilisation de paramètres comme valeurs vous permet de transmettre à un gestionnaire les valeurs exactes nécessaires au moment voulu, sans tenir compte de l’endroit de l’animation ni du moment auquel vous appelez ce gestionnaire. Les paramètres peuvent être facultatifs ou obligatoires, selon le cas. Créer les paramètres d’un gestionnaire O Dans Lingo, placez les paramètres après le nom du gestionnaire. O Dans la syntaxe JavaScript, mettez les paramètres entre parenthèses, puis placez-les après le nom du gestionnaire. Les paramètres multiples doivent être séparés par des virgules. Lorsque vous appelez un gestionnaire, vous devez fournir des valeurs spécifiques pour les paramètres qu’il utilise. Vous pouvez utiliser n’importe quel type de valeur, tel qu’un nombre, une variable à laquelle une valeur est affectée ou une chaîne. Les valeurs de l’instruction d’appel doivent suivre le même ordre que dans les paramètres du gestionnaire et être entourées de parenthèses. Dans l’exemple suivant, la variable mySum appelle la méthode addThem qui reçoit les deux valeurs 2 et 4. Le gestionnaire addThem remplace les repères d’emplacement de paramètres a et b par les deux valeurs qu’il a reçues, stocke le résultat dans la variable locale c, puis utilise le mot-clé return pour renvoyer le résultat à la méthode originale qui est ensuite attribuée à mySum. Etant donné que 2 figure en premier dans la liste des paramètres, il remplace a dans le gestionnaire. De même, étant donné que 4 est le second dans la liste des paramètres, il remplace b dans le gestionnaire. -- Lingo syntax mySum = addThem(2, 4) -- calling statement on addThem a, b -- handler c = a + b return c -- returns the result to the calling statement end // JavaScript syntax var mySum = addThem(2, 4); // calling statement function addThem(a, b) { // handler c = a + b; return c; // returns the result to the calling statement } Dans Lingo, lorsque vous appelez une méthode personnalisée à partir d’un objet, une référence à l’objet Script de la mémoire est toujours transmise en tant que premier paramètre implicite au gestionnaire de la méthode. Cela signifie que vous devez prendre en charge la référence de l’objet Script dans votre gestionnaire. Par exemple, imaginez que vous ayez rédigé une méthode d’image-objet personnalisée appelée jump() dont le paramètre est un nombre entier simple et que vous l’ayez placée dans un comportement. Lorsque vous appelez jump() d’une référence d’un objet Image-objet, le gestionnaire doit également inclure un paramètre représentant la référence de l’objet Script, et non pas uniquement le nombre entier. Dans ce cas, le paramètre désigné est représenté par le mot-clé me, mais tout autre terme fonctionne également. -- Lingo syntax myHeight = sprite(2).jump(5) on jump(me,a) return a + 15 -- this handler works correctly, and returns 20 end ADOBE DIRECTOR 11.0 32 Dictionnaire de script on jump(a) return a + 15 -- this handler does not work correctly, and returns 0 end Vous pouvez également utiliser des expressions comme valeurs. Par exemple, l’instruction suivante utilise 3+6 pour remplacer a et 8>2 (ou 1, représentant TRUE) pour remplacer b et renvoie 10 : -- Lingo syntax mySum = addThem(3+6, 8>2) Dans Lingo, tous les gestionnaires commencent par le mot on, suivi du message auquel ils doivent répondre. La dernière ligne du gestionnaire est le mot end. Vous pouvez répéter le nom du gestionnaire après end, ce qui n’est pas obligatoire. Dans la syntaxe JavaScript, tous les gestionnaires commencent par le mot function, suivi du message auquel ils doivent répondre. Les instructions comprenant le gestionnaire sont mises entre crochets et sont toutes des fonctions de la syntaxe JavaScript. Renvoi de résultats avec les gestionnaires Il est souvent utile qu’un gestionnaire vous indique la présence d’une condition ou le résultat d’une action spécifique. Renvoyer des résultats avec un gestionnaire O Utilisez le mot-clé return pour qu’un gestionnaire retourne la présence d’une condition ou le résultat d’une action. Par exemple, le gestionnaire findColor suivant retourne la couleur de l’image-objet 1 : -- Lingo syntax on findColor return sprite(1).foreColor end // JavaScript syntax function findColor() { return(sprite(1).foreColor); } Vous pouvez également utiliser le mot-clé return tout seul pour quitter le gestionnaire actuel et ne renvoyer aucune valeur. Par exemple, le gestionnaire jump suivant ne renvoie rien si le paramètre aVal est égal à 5 ; autrement, il renvoie une valeur : -- Lingo syntax on jump(aVal) if aVal = 5 then return aVal = aVal + 10 return aVal end // JavaScript syntax function jump(aVal) { if(aVal == 5) { return; } else { aVal = aVal + 10; return(aVal); } } ADOBE DIRECTOR 11.0 33 Dictionnaire de script Lorsque vous définissez un gestionnaire renvoyant un résultat, vous devez le faire suivre de parenthèses quand vous l’appelez à partir d’un autre gestionnaire. Par exemple, l’instruction put(findColor()) appelle le gestionnaire on findColor, puis affiche le résultat dans la fenêtre Messages. Listes linéaires et listes de propriétés Dans vos scripts, vous pouvez choisir de faire le suivi et la mise à jour de listes de données, telles qu’une série de noms ou les valeurs attribuées à un ensemble de variables. Lingo et la syntaxe JavaScript ont accès aux listes linéaires et aux listes de propriétés. Dans une liste linéaire, chaque élément est une valeur unique. Dans une liste de propriétés, chaque élément contient deux valeurs ; la première est un nom de propriété, la seconde est la valeur associée à cette propriété. Etant donné que Lingo et la syntaxe JavaScript ont tous deux accès aux listes linéaires et aux listes de propriétés, il est recommandé d’utiliser les listes linéaires et les listes de propriétés si les valeurs de votre code sont partagées par les scripts Lingo et JavaScript. Si certaines valeurs de votre code sont utilisées uniquement dans les scripts de la syntaxe JavaScript, nous vous recommandons d’utiliser des objets Tableau de JavaScript avec les listes de données. Pour plus d’informations sur l’utilisation des tableaux, consultez « Tableaux de la syntaxe JavaScript », page 40. Création de listes linéaires Pour créer une liste linéaire, effectuez l’une des opérations suivantes : • Dans Lingo, utilisez la fonction de haut niveau list() ou l’opérateur de liste ([ ]) et séparez les éléments de la liste par des virgules. • Dans la syntaxe JavaScript, utilisez la fonction de haut niveau list() et séparez les éléments de la liste par des virgules. L’index d’une liste linéaire commence toujours par 1. Lorsque vous utilisez la fonction de haut niveau list(), vous spécifiez que les éléments de la liste sont des paramètres de la fonction. Cette fonction peut s’avérer pratique si vous utilisez un clavier ne possédant pas de touches de crochets. Les instructions suivantes créent toutes une liste linéaire de trois noms et l’affectent à une variable : -- Lingo syntax workerList = ["Bruno", "Heather", "Carlos"] -- using the Lingo list operator workerList = list("Bruno", "Heather", "Carlos") -- using list() // JavaScript syntax var workerList = list("Bruno", "Heather", "Carlos"); // using list() Vous pouvez également créer des listes linéaires vides. Les instructions suivantes créent des listes linéaires vides : -- Lingo syntax workerList = [] -- using the Lingo list operator workerList = list() -- using list() with no parameters // JavaScript syntax var workerList = list(); // using list() with no parameters ADOBE DIRECTOR 11.0 34 Dictionnaire de script Création de listes de propriétés Pour créer une liste de propriétés, effectuez l’une des opérations suivantes : • Dans Lingo, utilisez soit la fonction de haut niveau propList(), soit l’opérateur de liste ([:]). Lorsque vous utilisez l’opérateur de liste pour créer une liste de propriétés, vous pouvez utiliser soit le signe deux-points (:) pour désigner des éléments de nom/valeur et des virgules pour séparer les éléments de la liste, soit des virgules pour désigner des éléments de nom/valeur et séparer les éléments dans la liste. • Dans la syntaxe JavaScript, utilisez la fonction de haut niveau propList() et insérez des virgules pour désigner des éléments de nom/valeur et séparer les éléments dans la liste. Lorsque vous utilisez la fonction de haut niveau propList(), vous spécifiez que les éléments de la liste de propriétés sont des paramètres de la fonction. Cette fonction peut s’avérer pratique si vous utilisez un clavier ne possédant pas de touches de crochets. Les propriétés peuvent apparaître plusieurs fois dans une liste de propriétés donnée. Les instructions suivantes créent toutes une liste de quatre propriétés (left, top, right et bottom) et leurs valeurs correspondantes : -- Lingo syntax sprite1Loc = [#left:100, #top:150, #right:300, #bottom:350] sprite1Loc = ["left",400, "top",550, "right",500, "bottom",750] sprite1Loc = propList("left",400, "top",550, "right",500, "bottom",750) // JavaScript syntax var sprite1Loc = propList("left",400, "top",550, "right",500, "bottom",750); Vous pouvez également créer des listes de propriétés vides. Les instructions suivantes créent des listes de propriétés vides : -- Lingo syntax sprite1Loc = [:] -- using the Lingo property list operator sprite1Loc = propList() -- using propList() with no parameters // JavaScript syntax var sprite1Loc = propList(); // using propList() with no parameters Définition et récupération d’éléments de listes Vous pouvez définir et récupérer des éléments individuels dans une liste. La syntaxe utilisée est différente en fonction du type de liste. Définition d’une valeur dans une liste linéaire O Effectuez l’une des opérations suivantes : • Utilisez l’opérateur égal à (=). • Utilisez la méthode setAt(). Les instructions suivantes montrent comment définir la liste linéaire workerList contenant une valeur, Heather, puis ajoute Carlos en tant que seconde valeur dans la liste. -- Lingo syntax workerList = ["Heather"] -- define a linear list workerList[2] = "Carlos" -- set the second value using the equal operator workerList.setAt(2, "Carlos") -- set the second value using setAt() ADOBE DIRECTOR 11.0 35 Dictionnaire de script // JavaScript syntax var workerList = list("Heather"); // define a linear list workerList[2] = "Carlos"; // set the second value using the equal operator workerList.setAt(2, "Carlos"); // set the second value using setAt() Récupération d’une valeur dans une liste linéaire 1 Utilisez la variable de la liste suivie du numéro indiquant la position de la valeur dans la liste. Encadrez ce nombre de crochets. 2 Utilisez la méthode getAt(). Les instructions suivantes créent la liste linéaire workerList, puis attribue la seconde valeur de la liste à la variable name2 : -- Lingo syntax workerList = ["Bruno", "Heather", "Carlos"] -- define a linear list name2 = workerList[2] -- use bracketed access to retrieve "Heather" name2 = workerList.getAt(2) -- use getAt() to retrieve "Heather" // JavaScript syntax var workerList = list("Bruno", "Heather", "Carlos"); var name2 = workerList[2] // use bracketed access to retrieve "Heather" var name2 = workerList.getAt(2) // use getAt() to retrieve "Heather" Définition d’une valeur dans une liste de propriétés O Effectuez l’une des opérations suivantes : • Utilisez l’opérateur égal à (=). • Dans Lingo, utilisez la méthode setaProp(). • Utilisez la syntaxe à point. Les instructions Lingo suivantes utilisent l’opérateur égal à pour faire de sushi la nouvelle valeur associée à la propriété Bruno : -- Lingo syntax foodList = [:] -- define an empty property list foodList[#Bruno] = "sushi" -- associate sushi with Bruno Les instructions Lingo suivantes utilisent setaprop() pour faire de sushi la nouvelle valeur associée à la propriété Bruno : -- Lingo syntax foodList = [:] -- define an empty property list foodList.setaProp(#Bruno, "sushi") -- use setaProp() // JavaScript syntax foodList = propList() -- define an empty property list foodList.setaProp("Bruno", "sushi") -- use setaProp() Les instructions suivantes utilisent la syntaxe à points pour définir la valeur associée à Bruno de sushi à teriyaki. -- Lingo syntax foodList = [#Bruno:"sushi"] trace(foodList) -- displays foodList.Bruno = "teriyaki" trace(foodList) -- displays -- define a property list [#Bruno: "sushi"] -- use dot syntax to set the value of Bruno [#Bruno: "teriyaki"] // JavaScript syntax var foodList = propList("Bruno", "sushi"); // define a property list trace(foodList); // displays ["Bruno": "sushi"] ADOBE DIRECTOR 11.0 36 Dictionnaire de script foodList.Bruno = "teriyaki" // use dot syntax to set the value of Bruno trace(foodList) -- displays [#Bruno: "teriyaki"] Récupération d’une valeur dans une liste de propriétés O Effectuez l’une des opérations suivantes : • Utilisez la variable de la liste, suivie du nom de la propriété associée à cette valeur. Encadrez cette propriété de crochets. • Utilisez la méthode getaProp() ou getPropAt(). • Utilisez la syntaxe à point. Les instructions suivantes utilisent un accès par crochets pour récupérer les valeurs associées aux propriétés breakfast et lunch. -- Lingo syntax -- define a property list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger"] trace(foodList[#breakfast]) -- displays "Waffles" trace(foodList[#lunch]) -- displays "Tofu Burger" // JavaScript syntax // define a property list var foodList = propList("breakfast", "Waffles", "lunch", "Tofu Burger"); trace(foodList["breakfast"]); // displays Waffles trace(foodList["lunch"]); // displays Tofu Burger Les instructions suivantes utilisent getaProp() pour récupérer la valeur associée à la propriété breakfast et getPropAt() pour récupérer la propriété à la seconde position d’index de la liste. -- Lingo syntax -- define a property list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger"] trace(foodList.getaProp(#breakfast)) -- displays "Waffles" trace(foodList.getPropAt(2)) -- displays #lunch // JavaScript syntax // define a property list var foodList = propList("breakfast", "Waffles", "lunch", "Tofu Burger"); trace(foodList.getaProp("breakfast")) // displays Waffles trace(foodList.getPropAt(2)) // displays lunch Les instructions suivantes utilisent la syntaxe à points pour accéder aux valeurs associées aux propriétés dans une liste de propriétés : -- Lingo syntax -- define a property list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger"] trace(foodList.breakfast) -- displays "Waffles" // JavaScript syntax // define a property list var foodList = propList("breakfast", "Waffles", "lunch", "Tofu Burger"); trace(foodList.lunch); // displays Tofu Burger Vérification d’éléments dans les listes Vous pouvez déterminer les caractéristiques d’une liste et le nombre d’éléments qu’elle contient en utilisant les méthodes suivantes : ADOBE DIRECTOR 11.0 37 Dictionnaire de script • Pour afficher le contenu d’une liste, utilisez la fonction put() ou trace() en passant la variable contenant la liste en tant que paramètre. • Pour déterminer le nombre d’éléments contenus dans une liste, utilisez la méthode count() (Lingo seulement) ou la propriété count. • Pour déterminer le type d’une liste, utilisez la méthode ilk(). • Pour déterminer la valeur maximale d’une liste, utilisez la méthode max(). • Pour déterminer la valeur minimale d’une liste, utilisez la fonction min(). • Pour déterminer la position d’une propriété spécifique, utilisez la commande findPos, findPosNear ou getOne . Les instructions suivantes utilisent count() et count pour afficher le nombre d’éléments d’une liste : -- Lingo syntax workerList = ["Bruno", "Heather", "Carlos"] -- define a linear list trace(workerList.count()) -- displays 3 trace(workerList.count) -- displays 3 // JavaScript syntax var workerList = list("Bruno", "Heather", "Carlos"); // define a linear list trace(workerList.count); // displays 3 Les instructions suivantes utilisent ilk() pour déterminer le type d’une liste : -- Lingo syntax x = ["1", "2", "3"] trace(x.ilk()) // returns #list // JavaScript syntax var x = list("1", "2", "3"); trace(x.ilk()) // returns #list Les instructions suivantes utilisent max() et min() pour déterminer les valeurs maximales and minimales d’une liste : -- Lingo syntax workerList = ["Bruno", "Heather", "Carlos"] -- define a linear list trace(workerList.max()) -- displays "Heather" trace(workerList.min()) -- displays "Bruno" // JavaScript syntax var workerList = list("Bruno", "Heather", "Carlos"); // define a linear list trace(workerList.max()); // displays Heather trace(workerList.min()); // displays Bruno Les instructions suivantes utilisent findPos pour obtenir la position d’index d’une propriété spécifiée dans une liste de propriétés : -- Lingo syntax -- define a property list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger"] trace(foodList.findPos(#lunch)) -- displays 2 // JavaScript syntax // define a property list var foodList = propList("breakfast", "Waffles", "lunch", "Tofu Burger"); trace(foodList.findPos("breakfast")); // displays 1 ADOBE DIRECTOR 11.0 38 Dictionnaire de script Ajout et suppression d’éléments dans des listes Vous pouvez ajouter des éléments à une liste ou en supprimer à l’aide des méthodes suivantes : • Pour ajouter un élément à la fin d’une liste, utilisez la méthode append(). • Pour ajouter un élément au bon endroit dans une liste triée, utilisez la méthode add() ou addProp() . • Pour ajouter un élément à un emplacement spécifique d’une liste linéaire, utilisez la méthode addAt(). • Pour ajouter un élément à un emplacement spécifique d’une liste de propriétés, utilisez la méthode addProp(). • Pour supprimer un élément d’une liste, utilisez la méthode deleteAt(), deleteOne() ou deleteProp(). • Pour remplacer un élément d’une liste, utilisez le méthode setAt() ou setaProp(). Les instructions suivantes utilisent append() pour ajouter un élément à la fin d’une liste. -- Lingo syntax workerList = ["Bruno", "Heather", "Carlos"] -- define a linear list workerList.append("David") trace(workerList) -- displays ["Bruno", "Heather", "Carlos", "David"] // JavaScript syntax var workerList = list("Bruno", "Heather", "Carlos"); // define a linear list workerList.append("David"); trace(workerList); // displays ["Bruno", "Heather", "Carlos", "David"] Les instructions suivantes utilisent addProp() pour ajouter une propriété et une valeur associée à une liste de propriétés : -- Lingo syntax -- define a property list foodList = [#breakfast:"Waffles", #lunch:"Tofu Burger"] foodList.addProp(#dinner, "Spaghetti") -- adds [#dinner: "Spaghetti"] // JavaScript syntax // define a property list var foodList = propList("breakfast", "Waffles", "lunch", "Tofu Burger"); foodList.addProp("dinner", "Spaghetti"); // adds ["dinner": "Spaghetti"] Il n’est pas nécessaire d’éliminer explicitement les listes. En effet, elles sont automatiquement supprimées dès qu’aucune variable n’y fait plus référence. Les autres types d’objets doivent être retirés de manière explicite, en donnant aux variables qui y font référence la valeur VOID (Lingo) ou null (syntaxe JavaScript). Copie de listes L’affectation d’une liste à une variable, puis l’affectation de cette variable à une autre variable ne créent pas automatiquement une copie de cette liste. Par exemple, la première instruction ci-dessous crée une liste contenant les noms de deux continents et affecte la liste à la variable landList. La seconde instruction affecte la même liste à une nouvelle variable continentList. Dans la troisième instruction, l’ajout de l’élément Australie à landList ajoute automatiquement l’élément Australia à la liste continentList. Ceci se produit car les deux noms de variables font référence au même objet Liste en mémoire. Le même comportement se produit lorsque vous utilisez un tableau dans la syntaxe JavaScript. -- Lingo syntax landList = ["Asia", "Africa"] continentList = landList landList.add("Australia") -- this also adds "Australia" to continentList ADOBE DIRECTOR 11.0 39 Dictionnaire de script Création d’une copie d’une liste indépendante d’une autre liste O Utilisez la méthode duplicate(). Par exemple, les instructions suivantes créent une liste puis font une copie indépendante de la liste : -- Lingo syntax oldList = ["a", "b", "c"] newList = oldList.duplicate() -- makes an independent copy of oldList // JavaScript syntax var oldList = list("a", "b", "c"); var newList = oldList.duplicate(); // makes an independent copy of oldList Une fois newList créée, la modification de oldList ou de newList n’a aucun effet sur l’autre liste. Tri de listes Les listes sont triées dans l’ordre alphanumérique, les nombres étant triés avant les chaînes. Les chaînes sont triées en fonction de la première lettre, quel que soit le nombre de caractères qu’elles contiennent. Les listes triées sont traitées un peu plus rapidement que les listes non triées. Une liste linéaire est triée en fonction des valeurs de la liste. Une liste de propriétés est triée en fonction des noms de propriétés de la liste ou du tableau. Une fois les valeurs d’une liste linéaire ou d’une liste de propriétés triées, elles restent triées même si des valeurs sont ajoutées ou supprimées des listes. Trier une liste O Utilisez la méthode sort(). Par exemple, les instructions suivantes trient une liste alphabétique non triée : -- Lingo syntax oldList = ["d", "a", "c", "b"] oldList.sort() -- results in ["a", "b", "c", "d"] // JavaScript syntax var oldList = list("d", "a", "c", "b"); oldList.sort(); // results in ["a", "b", "c", "d"] Création de listes multidimensionnelles Vous pouvez également créer des listes multidimensionnelles qui vous permettent d’utiliser les valeurs de plusieurs listes à la fois. Dans l’exemple suivant, les deux premières instructions créent les listes linéaires distinctes list1 et list2. La troisième instruction crée une liste multidimensionnelle et l’affecte à mdList. Dans une liste multidimensionnelle, les instructions quatre et cinq utilisent des crochets pour accéder aux valeurs de la liste ; le premier crochet donne accès à une liste donnée, le second crochet donnant accès à la valeur se trouvant à la position d’index spécifiée dans la liste. -- Lingo syntax list1 = list(5,10) list2 = list(15,20) mdList = list(list1, list2) trace(mdList[1][2]) -- displays 10 trace(mdList[2][1]) -- displays 15 ADOBE DIRECTOR 11.0 40 Dictionnaire de script // JavaScript syntax var list1 = list(5,10); var list2 = list(15,20); var mdList = list(list1, list2); trace(mdList[1][2]); // displays 10 trace(mdList[2][1]); // displays 15 Tableaux de la syntaxe JavaScript Les tableaux de la syntaxe JavaScript sont similaires aux listes linéaires de Lingo, chaque élément d’un tableau étant une valeur unique. L’une des principales différences entre les tableaux de la syntaxe JavaScript et les listes linéaires de Lingo est que l’index d’un tableau commence toujours par 0. Vous pouvez créer un tableau de la syntaxe JavaScript en utilisant l’objet Tableau. Vous pouvez utiliser soit des crochets ([ ]) soit le constructeur Array pour créer un tableau. Les deux instructions suivantes créent un tableau de deux valeurs : // JavaScript syntax var myArray = [10, 15]; // using square brackets var myArray = new Array(10, 15); // using the Array constructor Vous pouvez également créer des tableaux vides. Les deux instructions suivantes créent un tableau vide : // JavaScript syntax var myArray = []; var myArray = new Array(); Remarque : le manuel Référence de scripting de Director ne constitue pas une référence complète pour les objets Tableau de la syntaxe JavaScript. Pour plus d’informations sur l’utilisation des objets Tableau, reportez-vous à l’une des nombreuses documentations d’autres éditeurs sur le sujet. Vérification d’éléments dans les tableaux Vous pouvez déterminer les caractéristiques d’un tableau et le nombre d’éléments qui y sont contenus en utilisant les méthodes suivantes : • Pour afficher le contenu d’une liste, utilisez la fonction put() ou trace(), en passant la variable contenant la liste en tant que paramètre. • Pour déterminer le nombre d’éléments contenus dans un tableau, utilisez la propriété length de l’objet Tableau. • Pour déterminer le type d’un tableau, utilisez la propriété constructor. L’exemple suivant montre comment déterminer le nombre d’éléments contenus dans un tableau en utilisant la propriété length puis en renvoyant le type d’objet à l’aide de la propriété constructor : // JavaScript syntax var x = ["1", "2", "3"]; trace(x.length) // displays 3 trace(x.constructor == Array) // displays true Ajout et suppression d’éléments dans les tableaux Vous pouvez ajouter des éléments dans un tableau ou en supprimer à l’aide des méthodes suivantes : • Pour ajouter un élément à la fin d’un tableau, utilisez la méthode push() de l’objet Tableau. • Pour placer un élément au bon endroit dans un tableau trié, utilisez la méthode splice() de l’objet Tableau. ADOBE DIRECTOR 11.0 41 Dictionnaire de script • Pour placer un élément à un endroit précis d’un tableau, utilisez la méthode splice() de l’objet Tableau. • Pour supprimer un élément d’un tableau, utilisez la méthode splice() de l’objet Tableau. • Pour remplacer un élément dans un tableau, utilisez la méthode splice() de l’objet Tableau. L’exemple suivant montre comment utiliser la méthode splice() de l’objet Tableau pour ajouter des éléments à un tableau, les supprimer du tableau ou les remplacer : // JavaScript syntax var myArray = new Array("1", "2"); trace(myArray); displays 1,2 myArray.push("5"); // adds the value "5" to the end of myArray trace(myArray); // displays 1,2,5 myArray.splice(3, 0, "4"); // adds the value "4" after the value "5" trace(myArray); // displays 1,2,5,4 myArray.sort(); // sort myArray trace(myArray); // displays 1,2,4,5 myArray.splice(2, 0, "3"); trace(myArray); // displays 1,2,3,4,5 myArray.splice(3, 2); // delete two values at index positions 3 and 4 trace(myArray); // displays 1,2,3 myArray.splice(2, 1, "7"); // replaces one value at index position 2 with "7" trace(myArray); displays 1,2,7 Copie de tableaux L’affectation d’un tableau à une variable, puis l’affectation de cette variable à une autre variable ne créent pas une copie distincte de ce tableau. Par exemple, la première instruction ci-dessous crée un tableau contenant les noms de deux continents, puis affecte le tableau à la variable landList. La seconde instruction affecte la même liste à une nouvelle variable continentList. Dans la troisième instruction, l’ajout de l’élément Australia à landList ajoute automatiquement l’élément Australia au tableau continentList. Ceci se produit car les deux noms de variables font référence au même objet Tableau en mémoire. // JavaScript syntax var landArray = new Array("Asia", "Africa"); var continentArray = landArray; landArray.push("Australia"); // this also adds "Australia" to continentList Création d’une copie d’un tableau indépendante d’un autre tableau O Utilisez la méthode slice() de l’objet Tableau. Par exemple, les instructions suivantes créent un tableau puis utilisent slice() pour créer une copie indépendante du tableau : // JavaScript syntax var oldArray = ["a", "b", "c"]; var newArray = oldArray.slice(); // makes an independent copy of oldArray Une fois newArray créé, la modification de oldArray ou de newArray n’a aucun effet sur l’autre tableau. ADOBE DIRECTOR 11.0 42 Dictionnaire de script Tri des tableaux Les tableaux sont triés dans l’ordre alphanumérique, les nombres étant triés avant les chaînes. Les chaînes sont triées en fonction de la première lettre, quel que soit le nombre de caractères qu’elles contiennent. Trier un tableau O Utilisez la méthode sort() de l’objet Tableau. Les instructions suivantes trient un tableau alphabétique non trié : // JavaScript syntax var oldArray = ["d", "a", "c", "b"]; oldArray.sort(); // results in a, b, c, d Les instructions suivantes trient un tableau alphanumérique non trié : // JavaScript syntax var oldArray = [6, "f", 3, "b"]; oldArray.sort(); // results in 3, 6, b, f Le tri d’un tableau renvoie un nouveau tableau trié. Création de tableaux multidimensionnels Vous pouvez également créer des tableaux multidimensionnels qui vous permettent d’utiliser les valeurs de plusieurs tableaux à la fois. Dans l’exemple suivant, les deux premières instructions créent les tableaux distincts array1 et array2. La troisième instruction crée un tableau multidimensionnel et l’affecte à mdArray. Dans un tableau multidimensionnel, les instructions quatre et cinq utilisent des crochets pour accéder aux valeurs du tableau ; le premier crochet donne accès à un tableau donné, le second donnant accès à la valeur se trouvant à la position d’index spécifiée dans le tableau. // JavaScript syntax var array1 = new Array(5,10); var array2 = [15,20]; var mdArray = new Array(array1, array2); trace(mdArray[0][1]); // displays 10 trace(mdArray[1][0]); // displays 15 43 Chapitre 3 : Rédaction de scripts dans Director Les scripts de Director® 11 prennent en charge toutes sortes de fonctionnalités pour des animations qui seraient impossibles à réaliser sans eux. Au fur et à mesure de la rédaction des scripts, vous vous rendrez probablement compte que des scripts de plus en plus compliqués sont nécessaires pour prendre en charge l’interactivité complexe de vos animations Director. Nous vous présentons ici les concepts et techniques de programmation intermédiaire et avancée, notamment des informations concernant la programmation orientée objet dans Director. Si vous n’avez jamais créé de scripts dans Director, assurez-vous de lire la section « Principes de base de la programmation dans Director », page 4 en plus des rubriques suivantes. Choix entre Lingo et la syntaxe JavaScript Lingo et JavaScript donnent accès aux mêmes objets, événements et API de programmation. Par conséquent, le langage que vous choisissez d’utiliser pour rédiger vos scripts a peu d’importance. Il vous suffit de décider du langage que vous connaissez le mieux et avec lequel vous vous sentez le plus à l’aise. Voici quelques idées générales concernant le fonctionnement des langages de programmation avec un modèle d’objet et d’événement donné dans Director : • En général, un langage de programmation donné tel que Lingo ou JavaScript entoure un modèle d’objet et d’événement donné et donne accès à ces objets et événements. • JavaScript est une implémentation d’ECMAScript qui entoure le modèle d’objet et d’événement d’un navigateur Web et donne accès aux objets et événements du navigateur. • ActionScript est une implémentation d’ECMAScript qui entoure le modèle d’objet et d’événement d’Adobe® Flash® et donne accès aux objets et événements de Flash. • L’implémentation de la syntaxe JavaScript de Director est une implémentation de ECMAScript qui entoure le modèle d’objet et d’événement de Director et donne accès aux objets et événements de Director. • Lingo est une syntaxe personnalisée qui entoure le modèle d’objet et d’événement de Director et donne accès aux objets et événements de Director. Lingo et JavaScript représentent les deux langages que vous pouvez utiliser pour accéder au même modèle d’objet et d’événement de Director. Les scripts rédigés dans l’un des langages ont les mêmes capacités que ceux rédigés dans l’autre. Par conséquent, une fois que vous savez comment accéder aux API de programmation dans un langage, vous savez en gros comment y accéder dans l’autre langage. Par exemple, le code de la syntaxe JavaScript peut accéder à des types de données Lingo tels que les symboles, les listes linéaires, les listes de propriétés etc., créer et invoquer des scripts et comportements parents Lingo, créer et invoquer des Xtras et utiliser des expressions de sous-chaînes Lingo. De plus, les scripts de la syntaxe JavaScript et Lingo peuvent être utilisés au sein d’une seule animation. Cependant, un acteur script ne peut contenir qu’un type de syntaxe. ADOBE DIRECTOR 11.0 44 Dictionnaire de script Il existe deux différences principales entre Lingo et la syntaxe JavaScript : • Chaque langage comprend des conventions de syntaxe et de terminologie qui lui sont propres. Par exemple, la syntaxe d’un gestionnaire d’événement dans Lingo est différente de celle de JavaScript : -- Lingo syntax on mouseDown ... end // JavaScript syntax function mouseDown() { ... } Pour plus d’informations sur les conventions de syntaxe et de terminologie utilisées pour chaque langage, consultez « Terminologie de programmation », page 5 et « Syntaxe de programmation », page 7. • L’accès à certaines API de programmation varie légèrement d’un langage à l’autre. Par exemple, vous utiliseriez des constructions différentes pour accéder au deuxième mot du premier paragraphe d’un acteur texte : -- Lingo syntax member("News Items").paragraph[1].word[2] // JavaScript syntax member("News Items").getPropRef("paragraph", 1).getProp("word", 2); Programmation avec la syntaxe à point Que vous rédigiez des scripts avec Lingo ou la syntaxe JavaScript, vous le faites à l’aide de la syntaxe à point. Vous utilisez la syntaxe à point pour accéder aux propriétés ou méthodes liées à un objet. Une instruction utilisant la syntaxe à point doit commencer par une référence à un objet, suivi d’un point, puis par le nom de la propriété, de la méthode ou de la sous-chaîne que vous souhaitez spécifier. Chaque point d’une instruction représente un mouvement allant d’un niveau plus élevé et plus général de la hiérarchie des objets à un niveau inférieur et plus précis. Par exemple, l’instruction suivante crée d’abord une référence à la bibliothèque de distribution appelée « Reportages » puis utilise la syntaxe à point pour accéder au nombre d’acteurs compris dans cette bibliothèque. Pour identifier les sous-chaînes, les termes suivant le point servent à indiquer des éléments spécifiques du texte. Par exemple, la première instruction ci-dessous concerne le premier paragraphe de l’acteur texte appelé « Nouveautés ». La seconde instruction concerne le deuxième mot du premier paragraphe. -- Lingo syntax member("News Items").paragraph[1] member("News Items").paragraph[1].word[2] // JavaScript syntax member("News Items").getPropRef("paragraph", 1); member("News Items").getPropRef("paragraph", 1).getProp("word", 2); Pour certains objets gérant l’accès des propriétés en cascade à des données ou à un type d’acteur précis, comme indiqué dans les deux instructions précédentes, l’accès aux propriétés n’est pas pris en charge par la syntaxe JavaScript normale. Vous devez donc utiliser les méthodes getPropRef() et getProp() pour accéder aux propriétés en cascade dans la syntaxe JavaScript. ADOBE DIRECTOR 11.0 45 Dictionnaire de script Voici quelques remarques concernant cette exception dans la syntaxe JavaScript : • Vous devez appliquer cette technique aux objets 3D, aux acteurs texte, aux acteurs champ et aux Xtras XML Parser auxquels vous accédez à l’aide de la syntaxe JavaScript. • Vous devez utiliser la méthode getPropRef() pour stocker une référence à l’un des objets précédemment mentionnés ou à ses propriétés à l’aide de la syntaxe JavaScript. • Vous devez utiliser la méthode getProp() pour récupérer une valeur de propriété de l’un des objets précédemment mentionnés ou de ses propriétés à l’aide la syntaxe JavaScript. • Vous devez accéder aux objets 3D et aux propriétés en utilisant leurs noms complets dans la syntaxe JavaScript. Par exemple, dans Lingo, la propriété shader peut être utilisée comme un raccourci de la propriété shaderList[1]. Cependant, dans la syntaxe JavaScript, la propriété shaderList[1] doit être utilisée tout le temps. Introduction aux objets de Director Les objets sont généralement des groupes logiques de données nommées pouvant également contenir des méthodes qui agissent sur ces données. Dans cette version de Director, les API de programmation ont été groupées en objets et sont accessibles à travers ces objets. Chaque objet donne accès à un ensemble précis de données nommées et de types de fonctionnalités. Par exemple, l’objet Image-objet donne accès aux données et fonctionnalités d’une imageobjet, l’objet Animation donne accès aux données et fonctionnalités d’une animation, etc. Les objets utilisés dans Director appartiennent aux quatre catégories suivantes. Selon la fonctionnalité que vous voulez ajouter et la partie d’une animation à laquelle vous l’ajoutez, vous utiliserez les objets d’une ou plusieurs de ces catégories : • Objets principaux • Types de médias • Objets de programmation • Objets 3D Objets principaux Cette catégorie d’objets donne accès aux principales fonctionnalités et fonctions de Director, telles que le moteur du lecteur de Director, les fenêtres des animations, les images-objets, les sons, etc. Ces objets représentent la couche de base à travers laquelle on accède à toutes les API et autres catégories d’objets. Il existe également un groupe de méthodes et propriétés de haut niveau qui vous permettent d’accéder directement à tous les objets principaux au lieu d’avoir à passer par la hiérarchie des objets. Pour plus d’informations sur les objets principaux et leurs API, consultez « Objets principaux de Director », page 97. Types de médias Cette catégorie d’objets donne accès aux fonctionnalités des divers types de médias (RealMedia, DVD, GIF animé, etc.) ajoutés aux animations en tant qu’acteurs. ADOBE DIRECTOR 11.0 46 Dictionnaire de script Les médias ne sont pas strictement des objets mais plutôt des acteurs qui se rapportent à un type de média précis. Lorsqu’un type de média est ajouté à une animation en tant qu’acteur, il hérite de la fonctionnalité de l’objet Acteur principal et étend l’objet Acteur en fournissant des fonctionnalités supplémentaires qui ne sont disponibles que pour le type de média spécifié. Par exemple, un acteur RealMedia a accès aux méthodes et propriétés de l’objet Acteur, et possède également d’autres méthodes et propriétés propres à RealMedia. Les autres types de médias affichent tous ce comportement. Pour plus d’informations sur les types de médias disponibles et leurs API, consultez « Types de médias », page 114. Objets de programmation Cette catégorie d’objets, également connus sous le nom de Xtras, donne accès aux fonctionnalités des composants logiciels tels que XML Parser, Fileio, SpeechXtra, etc. qui sont installés dans Director et étendent les fonctionnalités principales de Director. Les Xtras existants fournissent certaines fonctions telles que l’importation de filtres et la connexion à Internet. De plus, si vous connaissez le langage de programmation C, vous pouvez créer vos propres Xtras. Pour plus d’informations sur les objets de programmation disponibles et leurs API, consultez « Objets de programmation », page 132. Objets 3D Cette catégorie d’objets donne accès aux fonctionnalités d’acteurs et de texte utilisées pour créer des animations 3D. Pour plus d’informations sur les animations 3D, consultez les rubriques du document Utilisation de Director dans l’Aide de Director. Pour plus d’informations sur les objets 3D disponibles et leurs API, consultez « Objets 3D », page 136. Diagrammes de modèles d’objets Les schémas suivants illustrent les principales relations de haut niveau entre les groupes d’objets et leurs hiérarchies dans Director. Pour plus d’informations sur la création d’objets, les propriétés et méthodes et les autres API, consultez les rubriques consacrées aux API correspondantes. ADOBE DIRECTOR 11.0 47 Dictionnaire de script Fonctions et propriétés de haut niveau Il existe un groupe de fonctions et propriétés de haut niveau qui vous permettent d’accéder directement aux objets principaux et aux fonctionnalités de Director. Vous utiliserez probablement souvent plusieurs de ces fonctions et propriétés lors de la création de références aux objets principaux, aux nouvelles images, aux listes, etc. Par exemple, la propriété de haut niveau _movie fait directement référence à l’objet principal Animation et la fonction de haut niveau list() crée une liste linéaire. Les tableaux suivants dressent la liste des fonctions et propriétés de haut niveau. ADOBE DIRECTOR 11.0 48 Dictionnaire de script Fonctions de haut niveau castLib() randomVector() channel() (niveau supérieur) rect() color() script() date() (formats), date() (système) showLocals() image() sound() isBusy() sprite() list() symbol() member() timeout() point() trace() propList() vector() put() window() random() xtra() Propriétés de haut niveau _global _player _key _sound _mouse _system _movie Introduction à la programmation orientée objet dans Director En utilisant Lingo ou la syntaxe JavaScript, vous pouvez appliquer les principes de la programmation orientée objet à vos scripts. Cette opération facilite en général la programmation puisqu’elle vous permet de rédiger moins de codes et d’utiliser une logique plus simple pour effectuer des tâches, tout en améliorant la réutilisation et la modularité de votre code. En fonction du langage de programmation utilisé, vous appliquez ces principes à l’aide de deux types de paradigmes : • Dans Lingo, vous utilisez les scripts parents, les scripts ancêtres et les objets enfants pour simuler la programmation orientée objet. • Dans la syntaxe JavaScript, vous utilisez les techniques de programmation orientée objet de style JavaScript standard pour créer des classes et des sous-classes. Chaque paradigme vous permet d’appliquer les avantages apportés par la programmation orientée objet à vos scripts. Ainsi, le langage de programmation que vous choisissez d’utiliser a peu d’importance. Il vous suffit tout simplement d’appliquer les principes différemment. ADOBE DIRECTOR 11.0 49 Dictionnaire de script Etant donné que chaque langage de programmation utilise un paradigme différent pour appliquer les principes orientés objet, les techniques valables pour un langage ne le sont pas pour l’autre. Il vous suffit donc de consulter le contenu qui s’applique au langage de programmation que vous utilisez : • Pour plus d’informations sur la simulation de la programmation orientée objet dans Lingo, consultez « Programmation orientée objet avec la syntaxe Lingo », page 49. • Pour plus d’informations sur la programmation orientée objet dans la syntaxe JavaScript, consultez « Programmation orientée objet avec la syntaxe JavaScript », page 58. Programmation orientée objet avec la syntaxe Lingo Dans Lingo, les scripts parents offrent les avantages de la programmation orientée objet. Vous pouvez utiliser des scripts parents pour générer des objets scripts qui ont une réponse et un comportement similaires tout en fonctionnant indépendamment les uns des autres. Vous pouvez créer plusieurs copies (ou instances) d’un script parent à l’aide de Lingo. Chaque instance d’un script parent est un objet enfant. Vous pouvez créer des objets enfants sur demande au fur et à mesure de la lecture de l’animation. Director ne limite pas le nombre d’objets enfants que vous pouvez créer depuis un même script parent. Vous pouvez créer autant d’objets enfants que la mémoire de l’ordinateur peut en supporter. Director peut créer plusieurs objets enfants depuis un même script parent de la même façon qu’il peut créer plusieurs instances d’un comportement pour différentes images-objets. Un script parent pourrait être assimilé à un modèle et un objet enfant à une implémentation du modèle parent. Cette section sur les scripts parents et les objets enfants de Lingo présente les concepts de base concernant la rédaction des scripts parents, ainsi que la création et l’utilisation des objets enfants, et propose des exemples de script. Vous n’y trouverez pas les concepts de la programmation orientée objet, mais devrez cependant en comprendre les principes afin d’utiliser efficacement les scripts parents et les objets enfants. Vous trouverez dans le commerce de nombreux ouvrages présentant les notions de base de la programmation orientée objet. Similarité avec les autres langages orientés objet Si vous connaissez déjà un langage de programmation orienté objet tel que Java ou C++, vous comprenez probablement ces concepts, même s’il est possible que vous les connaissiez sous d’autres noms. Les termes par lesquels Director décrit les scripts parents et les objets enfants correspondent aux termes couramment utilisés dans la programmation orientée objet : Les scripts parents de Director correspondent aux classes dans la programmation orientée objet. Les objets enfants de Director correspondent aux instances dans la programmation orientée objet. Les variables de propriétés de Director correspondent aux variables d’instances ou d’acteurs dans la programmation orientée objet. Les gestionnaires de Director correspondent aux méthodes dans la programmation orientée objet. Les scripts ancêtres de Director correspondent à la superclasse ou classe de base dans la programmation orientée objet. ADOBE DIRECTOR 11.0 50 Dictionnaire de script Scripts parents et objets enfants : notions de base Dans Lingo, un script parent contient un ensemble de gestionnaires et de propriétés définissant un objet enfant ; il ne constitue pas un objet enfant en lui-même. Un objet enfant est une instance autonome et indépendante d’un script parent. Les objets enfants du même parent possèdent des gestionnaires et des propriétés identiques, les objets enfants d’un même groupe pouvant donc avoir des réponses similaires aux événements et aux messages. Les scripts parents sont généralement utilisés pour construire des objets enfants facilitant l’organisation de l’animation. Ces objets enfants sont particulièrement utiles lorsqu’une animation nécessite plusieurs exécutions simultanées d’une même logique avec des paramètres différents. Vous pouvez également ajouter un objet enfant à la propriété scriptInstanceList d’un objet Image-objet ou la propriété actorList de l’objet Animation afin de contrôler l’animation. Tous les objets enfants d’un même script parent possédant des gestionnaires identiques, ces objets enfants répondent de façon semblable aux événements. Toutefois, chaque objet enfant conserve ses propres valeurs pour les propriétés définies dans le script parent. Il s’ensuit que chaque objet enfant peut avoir un comportement différent de celui des objets enfants apparentés tout en provenant du même script parent. Par exemple, vous pouvez créer un script parent définissant des objets enfants de champs texte modifiables, possédant chacun leurs propres paramètres de propriété, texte et couleur, quels que soient les réglages des autres champs texte. En modifiant les valeurs des propriétés d’objets enfants précis, vous pouvez modifier ces caractéristiques pendant la lecture de l’animation, sans influer sur les autres objets enfants basés sur le même script parent. De même, un objet enfant peut également contenir une propriété réglée sur TRUE ou FALSE, quel qu’en soit le réglage pour les objets enfants apparentés. Un script parent se rapporte au nom d’un acteur script contenant les variables de propriétés et les gestionnaires. Un objet enfant créé à partir d’un script parent est essentiellement une nouvelle instance de l’acteur script. Différences entre les objets enfants et les comportements Bien que les objets enfants et les comportements soient similaires en ce sens qu’ils peuvent tous deux posséder plusieurs instances, ils présentent également plusieurs différences importantes. La principale différence entre les objets enfants et les comportements réside dans le fait que les comportements sont associés à des emplacements du scénario puisqu’ils sont affectés à des images-objets. Les objets comportement sont automatiquement créés à partir d’initialisateurs dans le scénario lorsque la tête de lecture passe d’une image à une autre et rencontre des imagesobjets associées à des comportements. Les scripts enfants, eux, doivent être explicitement créés par un gestionnaire. Les comportements et les scripts enfants diffèrent dans la façon dont ils deviennent associés aux images-objets. Director associe automatiquement un comportement à l’image-objet à laquelle il est associé, alors que vous devez explicitement associer un script enfant à une image-objet. Les objets enfants ne requièrent pas de références d’images-objets et n’existent que dans la mémoire. Ancêtres : principes de base Les scripts parents peuvent déclarer des ancêtres, c’est-à-dire des scripts supplémentaires dont un script enfant peut appeler et utiliser les gestionnaires et les propriétés. La création de scripts ancêtres permet de créer un ensemble de gestionnaires et de propriétés que vous pouvez utiliser et réutiliser pour plusieurs scripts parents. Un script parent fait d’un autre script parent son ancêtre en affectant le script à sa propriété ancestor. Par exemple, l’instruction suivante transforme le script Objet_Principal en ancêtre du script parent dans lequel l’instruction survient : ADOBE DIRECTOR 11.0 51 Dictionnaire de script -- Lingo syntax ancestor = new(script "What_Everyone_Does") Lorsque les gestionnaires et les propriétés ne sont pas définis dans un objet enfant, Director recherche la propriété ou le gestionnaire requis dans les ancêtres de l’enfant, en commençant par son script parent. Si un gestionnaire est appelé ou qu’une propriété est testée et que le script parent ne contient aucune définition correspondante, Director recherche une définition dans le script ancêtre. Si ce script ancêtre contient une définition, celle-ci est utilisée. Un objet enfant ne peut avoir qu’un ancêtre à la fois, mais ce script ancêtre peut posséder à son tour un ancêtre, qui peut également en avoir un, et ainsi de suite. Cela vous permet de créer des générations de scripts parents dont les gestionnaires sont accessibles à un objet enfant. Rédaction d’un script parent Un script parent contient le code nécessaire à la création d’objets enfants et en définit les actions et propriétés possibles. Vous devez d’abord décider du comportement envisagé des objets enfants. Rédigez ensuite un script parent qui effectue les opérations suivantes : • Déclare les éventuelles variables de propriétés requises ; ces variables représentant des propriétés pour lesquelles chaque objet enfant peut contenir une valeur indépendamment des autres objets enfants. • Définit les valeurs initiales des propriétés et des variables de l’objet enfant dans le gestionnaire on new. • Contient des gestionnaires supplémentaires contrôlant les actions de l’objet enfant. Déclaration des variables de propriétés Chaque objet enfant créé à partir du même script parent contient, dans un premier temps, les mêmes valeurs pour ses variables de propriétés. La valeur d’une variable de propriété n’appartient qu’à l’objet enfant auquel elle est associée. Chaque variable de propriété et sa valeur persistent tant que l’objet enfant existe. La valeur initiale d’une variable de propriété est généralement définie dans le gestionnaire on new. Si la propriété n’est pas initialement définie, sa valeur initiale est VOID. Déclarer une variable de propriété O Utilisez le mot-clé property au début du script parent. Définir et tester des variables de propriétés en dehors de l’objet enfant O Définissez et testez les variables de propriétés de la même façon que toute autre propriété dans vos scripts à l’aide de la syntaxe objectRef.propertyName. Par exemple, l’instruction suivante définit la propriété speed d’un objet car1 : car1.speed = 55 Création du nouveau gestionnaire Chaque script parent utilise généralement un gestionnaire on new. Ce gestionnaire crée le nouvel objet enfant lorsqu’un autre script émet une commande new(scriptparentScriptName), qui ordonne au script parent défini de créer un objet enfant basé sur lui-même. Si nécessaire, le gestionnaire on new du script parent peut aussi définir les valeurs initiales des propriétés de l’objet enfant. Le gestionnaire on new commence toujours par l’expression on new, suivie de la variable me et de tout paramètre communiqué au nouvel objet enfant. ADOBE DIRECTOR 11.0 52 Dictionnaire de script Le gestionnaire on new suivant crée un nouvel objet enfant à partir du script parent et initialise la propriété spriteNum de l’enfant à l’aide de la valeur qui lui est associée dans le paramètre aSpriteNum. L’instruction return me renvoie l’objet enfant vers le gestionnaire qui a appelé initialement le gestionnaire on new. -- Lingo syntax property spriteNum on new me, aSpriteNum spriteNum = aSpriteNum return me end Pour plus d’informations sur l’appel des gestionnaires on new, consultez « Création d’un objet enfant », page 53. Ajout de gestionnaires supplémentaires Le comportement de l’objet enfant est déterminé par l’inclusion des gestionnaires produisant le comportement escompté dans le script parent. Par exemple, vous pouvez ajouter un gestionnaire pour changer la couleur de l’imageobjet. Le script parent suivant définit une valeur pour la propriété spriteNum et contient un second gestionnaire qui modifie la propriété foreColor de l’image-objet : -- Lingo syntax property spriteNum on new me, aSpriteNum spriteNum = aSpriteNum return me end on changeColor me spriteNum.foreColor = random(255) end Référence à l’objet actuel D’une manière générale, les objets enfants multiples sont créés à partir du même script parent et chacun d’eux utilise plus d’un gestionnaire. La variable de paramètre spéciale me indique aux gestionnaires de l’objet enfant qu’ils doivent agir sur les propriétés de cet objet, et non sur celles d’autres objets enfants. De la sorte, lorsqu’un gestionnaire dans un objet enfant fait référence à des propriétés, il emploie les valeurs de son propre objet enfant pour ces propriétés. Le terme me doit toujours être la première variable de paramètre indiquée dans chaque définition de gestionnaire d’un script parent. Il est toujours important de définir me comme premier paramètre pour les scripts parents et de passer le même paramètre si vous devez appeler d’autres gestionnaires dans le même script parent. Ceux-ci sont en effet les gestionnaires de chacun des objets enfants du script. Lorsque vous faites référence à des propriétés définies dans des scripts ancêtres, vous devez utiliser le paramètre me comme source de la référence. En effet, la propriété, bien qu’elle soit définie dans le script ancêtre, n’en reste pas moins une propriété de l’objet enfant. Par exemple, l’instruction suivante utilise me pour désigner un objet et accéder aux propriétés définies dans un de ses ancêtres : -- Lingo syntax x = me.y -- access ancestor property y La variable me étant présente dans tous les gestionnaires de l’objet enfant, elle indique que tous les gestionnaires contrôlent ce même objet enfant. ADOBE DIRECTOR 11.0 53 Dictionnaire de script Création d’un objet enfant Toute l’existence des objets enfants se déroule dans la mémoire ; ils ne sont pas enregistrés avec une animation. Seuls les scripts parents et ancêtres sont enregistrés sur disque. Pour créer un nouvel objet enfant, utilisez la méthode new() et affectez à cet objet enfant un nom de variable ou une position dans une liste afin de pouvoir l’identifier et l’utiliser plus tard. Pour créer un objet enfant et l’affecter à une variable, utilisez la syntaxe suivante : -- Lingo syntax variableName = new(script "scriptName", parameter1, parameter2, ...) Le paramètre scriptName est le nom du script parent, et parameter1, parameter2, ... représentent tout paramètre que vous passez au gestionnaire on new de l’objet enfant. La méthode new() crée un objet enfant dont l’ancêtre est scriptName. Elle appelle ensuite le gestionnaire on new de l’objet enfant, avec les paramètres indiqués. L’instruction new() peut provenir de n’importe quel endroit de l’animation. Vous pouvez personnaliser les paramètres initiaux de l’objet enfant en modifiant les valeurs des paramètres transmis avec l’instruction new(). Chaque objet enfant n’utilise que la mémoire nécessaire à l’enregistrement des valeurs actuelles de ses propriétés et variables ainsi qu’une référence au script parent. Par conséquent, vous pouvez généralement créer et gérer autant d’objets enfants que vous le souhaitez. Des instructions new() supplémentaires permettent de produire d’autres objets enfants à partir du même script parent. Vous pouvez créer des objets enfants sans initialiser immédiatement leurs variables de propriétés en utilisant la méthode rawNew(). La méthode rawNew() effectue cette opération en créant l’objet enfant sans appeler le gestionnaire on new du script parent. Au cas où de grandes quantités d’objets enfants seraient requises, rawNew() permet de créer les objets à l’avance et de reporter l’affectation des valeurs de propriété jusqu’à ce que chaque objet soit requis. L’instruction suivante crée un objet enfant à partir du script parent Véhicule sans initialiser ses variables de propriétés, puis l’affecte à la variable car1. -- Lingo syntax car1 = script("Car").rawNew() Pour initialiser les propriétés de l’un de ces objets enfants, appelez son gestionnaire on new : car1.new Vérification des propriétés d’un objet enfant Vous pouvez vérifier les valeurs de variables de propriétés spécifiques dans différents objets enfants à l’aide de la syntaxe objectName.propertyName. Par exemple, l’instruction suivante affecte à la variable x la valeur de la propriété carSpeed de l’objet enfant dans la variable car1. -- Lingo syntax x = car1.carSpeed La consultation des propriétés d’un objet depuis l’extérieur de cet objet peut s’avérer utile pour obtenir des informations sur des groupes d’objets, comme la vitesse moyenne de tous les véhicules d’un jeu de course automobile. Vous pouvez également utiliser les propriétés d’un objet afin de déterminer le comportement d’autres objets qui en dépendent. En plus de vérifier les propriétés que vous affectez, vous pouvez déterminer si un objet enfant contient un gestionnaire spécifique ou rechercher le script parent d’où provient un objet. Cette fonction est très pratique si des objets proviennent de scripts parents similaires mais présentant des différences très subtiles. ADOBE DIRECTOR 11.0 54 Dictionnaire de script Par exemple, vous pouvez créer un scénario dans lequel un script parent parmi d’autres peut servir à créer un objet enfant. Vous pouvez ensuite déterminer de quel script parent un objet enfant déterminé provient à l’aide de la fonction script(), qui renvoie le nom du script parent d’un objet. Les instructions suivantes permettent de vérifier si l’objet car1 a été créé à partir du script parent car : -- Lingo syntax if car1.script = script("Car") then _sound.beep() end if Vous pouvez aussi obtenir la liste des gestionnaires d’un objet enfant à l’aide de la méthode handlers() ou vérifier si un gestionnaire particulier existe dans un objet enfant en utilisant la méthode handler(). L’instruction suivante place une liste des gestionnaires de l’objet enfant car1 dans la variable myHandlerList : -- Lingo syntax myHandlerList = car1.handlers() Cette liste pourrait se présenter comme suit : [#start, #accelerate, #stop] Les instructions suivantes utilisent la méthode handler() pour vérifier si le gestionnaire on accelerate existe dans l’objet enfant car1 : -- Lingo syntax if car1.handler(#accelerate) then put("The child object car1 contains the handler named on accelerate.") end if Suppression d’un objet enfant Vous pouvez supprimer un objet enfant d’une animation en modifiant la valeur de toutes les variables qui contiennent une référence à cet objet enfant. Si l’objet enfant est affecté à une liste, comme actorList, vous devez également supprimer l’objet de la liste. Supprimer un objet enfant et les variables qui y font référence O Affectez VOID à chaque variable. Director supprime l’objet enfant lorsque rien ne lui fait plus référence. Dans l’exemple suivant, ball1 contient la seule référence à un objet enfant particulier, et la définit comme étant VOID pour supprimer l’objet de la mémoire. -- Lingo syntax ball1 = VOID Supprimer un objet de la liste actorList O Utilisez la méthode delete() pour supprimer l’élément de la liste. Utilisation de scriptInstanceList Vous pouvez utiliser la propriété scriptInstanceList pour ajouter dynamiquement de nouveaux comportements à une image-objet. Normalement, scriptInstanceList est la liste des instances de comportements créées à partir des initialisateurs de comportements définis dans le scénario. Si vous ajoutez des objets enfants créés à partir de scripts parents à la liste, les objets enfants reçoivent les messages envoyés à d’autres comportements. ADOBE DIRECTOR 11.0 55 Dictionnaire de script Par exemple, l’instruction suivante ajoute un objet enfant à la propriété scriptInstanceList de l’image-objet 10 : -- Lingo syntax add(sprite(10).scriptInstanceList, new(script "rotation", 10)) Le script suivant est le script parent possible auquel l’instruction précédente fait référence : -- Lingo syntax parent script "rotation" property spriteNum on new me, aSpriteNum spriteNum = aSpriteNum return me end on prepareFrame me sprite(spriteNum).rotation = sprite(spriteNum).rotation + 1 end Lorsqu’un objet enfant est ajouté à scriptInstanceList, vous devez initialiser la propriété spriteNum de l’objet enfant. Cette opération est généralement effectuée à partir d’un paramètre passé au gestionnaire on new. Remarque : le message beginSprite n’est pas envoyé aux objets enfants ajoutés dynamiquement. Pour plus d’informations sur la propriété scriptInstanceList, consultez « scriptInstanceList », page 1017. Utilisation de actorList Vous pouvez établir une liste spéciale d’objets enfants (ou de tout autre objet) qui reçoivent un message personnel à chaque fois que la tête de lecture entre dans une image ou que la méthode updateStage() met la scène à jour. La liste spéciale est actorList, qui ne contient que les objets ayant été explicitement ajoutés à la liste. Le message est le message stepFrame, qui n’est émis que lorsque la tête de lecture entre dans une image ou que la commande updateStage() est utilisée. Les objets de actorList reçoivent un message stepFrame au lieu d’un message enterFrame à chaque image. Si les objets disposent d’un gestionnaire on stepFrame, le script du gestionnaire est exécuté à chaque fois que la tête de lecture entre dans une nouvelle image ou que la méthode updateStage() met la scène à jour. Parmi les applications possibles de actorList et stepFrame figurent l’animation d’objets enfants utilisés en tant qu’images-objets ou la mise à jour d’un compteur qui suit le nombre de fois que la tête de lecture entre dans une image. Un gestionnaire on enterFrame pourrait produire les mêmes résultats, mais la propriété actorList et le gestionnaire stepFrame sont conçus pour des performances optimales dans Director. Les objets de actorList répondent mieux aux messages stepFrame qu’aux messages enterFrame ou aux messages personnalisés émis après une méthode updateStage(). Ajouter un objet dans actorList O Utilisez la propriété actorList comme suit, childObject faisant référence à l’objet enfant à ajouter : -- Lingo syntax _movie.actorList.add(childObject) Le gestionnaire stepFrame de l’objet, défini dans son script parent ou ancêtre, est alors exécuté automatiquement à chaque fois que la tête de lecture avance. L’objet est transmis en tant que premier paramètre, me, au gestionnaire on stepFrame . ADOBE DIRECTOR 11.0 56 Dictionnaire de script Director n’efface pas le contenu de la liste actorList lorsqu’il passe à une autre animation, ce qui peut provoquer un comportement imprévisible dans cette dernière. Pour éviter le transfert des objets enfants de l’animation actuelle dans la nouvelle animation, insérez une instruction qui efface actorList dans le gestionnaire on prepareMovie de la nouvelle animation. Supprimer des objets enfants de actorList O Donnez à actorList la valeur [ ], qui représente une liste vide. Pour plus d’informations sur actorList, consultez « actorList », page 655. Création d’objets de temporisation Un objet de temporisation est un objet qui agit comme un minuteur et qui envoie un message à la fin du délai. Ce type d’objet est utile pour les scénarios qui nécessitent l’exécution de certains événements à intervalles réguliers ou après un certain délai. Les objets de temporisation peuvent envoyer des messages appelant des gestionnaires dans des objets enfants ou des scripts d’animation. Pour créer un objet de temporisation, utilisez le mot-clé new(). Vous devez spécifier le nom de l’objet, le gestionnaire à appeler et la fréquence avec laquelle le gestionnaire doit être appelé. Lorsqu’un objet de temporisation est créé, Director maintient une liste des objets de temporisation actuellement actifs, nommée timeOutList. La syntaxe décrite ci-dessous est nécessaire pour toutes les animations créées dans Adobe Director 11ou pour les anciennes animations lues dans Adobe Director 11 dont la propriété scriptExecutionStyle est définie sur 10. Les animations créées dans Director MX et les versions antérieures ont une propriété scriptExecutionStyle définie sur 9, ce qui vous permet d’utiliser la syntaxe trouvée dans Director MX et les versions antérieures. Créer des objets de temporisation -- Lingo syntax when scriptExecutionStyle is set to 9 variableName = timeout().new(timeoutName, timeoutPeriod, #timeoutHandler, {, targetObject}) -- Lingo syntax when scriptExecutionStyle is set to 10 variableName = timeout().new(timeoutName, timeoutPeriod, timeoutHandler, targetObject) variableName = new timeout(timeoutName, timeoutPeriod, timeoutHandler, targetObject) // JavaScript syntax variableName = new timeout(timeoutName, timeoutPeriod, timeoutFunction, targetObject) Cette instruction utilise les éléments suivants : • variableName est la variable dans laquelle vous placez l’objet de temporisation. • timeout indique le type d’objet Lingo que vous créez. • timeoutName est le nom que vous donnez à l’objet de temporisation. Ce nom figure dans la liste timeOutList. C’est la propriété #name de l’objet. • new crée un nouvel objet. • intMilliseconds indique la fréquence avec laquelle l’objet de temporisation doit appeler le gestionnaire indiqué. C’est la propriété #period de l’objet. Par exemple, une valeur de 2 000 appelle le gestionnaire indiqué toutes les 2 secondes. • #handlerName est le nom du gestionnaire que l’objet doit appeler. C’est la propriété #timeOutHandler de l’objet. Vous la représentez sous la forme d’un symbole en précédant le nom du signe #. Par exemple, un gestionnaire nommé accelerate serait noté #accelerate. ADOBE DIRECTOR 11.0 57 Dictionnaire de script • targetObject indique le gestionnaire de l’objet enfant à appeler. C’est la propriété #target de l’objet. Ce paramètre permet d’être spécifique si plusieurs objets enfants contiennent les mêmes gestionnaires. Si vous omettez ce paramètre, Director recherche le gestionnaire indiqué dans le script d’animation. L’instruction suivante crée un objet de temporisation nommé timer1 qui appelle le gestionnaire on accelerate dans l’objet enfant car1 toutes les 2 secondes : -- Lingo syntax myTimer = timeOut("timer1").new(2000, #accelerate, car1) Pour déterminer le moment auquel le message de temporisation suivant est envoyé par un objet de temporisation déterminé, consultez sa propriété #time. La valeur renvoyée est le moment, en millièmes de secondes, auquel le message de temporisation suivant est envoyé. Par exemple, l’instruction suivante détermine le moment auquel le prochain message de temporisation est envoyé à partir de l’objet de temporisation timer1 et l’affiche dans la fenêtre Messages : -- Lingo syntax put(timeout("timer1").time) Utilisation de timeOutList Lorsque vous commencez à créer des objets de temporisation, vous pouvez utiliser timeOutList pour déterminer le nombre d’objets de temporisation actifs à un moment particulier. L’instruction suivante attribue la variable x au nombre d’objets contenus dans timeOutList en utilisant la propriété count : -- Lingo syntax x = _movie.timeoutList.count Vous pouvez également faire référence à un objet de temporisation en employant son numéro dans la liste. L’instruction suivante supprime le second objet de temporisation dans timeOutList en utilisant la méthode forget() : -- Lingo syntax timeout(2).forget() Relais d’événements système au moyen d’objets de temporisation Lorsque vous créez des objets de temporisation qui font référence à des objets enfants précis, vous permettez à ces derniers de recevoir des événements système. Les objets de temporisation relaient ces événements vers leurs objets enfants cibles. Les événements système qui peuvent être reçus par des objets enfants sont, par exemple, prepareMovie, startMovie, stopMovie, prepareFrame et exitFrame. En incluant des gestionnaires pour ces événements dans les objets enfants, vous ordonnez aux objets enfants de leur répondre en fonction de vos besoins. Les événements système reçus par les objets enfants sont également reçus par les scripts d’animation, les scripts d’image et les autres scripts définis comme devant leur répondre. Le script parent suivant contient un gestionnaire pour l’événement système exitFrame ainsi qu’un gestionnaire personnalisé slowDown : -- Lingo syntax property velocity on new me velocity = random(55) end on exitFrame velocity = velocity + 5 end ADOBE DIRECTOR 11.0 58 Dictionnaire de script on slowDown mph velocity = velocity - mph end Association de propriétés personnalisées avec des objets de temporisation Si vous souhaitez associer des propriétés personnalisées avec un objet de temporisation, vous devez créer un objet de temporisation dont la cible n’est pas une référence à un objet instance de script. Lorsque vous utilisez cette technique, les données cibles deviennent des données associées à l’objet de temporisation pouvant être utilisées dans votre gestionnaire de temporisation. L’exemple suivant vous montre comment utiliser cette technique : -- Lingo syntax -- initialize a timeout object and pass it a data property list (tData) -- instead of a reference to a script instance object tData = [#beta: 0] tTO = timeout("betaData").new(50,#targetHandler,tData) -- within a movie script, create the targetHandler handler on targetHandler (aData) -- increment and display the beta property tData.beta = tData.beta + 1 put(tData.beta) end targetHandler Dans l’exemple précédent, la propriété beta continue d’être incrémentée. Cela signifie que vous pouvez initialiser plusieurs objets de temporisation qui appellent le même gestionnaire de script d’animation. Chaque objet de temporisation peut posséder sa propre liste de données. En général, sachez que : • Lors de l’utilisation d’une instance de script en tant que cible, le gestionnaire cible de cette instance de script en particulier est appelé. Vous ne pouvez pas utiliser des propriétés personnalisées avec cette technique. • Lors de l’utilisation d’une référence autre qu’une instance de script (une liste de propriété, par exemple) en tant que cible, le gestionnaire cible dans un script d’animation est appelé. Vous pouvez utiliser des propriétés personnalisées avec cette technique. Programmation orientée objet avec la syntaxe JavaScript La programmation orientée objet dans la syntaxe JavaScript est quelque peu différente de celle d’autres langages orientés objet tels que Java et C++. Alors que certains langages orientés objet sont basés sur les classes, la syntaxe JavaScript est basée sur les prototypes. Les deux-points qui suivent comparent à un niveau élevé les langages basés sur les classes aux langages basés sur les prototypes tels que la syntaxe JavaScript : • Dans les langages basés sur les classes, vous créez des définitions de classes se rapportant aux propriétés et méthodes initiales qui caractérisent toutes les instances créées à partir de ces classes. Une définition de classe contient des méthodes spéciales, appelées méthodes de construction, qui sont utilisées pour créer des instances de cette classe. Lorsqu’une instance est créée à l’aide de l’opérateur new en association avec une méthode de construction ADOBE DIRECTOR 11.0 59 Dictionnaire de script particulière, cette instance hérite de toutes les propriétés de sa classe parent. Cette instance peut également effectuer toute autre tâche de traitement qui lui est propre en fonction de la construction qui a été appelée. Dans une définition de classe, vous procédez à l’opération d’héritage en créant une sous-classe qui hérite de toutes les propriétés de sa classe parent, en plus de définir les nouvelles propriétés et de modifier éventuellement les propriétés héritées. La classe parent à partir de laquelle une sous-classe a été créée est aussi appelée superclasse. • Dans les langages basés sur les prototypes tels que la syntaxe JavaScript, il n’existe pas de distinction entre les classes, les instances, les sous-classes, etc. Tous ces éléments sont considérés comme des objets. Dans la syntaxe JavaScript, au lieu d’utiliser des définitions de classes, vous utilisez des objets prototypes en tant que modèle à partir duquel de nouveaux objets sont créés. Tout comme dans les langages basés sur les classes, dans la syntaxe JavaScript, vous créez un nouvel objet en utilisant l’opérateur new en association avec une fonction de construction. Dans la syntaxe JavaScript, au lieu d’utiliser les superclasses et les sous-classes, vous associez les objets prototypes à des fonctions de construction pour effectuer l’héritage. Ce procédé est très similaire à celui qui consiste à utiliser les superclasses et les sous-classes, à l’exception de la terminologie qui est différente. De plus, contrairement aux langages basés sur les classes, la syntaxe JavaScript vous permet d’ajouter et de supprimer des propriétés à un objet ou une série d’objets à l’exécution. Par exemple, si vous ajoutez une propriété à un objet prototype à l’exécution, les objets d’instances apparentés héritent également de cette propriété. Terminologie orientée objet Dans la syntaxe JavaScript, étant donné que tous les types correspondent à des objets, les termes basés sur les classes telles que superclasse, sous-classe, classe, instance, etc. n’ont aucune signification technique littérale. Cependant, ces termes correspondent essentiellement à des objets dans la syntaxe JavaScript et peuvent être utilisés pour illustrer les différents types d’objets de la syntaxe JavaScript. Ainsi, ces termes basés sur les classes sont utilisés de manière interchangeable avec le terme objet tout au long de la discussion sur la programmation orientée objet dans la syntaxe JavaScript et signifient ce qui suit : • superclasse • sous-classe Toute classe ayant été créée à partir d’une superclasse (objet) ; une classe enfant. • classe Terme générique signifiant superclasse ou sous-classe ; une classe parent ou enfant. • instance ou instance d’objet Toute classe à partir de laquelle on peut créer des sous-classes (objets) ; une classe parent. Objet unique ayant été créé à partir d’une superclasse. Classes personnalisées L’un des principaux avantages de la programmation orientée objet est la possibilité de créer des classes personnalisées qui vous permettent d’ajouter des fonctionnalités personnalisées à vos scripts. Les classes prédéfinies, telles que Objet, Chaîne, Mathématique, etc. fournies par la syntaxe JavaScript sont utiles dans certains cas, mais les fonctionnalités qu’elles offrent peuvent ne pas s’appliquer à la tâche que vous souhaitez accomplir. Supposons, par exemple, que vous souhaitez que certains objets de votre animation représentent des types de transports, tels que des véhicules, des bateaux, des avions, etc. et que vous souhaitez que chaque catégorie affiche des caractéristiques et fonctionnalités uniques. Ni les classes prédéfinies de la syntaxe JavaScript, ni les objets Director prédéfinis ne peuvent directement vous fournir la fonctionnalité dont vous avez besoin. C’est pourquoi vous devez créer une nouvelle classe pour chaque type de transport afin de pouvoir définir des caractéristiques uniques pour chacun d’entre eux. N’oubliez pas que lorsque vous créez des classes personnalisées de la syntaxe JavaScript, vous avez toujours accès à toutes les fonctions et fonctionnalités des objets Director prédéfinis. Cela signifie que même si les objets Director prédéfinis ne vous fournissent pas directement les fonctionnalités dont vous avez besoin, vous pouvez toujours les utiliser dans vos classes personnalisées pour accéder à leurs valeurs et à leurs fonctionnalités prédéfinies. ADOBE DIRECTOR 11.0 60 Dictionnaire de script Fonctions de construction Dans la syntaxe JavaScript, une fonction de construction représente la classe qui contient le modèle à partir duquel les nouvelles instances d’objets sont créées. Les fonctions de construction créent et initialisent (définissent l’état par défaut) les propriétés des nouveaux objets. Le format des fonctions de construction est fondamentalement identique à celui des fonctions de méthode standard de la syntaxe JavaScript. Cependant, la différence entre la fonction de construction et la fonction de méthode réside dans le fait que la fonction de construction utilise un mot-clé spécial this pour représenter une référence à un nouvel objet initialisé. En règle générale, une fonction de méthode effectue des actions sur un ensemble spécifique de données d’un objet. L’exemple suivant vous montre une manière de créer une fonction de construction Rectangle qui pourrait être utilisée pour initialiser la hauteur et la largeur de nouveaux objets Rectangle : function Rectangle(w, h) { this.width = w; this.height = h; } Vous pouvez également créer une fonction de construction en utilisant la syntaxe fonction littérale. La syntaxe fonction littérale fournit les mêmes fonctionnalités que la syntaxe précédente et correspond à une autre manière de rédiger une construction. L’exemple suivant vous montre comment utiliser la syntaxe fonction littérale pour créer une fonction de construction Rectangle identique à la précédente : Rectangle = function(w, h) { this.width = w; this.height = h; } Remarque : lorsque vous définissez des fonctions de construction à appliquer à une animation, assurez-vous de les placer dans un script d’animation afin qu’elles soient disponibles globalement. Il est recommandé de donner des noms aux fonctions de construction qui correspondent à leurs fonctionnalités et d’utiliser une lettre majuscule au début du nom, comme Rectangle ou Circle. En général, les fonctions de construction sont utilisées pour initialiser de nouveaux objets, mais peuvent également renvoyer l’objet si vous le souhaitez. Si vous retournez l’objet initialisé, l’objet renvoyé devient la valeur de l’expression new. Instances d’objets La manière la plus commune de créer une nouvelle instance d’objet est d’utiliser l’opérateur new suivi du nom de la fonction de construction. Les exemples suivants créent de nouvelles instances d’objets : var objRandom = new Object(); // assigns a reference to an Object object var objString = new String(); // assigns a reference to a String object Une fonction de construction peut parfois définir des paramètres transmis par une nouvelle instance d’objet afin d’initialiser l’état de l’instance d’objet. Si une fonction de construction définit les paramètres utilisés lors de l’initialisation de nouvelles instances d’objets, les valeurs de propriétés sont initialisées ainsi : • Si vous transmettez des valeurs à la fonction de construction lors de l’initialisation, les propriétés qui ont reçu les valeurs sont définies selon ces valeurs. • Si vous ne transmettez pas ces valeurs à la fonction de construction lors de l’initialisation, les propriétés qui n’ont pas reçu les valeurs sont définies sur undefined. ADOBE DIRECTOR 11.0 61 Dictionnaire de script Lorsque vous créez de nouvelles instances d’objets, le mot-clé this est utilisé dans le corps de la fonction de construction associée afin de faire référence à la nouvelle instance d’objet. Par conséquent, une nouvelle instance d’objet est initialisée avec toutes les propriétés définies à l’aide de la syntaxe this.propertyName. Dans l’exemple suivant, une fonction de construction Circle utilise le mot-clé this pour spécifier les noms des trois propriétés qui sont associées aux nouvelles instances d’objets. L’instruction suivant la construction initialise une nouvelle instance d’objet en transmettant des valeurs à la construction. Ces valeurs sont utilisées en tant que valeurs initiales des propriétés spécifiées par le mot-clé this. // Circle constructor function function Circle(x, y, r) { this.xCoord = x; this.yCoord = y; this.radius = r; } // xCoord = 10, yCoord = 15, radius = 5 var objCircle = new Circle(10, 15, 5); Une fois l’instance objCircle initialisée, vous pouvez accéder à ses propriétés. A l’aide de l’instance objCircle créée précédemment, vous pouvez donner à certaines variables les valeurs de leurs propriétés. var theXCoord = objCircle.xCoord; // assigns the value 10 to theXCoord var theYCoord = objCircle.yCoord; // assigns the value 15 to theYCoord var theRadius = objCircle.radius; // assigns the value 5 to theRadius Remarque : pour plus d’informations sur l’utilisation de la syntaxe à point pour accéder aux propriétés et méthodes d’un objet, consultez « Programmation avec la syntaxe à point », page 44. Il est recommandé de donner aux nouveaux objets des noms qui correspondent à leur fonctionnalité et d’utiliser des minuscules, comme objRectangle ou objCircle. Vous pouvez également créer une instance d’objet en utilisant la syntaxe objet littéral. Ainsi, vous n’avez pas besoin d’utiliser l’opérateur new et la fonction de construction. Utilisez cette technique uniquement lorsque vous n’avez besoin que d’une instance d’un objet n’ayant pas été défini dans une fonction de construction. Dans l’exemple suivant, une instance d’objet est créée avec x = 1, y = 2 et rayon = 2 : var objSmallCircle = { x:1, y:2, radius:2 }; Héritage d’objets Non seulement la programmation orientée objet est capable de créer vos propres classes personnalisées, mais grâce à elle, les sous-classes peuvent également hériter des propriétés et méthodes des superclasses à partir desquelles elles ont été créées. L’héritage vous facilite la création d’objets possédant des propriétés et fonctionnalités intégrées. Dans la syntaxe JavaScript, une superclasse correspond à la classe de base à partir de laquelle toutes les autres sousclasses sont créées : la superclasse Objet. La superclasse Objet comprend quelques propriétés et méthodes de base. Les sous-classes qui sont créées à l’aide du modèle Objet héritent toujours de ces propriétés et méthodes de base et définissent leurs propres propriétés et méthodes. Les sous-classes provenant de ces classes héritent de l’objet Objet, de leurs superclasses, et ainsi de suite. Tous les autres objets que vous créez prolongent cette chaîne d’héritage. Par exemple, l’objet Objet contient la propriété constructor et la méthode toString(). Si vous créez une nouvelle classe nommée SubObj1, elle correspond à une sous-classe de l’objet Objet et hérite ainsi de la propriété constructor et de la méthode toString() de l’objet Objet. Ensuite, si vous créez une autre classe nommée SubObj2 en utilisant SousObj1 en tant que superclasse, SubObj2 hérite également de la propriété constructor et de la méthode toString() de l’objet Objet, en plus de toutes les autres propriétés et méthodes personnalisées que vous avez définies dans SubObj1. ADOBE DIRECTOR 11.0 62 Dictionnaire de script Deux des propriétés importantes dont vos fonctions de construction personnalisées héritent de la superclasse Objet sont prototype et constructor. La propriété prototype représente l’objet prototype de la classe, qui vous permet d’ajouter des variables (propriétés) et des méthodes aux instances d’objets. C’est le moyen par lequel l’héritage est en général implémenté dans la syntaxe JavaScript. La propriété constructor représente la fonction de construction en elle-même. Dans les sections suivantes, l’utilisation de ces propriétés est expliquée. Objets prototypes Comme indiqué précédemment, lorsque vous créez une sous-classe, cette dernière hérite automatiquement des propriétés et méthodes de la superclasse à laquelle elle se rapporte. Dans la syntaxe JavaScript, l’héritage est en général implémenté en utilisant des objets prototypes. En réalité, une sous-classe hérite des propriétés et méthodes de l’objet prototype de sa superclasse, et non de la superclasse en elle-même. Ce point important apporte un avantage sérieux : toutes les propriétés et méthodes ne doivent pas être obligatoirement copiées d’une classe à une instance d’objet de cette classe, ce qui peut considérablement réduire la quantité de mémoire nécessaire à la création de nouvelles instances d’objets. Dans la syntaxe JavaScript, chaque classe, y compris la classe prédéfinie Objet, contient uniquement un objet prototype. Chaque instance d’objet créée à partir d’une classe a accès aux propriétés et méthodes dans l’objet prototype de cette classe. Par conséquent, l’objet prototype d’une classe est en général le seul objet qui stocke les propriétés et méthodes pour cette classe ; une instance d’objet contient uniquement les propriétés nécessaires à l’initialisation de cette instance. Dans votre code, il semble que chaque instance d’objet comprenne réellement ces propriétés et méthodes parce que vous pouvez y accéder directement à partir de l’instance d’objet. Mais en réalité, l’instance utilise l’objet prototype pour y accéder. L’objet prototype d’une classe est automatiquement créé lorsque vous créez la classe. Vous pouvez accéder à l’objet prototype à l’aide de la propriété prototype de la classe. Etant donné que l’objet prototype d’une classe stocke les propriétés partagées par toutes les instances d’objets, il peut définir correctement les propriétés et méthodes dont les valeurs sont partagées parmi toutes les instances d’objets. Le fait de partager les propriétés et les méthodes parmi les instances d’objets vous facilite la création d’instances qui affichent un comportement défini par défaut et la personnalisation de toutes les instances associées au comportement par défaut. Les objets prototypes ne sont en général pas adaptés pour définir les propriétés et méthodes dont les valeurs peuvent varier selon les instances d’objets. Dans ces cas-là, vous pouvez définir ces propriétés et méthodes au sein de la classe elle-même. Pour spécifier l’étendue d’une propriété ou méthode personnalisée, vous pouvez la définir selon l’un des quatre types suivants : • Variables d’instances • Méthodes d’instances • Variables de classes • Méthodes de classes Variables d’instances Les variables d’instances correspondent à toutes les variables (propriétés) définies dans une fonction de construction et sont copiées dans chaque instance d’objet de cette construction. Toutes les instances d’objets possèdent leurs propres copies de variables d’instances. Cela signifie que s’il existe cinq instances d’objets pour une classe Circle, cinq copies de chaque variable d’instance sont définies dans la classe. Etant donné que chaque instance d’objet possède sa propre copie de variable d’instance, chaque instance d’objet peut affecter une valeur unique à une variable ADOBE DIRECTOR 11.0 63 Dictionnaire de script d’instance sans pour autant modifier les valeurs des autres copies de la variable d’instance. Vous pouvez accéder directement aux variables d’instances à partir des instances d’objets qui leur sont propres. Dans l’exemple suivant, quatre variables d’instances (make, model, color et speed) sont définies dans une fonction de construction. Ces quatre variables d’instances sont directement disponibles à partir de toutes les instances d’objets de la construction Car. function Car(make, model, color) { // define a Car class this.make = make; this.model = model; this.color = color; this.speed = 0; } L’instance d’objet suivante objCar contient les quatre variables d’instances. Bien que la valeur de la variable d’instance speed ne soit pas passée à la construction Car, objCar possède toujours une propriété speed dont la valeur initiale est 0 parce que la variable speed est définie dans la construction Car. // objCar.make="Subaru", objCar.model="Forester", // objCar.color="silver", objCar.speed = 0 var objCar = new Car("Subaru", "Forester", "silver"); Méthodes d’instances Les méthodes d’instances correspondent à toute méthode accessible via une instance d’objet. Les instances d’objets ne possèdent pas leurs propres copies de méthodes d’instances. Les méthodes d’instances sont en fait définies en premier en tant que fonctions, et ensuite les propriétés de l’objet prototype de la fonction de construction sont définies sur les valeurs de la fonction. Les méthodes d’instances utilisent le mot-clé this dans le corps de la fonction de construction définie afin de faire référence à l’instance d’objet sur laquelle elles opèrent. Bien qu’une instance d’objet donnée ne possède pas une copie d’une méthode d’instance, vous pouvez toujours accéder directement aux méthodes d’instances à partir des instances d’objets qui y sont associées. L’exemple suivant définit une fonction nommée Car_increaseSpeed(). Le nom de la fonction est ensuite affecté à la propriété increaseSpeed de l’objet prototype de la classe Car : // increase the speed of a Car function Car_increaseSpeed(x) { this.speed += x; return this.speed; } Car.prototype.increaseSpeed = Car_increaseSpeed; Une instance d’objet Car peut ensuite accéder à la méthode increaseSpeed() et affecter sa valeur à la variable à l’aide de la syntaxe suivante : var objCar = new Car("Subaru", "Forester", "silver"); var newSpeed = objCar.increaseSpeed(30); Vous pouvez également créer une méthode d’instance à l’aide de la syntaxe de fonction littérale. En utilisant la syntaxe de fonction littérale, il n’est plus nécessaire ni de définir une fonction, ni d’affecter un nom de propriété au nom de la fonction. Dans l’exemple suivant, la syntaxe de fonction littérale est utilisée pour définir une méthode increaseSpeed() qui contient les mêmes fonctionnalités que la fonction increaseSpeed() définie précédemment : // increase the speed of a Car Car.prototype.increaseSpeed = function(x) { this.speed += x; return this.speed; } ADOBE DIRECTOR 11.0 64 Dictionnaire de script Variables de classes Egalement appelées variables statiques, elles correspondent à toutes les variables (propriétés) associées à une classe et non à une instance d’objet. Il n’existe qu’une copie de variable de classe, quel que soit le nombre d’instances d’objets créées à partir de cette classe. Les variables de classes n’utilisent pas l’objet prototype pour implémenter l’héritage. Vous pouvez accéder directement à une variable de classe via la classe et non via une instance d’objet ; vous devez définir une classe dans une fonction de construction avant de pouvoir définir des variables de classes. Dans l’exemple suivant, deux variables de classes sont définies (MAX_SPEED et MIN_SPEED) : function Car() { // define a Car class ... } Car.MAX_SPEED = 165; Car.MIN_SPEED = 45; Vous avez directement accès aux variables de classes MAX_SPEED et MIN_SPEED à partir de la classe Car. var carMaxSpeed = Car.MAX_SPEED; // carMaxSpeed = 165 var carMinSpeed = Car.MIN_SPEED; // carMinSpeed = 45 Méthodes de classes Egalement appelées méthodes statiques, elles correspondent à toutes les méthodes associées à une classe et non à une instance d’objet. Il n’existe qu’une copie de méthode de classe, quel que soit le nombre d’instances d’objets créées à partir de cette classe. Les méthodes de classes n’utilisent pas l’objet prototype pour implémenter l’héritage. Vous avez directement accès à une méthode de classe via la classe et non via une instance d’objet ; vous devez définir une classe dans une fonction de construction avant de pouvoir définir des méthodes de classes. Dans l’exemple suivant, on définit une fonction nommée setInitialSpeed() qui peut modifier la vitesse par défaut des nouvelles instances de véhicules. Le nom de la fonction est affecté à la propriété setInitialSpeed de la classe Car : function Car(make, model, color) { // define a Car class this.make = make; this.model = model; this.color = color; this.speed = Car.defaultSpeed; } Car.defaultSpeed = 10; // initial speed for new Car instances // increase the speed of a Car function Car_setInitialSpeed(x) { Car.defaultSpeed = x; } Car.setInitialSpeed = Car_setInitialSpeed; Vous pouvez accéder directement à la méthode de classe setInitialSpeed() à partir de la classe Car. var newSpeed = Car.setInitialSpeed(30); Vous pouvez également créer une méthode de classe à l’aide de la syntaxe de fonction littérale. Dans l’exemple suivant, la syntaxe de fonction littérale est utilisée pour définir une méthode setInitialSpeed() qui contient les mêmes fonctionnalités que la fonction setInitialSpeed() définie précédemment : // increase the speed of a Car Car.setInitialSpeed = function(x) { Car.defaultSpeed = x; } ADOBE DIRECTOR 11.0 65 Dictionnaire de script Etapes recommandées pour définir une classe La liste suivante décrit les étapes que nous vous recommandons de suivre lorsque vous définissez une classe : 1 Définissez une fonction de construction utilisée en tant que modèle à partir duquel les instances d’objets sont initialisées. Vous pouvez également définir toute variable d’instance de la fonction de construction en utilisant le mot-clé this pour faire référence à une instance d’objet. 2 Définissez toute méthode d’instance, ainsi que toute variable d’instance, stockée dans l’objet prototype d’une classe. Ces méthodes et variables d’instances sont disponibles pour toutes les instances d’objets et vous pouvez y accéder via l’objet prototype de la classe. 3 Définissez toute méthode de classe, variable de classe et constante stockées dans la classe elle-même. Vous ne pouvez accéder à ces méthodes et variables de classes que via la classe elle-même. Dans votre code, lorsque vous accédez à une propriété d’une instance d’objet, la syntaxe JavaScript recherche l’instance d’objet de cette propriété. Si l’instance ne contient pas de propriété, la syntaxe JavaScript recherche alors l’objet prototype de la superclasse à partir de laquelle l’instance a été créée. Etant donné qu’une instance d’objet est recherchée avant l’objet prototype de la classe à partir de laquelle il a été créé, les propriétés de l’instance d’objet masquent les propriétés à l’objet prototype de leurs superclasses. Cela signifie qu’une instance d’objet et sa superclasse peuvent réellement définir une propriété avec le même nom mais avec des valeurs différentes. Suppression de variables Vous pouvez supprimer une variable de classe ou une variable d’instance à l’aide de l’opérateur delete. L’exemple suivant illustre ce processus. function Car() { // define a Car constructor function ... } Car.color = "blue"; // define a color property for the Car class Car.prototype.engine = "V8"; // define an engine property for the prototype var objCar = new Car(); trace(Car.color); // displays "blue" trace(objCar.engine); // displays "V8" delete Car.color; delete Car.prototype.engine; trace(Car.color); // displays undefined trace(objCar.engine); // displays undefined Accès à la propriété de construction d’un objet prototype Lorsque vous définissez une classe en créant une fonction de construction, la syntaxe JavaScript crée un objet prototype pour cette classe. Lorsque l’objet prototype est créé, il comprend au départ une propriété constructor qui se rapporte à la fonction de construction elle-même. Vous pouvez utiliser la propriété constructor d’un objet prototype pour déterminer le type de tout objet donné. Dans l’exemple suivant, la propriété constructor contient une référence à la fonction de construction utilisée pour créer l’instance d’objet. La valeur de la propriété constructor est en réalité une référence à la construction ellemême et n’est pas une chaîne qui contient le nom de la construction : function Car() { // define a Car class // initialization code here ADOBE DIRECTOR 11.0 66 Dictionnaire de script } var myCar = new Car(); // myCar.constructor == function Car() {} Création dynamique de propriétés Un des autres avantages dont vous pouvez bénéficier en utilisant un objet prototype pour implémenter l’héritage est que les propriétés et méthodes ajoutées à un objet prototype sont automatiquement disponibles pour les instances d’objets. Cette remarque est vraie même si une instance d’objet a été créée avant que les propriétés ou les méthodes n’aient été ajoutées. Dans l’exemple suivant, la propriété color est ajoutée à l’objet prototype d’une classe Car après la création d’une instance d’objet Car. function Car(make, model) { // define a Car class this.make = make; this.model = model; } var myCar = new Car("Subaru", "Forester"); // create an object instance trace(myCar.color); // returns undefined // add the color property to the Car class after myCar was initialized Car.prototype.color = "blue"; trace(myCar.color); // returns "blue" Vous pouvez également ajouter des propriétés aux instances d’objets après que les instances ont été créées. Lorsque vous ajoutez une propriété à une instance d’objet spécifique, cette propriété est disponible uniquement pour cette instance d’objet spécifique. A l’aide de l’instance d’objet myCar précédemment créée, les instructions suivantes ajoutent la propriété colour à myCar après sa création. trace(myCar.color); // returns undefined myCar.color = "blue"; // add the color property to the myCar instance trace(myCar.color); // returns "blue" var secondCar = new Car("Honda", "Accord"); // create a second object instance trace(secondCar.color); // returns undefined Rédaction de scripts dans la fenêtre Script Lorsque vous rédigez des scripts pour une animation, ces scripts peuvent considérablement augmenter en quantité et en complexité. La décision des méthodes ou des propriétés à utiliser, de la structuration efficace des scripts et de leur position judicieuse exige un plan d’action rigoureux et de nombreux tests au fur et à mesure que la complexité de l’animation augmente. L’aspect le plus important des scripts réside dans la formulation d’un objectif et dans une compréhension totale de ce que vous souhaitez accomplir et ce, avant de commencer à rédiger ces scripts. C’est en fait aussi important, et en général aussi laborieux, que la création des storyboards de l’animation. Une fois le plan d’ensemble de votre animation conçu, vous pouvez commencer à rédiger puis à tester les scripts. Attendez-vous à y passer du temps. Il est très rare qu’un script produise le résultat attendu dès la première rédaction, les premiers tests ou les premières opérations de débogage. ADOBE DIRECTOR 11.0 67 Dictionnaire de script Il est donc conseillé de commencer de manière progressive et de tester vos scripts fréquemment. Dès qu’une partie d’un script produit l’effet escompté, rédigez la partie suivante, et ainsi de suite. Cette méthode vous permet d’identifier rapidement les bogues et garantit la précision de vos scripts au fur et à mesure que leur complexité augmente. La fenêtre Script propose un certain nombre de fonctionnalités qui vous permettent de créer et modifier vos scripts. Dans Director, la fenêtre Script vous permet d’ajouter aux animations une interactivité avancée, basée sur les scripts. Dans la fenêtre Script, vous pouvez programmer à l’aide de Lingo ou de la syntaxe JavaScript. Lingo est le langage de programmation traditionnel de Director. La syntaxe JavaScript, quant à elle, a été récemment introduite afin de permettre aux développeurs multimédia qui préfèrent utiliser JavaScript d’utiliser cette syntaxe au sein de Director. En créant des scripts dans la fenêtre Script, vous pouvez réaliser la plupart des tâches qui peuvent être accomplies dans l’interface graphique de Director, telles que le déplacement des images-objets sur la scène ou la lecture de sons. Cependant, le plus grand avantage de la création de scripts est surtout la souplesse que vous apportez à une animation. Au lieu de lire une série d’images exactement comme le scénario l’exige, les scripts peuvent contrôler la lecture de l’animation en fonction de conditions et d’événements précis. Remarque : en plus de la fenêtre Script, dans laquelle vous pouvez créer vos propres scripts, Director contient un jeu d’instructions toutes prêtes (appelées comportements), que vous pouvez simplement faire glisser sur les images-objets et les images. Les comportements permettent d’ajouter une dimension interactive basée sur les scripts, sans avoir à rédiger de scripts. Pour plus d’informations sur les comportements, consultez la rubrique Comportements dans l’Aide de Director. La fenêtre Script possède un panneau de l’explorateur et un Editeur de script. Par défaut, le panneau de l’explorateur apparaît à gauche de l’Editeur de script. Vous pouvez voir le panneau de l’explorateur dans la vue du dictionnaire ou dans celle du navigateur de scripts. Pour définir la position par défaut du panneau de l’explorateur, utilisez la boîte de dialogue Préférences de la fenêtre Script (Edition > Préférences > Script). Mode dictionnaire Le mode dictionnaire affiche une liste de fonctions de script Lingo/JavaScript intégrées organisées sous la forme d’une arborescence. Les fonctions sont classées selon leur catégorie et par ordre alphabétique comme un index. Utilisez le mode dictionnaire pour effectuer les opérations suivantes : • parcourir les fonctions intégrées des scripts Lingo et JavaScript ; • utiliser les fonctions intégrées pour créer des scripts. Rechercher des fonctions et créer des scripts à l’aide du mode dictionnaire 1 Choisissez Fenêtre > Script. La fenêtre Script apparaît. 2 Cliquez sur l’onglet Dictionnaire. 3 Sélectionnez Lingo ou JavaScript dans le menu local. Les fonctions intégrées correspondantes s’affichent dans le panneau ci-dessous. ADOBE DIRECTOR 11.0 68 Dictionnaire de script Lingo : affiche des fonctions pour les scripts Lingo, les scripts Lingo 3D et les Xtras de programmation utilisés dans l’animation en cours. Les fonctions sont organisées en catégories (Globales, Animation, Lecteur, etc.). JavaScript : affiche des fonctions pour les scripts JavaScript, les scripts JavaScript 3D et les Xtras de programmation utilisés dans l’animation en cours. Les fonctions sont organisées en catégories (Globales, Animation, Lecteur, etc.). 4 Agrandissez chaque catégorie pour afficher les fonctions qui lui sont associées en cliquant sur le signe plus (+) en regard de chaque catégorie. Pour afficher les fonctions par ordre alphabétique, agrandissez la catégorie de l’index. 5 Pour ajouter une fonction à l’Editeur de script pour la création de scripts, double-cliquez sur la fonction. 6 Enregistrez le script. 7 Cliquez sur l’icône Recompiler tous les scripts modifiés. Mode navigateur de scripts Le mode navigateur de scripts affiche les scripts et les gestionnaires associés qui ont été utilisés dans l’animation. Dans ce mode, vous pouvez créer de nouveaux scripts et gestionnaires. Utilisez le mode navigateur de scripts pour effectuer les opérations suivantes : • parcourir les scripts et les gestionnaires de l’animation actuelle comme une arborescence ou une liste ; • trier les scripts en fonction du nom du script, du nom de l’acteur, du numéro de l’acteur ou du type de script dans l’affichage sous forme de liste ; • localiser un gestionnaire dans l’Editeur de script ; • créer des scripts pour chaque type de script ou acteur script. Rechercher et créer des scripts à l’aide du mode navigateur de scripts 1 Choisissez Fenêtre > Script pour ouvrir la fenêtre Script. 2 Cliquez sur l’onglet Navigateur de scripts. Les scripts s’affichent sous la forme d’une arborescence dans le panneau ci-dessous. Pour afficher les scripts sous la forme d’une liste, cliquez sur le bouton de la vue du navigateur de scripts. Affichage sous forme d’arborescence : les scripts sont classés selon le type de script (comme les scripts de comportement, les scripts d’animation, les scripts parents et la bibliothèque de distribution) dans lequel ils sont créés. Les scripts d’acteurs sont également répertoriés dans cette liste. Pour ouvrir un script dans l’Editeur de script, double-cliquez sur le script. Les gestionnaires appartenant à un script apparaissent sous la forme d’une arborescence sous le nœud de script correspondant. Pour afficher une liste de gestionnaires compilés dans le script, agrandissez le nœud <nom> du script. Les gestionnaires non compilés ne s’affichent pas. 3 4 Pour localiser un gestionnaire dans l’Editeur de script, double-cliquez sur le gestionnaire. Le gestionnaire est mis en surbrillance dans l’Editeur de script. Vous pouvez également cliquer sur l’icône Passer au gestionnaire dans la barre de programmation. Pour plus d’informations, consultez « Recherche de gestionnaires et de texte dans les scripts », page 74. Pour ajouter ou supprimer un commentaire dans le script, cliquez sur l’icône Insérer une marque de commentaire ou Supprimer la marque de commentaire dans la barre de programmation. 5 6 Pour activer ou désactiver un point d’arrêt, cliquez sur l’icône Activer/désactiver le point d’arrêt dans la barre de programmation. Vous pouvez également appuyer sur F9 ou cliquer sur la barre bleue en regard de la partie de code. ADOBE DIRECTOR 11.0 69 Dictionnaire de script 7 Affichage sous forme de liste : les scripts sont organisés dans une colonne sous la forme d’une liste en fonction du nom du script, du nom de l’acteur, du numéro de l’acteur et du type de script. Pour trier une liste dans une colonne, cliquez sur l’en-tête de colonne souhaité. 8 Pour créer un nouveau script dans l’affichage sous forme d’arborescence, cliquez avec le bouton droit sur un type de script et sélectionnez Ajouter un nouveau <type de script> dans le menu local. Lorsque vous saisissez un nom pour le script dans l’Editeur de script, le nom du script s’affiche dans la liste. 9 Enregistrez le script. 10 Cliquez sur l’icône Recompiler tous les scripts modifiés. Les scripts d’acteurs sont répertoriés dans le dossier des scripts d’acteurs dans l’affichage sous forme d’arborescence et en tant que noms de scripts dans l’affichage sous forme de liste. Etant donné que ces scripts sont associés à un acteur spécifique et qu’ils ne sont pas réellement des acteurs, ils sont supprimés du navigateur de scripts uniquement lorsque vous supprimez l’acteur associé. Pour plus d’informations sur les autres façons de créer et d’ouvrir des scripts, consultez « Exécution d’opérations élémentaires », page 75. Remarque : pour fermer un onglet Script, cliquez sur le bouton X dans l’onglet ou cliquez avec le bouton droit sur la zone de l’onglet puis sélectionnez l’option Fermer <type de script:nom du script>. Ouverture et fermeture de plusieurs scripts Vous pouvez ouvrir plusieurs scripts sous forme d’onglets dans la fenêtre Script. Etant donné que la fenêtre Script ne peut afficher qu’un nombre limité d’onglets, certains onglets peuvent être masqués. Pour parcourir les onglets masqués, utilisez les icônes « > » et « < » permettant de parcourir les onglets de la fenêtre Script. Ouvrir plusieurs fenêtres Script O Effectuez l’une des opérations suivantes : • Depuis la fenêtre Script, sélectionnez Fenêtre > Nouvelle fenêtre Script. • Appuyez sur Alt+w+n. Vous pouvez utiliser le raccourci Alt+w+n pour ouvrir des instances supplémentaires de n’importe quelle fenêtre active. Par exemple, si vous avez ouvert la fenêtre Vecteur, utilisez le raccourci Alt+w+n pour ouvrir des fenêtres Vecteur supplémentaires. Fermer un onglet Script 1 Cliquez sur l’onglet de la fenêtre Script que vous souhaitez fermer. 2 Effectuez l’une des opérations suivantes : • Cliquez sur l’onglet que vous souhaitez fermer (s’il n’est pas l’onglet actif), puis cliquez sur le bouton X. ADOBE DIRECTOR 11.0 70 Dictionnaire de script • Cliquez avec le bouton droit sur l’onglet ou sur la zone en regard de l’onglet, puis sélectionner Fermer <type de script:nom du script>. Définition des préférences de la fenêtre Script Vous pouvez modifier la police du texte affiché dans la fenêtre Script et attribuer des couleurs différentes aux différents composants du code Lingo. Pour modifier la police par défaut du texte de la fenêtre Script et les couleurs des différents éléments du code, vous utilisez la fenêtre Script. Director affecte automatiquement une couleur distincte aux différents éléments du code, sauf si vous désactivez Coloration automatique. Pour afficher le panneau de l’explorateur dans d’autres fenêtres, cliquez sur l’icône Flèche de la barre de fractionnement située entre l’éditeur de script et le panneau de l’explorateur. Définir les préférences de la fenêtre Script 1 Choisissez Edition > Préférences > Script. 2 Pour choisir la police par défaut, cliquez sur le bouton Police et sélectionnez les attributs de la police dans la boîte de dialogue Police. 3 Pour choisir la couleur par défaut du texte affiché dans la fenêtre Script, choisissez une couleur dans la puce Couleur. 4 Pour choisir la couleur d’arrière-plan de la fenêtre Script, choisissez une couleur dans le menu Arrière-plan. 5 Pour que la fenêtre Script colorie automatiquement certains éléments du code, cochez la case Coloration automatique. Cette option est activée par défaut. Lorsque l’option Coloration automatique est désactivée, le texte a la couleur par défaut. Pour que la nouvelle fenêtre Script formate automatiquement vos scripts avec la mise en retrait, activez l’option Format automatique. Cette option est activée par défaut. 6 Remarque : les fonctions de coloration automatique et de formatage automatique ne s’appliquent pas aux codes JavaScript. Par conséquent, si vous créez des scripts à l’aide de la syntaxe JavaScript, les boutons Coloration automatique et Format automatique sont désactivés dans la fenêtre Script et les termes tels que function, var et this apparaissent avec la couleur par défaut. 7 Pour que la nouvelle fenêtre Script affiche les numéros de ligne associés à vos scripts, activez l’option Numérotation des lignes. Cette option est activée par défaut. 8 Si l’option Coloration automatique est activée, choisissez les couleurs des éléments de code suivants : • Mots-clés • Commentaires • Constantes • Personnalisé (termes que vous définissez dans votre propre code) Pour changer la couleur de fond de la colonne des numéros de ligne, cliquez sur Numérotation des lignes et choisissez une nouvelle couleur. 9 10 Pour changer l’emplacement des volets Pile d’appels, Variables et Surveillance dans la fenêtre Débogueur, sélectionnez Gauche, Droit, Haut ou Bas dans le menu Volets de débogage. 11 Sélectionnez Lingo ou JavaScript dans le menu local Type de script par défaut. Director utilise l’option sélectionnée par défaut lors de l’ouverture du panneau de l’explorateur Remarque : cette modification agit au niveau de l’application et reste en mémoire lorsque vous fermez puis ouvrez à nouveau Director. ADOBE DIRECTOR 11.0 71 Dictionnaire de script 12 Pour placer le panneau de l’explorateur à un autre emplacement adjacent à l’éditeur de script dans la fenêtre Script, sélectionnez Gauche, Haut, Droit ou Bas dans le menu local du panneau de l’explorateur. Par défaut, le panneau de l’explorateur apparaît à gauche de l’Editeur de script. Remarque : lors du débogage d’un script, une instance distincte de l’éditeur de script s’ouvre avec le panneau Débogueur. Cette fenêtre de type Document peut être réorganisée dans l’application en la déplaçant avec les autres fenêtres ouvertes. Suppression de scripts Vous pouvez supprimer des scripts à partir du panneau de l’explorateur. Supprimer un script O Effectuez l’une des opérations suivantes : • Dans le navigateur de script, cliquez avec le bouton droit sur une entrée de script, puis sur Supprimer. • Dans l’affichage sous forme de liste de l’explorateur de script, sélectionnez un script, puis cliquez sur Supprimer. Remarque : lorsque vous supprimez un script déjà ouvert, l’onglet correspondant est également supprimé de la fenêtre Script. Si le script ouvert que vous avez supprimé était le seul script de votre animation, la fenêtre Script est désactivée, et l’onglet dans lequel s’affichait votre script indique la mention Script. Pour activer l’éditeur de texte, cliquez sur le signe plus (+) situé dans le panneau de l’éditeur de script. Insertion de termes de programmation communs La fenêtre Script offre des menus locaux contenant les termes de programmation communs que vous pouvez utiliser pour insérer des instructions dans un script. Les mêmes menus sont également disponibles dans la fenêtre Messages. Dans les fenêtres Script et Messages, vous pouvez sélectionner la syntaxe de programmation à utiliser pour un script donné. Sélectionner la syntaxe de programmation O Dans le menu local Syntaxe de script, sélectionnez Lingo ou JavaScript. Après avoir sélectionné une syntaxe de programmation, entrez le code dans la syntaxe que vous avez choisie. Si vous essayez de compiler un script dans une syntaxe autre que celle que vous avez choisie, vous obtenez une erreur de script. ADOBE DIRECTOR 11.0 72 Dictionnaire de script Lorsque vous entrez des scripts dans la fenêtre Script, vous pouvez insérer ou supprimer des marques de commentaire sur une seule ou plusieurs lignes de code à l’aide des boutons Insérer une marque de commentaire et Supprimer la marque de commentaire. Selon la syntaxe choisie, les boutons Insérer une marque de commentaire et Supprimer la marque de commentaire affichent les bons repères de commentaire pour cette syntaxe ; Lingo utilisant des tirets doubles (--) et la syntaxe JavaScript deux barres obliques (//). Insérer une marque de commentaire dans le code O Mettez en surbrillance la ou les lignes de code auxquelles vous voulez ajouter un commentaire et cliquez sur Insérer une marque de commentaire. Remarque : vous utilisez le bouton Insérer une marque de commentaire pour ajouter des commentaires sur plusieurs lignes de code JavaScript, Director place deux barres obliques avant chaque ligne. Vous pouvez également insérer des commentaires sur plusieurs lignes de code en tapant le signe /* avant la première ligne de code et le signe */ après la dernière ligne ; mais vous devez le faire manuellement. Supprimer une marque de commentaire dans le code O Mettez en surbrillance la ou les lignes de code dont vous voulez supprimer les commentaires et cliquez sur Supprimer la marque de commentaire. Les fenêtres Script et Messages contiennent toutes deux les menus suivants : • Le menu alphabétique est une liste alphabétique de tous les éléments Lingo, à l’exception du Lingo 3D. • Le menu par catégorie est une liste des éléments Lingo répertoriés selon leurs fonctions. Il n’inclut pas les éléments Lingo 3D. • Le menu alphabétique 3D de Lingo est une liste alphabétique de tous les éléments Lingo 3D, présentés par ordre alphabétique. • Le menu par catégorie 3D de Lingo est une liste de tous les éléments Lingo 3D répertoriés selon leurs fonctions. • Le menu local des Xtras de programmation inclut les méthodes et propriétés de tous les Xtras de programmation trouvés, qu’il s’agisse d’Xtras Adobe ou autres. Remarque : les Xtras de programmation figurant dans le menu local sont limités à ceux qui prennent en charge la méthode Interface() et dont les noms apparaissent effectivement dans le menu local. Bien que certains types de médias d’acteurs tels 3D et DVD prennent également en charge la méthode Interface(), ils ne figurent pas dans le menu local Xtras de programmation parce qu’ils ne sont pas implémentés en tant qu’Xtras de programmation dans Director. L’élément sélectionné dans les menus locaux est inséré par Director à l’emplacement du curseur dans la fenêtre Script. Si un élément nécessite des paramètres supplémentaires, des repères de noms indiquant les informations supplémentaires requises sont insérés. Lorsque plusieurs arguments ou paramètres sont nécessaires, le premier est mis en surbrillance pour vous inviter à le saisir et le remplacer. Vous devez sélectionner et remplacer les autres paramètres vous-même. Certains types d’acteurs et d’Xtras de programmation offrent des termes de programmation qui ne figurent pas dans les menus locaux. Ces types d’acteurs et d’Xtras possèdent généralement leur propre documentation ; vous pouvez également trouver des informations à partir de Director. Afficher la liste des Xtras disponibles O Emettez soit put(_player.xtraList), soit trace(_player.xtraList) dans la fenêtre Messages. ADOBE DIRECTOR 11.0 73 Dictionnaire de script Afficher la liste des Xtras de programmation disponibles O Emettez soit put(_player.scriptingXtraList), soit trace(_player.scriptingXtraList) dans la fenêtre Messages. Afficher la liste des méthodes et propriétés d’un Xtra O Dans le menu local Xtras de programmation, placez-vous sur un Xtra et, dans le menu secondaire, cliquez sur Put Interface. Les méthodes et propriétés de cet Xtra apparaissent dans la fenêtre Messages. Saisie et modification de texte La saisie et la modification de texte dans une fenêtre Script se font de la même manière que dans n’importe quel champ. Les opérations d’édition les plus communes effectuées dans une fenêtre Script sont les suivantes : • Pour sélectionner un mot, double-cliquez dessus. • Pour sélectionner un script entier, choisissez Edition > Tout sélectionner. • Pour commencer une nouvelle ligne, entrez un retour chariot. • Dans Lingo, pour renvoyer une longue ligne de code à la ligne en insérant un symbole de continuation, appuyez sur Alt+Entrée (Windows®) ou sur Option+Retour (Macintosh®) à l’endroit où vous voulez insérer un retour à la ligne. Le symbole de continuation (\) qui apparaît indique que l’instruction continue sur la ligne suivante. Pour renvoyer une longue ligne de code à la ligne dans la syntaxe JavaScript, insérez un saut de ligne en appuyant sur Entrée (Windows) ou Retour (Macintosh). Le symbole de continuation Lingo entraîne une erreur de script dans les scripts de la syntaxe JavaScript. • Pour trouver un gestionnaire dans le script actuel, choisissez son nom dans le menu local Passer au gestionnaire de la fenêtre Script. • Pour compiler les scripts que vous venez de modifier, cliquez sur le bouton Recompiler tous les scripts modifiés de la fenêtre Script ou fermez cette dernière. Lorsque vous modifiez un script, un astérisque apparaît dans la barre de titre de la fenêtre Script, indiquant que le script doit être recompilé. • Pour compiler tous les scripts d’une animation, sélectionnez Recompiler tous les scripts dans le menu Contrôle. • Pour reformater un script avec la mise en retrait, appuyez sur la touche de tabulation dans la fenêtre Script. Director place automatiquement les instructions en retrait lorsque leur syntaxe est correcte. Si une ligne du script n’est pas correctement mise en retrait, la syntaxe de cette ligne est incorrecte. • Pour ouvrir une seconde fenêtre Script, appuyez sur la touche Alt (Windows) ou Option (Macintosh), tout en cliquant sur le bouton Nouvel acteur dans la fenêtre Script. Cette opération peut notamment se révéler utile lorsque vous modifiez simultanément deux sections différentes d’un long script. • Pour activer ou désactiver la numérotation des lignes, cliquez sur le bouton Numérotation des lignes. • Pour activer ou désactiver l’option Coloration automatique, cliquez sur le bouton Coloration automatique. L’option Coloration automatique affiche chaque type d’élément Lingo (propriétés, commandes, etc.) dans une couleur différente. • Pour activer ou désactiver le formatage automatique, cliquez sur le bouton Format automatique. L’option Format automatique applique la mise en retrait correcte à vos scripts chaque fois que vous ajoutez un retour chariot ou que vous appuyez sur la touche de tabulation. ADOBE DIRECTOR 11.0 74 Dictionnaire de script Remarque : les fonctions Coloration automatique et Format automatique ne s’appliquent pas aux codes JavaScript. Par conséquent, si vous créez des scripts à l’aide de la syntaxe JavaScript, les boutons Coloration automatique et Format automatique sont désactivés dans la fenêtre Script et les termes tels que function, var et this apparaissent avec la couleur par défaut. Recherche de gestionnaires et de texte dans les scripts La commande Rechercher du menu Edition permet de rechercher des gestionnaires et de rechercher et modifier du texte et des gestionnaires dans les scripts. Rechercher des gestionnaires dans les scripts 1 Choisissez Edition > Rechercher > Gestionnaire. La boîte de dialogue Rechercher un gestionnaire apparaît. La colonne la plus à gauche de la boîte de dialogue Rechercher un gestionnaire affiche les noms de tous les gestionnaires de l’animation. La colonne du milieu affiche le numéro de l’acteur associé au script du gestionnaire, ainsi que son nom. La colonne la plus à droite affiche la distribution dans laquelle se trouve l’acteur. 2 Sélectionnez le gestionnaire à rechercher. 3 Cliquez sur Rechercher. Le gestionnaire apparaît dans la fenêtre Script. La barre de titre en haut de la fenêtre Script indique le type du script. Rechercher du texte dans les scripts 1 Activez la fenêtre Script. 2 Choisissez Edition > Rechercher > Texte. La boîte de dialogue Rechercher du texte apparaît. 3 Saisissez le texte à rechercher dans le champ Rechercher, puis cliquez sur Rechercher. Par défaut, la recherche ne fait pas la distinction entre les majuscules et les minuscules : ThisHandler, thisHandler et THISHANDLER sont considérés comme identiques lors de la recherche. Cliquez sur la case Respecter la casse pour que la recherche prenne en compte les majuscules et les minuscules. Spécifier les acteurs dans lesquels effectuer la recherche O Sélectionnez l’option appropriée dans Chercher : Scripts. ADOBE DIRECTOR 11.0 75 Dictionnaire de script Reprendre la recherche au début une fois qu’elle atteint la fin O Sélectionnez l’option En boucle. Ne rechercher que des mots entiers et non des fragments de mots correspondant au mot recherché O Sélectionnez l’option Mots entiers seulement. Rechercher l’occurrence suivante du texte spécifié dans le champ Rechercher O Choisissez Edition > Poursuivre la recherche. Trouver toutes les occurrences du texte sélectionné 1 Sélectionnez le texte. 2 Choisissez Edition > Rechercher > Sélection. Exécution d’opérations élémentaires Vous trouverez ci-dessous les opérations élémentaires permettant de créer, associer et ouvrir des scripts. Créer un comportement d’image (script associé à une image) O Double-cliquez sur la piste des comportements dans l’image à laquelle vous souhaitez affecter le comportement. A. Pistes des comportements Lorsque vous créez un nouveau comportement, celui-ci reçoit automatiquement le premier numéro de distribution disponible dans la fenêtre Distribution active. Lorsque vous créez un nouveau comportement d’image, la fenêtre Script apparaît et contient automatiquement le gestionnaire Lingo on exitFrame. La première ligne contient l’expression on exitFrame, suivie d’une ligne dans laquelle le curseur clignote puis d’une autre comprenant le mot end. Cela vous permet d’associer facilement et rapidement un comportement Lingo commun à l’image. Pour que ce gestionnaire puisse fonctionner avec la syntaxe JavaScript, remplacez on exitFrame par function exitFrame() { puis end par }. Un des comportements d’image les plus fréquents est celui qui maintient la tête de lecture en boucle dans une même image. Il peut s’avérer utile lorsque vous souhaitez que votre animation maintienne la lecture sur une même image en attendant que l’utilisateur clique sur un bouton ou dans l’attente de la fin de la lecture d’une vidéo numérique ou d’un fichier audio. ADOBE DIRECTOR 11.0 76 Dictionnaire de script Maintenir la tête de lecture sur une seule image O Dans un comportement d’image, tapez l’instruction suivante sur la ligne qui suit directement l’instruction on exitFrame (Lingo) ou function exitFrame() (syntaxe JavaScript) : -- Lingo syntax _movie.go(_movie.frame) // JavaScript syntax _movie.go(_movie.frame); La propriété frame de l’objet Animation se rapporte à l’image actuellement occupée par la tête de lecture. Cette instruction demande essentiellement à la tête de lecture de « revenir au niveau de l’image active ». Créer un comportement d’image-objet (script associé à une image-objet) O Dans le scénario ou sur la scène, sélectionnez l’image-objet à laquelle vous souhaitez associer le comportement. Choisissez ensuite Fenêtre > Inspecteur de comportement et choisissez Nouveau comportement dans le menu local Comportements. Lorsque vous créez un nouveau comportement d’image-objet, la fenêtre Script apparaît et contient automatiquement le gestionnaire Lingo on mouseUp. La première ligne contient l’expression on mouseUp, suivie d’une ligne dans laquelle le curseur clignote puis d’une autre comprenant le mot end. Ceci vous permet d’associer rapidement et aisément un comportement commun à l’image-objet. Pour que ce gestionnaire puisse fonctionner avec la syntaxe JavaScript, remplacez on mouseUp par function mouseUp() { puis end par }. Ouvrir un comportement afin de le modifier 1 Double-cliquez sur le comportement dans la fenêtre Distribution. L’Inspecteur de comportement apparaît. 2 Cliquez sur l’icône Script de l’acteur dans l’Inspecteur de comportement. La fenêtre Script de l’acteur affiche le comportement. Vous pouvez également ouvrir la fenêtre Script d’animation et faire défiler les scripts jusqu’à ce que le comportement recherché apparaisse. Supprimer un comportement d’un emplacement dans le scénario O Sélectionnez l’emplacement, puis supprimez le script de la liste affichée dans l’Inspecteur des propriétés (onglet Comportement). Associer des comportements existants à des images-objets ou à des images O Effectuez l’une des opérations suivantes : • Faites glisser un comportement d’une distribution vers une image-objet ou une image du scénario ou (pour les images-objets) vers une image-objet de la scène. • Dans le scénario, sélectionnez les images-objets ou les images auxquelles vous souhaitez associer le comportement. Choisissez ensuite Fenêtre > Inspecteur de comportement et choisissez le comportement existant dans le menu-local Comportements. Créer un script d’animation (script associé à une animation) Effectuez l’une des opérations suivantes : • Pour créer un script d’animation à l’aide de l’explorateur Script dans l’affichage sous forme d’arborescence : ADOBE DIRECTOR 11.0 77 Dictionnaire de script 1 Sélectionnez un nœud d’animation sous la distribution dans laquelle vous voulez ajouter le script d’animation. 2 Cliquez avec le bouton droit et sélectionnez Ajouter > Nouveau script d’animation. • Si le script actuel de la fenêtre Script est un script d’animation, cliquez sur le bouton Nouveau script de cette fenêtre. Le bouton Nouveau script crée toujours un script du même type que le script actuel. • Si le script actuel de la fenêtre Script n’est pas un script d’animation, cliquez sur le bouton Nouveau script puis remplacez le type du nouveau script à l’aide du menu local Type de l’onglet Script de l’Inspecteur des propriétés. • Si aucune image-objet ni aucun script n’est sélectionné dans la distribution, dans le scénario ou sur la scène, ouvrez une nouvelle fenêtre Script. Par défaut, un nouveau script d’animation est créé. Ouvrir un script d’animation ou un script parent afin de le modifier O Une fois le script ouvert à l’aide de l’explorateur Script, double-cliquez sur le script dans la fenêtre Distribution. Modifier le type d’un script 1 Sélectionnez le script dans la fenêtre Distribution ou ouvrez-le dans la fenêtre Script. 2 Cliquez sur l’onglet Script de l’Inspecteur des propriétés et choisissez un type de script dans le menu-local Type. Faire défiler les scripts dans la fenêtre Script O Utilisez les flèches Acteur précédent et Acteur suivant situées en haut de la fenêtre Script pour vous déplacer vers l’avant ou l’arrière dans les scripts. Copier un script O Sélectionnez le script dans la fenêtre Distribution, puis choisissez Dupliquer dans le menu Edition. Pour créer un script automatiquement associé à chaque image-objet créée à partir d’un acteur spécifique, associez le script à l’acteur proprement dit. Créer un script associé à un acteur ou ouvrir un script associé à un acteur existant O Effectuez l’une des opérations suivantes : • Cliquez avec le bouton droit de la souris (Windows) ou cliquez en maintenant la touche Ctrl enfoncée (Macintosh) sur un acteur dans la fenêtre Distribution, puis choisissez Script dans le menu contextuel. • Sélectionnez un acteur dans la fenêtre Distribution et cliquez sur le bouton Script de l’acteur dans la fenêtre Distribution. Utilisation de scripts liés En plus des scripts stockés sous la forme d’acteurs internes, vous pouvez placer des scripts dans des fichiers texte externes et les lier à votre animation Director. Ces scripts liés sont similaires aux fichiers d’images ou de vidéo numérique que vous pouvez importer dans une animation Director. Parmi les avantages découlant de l’utilisation de scripts liés, citons les suivants : • Une personne peut travailler sur le fichier Director alors qu’une autre travaille sur le script. • Il est facile d’échanger des scripts avec d’autres personnes. • Vous pouvez contrôler les scripts séparément du fichier Director, dans une application de contrôle de code source telle que Microsoft® Visual SourceSafe® ou Perforce® de Perforce Software. Ce type d’applications évite que les différents programmeurs qui travaillent ensemble sur un projet Director écrasent le travail des autres. ADOBE DIRECTOR 11.0 78 Dictionnaire de script Les scripts liés ne sont utilisés par Director qu’en cours de création. A l’exécution, les projections Director et Adobe® Shockwave® Player utilisent une copie interne spéciale des données du script stockée dans l’animation. De la sorte, il n’est pas nécessaire de distribuer vos scripts liés avec vos animations, et il est impossible à l’utilisateur final de les copier. Importer un script sous la forme d’un fichier texte lié 1 Choisissez Fichier > Importer. 2 Choisissez Script comme type de fichier à importer. 3 Sélectionnez les fichiers de script que vous souhaitez importer. Vous pouvez importer des fichiers possédant les extensions .txt, .ls ou .js. L’extension .ls est l’extension désignant les scripts liés de Director. Pour créer une liste des fichiers à importer, vous pouvez utiliser les boutons Ajouter et Tout ajouter. Une telle liste est notamment utile si vous souhaitez importer des scripts de plusieurs endroits différents. 4 Choisissez Lier au fichier externe. 5 Cliquez sur Importer. Vous pouvez modifier les scripts liés de manière normale dans la fenêtre Script de Director. Les modifications que vous apportez sont écrites dans les fichiers externes à chaque fois que vous enregistrez l’animation Director. Si vous avez importé le script lié depuis un serveur UNIX®, les fins de ligne UNIX sont préservées. Si vous importez un script dont le fichier texte est verrouillé, il vous est impossible de le modifier dans Director. Il est impossible d’appliquer des couleurs de texte personnalisées aux scripts liés dans la fenêtre Script. Par contre, la fonction Coloration automatique des scripts est activée pour les scripts liés. Transformer un acteur script interne en acteur script lié externe 1 Sélectionnez l’acteur interne, puis cliquez sur l’onglet Script de l’Inspecteur des propriétés. 2 Cliquez sur Lier le script sous. 3 Entrez le nom du fichier dans la boîte de dialogue Enregistrer le script sous. 4 Cliquez sur Enregistrer. Recharger un script lié après sa modification O Utilisez la méthode unload() de l’objet Acteur. Si un script lié est modifié en dehors de Director, vous pouvez le recharger avec la méthode unload() dans la fenêtre Messages. L’instruction suivante permet de purger l’acteur script monScript puis de le recharger : -- Lingo syntax member("myScript").unload() // JavaScript syntax member("myScript").unload(); 79 Chapitre 4 : Débogage de scripts dans Director Les scripts ne répondent pas toujours immédiatement aux instructions. Chaque script présente souvent une erreur de syntaxe : il s’agit généralement d’un mot mal écrit ou d’une partie du script absente. Il arrive aussi que le script fonctionne mais ne produise pas le résultat escompté. Des erreurs ou des bogues survenant presque toujours lors de la rédaction de scripts, il est recommandé de prévoir le temps nécessaire au débogage lors du développement des projets multimédia. Au fur et à mesure de votre apprentissage, vous rencontrerez probablement d’autres types de problèmes, car lorsque vous maîtriserez un sujet, vous commencerez seulement à découvrir les autres. Toutefois, les principales techniques de dépannage présentées dans ce chapitre sont destinées à la fois aux utilisateurs débutants et expérimentés. Le meilleur moyen de corriger un bogue dans vos scripts dépend d’une situation à l’autre. Il n’existe pas de procédure standard permettant de résoudre un problème. Vous devez utiliser plusieurs des outils et techniques présentés ciaprès : • Présentation générale et détaillée de l’interaction des scripts dans une animation • Expérimentation et pratique des principales méthodes de débogage Les outils suivants sont destinés à vous aider à identifier les problèmes dans les scripts : • Lorsque la fonction de suivi est activée, la fenêtre Messages affiche un enregistrement des images lues et des gestionnaires en cours d’exécution dans l’animation. • La fenêtre Débogueur affiche les valeurs des variables globales, les propriétés du script actuellement en cours d’exécution, la séquence de gestionnaires exécutée pour parvenir au niveau actuel, ainsi que la valeur des variables et des expressions que vous avez sélectionnées. • La fenêtre Script vous permet de saisir des commentaires, d’insérer des points d’arrêt dans le script et de sélectionner des variables dont la valeur apparaît dans l’Inspecteur d’objet. • L’Inspecteur d’objet vous permet d’afficher et de définir les valeurs des objets et des propriétés que vous avez sélectionnés. Bonnes habitudes de rédaction de scripts De bonnes habitudes de rédaction de scripts vous permettent d’éviter dès le départ bon nombre de problèmes de programmation. • Veillez à rédiger les scripts par petits lots et testez directement chacun de vos scripts, au fur et à mesure que vous les créez. Cette procédure permettra d’isoler les éventuels problèmes afin de les identifier plus facilement. • Insérez des commentaires expliquant l’objectif des instructions et des valeurs du script. Le script est alors plus facile à comprendre lorsque vous y reviendrez ultérieurement ou qu’un autre utilisateur devra l’utiliser. Par exemple, les commentaires des instructions suivantes indiquent l’objectif de la structure if…then et clarifient la répétition de la boucle : -- Lingo syntax -- Loop until the "s" key is pressed ADOBE DIRECTOR 11.0 80 Dictionnaire de script repeat while not(_key.keyPressed("s")) _sound.beep() end repeat // JavaScript syntax // Loop until the "s" key is pressed while(!_key.keyPressed("s")) { _sound.beep(); } • Vérifiez si la syntaxe du script est correcte. Utilisez les menus locaux de la fenêtre Script pour insérer des versions préformatées des éléments de programmation. Consultez les rubriques des API de cette référence pour vérifier si les instructions sont rédigées correctement. • Utilisez les noms de variable, qui indiquent l’objectif d’une variable. Par exemple, une variable contenant un nombre devrait porter un nom tel que newNumber plutôt que ABC. Opérations de débogage de base Le processus de débogage implique des étapes de stratégie et d’analyse, et non une procédure standard rigoureuse. Cette section décrit les approches de débogage fondamentales utiles aux programmeurs pour déboguer tous les types de code, et pas uniquement le code Lingo ou la syntaxe JavaScript. Avant d’apporter une modification majeure à une animation, veillez à toujours en faire une copie de sauvegarde. Il est recommandé de nommer les copies par incréments (par exemple, nomDeFichier_01.dir, nomDeFichier_02.dir, nomDeFichier_03.dir, etc.) afin de pouvoir suivre les diverses étapes d’une animation. Identification du problème Cela peut paraître évident, mais rappelons que la première chose à faire, lors d’une procédure de débogage, est d’identifier le problème. La fonction d’un bouton est-elle faussée ? L’animation accède-t-elle à une autre image que celle prévue ? La modification d’un champ s’avère-t-elle impossible ? Essayez aussi de déterminer ce que vous attendez d’un script donné et comparez ensuite la fonction escomptée de ce script avec sa fonction réelle. Cette opération vous aide à déterminer clairement votre objectif et les parties de cet objectif qui n’ont pas été réalisées. Si vous avez copié un script ou une partie d’un script à partir d’une autre animation ou d’un exemple écrit, vérifiez si ce script a été conçu pour des conditions spécifiques. Il est peut-être nécessaire qu’une piste d’image-objet soit déjà programmée. Il se peut également que les noms d’acteur doivent suivre une convention stylistique spécifique. Localisation du problème Pour localiser un problème, procédez comme suit : • Revenez en arrière pour localiser l’emplacement de l’apparition du problème. • Utilisez la fenêtre Messages pour suivre les images parcourues par l’animation et identifier les gestionnaires exécutés par vos scripts. • Déterminez le comportement présumé des scripts et ce qui, dans ces instructions, est associé au problème. Par exemple, si un acteur texte ne peut pas être édité alors qu’il devrait l’être, localisez l’emplacement de la propriété editable de l’acteur dans vos scripts. ADOBE DIRECTOR 11.0 81 Dictionnaire de script • Si vous ne parvenez pas à modifier comme prévu une image-objet sur la scène, vérifiez si la méthode updateStage() n’est pas requise à un emplacement précis. • Vérifiez si le problème survient sur tous les ordinateurs ou sur un seul. Tâchez de définir si le problème survient uniquement lorsque l’affichage est réglé sur millions de couleurs. Il se peut qu’un élément de l’ordinateur interfère avec l’application. Concentrez-vous sur des lignes de script précises en insérant un point d’arrêt, c’est-à-dire un point où le script interrompt son exécution et appelle la fenêtre Débogueur, dans une ligne. Ceci vous permettra d’analyser les conditions à ce point précis, avant de poursuivre l’opération du script. Pour plus d’informations sur l’insertion de points d’arrêt dans un script, consultez « Débogage dans la fenêtre Débogueur », page 90. Résolutions de problèmes simples Lorsque vous découvrez un bogue, consultez tout d’abord les résolutions de problèmes simples. Le premier test de débogage s’effectue lorsque vous compilez votre script. Pour compiler votre script, utilisez l’une des méthodes suivantes : • Dans la fenêtre Script, cliquez sur Recompiler tous les scripts modifiés. • Dans le menu Contrôle, cliquez sur Recompiler tous les scripts. • Appuyez sur Maj+F8. • Fermez la fenêtre Script. Il est généralement recommandé de compiler des scripts en utilisant l’une des trois premières méthodes. Pour pouvoir utiliser la quatrième option, vous devez fermer la fenêtre Script à chaque fois que vous voulez compiler un script. Lorsque vous compilez votre script, Director® présente un message d’erreur si le script contient une syntaxe incorrecte. Le message affiche généralement la ligne dans laquelle le problème a été détecté initialement. Un point d’interrogation apparaît au point précis où Director a initialement détecté le problème. Par exemple, la première ligne du message précédent vous indique que l’erreur en question est une erreur de syntaxe et vous donne une explication. La deuxième ligne du message d’erreur affiche la ligne de code contenant l’erreur de syntaxe. Recherche d’erreurs de syntaxe Les erreurs de syntaxe sont certainement à l’origine des bogues les plus actuels dans la programmation. Lorsqu’un script échoue, il est recommandé de vérifier immédiatement les points suivants : • Les termes sont écrits correctement, les espaces sont placés aux endroits appropriés et la ponctuation correcte est utilisée. Director ne peut pas interpréter une syntaxe incorrecte. • Des guillemets sont placés de part et d’autre des noms d’acteurs, des libellés et des chaînes dans l’instruction. ADOBE DIRECTOR 11.0 82 Dictionnaire de script • Tous les paramètres requis sont présents. A chaque élément doivent être associés des paramètres spécifiques. Consultez les rubriques consacrées aux API dans cette référence pour déterminer si un élément nécessite d’autres paramètres. Recherche de bogues simples Si votre script se compile sans afficher de message d’erreur, il risque de contenir un bogue. Si votre script ne produit pas les résultats escomptés, vérifiez les points suivants : • Les valeurs des paramètres sont-elles correctes ? Par exemple, l’utilisation d’une valeur incorrecte pour le nombre de bips sonores que doit générer la méthode beep() produit un autre nombre de bips. • Les valeurs sujettes à modifications, telles que les variables et le contenu d’acteurs texte, ont-elles les valeurs escomptées ? Vous pouvez afficher ces valeurs dans l’Inspecteur d’objet en sélectionnant le nom de l’objet, puis en cliquant sur Inspecteur d’objet dans la fenêtre Script ou, dans la fenêtre Messages, en utilisant les fonctions put() ou trace(). • Les éléments de programmation produisent-ils les résultats escomptés ? Vous pouvez examiner leur comportement en vous reportant aux rubriques consacrées aux API dans cette référence. • La casse est-elle correcte (si le script est rédigé dans la syntaxe JavaScript) ? La syntaxe JavaScript est sensible à la casse, ce qui signifie que les méthodes, fonctions, propriétés et variables doivent être saisies en respectant l’emploi des majuscules et minuscules. Si vous appelez une méthode ou fonction en ne respectant pas la casse, vous obtenez une erreur de script. Si vous essayez d’accéder à une variable ou une propriété en utilisant une casse incorrecte, il est possible que vous ne receviez pas d’erreur, mais votre script risque de ne pas avoir le comportement voulu. Par exemple, le gestionnaire mouseUp suivant contient une instruction qui essaie d’accéder à la propriété itemLabel en utilisant une casse incorrecte. Ce script ne renverra pas d’erreur, mais créera automatiquement une nouvelle variable contenant une casse incorrecte. La valeur de la nouvelle variable est undefined. // JavaScript syntax function beginSprite() { this.itemLabel = "Blue prints"; } function mouseUp() { trace(this.itemlabel) // creates the itemlabel property } Débogage dans la fenêtre Script La fenêtre Script propose un certain nombre de fonctions qui vous permettent de déboguer vos scripts. Ouverture de la fenêtre Script : O Choisissez Fenêtre > Script. ADOBE DIRECTOR 11.0 83 Dictionnaire de script Rédaction d’un commentaire associé à la ligne de code actuelle : O Cliquez sur Insérer une marque de commentaire. Supprimer le commentaire de la ligne de code actuelle : O Cliquez sur Supprimer la marque de commentaire. Activer ou désactiver des points d’arrêt dans la ligne de code actuelle : O Cliquez sur Activer/désactiver le point d’arrêt. Désactiver tous les points d’arrêt : O Cliquez sur Ignorer les points d’arrêt. Ajouter l’expression ou la variable sélectionnée à l’Inspecteur d’objet : O Cliquez sur Inspecteur d’objet. Débogage dans la fenêtre Messages La fenêtre Messages vous permet de tester les commandes de programmation et d’en contrôler le processus lors de la lecture d’une animation. Ouvrir la fenêtre Messages : O Choisissez Fenêtre > Messages. Gestion de la fenêtre Messages La fenêtre Messages contient un volet de saisie et un volet de résultat. Le contenu du volet de saisie est modifiable. Le contenu du volet de résultat est en lecture seule. Le seul moyen d’afficher le texte dans le volet de résultat est d’appeler la fonction put() ou trace(). ADOBE DIRECTOR 11.0 84 Dictionnaire de script Vous pouvez ajuster la taille des volets de saisie et de résultat en faisant glisser le séparateur horizontal situé entre les deux volets. Redimensionner le volet de résultat O Faites glisser le séparateur horizontal vers un nouvel emplacement. Masquer complètement le volet de résultat O Cliquez sur le bouton Réduire/Agrandir, au centre du séparateur horizontal. Lorsque le volet de résultat est masqué, les sorties des scripts en cours d’exécution sont affichées dans le volet de saisie. Afficher le volet de résultat lorsqu’il est masqué O Cliquez de nouveau sur le bouton Réduire/Agrandir. Supprimer le contenu de la fenêtre Messages O Cliquez sur le bouton Effacer. Si le volet de résultat est visible, son contenu est effacé. Si le volet de résultat n’est pas visible, le contenu du volet de saisie est effacé. Effacer une partie du contenu du volet de résultat 1 Sélectionnez le texte à effacer. 2 Appuyez sur la touche Retour arrière ou Effacement. Copier un texte dans le volet de saisie ou de résultat 1 Sélectionnez le texte. 2 Choisissez Edition > Copier. Test de scripts dans la fenêtre Messages Vous pouvez tester les instructions Lingo et JavaScript pour vérifier leur fonctionnement en les saisissant dans la fenêtre Messages et en observant les résultats. Lorsque vous saisissez une instruction dans la fenêtre Messages, Director exécute la commande immédiatement, qu’une animation soit ou non en cours d’exécution. Avant de saisir les instructions que vous voulez tester, vous devez d’abord sélectionner la syntaxe de programmation (Lingo ou JavaScript) à tester. Sélectionner la syntaxe de programmation O Dans le menu local Syntaxe de script, sélectionnez Lingo ou JavaScript. Tester une instruction d’une ligne 1 Saisissez directement l’instruction dans la fenêtre Messages. 2 Appuyez sur Entrée (Windows®) ou sur Retour (Mac®). Director exécute l’instruction. Si l’instruction est valide, la fenêtre Messages en affiche le résultat dans le volet de résultat, en bas de l’écran. Si le script n’est pas valide, un message d’erreur apparaît. Par exemple, si vous saisissez l’instruction ci-après dans la fenêtre Messages : ADOBE DIRECTOR 11.0 85 Dictionnaire de script -- Lingo syntax put(50+50) // JavaScript syntax trace(50+50); puis que vous appuyez sur la touche Entrée (Windows) ou Retour (Macintosh), le résultat apparaît dans le volet de résultat : -- Lingo syntax -- 100 // JavaScript syntax // 100 Si vous saisissez l’instruction suivante dans la fenêtre Messages : -- Lingo syntax _movie.stage.bgColor = 255 // JavaScript syntax _movie.stage.bgColor = 255; puis que vous appuyez sur la touche Entrée (Windows®) ou Retour (Mac®), la scène apparaît en noir. Vous pouvez tester plusieurs lignes de code en une seule opération en copiant et collant des instructions dans la fenêtre Messages ou en appuyant simultanément sur les touches Maj et Retour (Entrée) après chaque ligne de code. Exécuter plusieurs lignes de code par copier/coller 1 Copiez les lignes de code dans le Presse-papiers. 2 Entrez une ligne vierge dans la fenêtre Messages. 3 Collez le code dans le volet de saisie de la fenêtre Messages. 4 Placez le point d’insertion à la fin de la dernière ligne de code. 5 Appuyez sur Ctrl+Entrée (Windows) ou Ctrl+Retour (Mac). Director trouve la première ligne vierge au-dessus du point d’insertion et exécute successivement chaque ligne de code après la ligne vierge. Saisir manuellement plusieurs lignes de code 1 Entrez une ligne vierge dans la fenêtre Messages. 2 Entrez la première ligne de code. 3 Appuyez sur Maj+Retour (Entrée) à la fin de la ligne. 4 Répétez les étapes 2 et 3 jusqu’à la dernière ligne de code. 5 Appuyez sur Ctrl+Entrée (Windows) ou Ctrl+Retour (Mac). Director trouve la première ligne vierge au-dessus du point d’insertion et exécute successivement chaque ligne de code après la ligne vierge. Vous pouvez tester un gestionnaire sans exécuter l’animation, en écrivant le gestionnaire dans une fenêtre de script d’animation ou de script de comportement, puis en l’appelant depuis la fenêtre Messages. Tester un gestionnaire 1 Copiez et collez ou saisissez manuellement un gestionnaire à plusieurs lignes dans la fenêtre Messages, comme indiqué dans les deux procédures précédentes. 2 Placez le point d’insertion à la fin de la dernière ligne de code. 3 Appuyez sur Entrée (Windows) ou sur Retour (Mac). Le gestionnaire est exécuté. ADOBE DIRECTOR 11.0 86 Dictionnaire de script Toutes les sorties provenant des instructions put() ou trace() dans le gestionnaire sont affichées dans la fenêtre Messages. Tout comme la fenêtre Script, la fenêtre Messages contient des menus locaux des commandes de programmation. Lorsque vous sélectionnez une commande dans l’un de ces menus locaux, la commande apparaît automatiquement dans la fenêtre Messages en présentant le premier argument fourni. Plusieurs menus sont disponibles et permettent un accès rapide au catalogue complet des termes de programmation. Les menus locaux comprennent les éléments suivants : • Lingo par ordre alphabétique : toutes les commandes, à l’exception de Lingo 3D, présentées par ordre alphabétique. • Lingo par catégorie : toutes les commandes, à l’exception de Lingo 3D, présentées par catégorie. • Lingo 3D par ordre alphabétique : tous les termes Lingo 3D, présentés par ordre alphabétique. • Lingo 3D par catégorie : tous les termes Lingo, présentés par catégorie. • Les Xtras de programmation incluent les méthodes et propriétés de tous les Xtras de programmation trouvés, qu’il s’agisse d’Xtras Adobe® ou autres. Remarque : Les Xtras de programmation figurant dans le menu local sont limités à ceux qui prennent en charge la méthode Interface() et dont les noms apparaissent effectivement dans le menu local. Bien que certains types de médias d’acteurs tels 3D et DVD prennent également en charge la méthode Interface(), ils ne figurent pas dans le menu local Xtras de programmation parce qu’ils ne sont pas implémentés en tant qu’Xtras de programmation dans Director. Gestion de scripts dans la fenêtre Messages Vous pouvez régler le volet de résultat de la fenêtre Messages de manière à afficher un enregistrement des instructions qu’une animation exécute lors de sa lecture. Ceci s’avère utile pour retracer le suivi du flux de votre code et examiner le résultat d’instructions spécifiques. Il existe deux manières d’effectuer cette opération. Afficher des instructions dans le volet de résultat O Effectuez l’une des opérations suivantes : • Dans la fenêtre Messages, cliquez sur la fonction de suivi. • Donnez à la propriété traceScript de l’objet Animation la valeur TRUE. Les entrées placées après un double signe égal (==) indiquent ce qui s’est produit dans l’animation, par exemple la dernière image ouverte, le script en cours d’exécution ou le résultat d’une méthode ou de la définition d’une valeur. Par exemple, la ligne suivante contient plusieurs renseignements : == Frame: 39 Script: 1 Handler: mouseUp • L’animation a accédé à l’image 39. • L’animation a exécuté le script 1, le premier script associé à l’image. ADOBE DIRECTOR 11.0 87 Dictionnaire de script • L’animation a exécuté le gestionnaire mouseUp dans le script 1 après que l’animation a accédé à l’image. Les entrées situées après une flèche constituée d’un double tiret et d’un signe supérieur à (-->) indiquent les lignes de votre code qui ont été exécutées. Par exemple, les lignes Lingo suivantes : --> --> --> --> _sound.fadeOut(1, 5*60) if leftSide < 10 then if leftSide < 200 then _movie.go("Game Start") indiquent que ces instructions Lingo ont été exécutées. Supposons que vous souhaitiez déterminer la raison pour laquelle la tête de lecture n’a pas accédé à l’image appelée « Début du jeu ». Si la ligne --> _movie.go ("Game Start") ne s’est pas affichée dans la fenêtre Messages, il se peut que la condition de l’instruction précédente ne soit pas celle escomptée. Le volet de résultat de la fenêtre Messages peut contenir une grande quantité de texte lorsque la fonction de suivi est activée. Pour supprimer le contenu du volet de résultat, cliquez sur le bouton Effacer. Si le volet de résultat n’est pas visible, le contenu du volet de saisie est effacé. Vous pouvez assurer le suivi des valeurs de variables et d’autres objets en sélectionnant le nom de l’objet dans la fenêtre Messages et en cliquant sur le bouton Inspecteur d’objet. L’objet est ajouté à l’Inspecteur d’objet, où sa valeur est affichée et actualisée lors de la lecture de l’animation. Pour plus d’informations sur l’Inspecteur d’objet, consultez « Débogage dans l’Inspecteur d’objet », page 87. Lorsque vous êtes en mode de débogage, vous pouvez suivre les modifications d’une variable en sélectionnant cette dernière dans la fenêtre Messages et en cliquant sur le bouton Surveiller l’expression. Director ajoute ensuite la variable au volet Surveillance dans la fenêtre Débogueur, dans laquelle sa valeur est affichée et actualisée pendant que vous travaillez dans la fenêtre Débogueur. Pour plus d’informations sur le volet Surveillance, consultez « Débogage dans la fenêtre Débogueur », page 90. Débogage dans l’Inspecteur d’objet L’Inspecteur d’objet permet d’afficher et de définir les propriétés d’un grand nombre d’objets qui ne sont pas affichées dans l’Inspecteur des propriétés. Il s’agit notamment des objets de programmation tels que les variables globales, les listes, les objets enfants de scripts parents, de toutes les propriétés d’acteur 3D, des propriétés d’images-objets, des expressions de scripts, etc. En outre, l’Inspecteur d’objet affiche les modifications apportées aux propriétés d’objet lors de la lecture de l’animation, par exemple les modifications dues aux scripts ou apportées aux propriétés de scénario de l’image-objet. Ces types de modifications à l’exécution ne sont pas affichés dans l’Inspecteur des propriétés lors de la lecture de l’animation. Pour afficher les valeurs des variables JavaScript dans l’Inspecteur d’objet, vous devez les déclarer sans qu’elles soient précédées de l’instruction var. Ouvrir l’Inspecteur d’objet O Choisissez Fenêtre > Inspecteur d’objet. ADOBE DIRECTOR 11.0 88 Dictionnaire de script Présentation détaillée des structures d’objets L’Inspecteur d’objet est très utile pour comprendre la structure d’objets complexes. Par exemple, les acteurs 3D contiennent un grand nombre de couches de propriétés. L’Inspecteur d’objet affichant une représentation visuelle de la structure imbriquée de ces propriétés, il vous aide à comprendre l’organisation de ces propriétés, ainsi que leurs interactions. Il est important de comprendre la structure des propriétés des objets dans Director lors de la rédaction des scripts Lingo. La possibilité d’examiner le changement de valeur des propriétés lors de la lecture d’une animation est pratique pour comprendre le fonctionnement de l’animation. Cela s’avère particulièrement utile lors des procédures de test et de débogage des scripts, car vous pouvez constater les changements de valeurs en fonction des scripts que vous avez rédigés. La fenêtre Débogueur de Director affiche également ces informations, mais uniquement en mode de débogage. Pour plus d’informations sur le débogage, consultez « Débogage avancé », page 95. Objets visibles Voici quelques exemples d’objets que vous pouvez entrer dans l’Inspecteur d’objet : • Images-objets, telles que sprite(3) • Acteurs, tels que member("3d") • Variables globales, telles que gMyList • Objets enfants, tels que gMyChild • Objets Adobe® Flash®, tels que gMyFlashObject ; pour plus d’informations sur l’utilisation d’objets Flash dans Director, consultez les rubriques du manuel Utilisation de Director dans l’Aide de Director. • Expressions de script, telles que sprite(7).blend Affichage d’objets Il existe trois façons de visualiser un objet dans l’Inspecteur d’objet. Vous pouvez faire glisser les éléments directement dans l’Inspecteur d’objet, saisir manuellement le nom d’un de ses éléments ou utiliser le bouton Inspecteur d’objet dans les fenêtres Messages et Script. Glisser un élément dans l’Inspecteur d’objet O Effectuez l’une des opérations suivantes : • Sélectionnez une image-objet dans la fenêtre Scénario et faites-la glisser dans l’Inspecteur d’objet. • Sélectionnez un acteur dans la fenêtre Acteur et faites-le glisser dans l’Inspecteur d’objet. ADOBE DIRECTOR 11.0 89 Dictionnaire de script • Sélectionnez le nom d’un objet dans les fenêtres Script, Messages ou Texte et faites-le glisser dans l’Inspecteur d’objet. Saisir manuellement un objet dans l’Inspecteur d’objet 1 Double-cliquez dans la première cellule vide de la colonne Nom de l’Inspecteur d’objet. 2 Tapez le nom de l’objet dans la cellule. Utilisez le même nom que celui utilisé pour cet objet dans vos scripts. 3 Appuyez sur Entrée (Windows) ou sur Retour (Mac). Si l’objet possède des sous-propriétés, un signe plus (+) est affiché sur sa gauche. 4 Cliquez sur le signe plus. Les propriétés de l’objet s’affichent en dessous de celui-ci. Les propriétés contenant des sous-propriétés sont affichées avec un signe plus sur leur gauche. Cliquez sur chaque signe plus pour afficher les sous-propriétés. Afficher un objet à l’aide du bouton Inspecteur d’objet 1 Dans la fenêtre Script, mettez en surbrillance la partie d’une instruction se rapportant à un objet. 2 Dans la fenêtre Script, cliquez sur Inspecteur d’objet. Si l’objet possède des sous-propriétés, un signe plus (+) est affiché sur sa gauche. 3 Cliquez sur le signe plus. Les propriétés de l’objet s’affichent en dessous de celui-ci. Les propriétés contenant des sous-propriétés sont affichées avec un signe plus sur leur gauche. Cliquez sur chaque signe plus pour afficher les sous-propriétés. Remarque : L’inspection de nombreux objets ou de gros objets individuels dans l’Inspecteur d’objet risque de poser des problèmes importants de performance durant la programmation, particulièrement lorsque l’option Interrogation automatique est activée. Par exemple, l’inspection d’une liste contenant 10 000 entrées peut entraîner un fort ralentissement de Director pendant que l’affichage est mis à jour. Recherche d’objets Vous pouvez également accéder au contenu de l’Inspecteur d’objet à l’aide des touches fléchées de votre clavier. Monter ou descendre dans la liste des éléments O Utilisez les touches fléchées Haut et Bas. Afficher les sous-propriétés d’un élément O Sélectionnez l’élément et appuyez sur la touche fléchée Droite. Masquer les sous-propriétés d’un élément O Sélectionnez l’élément et appuyez sur la touche fléchée Gauche. Utilisation de l’option Interrogation automatique Les propriétés système, telles que milliseconds et colorDepth, ne sont actualisées dans l’Inspecteur d’objet que lorsque l’option Interrogation automatique est activée. L’utilisation de l’interrogation automatique augmente la charge de travail du processeur, ce qui risque de ralentir les performances de votre animation lorsque vous ajoutez un certain nombre de propriétés système à l’Inspecteur d’objet. Activer l’option Interrogation automatique 1 Cliquez avec le bouton droit de la souris (Windows) ou cliquez en maintenant la touche Ctrl enfoncée (Mac) dans l’Inspecteur d’objet. Le menu contextuel de l’Inspecteur d’objet apparaît. ADOBE DIRECTOR 11.0 90 Dictionnaire de script 2 Sélectionnez Interrogation automatique dans le menu contextuel. Lorsque l’option Interrogation automatique est activée, une coche apparaît en regard de l’option correspondante dans le menu. Désactiver l’option Interrogation automatique O Sélectionnez à nouveau Interrogation automatique dans le menu contextuel. Modification des valeurs d’un objet ou d’une propriété Vous pouvez définir la valeur d’un objet ou d’une propriété dans l’Inspecteur d’objet en saisissant une nouvelle valeur dans le champ situé à droite du nom de l’objet ou de la propriété. Définir la valeur d’un objet ou d’une propriété 1 Double-cliquez sur la valeur à droite du nom de l’élément. 2 Saisissez la nouvelle valeur de l’élément. 3 Appuyez sur Entrée (Windows) ou sur Retour (Mac). La nouvelle valeur est définie et est immédiatement reflétée dans l’animation. Vous pouvez saisir une expression de script comme valeur pour un élément. Par exemple, vous pouvez définir la valeur sprite(3).locH pour l’expression sprite(8).locH + 20. Suppression d’objets Vous pouvez également retirer des éléments de l’Inspecteur d’objet. Suppression d’un élément de l’Inspecteur d’objet : O Sélectionnez l’élément et appuyez sur la touche Retour arrière (Windows) ou Effacement (Macintosh). Suppression de tout le contenu de l’Inspecteur d’objet : O Cliquez avec le bouton droit de la souris (Windows) ou cliquez en maintenant la touche Ctrl enfoncée (Macintosh) dans l’Inspecteur d’objet et choisissez Effacer tout dans le menu local. Lorsque vous ouvrez une animation différente de celle sur laquelle vous travaillez actuellement, les objets précédemment entrés dans l’Inspecteur d’objet y sont conservés. Ceci facilite la comparaison de différentes versions d’une même animation. Lorsque vous quittez Director, les éléments de l’Inspecteur d’objet ne sont pas conservés. Débogage dans la fenêtre Débogueur La fenêtre Débogueur constitue un mode spécial de la fenêtre Script. Elle fournit plusieurs outils permettant de localiser la cause de problèmes dans les scripts. Le Débogueur vous permet de localiser rapidement les éléments de votre code qui sont à l’origine du problème. La fenêtre Débogueur permet de rédiger des scripts ligne par ligne, d’ignorer les gestionnaires imbriqués, de modifier le texte des scripts et de visualiser les valeurs des variables et d’autres objets au fur et à mesure de leur modification. L’apprentissage des outils de la fenêtre Débogueur permet d’accroître l’efficacité de votre programmation. La fenêtre Débogueur permet également de localiser et de corriger les erreurs dans vos scripts. Elle comprend plusieurs outils qui vous permettent d’effectuer les opérations suivantes : • Afficher la partie du script contenant la ligne de code actuelle. ADOBE DIRECTOR 11.0 91 Dictionnaire de script • Retracer la séquence des gestionnaires appelés avant le gestionnaire actuel. • Exécuter certaines parties du gestionnaire actuel. • Exécuter certaines parties des gestionnaires appelés depuis le gestionnaire actuel. • Afficher la valeur d’une variable locale, d’une variable globale ou d’une propriété associée au code qui fait l’objet de la recherche. Activation du mode de débogage La fenêtre Débogueur ne s’affiche que lorsqu’un script est interrompu. Cette interruption survient lorsque Director détecte une erreur ou un point d’arrêt dans un script. La boîte de dialogue Erreur de script apparaît lorsqu’une erreur de script survient. Cette boîte de dialogue affiche les informations associées à l’erreur détectée, vous demande si vous souhaitez corriger le bogue dans le script, modifier le script dans la fenêtre Script ou annuler. Activation du mode de débogage : O Effectuez l’une des opérations suivantes : • Cliquez sur Déboguer dans la boîte de dialogue Erreur de script. • Placez un point d’arrêt dans un script. Lorsque Director détecte un point d’arrêt en cours d’exécution, l’exécution du script est interrompue et la fenêtre Script passe en mode de débogage. La lecture de l’animation se poursuit, mais l’exécution de vos scripts est interrompue jusqu’à ce que vous utilisiez la fenêtre Débogueur pour indiquer la procédure que Director doit suivre. Si plusieurs fenêtres Script sont ouvertes, Director recherche celle contenant le script dans lequel le point d’arrêt a été détecté et fait passer cette fenêtre en mode de débogage. Ajout d’un point d’arrêt afin de provoquer l’ouverture de la fenêtre Débogueur : 1 Dans la fenêtre Script, ouvrez le script qui doit contenir le point d’arrêt. 2 Cliquez sur la marge gauche de la fenêtre Script, à côté de la ligne de code dans laquelle le point d’arrêt doit apparaître ou placez un point d’insertion sur la ligne de code et cliquez sur Activer/désactiver le point d’arrêt. L’exécution de votre code est interrompue au début de cette ligne et la fenêtre Script passe en mode de débogage. Si la fenêtre Script est ouverte lorsque Director détecte une erreur de script ou un point d’arrêt, la fenêtre Débogueur remplace automatiquement la fenêtre Script. Arrêt de la procédure de débogage : O Effectuez l’une des opérations suivantes : ADOBE DIRECTOR 11.0 92 Dictionnaire de script • Cliquez sur le bouton Relancer le script dans la fenêtre Débogueur. Cette opération rétablit l’exécution normale du script. • Cliquez sur le bouton Arrêter le débogage dans la fenêtre Débogueur. Cette opération met fin à la session de débogage et à l’animation. La fenêtre Script apparaît à nouveau, à la place de la fenêtre Débogueur. Lorsque la fenêtre Débogueur apparaît, elle présente la ligne de code actuelle et vous propose plusieurs choix pour la suite de l’exécution. Recherche de la ligne de code actuelle : O Dans le volet Script, recherchez la flèche verte affichée en regard d’une ligne de code. La flèche verte pointe vers la ligne actuelle. Vous ne pouvez pas sélectionner une autre ligne de code en cliquant dessus dans le volet Script. Affichage de la pile d’appels dans la fenêtre Débogueur Le volet Pile d’appels affiche la séquence des gestionnaires imbriqués exécutés avant la ligne de code actuelle. Cette séquence est appelée « pile d’appels ». Utilisez la pile d’appels pour retracer la structure de votre code lors de la procédure de débogage. Vous pouvez visualiser les variables associées à un gestionnaire spécifique en cliquant sur le nom du gestionnaire dans le volet Pile d’appels. Les variables sont affichées dans le volet des variables. Affichage des variables dans la fenêtre Débogueur Le volet des variables de la fenêtre Débogueur affiche les variables associées au gestionnaire actuel. Le gestionnaire actuel est celui qui est affiché dans le volet Script et le dernier gestionnaire affiché dans le volet Pile d’appels. Vous pouvez également afficher les variables associées aux gestionnaires précédents dans la pile d’appels. Les modifications apportées aux valeurs des variables d’un script sont affichées en rouge. Pour plus d’informations sur la progression dans les scripts, consultez « Progression dans les scripts dans la fenêtre Débogueur », page 93. Affichage de variables associées à un gestionnaire dans la pile d’appels : O Cliquez sur le nom du gestionnaire dans le volet Pile d’appels. Les variables sont affichées dans le volet des variables. Le volet des variables contient quatre onglets vous permettant de visualiser les variables : Le volet Toutes affiche les variables globales et locales associées au gestionnaire actuel. Le volet Locales affiche uniquement les variables locales associées au gestionnaire actuel. Le volet Propriétés affiche les propriétés déclarées dans le script actuel. Le volet Globales affiche uniquement les variables globales associées au gestionnaire actuel. Tri des variables dans le volet des variables : • Pour trier les variables par nom, cliquez sur le mot Nom qui apparaît au-dessus des noms de variable. • Pour trier les variables en ordre alphabétique inversé, cliquez une seconde fois sur le mot Nom. Vous pouvez modifier les valeurs des variables locales du gestionnaire actuel et des variables globales dans le volet des variables. Vous ne pouvez pas modifier les valeurs des variables locales qui ne sont pas situées dans le gestionnaire actuel. ADOBE DIRECTOR 11.0 93 Dictionnaire de script Modification de la valeur d’une variable dans le volet des variables : 1 Double-cliquez sur la valeur de la variable dans la colonne Valeur. 2 Saisissez la nouvelle valeur de la variable. 3 Appuyez sur Entrée (Windows) ou sur Retour (Mac). Affichage des objets dans la fenêtre Débogueur Le volet Surveillance de la fenêtre Débogueur permet de visualiser les variables et autres objets associés au gestionnaire actuel, ainsi que les objets associés aux autres gestionnaires. L’ajout d’objets dans le volet Surveillance vous permet de suivre leurs valeurs au fur et à mesure de leur modification grâce aux scripts. Lorsque la valeur d’un objet change en raison de l’exécution d’une ligne de code, Director affiche la couleur du nom de l’objet en rouge dans le volet Surveillance. Le volet Surveillance affiche uniquement les objets que vous avez ajoutés. Vous pouvez utiliser chacun des quatre onglets du volet Surveillance pour organiser les objets en groupes. Ajout au volet Surveillance d’un objet dont le nom est affiché dans le volet Script : 1 Cliquez sur le nom de l’objet dans le volet Script. 2 Cliquez sur le bouton Surveiller l’expression. Ajout au volet Surveillance d’un objet dont le nom n’est pas affiché dans le volet Script : 1 Double-cliquez sur la première cellule vide de la colonne Nom du volet Surveillance. 2 Saisissez le nom de l’objet dans la cellule et appuyez sur Entrée (Windows) ou sur Retour (Macintosh). Si l’objet possède des propriétés, un signe plus (+) est affiché en regard du nom de l’objet. Affichage des propriétés d’un objet : O Cliquez sur le signe plus (+) en regard du nom de l’objet. Le volet Surveillance permet d’organiser les objets de plusieurs façons. Organisation des objets dans le volet Surveillance : O Effectuez l’une des opérations suivantes : • Pour trier les objets dans le volet Surveillance, cliquez sur l’en-tête de colonne Nom affiché en haut de la colonne de gauche. Les noms d’objets de la colonne sont présentés par ordre alphabétique. • Pour trier les objets en ordre alphabétique inversé, cliquez une seconde fois sur l’en-tête de colonne Nom. • Pour organiser les objets en groupes, utilisez les onglets du volet Surveillance. Pour ajouter un objet à un volet spécifique, cliquez sur l’onglet de votre choix avant d’ajouter l’objet. • Pour effacer le contenu d’un onglet dans le volet Surveillance, sélectionnez le volet, puis cliquez avec le bouton droit (Windows) ou cliquez en maintenant la touche Ctrl enfoncée (Macintosh) dans le volet Surveillance et sélectionnez Effacer tout. Progression dans les scripts dans la fenêtre Débogueur La fenêtre Débogueur fournit un ensemble d’outils permettant une exécution lente des scripts, ce qui vous permet de visualiser l’effet de chaque ligne de code dans votre animation. Vous pouvez exécuter une ligne de code à la fois et décider si vous souhaitez exécuter les gestionnaires ligne par ligne ou pour l’ensemble des lignes. ADOBE DIRECTOR 11.0 94 Dictionnaire de script Exécution de la ligne de code actuelle indiquée par la flèche verte uniquement : O Cliquez sur le bouton Exécuter le script pas à pas. La plupart des gestionnaires comprennent des instructions d’appel des autres gestionnaires. Vous pouvez centrer votre attention sur ces gestionnaires imbriqués ou les ignorer et vous limiter au code du gestionnaire actuel. Lorsque vous savez que les gestionnaires sont exécutés comme prévu et que vous souhaitez vous concentrer sur le code dans le gestionnaire actuel, la fenêtre Débogueur peut ignorer les gestionnaires imbriqués et accéder directement à la prochaine ligne de code dans le gestionnaire actuel. Lorsque le débogueur ignore un gestionnaire imbriqué, il exécute le gestionnaire, mais n’affiche pas le code du gestionnaire ni ne marque de pause dans le gestionnaire imbriqué. Processus pour ignorer des gestionnaires imbriqués : O Cliquez sur le bouton Exécuter le script pas à pas dans la fenêtre Débogueur. Ce bouton exécute la ligne de code actuelle, ainsi que les gestionnaires imbriqués appelés par la ligne, puis s’arrête sur la ligne suivante du gestionnaire. Si vous suspectez un dysfonctionnement des gestionnaires imbriqués et souhaitez examiner leur comportement, la fenêtre Débogueur vous permet également d’exécuter les gestionnaires imbriqués ligne par ligne. Exécution des gestionnaires imbriqués ligne par ligne : O Cliquez sur le bouton Exécuter le script en détail dans la fenêtre Débogueur. Un clic sur le bouton Exécuter le script en détail lance l’exécution de la ligne de code actuelle et poursuit le flux normal dans les gestionnaires imbriqués appelés par l’intermédiaire de cette ligne. Une fois le traitement d’un gestionnaire imbriqué terminé, la fenêtre Débogueur s’arrête sur la prochaine ligne de code dans le gestionnaire de niveau supérieur. Lorsque la procédure de débogage est terminée, vous pouvez quitter le Débogueur à tout moment. Reprise de l’exécution normale du code et sortie de la fenêtre Débogueur : O Cliquez sur le bouton Relancer le script. Sortie de la fenêtre Débogueur et arrêt de la lecture de l’animation : O Cliquez sur le bouton Arrêter le débogage. Modification de scripts en mode de débogage Lorsque vous êtes en mode de débogage, vous pouvez modifier vos scripts directement dans la fenêtre Débogueur. Cette méthode vous permet de corriger les erreurs dès que vous les rencontrez, puis de poursuivre la procédure de débogage. Modification d’un script dans la fenêtre Débogueur : 1 Cliquez dans le volet Script et placez le point d’insertion à l’endroit où vous souhaitez commencer à taper. 2 Apportez les modifications au script. Vous pouvez passer directement à un gestionnaire spécifique en sélectionnant son nom et en cliquant sur le bouton Passer au gestionnaire. Lorsque la procédure de débogage et de modification des scripts est terminée, cliquez sur le bouton Arrêter le débogage. La fenêtre Script repasse en mode Script. 3 4 Cliquez sur le bouton Recompiler tous les scripts modifiés. ADOBE DIRECTOR 11.0 95 Dictionnaire de script Débogage de projections et d’animations Shockwave Cette section traite du débogage durant l’exécution dans les projections et les animations Director qui comprennent un contenu Adobe® Shockwave®. Vous pouvez utiliser la fenêtre Messages ou activer les dialogues d’erreurs de script pour déboguer les projections et les animations Shockwave. Débogage à l’aide de la fenêtre Messages : O Donnez à la propriété debugPlaybackEnabled de l’objet Lecteur la valeur TRUE. Lorsque cette propriété possède la valeur TRUE, la lecture d’une projection ou d’une animation Shockwave ouvre une fenêtre Messages (Windows) ou un fichier texte Messages (Macintosh) et les résultats des appels de fonction put() ou trace() sont insérés dans ces formats. Si, à tout moment durant l’animation, vous donnez à la propriété debugPlaybackEnabled la valeur FALSE, la fenêtre ou le fichier texte Messages se ferme et ne peut être rouverte durant cette session de lecture, même si vous redonnez à la propriété debugPlaybackEnabled la valeur TRUE plus tard dans cette même section de lecture. Débogage en activant les dialogues d’erreurs de script : O Dans le fichier .ini d’une projection ou d’une animation Shockwave, donnez à la propriété DisplayFullLingoErrorText la valeur 1. Vous créez ainsi, dans la boîte de dialogue, un texte d’erreurs plus descriptif que le texte d’erreurs générique. Par exemple, un message d’erreur générique peut avoir l’aspect suivant : Script error: Continue? L’attribution de la valeur 1 à la propriété DisplayFullLingoErrorText pourrait générer le message d’erreur suivant : Script error: list expected Pour obtenir des informations sur la création et la modification d’un fichier .ini pour une projection ou une animation Shockwave, consultez le fichier modèle .ini de Director se trouvant dans le dossier d’installation racine de Director. Débogage avancé Si le problème n’est pas facile à identifier, tentez les approches suivantes : • Déterminez la section dans laquelle se situe le problème. Par exemple, si un clic sur un bouton ne produit pas le résultat escompté, vérifiez le script affecté à ce bouton. Si une image-objet exécute une action erronée, vérifiez les valeurs des propriétés attachées à cette image-objet. Sont-elles définies sur les valeurs souhaitées ? • Recherchez la séquence d’exécution du script. Lorsqu’une section de l’animation ne réagit pas comme vous l’espériez, tâchez tout d’abord de retracer la séquence des événements de l’animation. Consultez les autres scripts dans la hiérarchie des messages pour vous assurer que Director exécute le gestionnaire correct. • Consultez les informations de suivi dans la fenêtre Messages, qui présentent les images parcourues par l’animation, ainsi que les gestionnaires appelés au cours de la lecture de l’animation. • Essayez d’utiliser les fonctions Exécuter le script pas à pas et Exécuter le script en détail dans la fenêtre Débogueur et voyez si les résultats diffèrent de ce que vous attendiez. ADOBE DIRECTOR 11.0 96 Dictionnaire de script • Vérifiez les variables et les expressions. Analysez le changement des valeurs lors de la lecture de l’animation. Observez si elles changent au mauvais moment ou si elles ne changent pas du tout. Si la même variable est utilisée dans plusieurs gestionnaires, vérifiez si chaque gestionnaire qui utilise la variable a défini cette variable comme globale. Vous pouvez suivre les variables et les expressions en affichant leurs valeurs dans le volet Surveillance de la fenêtre Débogueur ou dans l’Inspecteur d’objet. • N’apportez qu’une modification à la fois. N’hésitez pas à apporter des modifications dans un gestionnaire pour vérifier si les changements peuvent résoudre le problème ou produire des résultats qui aident à le localiser. Veillez toutefois à ne pas résoudre un problème en en créant un autre. Apportez une modification à la fois et annulez-la si le problème n’est pas résolu. Si vous apportez trop de modifications avant de résoudre effectivement un problème, vous risquez de ne plus pouvoir déterminer quel était le problème initial, voire même d’en créer de nouveaux. • Recréez la section. Si vous ne trouvez pas de solution, tâchez de recréer la section depuis le début. Par exemple, si une image-objet ne réagit pas correctement lorsque le pointeur la survole, créez une simple animation contenant uniquement cette image-objet et le gestionnaire, avec la méthode rollOver(). Si vous copiez/collez simplement les scripts, cela risque de copier le problème. En revanche, si vous recréez la section, vous serez amené à reconstruire la logique depuis son premier niveau, et vous pouvez alors vérifier si Director réagit comme vous le souhaitez. Si la section que vous avez recréée ne fonctionne toujours pas comme prévu, il se peut qu’une erreur provienne de la logique de la section. Si la section que vous avez recréée fonctionne correctement, comparez-la avec l’animation d’origine pour noter leurs différences. Vous pouvez également copier la section dans l’originale et vérifier si le problème est résolu. 97 Chapitre 5 : Objets principaux de Director Les objets principaux de Director® donnent accès aux fonctionnalités et options disponibles dans Director, aux projections et à Adobe® Shockwave® Player. Les objets principaux incluent le moteur du lecteur de Director, les fenêtres des animations, les images-objets, les sons, etc. Ils représentent la couche de base à travers laquelle on accède à presque toutes les API et autres catégories d’objets, à l’exception des objets de programmation qui étendent les fonctionnalités principales de Director. Pour voir comment les objets principaux sont liés les uns aux autres, ainsi qu’aux autres objets de Director, consultez « Diagrammes de modèles d’objets », page 46. Bibliothèque de distribution Représente une seule bibliothèque de distribution dans une animation. Une animation peut contenir une ou plusieurs bibliothèques. Une bibliothèque de distribution peut être constituée d’un ou plusieurs acteurs qui représentent des médias dans une animation, tels que les sons, le texte, les graphiques et les autres animations. Vous pouvez créer une référence à une bibliothèque de distribution en utilisant la fonction de haut niveau castLib() ou la propriété castLib de l’objet Animation. Par exemple, si une animation contient une bibliothèque de distribution appelée scripts, vous pouvez créer une référence à cette bibliothèque en procédant comme suit : • Utilisez la méthode de haut niveau castLib(). -- Lingo syntax libScript = castLib("scripts") // JavaScript syntax var libScript = castLib("scripts"); • Utilisez la propriété castLib de l’objet Animation. -- Lingo syntax libScript = _movie.castLib["scripts"] // JavaScript syntax var libScript = _movie.castLib["scripts"]; Récapitulatif des méthodes pour l’objet Bibliothèque de distribution Méthode findEmpty() ADOBE DIRECTOR 11.0 98 Dictionnaire de script Récapitulatif des propriétés pour l’objet Bibliothèque de distribution Propriété fileName (distribution) member (distribution) name number (distribution) preLoadMode selection Voir aussi castLib, castLib(), Acteur, Animation, Lecteur, Image-objet, Fenêtre Global Fournit un emplacement de stockage de variables globales. Ces variables sont disponibles dans Lingo et la syntaxe JavaScript. Vous pouvez accéder à l’objet Global en utilisant la propriété de haut niveau _global. Vous pouvez soit affecter _global à une variable, soit utiliser directement la propriété _global pour accéder aux méthodes de l’objet Global et à toute variable globale définie. • Affectez _global à une variable. -- Lingo syntax objGlobal = _global // JavaScript syntax var objGlobal = _global; • Utilisez directement la propriété _global. -- Lingo syntax _global.showGlobals() // JavaScript syntax _global.showGlobals(); • Accédez à une variable globale. -- Lingo syntax global gSuccess on mouseDown gSuccess = "Congratulations!" put(gSuccess) -- displays "Congratulations!" end // JavaScript syntax _global.gSuccess = "Congratulations!"; function mouseDown() { trace(_global.gSuccess); // displays "Congratulations!" } ADOBE DIRECTOR 11.0 99 Dictionnaire de script Récapitulatif des méthodes pour l’objet Global Méthode clearGlobals() showGlobals() Voir aussi _global Touche Utilisé pour contrôler les opérations effectuées au clavier par un utilisateur. Vous pouvez accéder à l’objet Touche en utilisant la propriété de haut niveau _key. Vous pouvez soit affecter _key à une variable, soit utiliser directement la propriété _key pour accéder aux méthodes et propriétés de l’objet Touche. • Affectez _key à une variable. -- Lingo syntax objKey = _key // JavaScript syntax var objKey = _key; • Utilisez directement la propriété _key. -- Lingo syntax isCtrlDown = _key.controlDown // JavaScript syntax var isCtrlDown = _key.controlDown; Récapitulatif des méthodes pour l’objet Touche Méthode keyPressed() Récapitulatif des propriétés pour l’objet Touche Propriété commandDown controlDown key keyCode optionDown shiftDown Voir aussi _key ADOBE DIRECTOR 11.0 100 Dictionnaire de script Acteur Représente un acteur au sein d’une bibliothèque de distribution. Les acteurs sont les médias et les éléments de script d’une animation. Les acteurs média peuvent être du texte, des bitmaps, des formes, etc. Les acteurs script incluent les comportements, les scripts d’animation, etc. Un acteur peut être référencé soit par son numéro, soit par son nom. • Lorsque vous faites référence à un acteur en utilisant son numéro, Director le recherche dans une bibliothèque de distribution précise et en extrait les données. Cette méthode est plus rapide que celle qui consiste à faire référence à l’acteur par son nom. Toutefois, étant donné que Director ne met pas automatiquement à jour les références aux numéros des acteurs dans les scripts, toute référence par numéro à un acteur qui a changé de position dans sa bibliothèque de distribution est rompue. • Lorsque vous faites référence à un acteur en utilisant son nom, Director effectue des recherches dans toutes les bibliothèques de distribution d’une animation, de la première à la dernière, et extrait les données de l’acteur lorsqu’il trouve son nom. Cette méthode est plus lente que celle qui consiste à faire référence à l’acteur par son numéro, surtout lorsqu’il s’agit d’animations de grande taille contenant plusieurs bibliothèques de distribution et acteurs. Cependant, une référence à un nom d’acteur permet à cette dernière de rester intacte, même si l’acteur change de position dans sa bibliothèque de distribution. Vous pouvez créer une référence à un acteur en utilisant la fonction de haut niveau member() ou la propriété member de l’objet Distribution, Animation ou Image-objet. Les exemples suivants illustrent la création d’une référence à un acteur. • Utilisez la fonction de haut niveau member(). -- Lingo syntax objTree = member("bmpTree") // JavaScript syntax var objTree = member("bmpTree"); • Utilisez la propriété member de l’objet Image-objet. -- Lingo syntax objTree = sprite(1).member; // JavaScript syntax var objTree = sprite(1).member; Récapitulatif des méthodes pour l’objet Acteur Méthode copyToClipBoard() duplicate() (acteur) erase() importFileInto() move() ADOBE DIRECTOR 11.0 101 Dictionnaire de script Méthode (Suite) pasteClipBoardInto() preLoad() (acteur) unLoad() (acteur) Récapitulatif des propriétés pour l’objet Acteur Propriété castLibNum modifiedDate comments name creationDate number (acteur) fileName (acteur) purgePriority height rect (acteur) hilite regPoint linked scriptText loaded size media thumbNail mediaReady type (acteur) modified width modifiedBy Voir aussi Types de médias, member(), member (distribution), member (animation), member (image-objet), Animation, Lecteur, Objets de programmation, Image-objet, Fenêtre Souris Permet d’accéder aux opérations effectuées par un utilisateur avec la souris, telles que les déplacements de la souris et les clics de souris. Vous pouvez accéder à l’objet Souris en utilisant la propriété de haut niveau _mouse. Vous pouvez soit affecter _mouse à une variable, soit utiliser directement la propriété _mouse pour accéder aux propriétés de l’objet Souris. • Affectez _mouse à une variable. -- Lingo syntax objMouse = _mouse // JavaScript syntax var objMouse = _mouse; • Utilisez directement la propriété _mouse. -- Lingo syntax isDblClick = _mouse.doubleClick ADOBE DIRECTOR 11.0 102 Dictionnaire de script // JavaScript syntax var isDblClick = _mouse.doubleClick; Récapitulatif des propriétés pour l’objet Souris Propriété clickLoc mouseLoc clickOn mouseMember doubleClick mouseUp mouseChar mouseV mouseDown mouseWord mouseH rightMouseDown mouseItem rightMouseUp mouseLine stillDown Voir aussi _mouse Animation Représente une animation en cours d’exécution dans le lecteur de Director. Le lecteur de Director peut contenir une ou plusieurs animations. Une animation peut contenir une ou plusieurs bibliothèques. Une bibliothèque de distribution peut être constituée d’un ou de plusieurs acteurs qui représentent les médias et les éléments de script d’une animation. Les acteurs média peuvent être du texte, des bitmaps, des formes, etc. Les acteurs script incluent les comportements, les scripts d’animation, etc. Les images-objets sont créées à partir d’acteurs et utilisées sur la scène d’une animation. Vous pouvez faire référence à l’animation en cours d’exécution en utilisant la propriété de haut niveau _movie. Vous pouvez faire référence à une animation quelconque du lecteur en utilisant la propriété movie de l’objet Fenêtre. • Faites référence à l’animation en cours d’exécution. -- Lingo syntax objMovie = _movie // JavaScript syntax var objMovie = _movie; • Utilisez la propriété movie de l’objet Fenêtre pour accéder à l’animation d’une fenêtre donnée. -- Lingo syntax objMovie = _player.window[2].movie // JavaScript syntax var objMovie = _player.window[2].movie; Vous pouvez non seulement utiliser une référence à une animation pour accéder aux méthodes et propriétés de l’animation en question, mais aussi appeler des gestionnaires Lingo et JavaScript et accéder aux acteurs et aux images- ADOBE DIRECTOR 11.0 103 Dictionnaire de script objets de l’animation, ainsi qu’à leurs méthodes et propriétés. Cette procédure est différente des versions précédentes de Director dans lesquelles vous deviez utiliser la commande tell pour travailler avec les animations. Avec l’objet Animation, le travail avec les animations est simplifié. Récapitulatif des méthodes pour l’objet Animation Méthode beginRecording() newMember() cancelIdleLoad() preLoad() (animation) clearFrame() preLoadMember() constrainH() preLoadMovie() constrainV() printFrom() delay() puppetPalette() deleteFrame() puppetSprite() duplicateFrame() puppetTempo() endRecording() puppetTransition() finishIdleLoad() ramNeeded() frameReady() (animation) rollOver() go() saveMovie() goLoop() sendAllSprites() goNext() sendSprite() goPrevious() stopEvent() idleLoadDone() unLoad() (animation) insertFrame() unLoadMember() label() unLoadMovie() marker() updateFrame() mergeDisplayTemplate() updateStage() Récapitulatif des propriétés pour l’objet Animation Propriété aboutInfo frameTransition active3dRenderer idleHandlerPeriod actorList idleLoadMode allowCustomCaching idleLoadPeriod allowGraphicMenu idleLoadTag allowSaveLocal idleReadChunkSize ADOBE DIRECTOR 11.0 104 Dictionnaire de script Propriété (Suite) allowTransportControl imageCompression allowVolumeControl imageQuality allowZooming keyboardFocusSprite beepOn lastChannel buttonStyle lastFrame castLib markerList centerStage member (animation) copyrightInfo (animation) name displayTemplate paletteMapping dockingEnabled path (animation) editShortCutsEnabled preferred3dRenderer enableFlashLingo preLoadEventAbort exitLock score fileFreeSize scoreSelection fileSize script fileVersion sprite (animation) fixStageSize stage frame timeoutList frameLabel traceLoad framePalette traceLogFile frameScript traceScript frameSound1 updateLock frameSound2 useFastQuads frameTempo xtraList (animation) Voir aussi _movie, Bibliothèque de distribution, Acteur, movie, Lecteur, Image-objet, Fenêtre Lecteur Représente le moteur de lecture principal utilisé pour gérer et exécuter l’environnement auteur, les animations dans une fenêtre (MIAW), les projections et Shockwave Player. L’objet Lecteur donne accès à toutes les animations et fenêtres qu’il gère, en plus des Xtras disponibles. Vous pouvez créer une référence à l’objet Lecteur en utilisant la propriété de haut niveau _player. ADOBE DIRECTOR 11.0 105 Dictionnaire de script • Affectez _player à une variable. -- Lingo syntax objPlayer = _player // JavaScript syntax var objPlayer = _player; • Utilisez directement la propriété _player. -- Lingo syntax _player.alert("The movie has ended.") // JavaScript syntax _player.alert("The movie has ended."); Récapitulatif des méthodes pour l’objet Lecteur Méthode alert() getPref() appMinimize() halt() cursor() open() (lecteur) externalParamName() quit() externalParamValue() setPref() flushInputEvents() windowPresent() Récapitulatif des propriétés pour l’objet Lecteur Propriété activeCastLib netPresent activeWindow netThrottleTicks alertHook organizationName applicationName productName applicationPath productVersion currentSpriteNum safePlayer debugPlaybackEnabled scriptingXtraList digitalVideoTimeScale searchCurrentFolder disableImagingTransformation searchPathList emulateMultibuttonMouse serialNumber externalParamCount sound (lecteur) frontWindow switchColorDepth inlineImeEnabled toolXtraList itemDelimiter transitionXtraList lastClick userName ADOBE DIRECTOR 11.0 106 Dictionnaire de script Propriété (Suite) lastEvent window lastKey xtra lastRoll xtraList (lecteur) mediaXtraList Voir aussi _player, Bibliothèque de distribution, Acteur, Animation, Image-objet, Fenêtre Son Contrôle la lecture audio des huit pistes audio disponibles. L’objet Son est composé d’objets Piste audio représentant des pistes audio individuelles. Vous pouvez créer une référence à l’objet Son en utilisant la propriété de haut niveau _sound. • Affectez _sound à une variable. -- Lingo syntax objSound = _sound // JavaScript syntax var objSound = _sound; • Utilisez la propriété _sound pour accéder à la propriété soundDevice de l’objet Son. -- Lingo syntax objDevice = _sound.soundDevice // JavaScript syntax var objDevice = _sound.soundDevice; Récapitulatif des méthodes pour l’objet Son Méthode beep() channel() (son) Récapitulatif des propriétés pour l’objet Son Propriété soundDevice soundDeviceList soundEnabled ADOBE DIRECTOR 11.0 107 Dictionnaire de script Propriété (Suite) soundKeepDevice soundLevel soundMixMedia Voir aussi _sound, Piste audio Piste audio Représente une piste audio individuelle au sein de l’objet Son. Les pistes audio disponibles sont au nombre de huit. Vous pouvez utiliser un objet Piste audio dans un script pour accéder à l’une des huit pistes audio et la modifier. Remarque : vous ne pouvez modifier que les deux premières pistes audio dans le scénario de l’interface utilisateur de Director. Vous pouvez créer une référence à un objet Piste audio en utilisant la méthode de haut niveau sound(), la propriété sound de l’objet Lecteur ou la méthode channel() de l’objet Son. Par exemple, vous pouvez faire référence à la piste audio 2 en utilisant l’une des méthodes suivantes : • Utilisez la méthode de haut niveau sound(). -- Lingo syntax objSoundChannel = sound(2) // JavaScript syntax var objSoundChannel = sound(2); • Utilisez la propriété sound de l’objet Lecteur. -- Lingo syntax objSoundChannel = _player.sound[2] // JavaScript syntax var objSoundChannel = _player.sound[2]; • Utilisez la méthode channel() de l’objet Son. -- Lingo syntax objSoundChannel = _sound.channel(2) // JavaScript syntax var objSoundChannel = _sound.channel(2); Récapitulatif des méthodes pour l’objet Piste audio Méthode breakLoop() play() (piste audio) fadeIn() playFile() fadeOut() playNext() (piste audio) ADOBE DIRECTOR 11.0 108 Dictionnaire de script Méthode (Suite) fadeTo() queue() getPlayList() rewind() (piste audio) isBusy() setPlayList() pause() (piste audio) stop() (piste audio) Récapitulatif des propriétés pour l’objet Piste audio Propriété channelCount member (piste audio) elapsedTime pan endTime sampleCount loopCount sampleRate loopEndTime startTime loopsRemaining status loopStartTime volume (piste audio) Voir aussi channel() (son), sound (lecteur), sound(), Son Image-objet Représente une occurrence d’un acteur dans une piste d’image-objet du scénario. Un objet Image-objet couvre une plage d’image-objet, c’est-à-dire la gamme d’images d’une piste d’image-objet donnée. Un objet Piste d’image-objet représente une piste d’image-objet entière, quel que soit le nombre d’imagesobjets qu’elle contient. Remarque : composants d’acteurs Flash® : vous ne pouvez accéder à ces composants placés sur la scène (sous la forme d’images-objets Flash) lorsqu’ils sont invisibles qu’en utilisant l’objet Acteur. L’utilisation de l’objet Image-objet pour accéder à une image-objet Flash avec une propriété d’invisibilité renverra un message d’erreur. Une image-objet peut être référencée soit par son numéro, soit par son nom. • Lorsque vous faites référence à une image-objet par son numéro, Director effectue une recherche dans toutes les images-objets qui existent dans l’image en cours du scénario, en commençant par la piste portant le numéro le plus bas, et extrait les données de l’image-objet lorsqu’il la trouve. Cette méthode est plus rapide que celle qui consiste à faire référence à une image-objet par son nom. Toutefois, étant donné que Director ne met pas automatiquement à jour les références aux numéros d’images-objets dans les scripts, toute référence par numéro à une image-objet qui a changé de position dans la scène est rompue. ADOBE DIRECTOR 11.0 109 Dictionnaire de script • Lorsque vous faites référence à une image-objet par son nom, Director fait une recherche dans toutes les imagesobjets qui existent dans l’image en cours du scénario, en commençant par la piste portant le numéro le plus bas, et extrait les données de l’image-objet lorsqu’il la trouve. Cette méthode est plus lente que celle qui consiste à faire référence à l’image-objet par son numéro, surtout lorsqu’il s’agit d’animations de grande taille contenant plusieurs bibliothèques de distribution, acteurs et images-objets. Cependant, une référence à un nom d’image-objet permet à cette référence de rester intacte, même si l’image-objet change de position sur la scène. Vous pouvez créer une référence à un objet Image-objet en utilisant la fonction de haut niveau sprite(), la propriété sprite de l’objet Animation ou la propriété sprite de l’objet Piste d’image-objet. • Utilisez la fonction de haut niveau sprite(). -- Lingo syntax objSprite = sprite(1) // JavaScript syntax var objSprite = sprite(1); • Utilisez la propriété sprite de l’objet Animation. -- Lingo syntax objSprite = _movie.sprite["willowTree"] // JavaScript syntax var objSprite = _movie.sprite["willowTree"]; • Utilisez la propriété sprite de l’objet Piste d’image-objet. -- Lingo syntax objSprite = channel(3).sprite // JavaScript syntax var objSprite = channel(3).sprite; Vous pouvez utiliser une référence à un objet Image-objet pour accéder à l’acteur à partir duquel l’image-objet a été créée. Toute modification effectuée sur l’acteur à partir duquel une image-objet a été créée est également répercutée dans l’image-objet. L’exemple suivant illustre la modification du texte d’un acteur texte à partir duquel l’image-objet 5 a été créée. Ce changement apporté à l’acteur est également répercuté dans l’image-objet 5. -- Lingo syntax labelText = sprite(5) labelText.member.text = "Weeping Willow" // JavaScript syntax var labelText = sprite(5); labelText.member.text = "Weeping Willow"; Récapitulatif des propriétés pour l’objet Image-objet Propriété backColor locV blend (image-objet) locZ bottom member (image-objet) constraint name (image-objet) cursor quad ADOBE DIRECTOR 11.0 110 Dictionnaire de script Propriété (Suite) editable rect (image-objet) endFrame right filterlist rotation flipH skew flipV spriteNum foreColor startFrame height top ink width left locH Voir aussi Bibliothèque de distribution, Acteur, Animation, Lecteur, sprite (animation), sprite (piste d’image-objet), sprite(), Piste d’image-objet, Fenêtre Piste d’image-objet Représente une piste d’image-objet individuelle dans le scénario. Un objet Image-objet couvre une plage d’image-objet, c’est-à-dire la gamme d’images d’une piste d’image-objet donnée. Un objet Piste d’image-objet représente une piste d’image-objet entière, quel que soit le nombre d’imagesobjets qu’elle contient. Les pistes d’images-objets sont contrôlées par le scénario par défaut. Utilisez l’objet Piste d’image-objet pour faire passer le contrôle d’une piste d’image-objet au script lors d’une session d’enregistrement de scénario. Une piste d’image-objet peut être référencée soit par son numéro, soit par son nom. • Lorsque vous faites référence à une piste d’image-objet par son numéro, vous accédez directement à la piste. Cette méthode est plus rapide que celle qui consiste à faire référence à une piste d’image-objet par son nom. Toutefois, étant donné que Director ne met pas automatiquement à jour les références aux numéros des pistes d’images-objets dans les scripts, toute référence par numéro à une piste d’image-objet qui a changé de position dans le scénario est rompue. • Lorsque vous faites référence à une piste d’image-objet par son nom, Director fait une recherche dans toutes les pistes, en commençant par la piste portant le numéro le plus petit, et extrait les données de la piste d’image-objet lorsqu’il la trouve. Cette méthode est plus lente que celle qui consiste à faire référence à la piste d’image-objet par son numéro, surtout lorsqu’il s’agit d’animations de grande taille contenant plusieurs bibliothèques de distribution, acteurs et images-objets. Cependant, une référence à un nom de piste d’image-objet permet à cette référence de rester intacte, même si la piste d’image-objet change de position dans le scénario. Vous pouvez créer une référence à un objet Piste d’image-objet en utilisant la méthode de haut niveau channel() et en faisant référence au numéro ou au nom de la piste. ADOBE DIRECTOR 11.0 111 Dictionnaire de script -- Lingo syntax objSpriteChannel = channel(2) -- numbered reference objSpriteChannel = channel("background") -- named reference // JavaScript syntax var objSpriteChannel = channel(2); // numbered reference var objSpriteChannel = channel("background"); // named reference Vous pouvez utiliser une référence à un objet Piste d’image-objet pour accéder à l’image-objet en cours d’utilisation dans une piste d’image-objet particulière. L’exemple suivant illustre l’accès à la couleur d’arrière-plan de l’image-objet en cours d’utilisation dans la piste d’image-objet 2. -- Lingo syntax labelSprite = channel(2).sprite.backColor // JavaScript syntax var labelSprite = channel(2).sprite.backColor; Récapitulatif des méthodes pour l’objet Piste d’image-objet Méthode makeScriptedSprite() removeScriptedSprite() Récapitulatif des propriétés pour l’objet Piste d’image-objet Propriété name (piste d’image-objet) number (piste d’image-objet) scripted sprite (piste d’image-objet) Voir aussi Bibliothèque de distribution, channel() (niveau supérieur), Acteur, Animation, Lecteur, Image-objet, Fenêtre Système Donne accès aux informations sur le système et l’environnement, telles que les méthodes système. Vous pouvez créer une référence à l’objet Système en utilisant la propriété de haut niveau _system. • Affectez _system à une variable. -- Lingo syntax objSystem = _system // JavaScript syntax var objSystem = _system; ADOBE DIRECTOR 11.0 112 Dictionnaire de script • Utilisez directement la propriété _system. -- Lingo syntax sysDate = _system.date() // JavaScript syntax var sysDate = _system.date(); Récapitulatif des méthodes pour l’objet Système Méthode date() (système) restart() shutDown() time() (système) Récapitulatif des propriétés pour l’objet Système Propriété colorDepth deskTopRectList environmentPropList milliseconds Voir aussi _system Fenêtre Représente une fenêtre dans laquelle une animation est en cours d’exécution, telle que la fenêtre Scène et toute autre animation dans une fenêtre (MIAW) en cours d’utilisation. Vous pouvez créer une référence à un objet Fenêtre en utilisant la fonction de haut niveau window(), la propriété window de l’objet Lecteur ou la propriété windowList de l’objet Lecteur. • Utilisez la méthode de haut niveau window(). -- Lingo syntax objWindow = window("Sun") // JavaScript syntax var objWindow = window("Sun"); • Utilisez la propriété window de l’objet Lecteur. -- Lingo syntax objWindow = _player.window["Sun"] // JavaScript syntax var objWindow = _player.window["Sun"]; ADOBE DIRECTOR 11.0 113 Dictionnaire de script • Utilisez la propriété windowList de l’objet Lecteur. -- Lingo syntax objWindow = _player.windowList[1] // JavaScript syntax var objWindow = _player.windowList[1]; Remarque : lorsque vous créez une référence au nom d’une fenêtre en utilisant soit la fonction de haut niveau window(), soit la propriété window de l’objet Lecteur, cette référence n’est créée que si une fenêtre portant ce nom existe. Si aucune fenêtre portant ce nom n’existe, la référence contient VOID (Lingo) ou null (syntaxe JavaScript). La propriété scriptExecutionStyle de l’objet Animation est définie par défaut sur 10 et la propriété windowType est évitée par défaut en faveur des listes de propriétés appearanceOptions et titlebarOptions. Si la propriété scriptExecutionStyle est définie sur 9, la propriété windowType est complètement opérationnelle. Récapitulatif des méthodes pour l’objet Fenêtre Méthode close() moveToBack() forget() (fenêtre) moveToFront() maximize() open() (fenêtre) mergeProps() restore() minimize() Récapitulatif des propriétés pour l’objet Fenêtre Propriété appearanceOptions resizable bgColor (fenêtre) sizeState dockingEnabled sourceRect drawRect title (fenêtre) fileName (fenêtre) titlebarOptions image (fenêtre) type (fenêtre) movie visible name windowBehind picture (fenêtre) windowInFront rect (fenêtre) Voir aussi Bibliothèque de distribution, Acteur, Animation, Lecteur, Image-objet, window(), window, windowList 114 Chapitre 6 : Types de médias Les types de médias de Director® donnent accès aux fonctionnalités des divers types de médias (RealMedia®, DVD, GIF animé, etc.), qui sont ajoutés aux animations en tant qu’acteurs. Les médias ne sont pas strictement des objets mais plutôt des acteurs qui se rapportent à un type de média précis. Lorsqu’un type de média est ajouté à une animation en tant qu’acteur, il hérite de la fonctionnalité de l’objet Acteur principal et étend l’objet Acteur en fournissant des fonctionnalités supplémentaires qui ne sont disponibles que pour le type de média spécifié. Par exemple, un acteur RealMedia a accès aux méthodes et propriétés de l’objet Acteur, et possède également d’autres méthodes et propriétés propres à RealMedia. Les autres types de médias affichent tous ce comportement. Pour voir comment les types de médias d’acteurs sont liés les uns aux autres, ainsi qu’aux autres objets de Director, consultez « Diagrammes de modèles d’objets », page 46. GIF animé Représente un acteur GIF animé. Vous pouvez ajouter un acteur GIF animé à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#animgif) // JavaScript syntax _movie.newMember("animgif"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur GIF animé. Récapitulatif des méthodes pour le type de média GIF animé Méthode resume() rewind() (GIF animé, Flash) Récapitulatif des propriétés pour le type de média GIF animé Propriété directToStage frameRate linked path (animation) playBackMode ADOBE DIRECTOR 11.0 115 Dictionnaire de script Voir aussi Acteur Bitmap Représente un acteur bitmap. Vous pouvez utiliser les objets images bitmap pour effectuer des opérations simples affectant le contenu d’un acteur bitmap entier, telles que le changement des couleurs d’arrière-plan et de premier plan de l’acteur ou pour effectuer une délicate manipulation des pixels d’une image, telle que le recadrage, le dessin et la copie de pixels. Vous pouvez ajouter un acteur bitmap à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#bitmap) // JavaScript syntax _movie.newMember("bitmap"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur bitmap. Récapitulatif des méthodes pour le type de média Bitmap Méthode crop() (image) pictureP() Récapitulatif des propriétés pour le type de média Bitmap Propriété alphaThreshold imageCompression backColor imageQuality blend (image-objet) palette depth (bitmap) picture (acteur) dither rect (image) foreColor trimWhiteSpace image (image) useAlpha Voir aussi Acteur ADOBE DIRECTOR 11.0 116 Dictionnaire de script Bouton Représente un acteur bouton ou case à cocher. Vous pouvez ajouter un acteur bouton à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#button) // JavaScript syntax _movie.newMember("button"); Récapitulatif des propriétés pour le type de média Bouton Propriété hilite Voir aussi Acteur Palette de couleurs Représente la palette de couleurs associée à un acteur bitmap. Un acteur palette de couleurs n’a aucune méthode ou propriété à laquelle il est possible d’accéder directement. Les méthodes et propriétés suivantes sont simplement associées aux palettes de couleurs. Vous pouvez ajouter un acteur palette de couleurs à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#palette) // JavaScript syntax _movie.newMember("palette"); Vous pouvez associer un acteur bitmap à un acteur palette de couleurs à l’aide de la propriété palette de l’acteur bitmap. L’exemple suivant attribue la propriété palette de l’acteur bitmap bmpMember à l’acteur palette de couleurs colorPaletteMember. La valeur de la propriété palette reflète le numéro de l’acteur palette de couleurs. -- Lingo syntax member("bmpMember").palette = member("colorPaletteMember") // JavaScript syntax member("bmpMember").palette = member("colorPaletteMember"); Après avoir associé un acteur bitmap à un acteur palette de couleurs, vous ne pouvez pas supprimer l’acteur palette de couleurs avant d’avoir supprimé son association à l’acteur bitmap. ADOBE DIRECTOR 11.0 117 Dictionnaire de script Récapitulatif des méthodes pour le type de média Palette de couleurs Méthode color() Récapitulatif des propriétés pour le type de média Palette de couleurs Propriété depth (bitmap) palette paletteMapping Voir aussi Bitmap, Acteur, palette Curseur Représente un acteur curseur. Vous pouvez ajouter un acteur curseur à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#cursor) // JavaScript syntax _movie.newMember("cursor"); Récapitulatif des propriétés pour le type de média Curseur Propriété castMemberList cursorSize hotSpot interval Voir aussi Acteur DVD Représente un acteur DVD. Vous pouvez ajouter un acteur DVD à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#dvd) ADOBE DIRECTOR 11.0 118 Dictionnaire de script // JavaScript syntax _movie.newMember("dvd"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur DVD. Récapitulatif des événements pour le type de média DVD Les événements DVD suivants sont toujours pris en charge par un gestionnaire d’événement DVDeventNotification. Lorsque l’un de ces événements se produit, le gestionnaire d’événement DVDeventNotification le reçoit sous forme de paramètre. Certains de ces événements contiennent également d’autres informations qui sont transmises sous forme de deuxième ou troisième paramètre à DVDeventNotification. Pour plus d’informations sur l’utilisation des événements suivants avec le gestionnaire DVDeventNotification, consultez « on DVDeventNotification », page 158. Evénement angleChange noFirstPlayChain audioStreamChange parentalLevelChange buttonChange playbackStopped chapterAutoStop playPeriodAutoStop chapterStart rateChange diskEjected stillOff diskInserted stillOn domainChange titleChange error UOPchange karaokeMode warning Récapitulatif des méthodes pour le type de média DVD Méthode activateAtLoc() rootMenu() activateButton() selectAtLoc() frameStep() selectButton() chapterCount() selectButtonRelative() pause() (DVD) stop() (DVD) play() (DVD) subPictureType() returnToTitle() titleMenu() ADOBE DIRECTOR 11.0 119 Dictionnaire de script Récapitulatif des propriétés pour le type de média DVD Propriété angle (DVD) duration (DVD) angleCount folder aspectRatio frameRate (DVD) audio (DVD) fullScreen audioChannelCount mediaStatus (DVD) audioExtension playRate (DVD) audioFormat resolution (DVD) audioSampleRate selectedButton audioStream startTimeList audioStreamCount stopTimeList buttonCount subPicture chapter subPictureCount chapterCount title (DVD) closedCaptions titleCount currentTime (DVD) videoFormat domain volume (DVD) Voir aussi Acteur Champ Représente un acteur champ. Vous pouvez ajouter un acteur champ à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#field) // JavaScript syntax _movie.newMember("field"); Récapitulatif des méthodes pour le type de média Champ Méthode charPosToLoc() pointToItem() lineHeight() pointToLine() linePosToLocV() pointToParagraph() ADOBE DIRECTOR 11.0 120 Dictionnaire de script Méthode (Suite) locToCharPos() pointToWord() locVToLinePos() scrollByLine() pointToChar() scrollByPage() Récapitulatif des propriétés pour le type de média Champ Propriété alignment fontStyle autoTab lineCount border margin boxDropShadow pageHeight boxType scrollTop dropShadow selEnd editable selStart font text fontSize wordWrap Voir aussi Acteur Boucle d’animation Représente un acteur boucle d’animation. Vous pouvez ajouter un acteur boucle d’animation à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#filmloop) // JavaScript syntax _movie.newMember("filmloop"); Récapitulatif des propriétés pour le type de média Boucle d’animation Propriété media regPoint Voir aussi Acteur ADOBE DIRECTOR 11.0 121 Dictionnaire de script Composant Flash Représente un composant Adobe® Flash® inséré dans un acteur ou une image-objet comprenant un contenu Flash. Un composant Flash offre des fonctionnalités toutes prêtes qui étendent les fonctionnalités existantes des acteurs ou des images-objets comprenant un contenu Flash. Ils sont entièrement créés et supportés par la communauté de développement de Director. Director prend en charge les composants Flash suivants : Composant Flash Description Button Bouton d’interface utilisateur rectangulaire redimensionnable. CheckBox Partie fondamentale de tout formulaire ou application Web. Vous pouvez l’utiliser à chaque fois que vous avez besoin de regrouper un jeu de valeurs true ou false qui ne s’excluent pas mutuellement. DateChooser Calendrier permettant à un utilisateur de choisir une date. Label Une ligne de texte unique. List Zone de liste déroulante à un ou plusieurs choix. NumericStepper Permet à un utilisateur de passer en revue un jeu de nombres ordonné. RadioButton Partie fondamentale de tout formulaire ou application Web. Vous pouvez l’utiliser à chaque fois que vous voulez qu’un utilisateur effectue une sélection dans un groupe d’options. ScrollPane Affiche des clips d’animation, ainsi que des fichiers JPEG et SWF, dans une zone déroulante. TextArea Champ de texte à plusieurs lignes. TextInput Composant d’une seule ligne qui enrobe l’objet ActionScript TextField. Tree Permet à un utilisateur de visualiser des données hiérarchiques. Un composant Flash a accès aux mêmes API que celles auxquelles accède un acteur ou une image-objet Flash normale, en plus des fonctionnalités se rapportant à ce composant. Pour plus d’informations sur de ces composants Flash, consultez les rubriques du document Utilisation de Director dans l’Aide de Director. Vous pouvez ajouter un acteur de composant Flash à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#flashcomponent) // JavaScript syntax _movie.newMember("flashcomponent"); Voir aussi Animation Flash, Acteur Animation Flash Représente un acteur ou une image-objet comprenant un contenu Flash. ADOBE DIRECTOR 11.0 122 Dictionnaire de script Vous pouvez ajouter un acteur animation Flash à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#flash) // JavaScript syntax _movie.newMember("flash"); Un acteur ou une image-objet animation Flash peut également contenir des composants Flash. Les composants Flash fournissent des fonctionnalités toutes prêtes qui étendent les fonctionnalités existantes des acteurs ou des imagesobjets animation Flash. Pour plus d’informations sur les composants Flash pris en charge par Director, consultez « Composant Flash », page 121. Certaines des méthodes ou propriétés ci-après peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur animation Flash. Récapitulatif des méthodes pour le type de média Animation Flash Méthode callFrame() printAsBitmap() clearAsObjects() rewind() (GIF animé, Flash) clearError() setCallback() findLabel() setFlashProperty() flashToStage() settingsPanel() getFlashProperty() setVariable() getVariable() showProps() goToFrame() stageToFlash() hitTest() stop() (Flash) hold() stream() newObject() tellTarget() print() Récapitulatif des propriétés pour le type de média Animation Flash Propriété actionsEnabled originPoint broadcastProps originV bufferSize playBackMode buttonsEnabled playing bytesStreamed posterFrame centerRegPoint quality clickMode rotation ADOBE DIRECTOR 11.0 123 Dictionnaire de script Propriété (Suite) defaultRect scale (acteur) defaultRectMode scaleMode eventPassMode sound (acteur) fixedRate static flashRect streamMode frameCount streamSize imageEnabled viewH linked viewPoint mouseOverButton viewScale originH viewV originMode Voir aussi Composant Flash, Acteur Police Représente un acteur police. Vous pouvez ajouter un acteur police à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#font) // JavaScript syntax _movie.newMember("font"); Récapitulatif des propriétés pour le type de média Police Propriété bitmapSizes characterSet fontStyle originalFont recordFont Voir aussi Acteur ADOBE DIRECTOR 11.0 124 Dictionnaire de script Animation liée Représente un acteur animation liée. Vous pouvez ajouter un acteur animation liée à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#movie) // JavaScript syntax _movie.newMember("movie"); Récapitulatif des propriétés pour le type de média Animation liée Propriété scriptsEnabled Voir aussi Acteur QuickTime Représente un acteur QuickTime®. Vous pouvez ajouter un acteur QuickTime à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#quicktimemedia) // JavaScript syntax _movie.newMember("quicktimemedia"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur QuickTime. Récapitulatif des méthodes pour le type de média QuickTime Méthode enableHotSpot() qtRegisterAccessKey() getHotSpotRect() qtUnRegisterAccessKey() nudge() setTrackEnabled() ptToHotSpotID() swing() QuickTimeVersion() ADOBE DIRECTOR 11.0 125 Dictionnaire de script Récapitulatif des propriétés pour le type de média QuickTime Propriété audio (RealMedia) scale (acteur) currentTime (QuickTime, AVI) staticQuality fieldOfView tilt hotSpotEnterCallback trackCount (acteur) hotSpotExitCallback trackCount (image-objet) invertMask trackEnabled isVRMovie trackNextKeyTime loopBounds trackNextSampleTime mask trackPreviousKeyTime motionQuality trackPreviousSampleTime mouseLevel trackStartTime (acteur) node trackStartTime (image-objet) nodeEnterCallback trackStopTime (acteur) nodeExitCallback trackStopTime (image-objet) nodeType trackText pan (propriété QTVR) trackType (acteur) percentStreamed (acteur) trackType (image-objet) playRate translation preLoad (acteur) triggerCallback rotation warpMode Voir aussi Acteur RealMedia Représente un acteur RealMedia. Vous pouvez ajouter un acteur RealMedia à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#realmedia) // JavaScript syntax _movie.newMember("realmedia"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur RealMedia. ADOBE DIRECTOR 11.0 126 Dictionnaire de script Récapitulatif des méthodes pour le type de média RealMedia Méthode pause() (RealMedia, SWA, Windows Media) play() (RealMedia, SWA, Windows Media) realPlayerNativeAudio() realPlayerPromptToInstall() realPlayerVersion() seek() stop() (RealMedia, SWA, Windows Media) Récapitulatif des propriétés pour le type de média RealMedia Propriété audio (RealMedia) password currentTime (RealMedia) pausedAtStart (RealMedia, Windows Media) displayRealLogo percentBuffered duration (RealMedia, SWA) soundChannel (RealMedia) image (RealMedia) state (RealMedia) lastError userName (RealMedia) mediaStatus (RealMedia, Windows Media) video (RealMedia, Windows Media) Voir aussi Acteur Shockwave 3D Représente un acteur Adobe® Shockwave® 3D. Un acteur Shockwave 3D (ou, tout simplement, 3D) est différent des autres acteurs car il contient un univers 3D complet. Un univers 3D contient un ensemble d’objets propres aux acteurs 3D vous permettant d’ajouter des fonctionnalités 3D à une animation. Vous pouvez ajouter un acteur 3D à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#shockwave3d) // JavaScript syntax _movie.newMember("shockwave3d"); Pour plus d’informations sur les objets et API dont disposent les acteurs 3D, consultez « Objets 3D », page 136. Voir aussi Acteur ADOBE DIRECTOR 11.0 127 Dictionnaire de script Shockwave Audio Représente un acteur Shockwave Audio. Vous pouvez ajouter un acteur Shockwave Audio à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#swa) // JavaScript syntax _movie.newMember("swa"); Récapitulatif des événements pour le type de média Shockwave Audio Evénement on cuePassed Récapitulatif des méthodes pour le type de média Shockwave Audio Méthode getError() (Flash, SWA) getErrorString() isPastCuePoint() pause() (RealMedia, SWA, Windows Media) play() (RealMedia, SWA, Windows Media) preLoadBuffer() stop() (RealMedia, SWA, Windows Media) Récapitulatif des propriétés pour le type de média Shockwave Audio Propriété bitRate percentStreamed (acteur) bitsPerSample preLoadTime channelCount sampleRate copyrightInfo (SWA) sampleSize cuePointNames soundChannel (SWA) cuePointTimes state (Flash, SWA) duration (RealMedia, SWA) streamName loop (acteur) URL mostRecentCuePoint volume (acteur) numChannels ADOBE DIRECTOR 11.0 128 Dictionnaire de script Voir aussi Acteur Son Représente un acteur utilisé pour stocker et faire référence à des échantillons de sons. Les échantillons de sons sont contrôlés par les objets principaux Son et Piste audio. Un acteur son ne possède pas d’API et utilise les API des objets Son et Piste audio pour contrôler son comportement. Vous pouvez ajouter un acteur son à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#sound) // JavaScript syntax _movie.newMember("sound"); Pour plus d’informations sur les objets et API que vous pouvez utiliser pour contrôler des échantillons de sons, consultez « Son », page 106 et « Piste audio », page 107. Voir aussi Acteur Texte Représente un acteur texte. Vous pouvez ajouter un acteur texte à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#text) // JavaScript syntax _movie.newMember("text"); Récapitulatif des événements pour le type de média Texte Evénement on hyperlinkClicked Récapitulatif des méthodes pour le type de média Texte Méthode count() pointInHyperlink() pointToChar() pointToItem() ADOBE DIRECTOR 11.0 129 Dictionnaire de script Méthode (Suite) pointToLine() pointToParagraph() pointToWord() Récapitulatif des propriétés pour le type de média Texte Propriété antiAlias hyperlink antiAliasThreshold hyperlinkRange bottomSpacing hyperlinks charSpacing hyperlinkState firstIndent kerning fixedLineSpace kerningThreshold font RTF fontStyle selectedText HTML useHypertextStyles Voir aussi Acteur Forme vectorielle Représente un acteur forme vectorielle. Vous pouvez ajouter un acteur forme vectorielle à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#vectorshape) // JavaScript syntax _movie.newMember("vectorshape"); Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur forme vectorielle. Récapitulatif des méthodes pour le type de média Forme vectorielle Méthode addVertex() deleteVertex() moveVertex() ADOBE DIRECTOR 11.0 130 Dictionnaire de script Méthode (Suite) moveVertexHandle() newCurve() showProps() Récapitulatif des propriétés pour le type de média Forme vectorielle Propriété antiAlias imageEnabled backgroundColor originH broadcastProps originMode centerRegPoint originPoint closed originV curve regPointVertex defaultRect scale (acteur) defaultRectMode scaleMode endColor strokeColor fillColor strokeWidth fillCycles vertex fillDirection vertexList fillMode viewH fillOffset viewPoint fillScale viewScale flashRect viewV gradientType Voir aussi Acteur Windows Media Représente un acteur Windows Media®. Vous pouvez ajouter un acteur Windows Media à une animation en utilisant la méthode newMember() de l’objet Animation. -- Lingo syntax _movie.newMember(#windowsmedia) // JavaScript syntax _movie.newMember("windowsmedia"); ADOBE DIRECTOR 11.0 131 Dictionnaire de script Certaines des méthodes ou propriétés suivantes peuvent ne s’appliquer qu’aux images-objets créées à partir d’un acteur Windows Media. Récapitulatif des méthodes pour le type de média Windows Media Méthode pause() (RealMedia, SWA, Windows Media) play() (RealMedia, SWA, Windows Media) playFromToTime() rewind() (Windows Media) stop() (RealMedia, SWA, Windows Media) Récapitulatif des propriétés pour le type de média Windows Media Propriété audio (Windows Media) pausedAtStart (RealMedia, Windows Media) directToStage playRate (Windows Media) duration (acteur) video (RealMedia, Windows Media) height volume (Windows Media) loop (Windows Media) width mediaStatus (RealMedia, Windows Media) Voir aussi Acteur 132 Chapitre 7 : Objets de programmation Les objets de programmation, aussi appelés Xtras, dans Director donnent accès aux fonctionnalités des composants logiciels qui sont installés dans Director® et étendent les fonctionnalités principales de ce dernier. Les Xtras existants fournissent certaines fonctions telles que l’importation de filtres et la connexion à Internet. De plus, si vous connaissez le langage de programmation C, vous pouvez créer vos propres Xtras. Pour voir comment les objets de programmation sont liés les uns aux autres, ainsi qu’aux autres objets de Director, consultez « Diagrammes de modèles d’objets », page 46. Fileio Permet d’effectuer des opérations d’entrée et de sortie de fichier. Vous pouvez créer une référence à un objet Fileio à l’aide de l’opérateur new. -- Lingo syntax objFileio = new xtra("fileio") // JavaScript syntax var objFileio = new xtra("fileio"); Récapitulatif des méthodes pour l’objet Fileio Méthode closeFile() readFile() createFile() readLine() delete() readToken() deleteFile() readWord() displayOpen() setFilterMask() displaySave() setFinderInfo() error() setNewLineConversion() fileName() setPosition() getFinderInfo() status() getLength() getOSDirectory() version() getPosition() writeChar() openFile() writeReturn() readChar() writeString() ADOBE DIRECTOR 11.0 133 Dictionnaire de script Xtra MUI L’Xtra MUI offre des boîtes de dialogue complètement opérationnelles et configurées selon vos souhaits. Celles-ci ne nécessitent pas la mémoire ou l’espace disque d’une animation MIAW simulant une boîte de dialogue. Vous pouvez créer une référence à un objet Xtra MUI à l’aide de l’opérateur new. -- Lingo syntax objMui = new xtra("Mui") // JavaScript syntax var objMui = new xtra("Mui"); Récapitulatif des méthodes pour l’objet XML Parser Méthode Alert() fileOpen() fileSave() GetItemPropList getURL() GetWidgetList() GetWindowPropList Initialize ItemUpdate() run stop WindowOperation NetLingo Permet d’effectuer des opérations de réseau comme par exemple, obtenir ou lire en continu un support à partir d’un réseau, vérifier la disponibilité du réseau, vérifier la progression d’une opération de réseau, etc. Vous pouvez créer une référence à un objet NetLingo à l’aide de l’opérateur new. -- Lingo syntax objNetLingo = new xtra("netlingo") // JavaScript syntax var objNetLingo = new xtra("netlingo"); ADOBE DIRECTOR 11.0 134 Dictionnaire de script Récapitulatif des méthodes pour l’objet NetLingo Méthode browserName() netDone() cacheDocVerify() netError() cacheSize() netLastModDate() clearCache netMIME() downloadNetThing netStatus externalEvent() netTextResult() getLatestNetID postNetText getNetText() preloadNetThing() getStreamStatus() proxyServer gotoNetMovie tellStreamStatus() gotoNetPage URLEncode netAbort SpeechXtra Permet d’ajouter à une animation la fonctionnalité de conversion de texte en voix. Vous pouvez créer une référence à un objet SpeechXtra à l’aide de l’opérateur new. -- Lingo syntax objSpeech = new xtra("speechxtra") // JavaScript syntax var objSpeech = new xtra("speechxtra"); Récapitulatif des méthodes pour l’objet SpeechXtra Méthode voiceCount() voiceSet() voiceGet() voiceSetPitch() voiceGetAll() voiceSetRate() voiceGetPitch() voiceSetVolume() voiceGetRate() voiceSpeak() voiceGetVolume() voiceState() voiceInitialize() voiceStop() voicePause() voiceWordPos() voiceResume() ADOBE DIRECTOR 11.0 135 Dictionnaire de script XML Parser Permet d’effectuer des analyses XML. Vous pouvez créer une référence à un objet XML Parser à l’aide de l’opérateur new. -- Lingo syntax objXml = new xtra("xmlparser") // JavaScript syntax var objXml = new xtra("xmlparser"); Récapitulatif des méthodes pour l’objet XML Parser Méthode count() doneParsing() getError() (XML) ignoreWhiteSpace() makeList() makeSubList() parseString() parseURL() Récapitulatif des propriétés pour l’objet XML Parser Propriété attributeName attributeValue child (XML) name (XML) 136 Chapitre 8 : Objets 3D Les objets 3D permettent d’ajouter des fonctionnalités 3D à une animation. Ces objets sont à la fois exposés à Lingo et à la syntaxe JavaScript au sein de Director, des projections et d’Adobe® Shockwave® Player. Vous avez accès à ces objets 3D par le biais des acteurs Shockwave 3D (ou, tout simplement, 3D). Vous pouvez également créer des images-objets 3D à partir des acteurs 3D. Les acteurs 3D ainsi que les images-objets 3D comportent des fonctionnalités qui leur sont propres. Ils ont également accès aux fonctionnalités des acteurs et images-objets autres que 3D dont les API sont respectivement indiqués par les objets principaux Member et Sprite. Un acteur 3D est différent des autres acteurs car il contient un univers 3D complet. Un univers 3D contient les objets permettant d’accéder aux fonctionnalités 3D. Tous les objets d’un univers 3D sont basés sur un objet principal appelé nœud. La forme la plus simple d’un nœud dans un univers 3D est un objet Groupe ; cet objet Groupe est fondamentalement le nœud de base. Tous les autres objets d’un univers 3D sont basés sur un objet Groupe, ce qui signifie que les autres objets héritent des fonctionnalités d’un objet Groupe en plus de posséder des fonctionnalités propres à ces objets. Pour voir comment les objets 3D sont liés les uns aux autres, ainsi qu’aux autres objets de Director, consultez « Diagrammes de modèles d’objets », page 46. Director® est livré avec deux Xtras vous donnant accès aux objets 3D : • Xtra 3D Asset (3DAuth.x32 sous Windows®, 3D Auth Xtra sous Macintosh®) prend en charge la fenêtre média 3D dans Director. • Xtra 3D Media (Shockwave 3D Asset.x32 sous Windows, 3D Asset Xtra sous Macintosh) prend en charge le média 3D en lui-même. Pour accéder aux objets 3D lors de la création ou de l’exécution, votre animation doit comprendre un Xtra 3D Asset. Caméra Représente un objet Caméra. Une caméra contrôle la manière dont une image-objet 3D visualise l’univers 3D. Une image-objet 3D affiche une vue de caméra particulière dans l’univers. Vous pouvez créer une référence à une caméra en utilisant la propriété camera de l’objet 3D Member. La propriété camera choisit la caméra située à un endroit précis de l’index dans la liste des caméras. Dans Lingo, vous pouvez directement utiliser la propriété camera de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence à la deuxième caméra de la « chambre familiale » de l’acteur 3D est créée et affectée à la variable myCamera. -- Lingo syntax myCamera = member("family room").camera[2] // JavaScript syntax var myCamera = member("family room").getPropRef("camera", 2); ADOBE DIRECTOR 11.0 137 Dictionnaire de script Récapitulatif des méthodes pour l’objet Caméra Méthode addBackdrop addOverlay insertBackdrop insertOverlay removeBackdrop removeOverlay Récapitulatif des propriétés pour l’objet Caméra Propriété backdrop fog.far (brouillard) backdrop[].blend (3D) fog.near (brouillard) backdrop[].loc (fond et recouvrement) hither backdrop[].regPoint (3D) orthoHeight backdrop[].rotation (fond et recouvrement) overlay backdrop[].scale (3D) overlay[].blend (3D) backdrop[].source overlay[].loc (fond et recouvrement) backdrop.count (3D) overlay[].regPoint (3D) child (3D) overlay[].rotation (fond et recouvrement) colorBuffer.clearAtRender overlay[].scale (3D) colorBuffer.clearValue overlay[].source fieldOfView (3D) overlay.count (3D) fog.color() projection fog.decayMode rootNode fog.enabled (brouillard) yon Voir aussi Group, Lumière, Modèle, Ressource de modèle, Mouvement, Matériau, Texture Group Représente un modèle n’ayant ni ressource ni matériaux. Un groupe est un nœud de base et correspond tout simplement à un point dans l’espace qui est représenté par une transformation. Vous pouvez affecter des enfants et des parents à ce nœud afin de regrouper des modèles, des lumières, des caméras ou d’autres groupes. ADOBE DIRECTOR 11.0 138 Dictionnaire de script Le groupe de base est appelé un univers, qui est essentiellement synonyme de l’univers 3D de l’acteur proprement dit. Vous pouvez créer une référence à un groupe en utilisant la propriété group de l’objet 3D Member. La propriété group choisit le groupe situé à un endroit précis de l’index dans la liste des groupes. Dans Lingo, vous pouvez directement utiliser la propriété group de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence au premier groupe de l’acteur 3D space est créée et affectée à la variable myGroupe. -- Lingo syntax myGroup = member("space").group[1] // JavaScript syntax var myGroup = member("space").getPropRef("group", 1); Récapitulatif des méthodes pour l’objet Groupe Méthode addChild pointAt addToWorld registerScript() clone removeFromWorld cloneDeep rotate getWorldTransform() scale (commande) isInWorld() translate Récapitulatif des propriétés pour l’objet Groupe Propriété name (3D) parent pointAtOrientation transform (propriété) userData worldPosition Voir aussi Caméra, Lumière, Modèle, Ressource de modèle, Mouvement, Matériau, Texture Lumière Représente une lumière dans un univers 3D. Les lumières sont utilisées pour éclairer un univers 3D. Sans lumière, les objets de l’univers ne seraient pas visibles. ADOBE DIRECTOR 11.0 139 Dictionnaire de script Vous pouvez créer une référence à une lumière en utilisant la propriété light de l’objet 3D Member. La propriété light choisit la lumière située à un endroit précis de l’index dans la liste des lumières. Dans Lingo, vous pouvez directement utiliser la propriété light de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence à la troisième lumière de la « salle d’animation » de l’acteur 3D est créée et affectée à la variable myLight. -- Lingo syntax myLight = member("film room").light[3] // JavaScript syntax var myLight = member("film room").getPropRef("light", 3); Récapitulatif des propriétés pour l’objet Lumière Propriété attenuation color (lumière) specular (lumière) spotAngle spotDecay type (lumière) Voir aussi Caméra, Group, Modèle, Ressource de modèle, Mouvement, Matériau, Texture Acteur Représente un acteur Shockwave 3D. Un acteur Shockwave 3D (ou, tout simplement, 3D) contient un univers 3D complet. Un univers 3D contient l’ensemble des objets que vous utilisez pour ajouter des fonctionnalités 3D à une animation. Vous pouvez créer une référence à un acteur 3D en utilisant la fonction de haut niveau member() ou la propriété member de l’objet Animation ou Image-objet. Ces techniques sont les mêmes que celles utilisées pour créer une référence à un acteur qui n’est pas un acteur 3D. • Utilisez la fonction de haut niveau member(). -- Lingo syntax 3dMember = member("magic") // JavaScript syntax var 3dMember = member("magic"); • Utilisez la propriété member de l’objet Image-objet. -- Lingo syntax 3dMember = sprite(1).member; // JavaScript syntax ADOBE DIRECTOR 11.0 140 Dictionnaire de script var 3dMember = sprite(1).member; Récapitulatif des méthodes pour l’objet Acteur Méthode camera() model cloneModelFromCastmember modelResource cloneMotionFromCastmember motion() deleteCamera newCamera deleteGroup newGroup deleteLight newLight deleteModel newMesh deleteModelResource newModel deleteMotion newModelResource deleteShader newShader deleteTexture newTexture extrude3D resetWorld group() revertToWorldDefaults light() shader() loadFile() texture() Récapitulatif des propriétés pour l’objet Acteur Propriété ambientColor loop (3D) animationEnabled model bevelDepth modelResource bevelType motion bytesStreamed (3D) percentStreamed (3D) camera preLoad (3D) cameraPosition reflectivity cameraRotation shader diffuseColor smoothness directionalColor specularColor directionalPreset state (3D) directToStage streamSize (3D) displayFace texture ADOBE DIRECTOR 11.0 141 Dictionnaire de script Propriété (Suite) displayMode textureMember group textureType light tunnelDepth Voir aussi Caméra, Group, Lumière, Modèle, Ressource de modèle, Mouvement, Matériau, Image-objet, Texture Modèle Représente un objet visible qu’un utilisateur peut voir dans un univers 3D. Un modèle utilise une ressource de modèle et occupe une position et une orientation particulières dans un univers 3D. Une ressource de modèle est un élément de géométrie 3D qui peut être utilisé pour dessiner des modèles 3D. Un modèle définit également l’apparence de la ressource de modèle, telle que les textures et les matériaux utilisés. Pour plus d’informations sur la relation entre les modèles et les ressources de modèle, consultez les rubriques du document Utilisation de Director dans l’Aide de Director. Vous pouvez créer une référence à un modèle en utilisant la propriété model de l’objet 3D Member. La propriété model choisit le modèle situé à un endroit précis de l’index dans la liste des modèles. Dans Lingo, vous pouvez directement utiliser la propriété model de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence au deuxième modèle de l’acteur 3D Transportation est créée et affectée à la variable myModel. -- Lingo syntax myModel = member("Transportation").model[2] // JavaScript syntax var myModel = member("Transportation").getPropRef("model", 2); Un modèle comprend également des modificateurs qui contrôlent le rendu du modèle et le comportement de son animation. Les modificateurs sont associés à un modèle en utilisant la méthode addModifier(). Lorsqu’un modificateur est associé à un modèle, ses propriétés peuvent être manipulées à l’aide d’un script. Les modificateurs suivants sont disponibles avec un modèle : Modificateur Description Lecteur de segments Modifie la géométrie d’un modèle dans le temps. Collision Permet à un modèle d’être informé d’une collision et d’y répondre. Inker Ajoute une silhouette, des plis et des bords de délimitation à un modèle existant. Lecteur d’images-clés Modifie les propriétés transform d’un modèle dans le temps. Niveau de détail (LOD) Fournit un contrôle par modèle sur le nombre de polygones utilisés pour rendre un modèle, en fonction de sa distance par rapport à la caméra. Le modificateur LOD est également disponible pour les ressources de modèle. ADOBE DIRECTOR 11.0 142 Dictionnaire de script Modificateur (Suite) Description (Suite) Déformation de maille Modifie la géométrie d’une ressource de modèle existante lors de l’exécution. Subdivision surfaces (SDS) Entraîne le rendu du modèle avec davantage de détails géométriques dans la zone du modèle que la caméra est en train de fixer. Dessin animé Modifie le rendu d’un modèle pour imiter un style de dessin animé. Pour plus d’informations sur les méthodes, propriétés et événements disponibles pour les modificateurs, consultez les rubriques du document Utilisation de Director dans l’Aide de Director. Ressource de modèle Représente un élément de la géométrie 3D utilisé pour dessiner des modèles 3D. Un modèle utilise une ressource de modèle et occupe une position et une orientation particulières dans un univers 3D. Un modèle définit également l’apparence de la ressource de modèle, telle que les textures et les matériaux utilisés. Pour plus d’informations sur la relation entre les modèles et les ressources de modèle et leur utilisation, consultez les rubriques du document Utilisation de Director dans l’Aide de Director. Vous pouvez créer une référence à une ressource de modèle en utilisant la propriété modelResource de l’objet 3D Member. La propriété modelResource choisit la ressource de modèle située à un endroit précis de l’index dans la liste des ressources de modèle. Dans Lingo, vous pouvez directement utiliser la propriété modelResource de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence à la deuxième ressource de modèle de l’acteur 3D wheels est créée et affectée à la variable myModelResource. -- Lingo syntax myModelResource = member("wheels").modelResource[2] // JavaScript syntax var myModelResource = member("wheels").getPropRef("modelResource", 2); Mouvement Représente une séquence d’animation prédéfinie qui implique le mouvement d’un modèle ou d’un composant de modèle. Les mouvements individuels peuvent être définis pour être exécutés seuls ou avec d’autres mouvements. Par exemple, le mouvement d’un personnage qui court peut être combiné à un mouvement de saut pour simuler le saut au-dessus d’une flaque d’eau. Vous pouvez créer une référence à un mouvement en utilisant la propriété motion de l’objet 3D Member. La propriété motion choisit le mouvement situé à un endroit précis de l’index dans la liste des mouvements. Dans Lingo, vous pouvez directement utiliser la propriété motion de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. ADOBE DIRECTOR 11.0 143 Dictionnaire de script Dans l’exemple suivant, une référence au quatrième mouvement de l’acteur 3D athlete est créée et affectée à la variable myMotion. -- Lingo syntax myMotion = member("athlete").motion[4] // JavaScript syntax var myMotion = member("athlete").getPropRef("motion", 4); Services de rendu Représente l’objet global qui comprend une liste de propriétés dont les valeurs influencent les propriétés de rendu communes de tous les acteurs et images-objets 3D. Vous pouvez accéder à l’objet de services de rendu global en utilisant la fonction de haut niveau myRenderer. Dans l’exemple suivant, on accède à la propriété de rendu de l’objet de services de rendu global et la valeur est affectée à la variable monRendu. -- Lingo syntax myRenderer = getRendererServices().renderer // JavaScript syntax var myRenderer = getRendererServices().renderer; Récapitulatif des méthodes pour l’objet Services de rendu Méthode getHardwareInfo() Récapitulatif des propriétés pour l’objet Services de rendu Propriété modifiers primitives renderer rendererDeviceList textureRenderFormat Voir aussi Acteur, Image-objet ADOBE DIRECTOR 11.0 144 Dictionnaire de script Matériau Représente la couleur de la surface d’un modèle. Des images peuvent être dessinées à la surface d’un modèle en appliquant une ou plusieurs textures à chaque matériau. Vous pouvez créer une référence à un matériau en utilisant la propriété shader de l’objet 3D Member. La propriété shader choisit la nuance située à un endroit précis de l’index dans la liste des matériaux. Dans Lingo, vous pouvez directement utiliser la propriété shader de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence au deuxième matériau de l’acteur 3D triangle est créée et affectée à la variable myShader. -- Lingo syntax myShader = member("triangle").shader[2] // JavaScript syntax var myShader = member("triangle").getPropRef("shader", 2); Image-objet Représente une image-objet 3D créée à partir d’un acteur Shockwave 3D. Vous pouvez créer une référence à une Image-objet 3D en utilisant la fonction de haut niveau sprite(), la propriété sprite de l’objet Animation ou la propriété sprite de l’objet Piste d’image-objet. Ces techniques sont les mêmes que celles utilisées pour créer une référence à une image-objet qui n’est pas une image-objet 3D. • Utilisez la fonction de haut niveau sprite(). -- Lingo syntax 3dSprite = sprite(1) // JavaScript syntax var 3dSprite = sprite(1); • Utilisez la propriété sprite de l’objet Animation. -- Lingo syntax 3dSprite = _movie.sprite["willowTree"] // JavaScript syntax var 3dSprite = _movie.sprite["willowTree"]; • Utilisez la propriété sprite de l’objet Piste d’image-objet. -- Lingo syntax 3dSprite = channel(3).sprite // JavaScript syntax var 3dSprite = channel(3).sprite; ADOBE DIRECTOR 11.0 145 Dictionnaire de script Récapitulatif des méthodes pour l’objet Image-objet Méthode addCamera cameraCount() deleteCamera Récapitulatif des propriétés pour l’objet Image-objet Propriété antiAliasingEnabled backColor camera directToStage Voir aussi Caméra, Acteur Texture Représente la texture appliquée à un matériau. Vous pouvez créer une référence à une texture en utilisant la propriété texture de l’objet 3D Member. La propriété texture choisit la texture située à un endroit précis de l’index dans la liste des textures. Dans Lingo, vous pouvez directement utiliser la propriété texture de l’objet 3D Member pour créer une référence. Dans la syntaxe JavaScript, vous devez utiliser la méthode getPropRef() pour créer une référence. Dans l’exemple suivant, une référence à la première texture de l’acteur 3D triangle est créée et affectée à la variable myTexture. -- Lingo syntax myTexture = member("triangle").texture[1] // JavaScript syntax var myTexture = member("triangle").getPropRef("texture", 1); 146 Chapitre 9 : Constantes Ce chapitre répertorie dans l’ordre alphabétique toutes les constantes disponibles dans Director®. La plupart de ces constantes ne s’appliquent qu’à Lingo. Toutefois, la syntaxe JavaScript comporte certaines constantes semblables aux constantes Lingo répertoriées ici ; lorsque tel est le cas, ce chapitre indique la syntaxe JavaScript et fournit des exemples d’utilisation de cette dernière pour vous aider à mettre en correspondance les constantes Lingo avec leurs équivalents JavaScript les plus proches. Pour plus d’informations sur les constantes de la syntaxe JavaScript, reportez-vous à l’une des nombreuses documentations d’autres éditeurs sur le sujet. " (chaîne) Syntaxe --Lingo syntax " // JavaScript syntax " Description Constante de chaîne ; lorsqu’ils sont utilisés avant et après une chaîne, les guillemets droits signifient que la chaîne qu’ils contiennent est une chaîne littérale, et non une variable, une valeur numérique ou un élément de script. Les guillemets droits doivent toujours encadrer les noms littéraux des acteurs, des distributions, des fenêtres et des fichiers externes. Exemple L’instruction suivante utilise les guillemets droits pour indiquer que la chaîne « San Francisco » est une chaîne littérale, le nom d’un acteur : --Lingo syntax put member("San Francisco").loaded // JavaScript syntax put(member("San Francisco").loaded); Voir aussi QUOTE BACKSPACE Syntaxe -- Lingo syntax BACKSPACE // JavaScript syntax 51 // value of _key.keyCode ADOBE DIRECTOR 11.0 147 Dictionnaire de script Description Constante ; représente la touche Arrière/Retour arrière. Cette touche est appelée Retour arrière sur un clavier Windows® et Arrière sur un clavier Mac®. Exemple Le gestionnaire on keyDown suivant vérifie si l’utilisateur a appuyé sur la touche Retour arrière et, le cas échéant, appelle le gestionnaire clearEntry : --Lingo syntax on keyDown if (_key.key = BACKSPACE) then clearEntry _movie.stopEvent() end keyDown // JavaScript syntax function keyDown() { if (_key.keyCode == 51) { clearEntry(); _movie.stopEvent(); } } EMPTY Syntaxe --Lingo syntax EMPTY // JavaScript syntax "" Description Constante de caractères ; représente la chaîne vide, "", c’est-à-dire une chaîne sans caractères. Exemple L’instruction suivante efface tous les caractères de l’acteur champ Notice en donnant au champ la valeur EMPTY : --Lingo syntax member("Notice").text = EMPTY // JavaScript syntax member("Notice").text = ""; ENTER Syntaxe --Lingo syntax ENTER // JavaScript syntax 3 // value of _key.keyCode ADOBE DIRECTOR 11.0 148 Dictionnaire de script Description Constante de caractères ; représente la touche Entrée sur un clavier Windows ou la touche Retour sur un clavier Mac correspondant à un retour chariot. Sur les claviers PC, l’élément ENTER ne se rapporte qu’à la touche Entrée du pavé numérique. Pour une animation lue en tant qu’applet, utilisez RETURN pour spécifier la touche Retour sous Windows et la touche Entrée sur le Mac. Exemple L’instruction suivante vérifie si l’utilisateur a appuyé sur la touche Entrée et, le cas échéant, envoie la tête de lecture sur l’image addSum : -- Lingo syntax on keyDown if (_key.key = ENTER) then _movie.go("addSum") end // JavaScript syntax function keyDown() { if (_key.keyCode == 3) { _movie.go("addSum"); } } Voir aussi RETURN (constante) FALSE Syntaxe -- Lingo syntax FALSE // JavaScript syntax false Description Constante ; s’applique à une expression qui est logiquement fausse (FALSE), telle que 2 > 3. Lorsqu’elle est traitée comme un nombre, la constante FALSE correspond à la valeur numérique 0. Inversement, 0 est traité comme FALSE. Exemple L’instruction suivante désactive la propriété soundEnabled en lui attribuant la valeur FALSE : -- Lingo syntax _sound.soundEnabled = FALSE // JavaScript syntax _sound.soundEnabled = false; Voir aussi if, not, TRUE ADOBE DIRECTOR 11.0 149 Dictionnaire de script PI Syntaxe -- Lingo syntax PI // JavaScript syntax Math.PI Description Constante ; renvoie la valeur de pi (π), c’est-à-dire le rapport de la circonférence d’un cercle à son diamètre, sous la forme d’un nombre à virgule flottante. La valeur est arrondie au nombre de décimales défini par la propriété floatPrecision. Exemple L’instruction suivante utilise la constante PI dans une équation destinée à calculer l’aire d’un cercle : -- Lingo syntax vRadius = 3 vArea = PI*power(vRadius, 2) trace(vArea) -- results in 28.2743 // JavaScript syntax var vRadius = 3; vArea = Math.PI*Math.pow(vRadius, 2); trace(vArea); // results in 28.274333882308138 QUOTE Syntaxe --Lingo syntax QUOTE // JavaScript syntax \" Description Constante ; représente le caractère guillemet dans une chaîne puisque ce caractère est lui-même utilisé dans les scripts Lingo pour délimiter les chaînes. Exemple L’instruction suivante insère des guillemets dans une chaîne : -- Lingo syntax put("Can you spell" && QUOTE & "Adobe" & QUOTE & "?") // JavaScript syntax put("Can you spell \"Adobe\"?"); Le résultat correspond à un jeu de guillemets placés autour du mot Adobe® : Can you spell "Adobe"? ADOBE DIRECTOR 11.0 150 Dictionnaire de script RETURN (constante) Syntaxe -- Lingo syntax RETURN // JavaScript syntax 36 // value of _key.keyCode \n // when used in a string Description Constante ; représente un retour de chariot. Exemple L’instruction suivante reprend la lecture d’une animation en pause lorsque l’utilisateur appuie sur le retour de chariot : -- Lingo syntax if (_key.key = RETURN) then _movie.go(_movie.frame + 1) // JavaScript syntax if (_key.keyCode == 36) { _movie.go(_movie.frame + 1); } L’instruction suivante utilise la constante de caractères RETURN pour insérer un retour chariot entre deux lignes d’un message d’alerte : -- Lingo syntax _player.alert("Last line in the file." & RETURN & "Click OK to exit.") // JavaScript syntax _player.alert("Last line in the file." + "\n" + " Click OK to exit"); Sous Windows, vous devez normalement insérer un caractère de saut de ligne supplémentaire à la fin de chaque ligne. L’instruction suivante crée une chaîne de deux caractères nommée CRLF fournissant le saut de ligne additionnel : CRLF = RETURN & numToChar(10) SPACE Syntaxe -- Lingo syntax SPACE // JavaScript syntax 49 // value of _key.keyCode Description Constante ; valeur en lecture seule représentant un espace. Exemple L’instruction suivante affiche « Age de bronze » dans la fenêtre Messages : ADOBE DIRECTOR 11.0 151 Dictionnaire de script -- Lingo syntax put("Age"&SPACE&"Of"&SPACE&"Aquarius") TAB Syntaxe -- Lingo syntax TAB // JavaScript syntax 48 // value of _key.keyCode Description Constante ; représente la touche de tabulation. Exemple L’instruction suivante vérifie si le caractère saisi est le caractère de tabulation et, le cas échéant, appelle le gestionnaire doNextField : -- Lingo syntax if (_key.key = TAB) then doNextField // JavaScript syntax if (_key.keyCode == 48) { doNextField(); } Les instructions suivantes font avancer ou reculer la tête de lecture selon que l’utilisateur appuie sur les touches Tabulation ou Maj+Tabulation : -- Lingo syntax if (_key.key = TAB) then if (_key.shiftDown) then _movie.go(_movie.frame - 1) else _movie.go(_movie.frame + 1) end if end if // JavaScript syntax if (_key.keyCode == 48) { if (_key.shiftDown) { _movie.go(_movie.frame - 1); } else { _movie.go(_movie.frame + 1); } } Voir aussi BACKSPACE, EMPTY, RETURN (constante) ADOBE DIRECTOR 11.0 152 Dictionnaire de script TRUE Syntaxe -- Lingo syntax TRUE // JavaScript syntax true Description Constante ; représente la valeur d’une expression logique, telle que 2 < 3. Elle correspond généralement à une valeur numérique de 1, mais tout entier non nul donne TRUE dans une comparaison. Exemple L’instruction suivante active la propriété soundEnabled en lui attribuant la valeur TRUE : -- Lingo syntax _sound.soundEnabled = TRUE // JavaScript syntax _sound.soundEnabled = true; Voir aussi FALSE, if VOID Syntaxe -- Lingo syntax VOID // JavaScript syntax null Description Constante ; indique la valeur VOID. Exemple L’instruction suivante vérifie si la variable currentVariable présente la valeur VOID : -- Lingo syntax if currentVariable = VOID then put("This variable has no value") end if // JavaScript syntax if (currentVariable == undefined) { put("This variable has no value"); } Voir aussi voidP() 153 Chapitre 10 : Evénements et messages Ce chapitre répertorie dans l’ordre alphabétique tous les événements et messages disponibles dans Director®. on activateApplication Syntaxe -- Lingo syntax on activateApplication statement(s) end // JavaScript syntax function activateApplication() { statement(s); } Description Gestionnaire intégré ; exécuté lorsque la projection passe au premier plan. Ce gestionnaire est pratique lorsqu’une projection est exécutée dans une fenêtre et que l’utilisateur l’envoie à l’arrière-plan pour travailler dans une autre application. Le gestionnaire est exécuté lorsque la projection repasse au premier plan. Toutes les MIAW exécutées dans la projection peuvent également utiliser ce gestionnaire. En cours de programmation, ce gestionnaire n’est appelé que lorsque l’option Animer en arrière-plan est activée dans les préférences générales. Sous Windows®, ce gestionnaire n’est pas appelé lorsque la projection n’est que réduite et qu’aucune autre application n’est passée au premier plan. Exemple Le gestionnaire suivant lit un son à chaque fois que l’utilisateur ramène la projection au premier plan : -- Lingo syntax on activateApplication sound(1).queue(member("openSound")) sound(1).play() end // JavaScript syntax function activateApplication() { sound(1).queue(member("openSound")); sound(1).play(); } Voir aussi on deactivateApplication, activeCastLib, on deactivateWindow ADOBE DIRECTOR 11.0 154 Dictionnaire de script on activateWindow Syntaxe -- Lingo syntax on activateWindow statement(s) end // JavaScript syntax function activateWindow() statement(s); } Description Message système et gestionnaire d’événements ; contient des instructions exécutées dans une animation lorsque l’utilisateur clique sur la fenêtre inactive et que la fenêtre passe au premier plan. Vous pouvez utiliser un gestionnaire on activateWindow dans un script que vous souhaitez exécuter chaque fois que l’animation devient active. Le fait de cliquer sur l’animation principale (scène principale) ne génère pas de gestionnaire on activateWindow. Exemple Le gestionnaire suivant lit le son Hourra lorsque la fenêtre dans laquelle l’animation est exécutée devient active : -- Lingo syntax on activateWindow sound(2).play(member("Hurray")) end // JavaScript syntax function activateWindow() { sound(2).play(member("Hurray")); } Voir aussi activeWindow, close(), on deactivateWindow, frontWindow, on moveWindow, open() (fenêtre) on beginSprite Syntaxe -- Lingo syntax on beginSprite statement(s) end // JavaScript syntax function beginSprite() { statement(s); } ADOBE DIRECTOR 11.0 155 Dictionnaire de script Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsque la tête de lecture passe à une image contenant une image-objet jusqu’alors inconnue. A l’instar de endSprite, cet événement est généré une seule fois, même si la tête de lecture effectue une boucle sur une image, étant donné que le déclencheur est une imageobjet que la tête de lecture n’avait pas encore rencontrée. L’événement est généré avant prepareFrame. Director crée des instances de tout script de comportement lié à l’image-objet lorsque le message beginSprite est envoyé. La référence d’objet me est transmise à cet événement s’il est utilisé dans un comportement. Le message est envoyé aux comportements et aux scripts d’images. Si une image-objet commence dans la première image lue dans le cadre de l’animation, le message beginSprite est envoyé après le message prepareMovie, mais avant les messages prepareFrame et startMovie. Remarque : N’oubliez pas que certaines propriétés d’image-objet, telles que rect, ne sont peut-être pas accessibles dans un gestionnaire beginSprite. En effet, le système doit calculer la propriété, ce qui ne peut se faire tant que l’image-objet n’a pas été dessinée. Les commandes go, play et updateStage sont désactivées dans un gestionnaire on beginSprite. Exemple Le gestionnaire suivant lit l’acteur son Georges Brassens lorsque l’image-objet commence : -- Lingo syntax on beginSprite me sound(1).play(member("Stevie Wonder")) end // JavaScript syntax function beginSprite() { sound(1).play(member("Stevie Wonder")); } Voir aussi on endSprite, on prepareFrame, scriptInstanceList on closeWindow Syntaxe -- Lingo syntax on closeWindow statement(s) end // JavaScript syntax function closeWindow() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsque l’utilisateur ferme la fenêtre d’une animation en cliquant sur sa case de fermeture. ADOBE DIRECTOR 11.0 156 Dictionnaire de script Le gestionnaire on closeWindow constitue un emplacement adéquat pour insérer les commandes Lingo que vous souhaitez exécuter à chaque fermeture de la fenêtre de l’animation. Exemple Le gestionnaire suivant transmet à Director la commande forget pour qu’il libère la fenêtre en cours de la mémoire lorsque l’utilisateur ferme la fenêtre dans laquelle l’animation est en cours de lecture : -- Lingo syntax on closeWindow -- perform general housekeeping here window(1).forget() end // JavaScript syntax function closeWindow() { // perform general housekeeping here window(1).forget(); } on cuePassed Syntaxe -- Lingo syntax on cuePassed({me,} channelID, cuePointNumber,cuePointName) statement(s) end // JavaScript syntax function cuePassed(channelID, cuePointNumber,cuePointName) { statement(s); } Description Message système et gestionnaire d’événements ; contient des instructions exécutées à chaque fois qu’un son ou qu’une image-objet passe par un point de repère sur son média. • me Le paramètre facultatif me représente la valeur scriptInstanceRef du script appelé. Vous devez inclure ce paramètre si vous utilisez le message dans un comportement. Si vous omettez ce paramètre, les autres arguments ne sont pas traités correctement. • channelID • cuePointNumber Numéro de la piste audio ou d’image-objet spécifique du fichier où le point de repère a été franchi. Nombre ordinal du point de repère qui déclenche l’événement dans la liste des points de repère de l’acteur. • cuePointName Nom du point de repère rencontré. Le message est transmis, dans l’ordre, aux scripts d’image-objet, d’acteur, d’image et d’animation. Pour que l’imageobjet reçoive l’événement, elle doit être la source du son, telle qu’une animation QuickTime® ou un acteur SWA. Utilisez la propriété isPastCuePoint pour vérifier les points de repère dans les comportements relatifs aux imagesobjets qui ne génèrent aucun son. Exemple Le gestionnaire suivant placé dans un script d’animation ou d’image affiche tous les points de repère pour la piste audio 1 dans la fenêtre Messages : ADOBE DIRECTOR 11.0 157 Dictionnaire de script -- Lingo syntax on cuePassed channel, number, name if (channel = #Sound1) then put("CuePoint" && number && "named" && name && "occurred in sound 1") end if end // JavaScript syntax function cuePassed(channel, number, name) { if (channel == symbol("Sound1")) { put("CuePoint " + number + " named " + name + "occurred in sound 1"); } } Voir aussi scriptInstanceList, cuePointNames, cuePointTimes, isPastCuePoint() on deactivateApplication Syntaxe -- Lingo syntax on deactivateApplication statement(s) end // JavaScript syntax function deactivateApplication() { statement(s); } Description Gestionnaire intégré ; exécuté lorsque la projection passe à l’arrière-plan. Ce gestionnaire est utile lorsqu’une projection est exécutée dans une fenêtre et que l’utilisateur l’envoie à l’arrière-plan pour travailler dans une autre application. Toutes les MIAW exécutées dans la projection peuvent également utiliser ce gestionnaire. En cours de programmation, ce gestionnaire n’est appelé que lorsque l’option Animer en arrière-plan est activée dans les préférences générales. Sous Windows, ce gestionnaire n’est pas appelé lorsque la projection n’est que réduite et qu’aucune application n’est passée au premier plan. Exemple Le gestionnaire suivant lit un son à chaque fois que l’utilisateur envoie la projection à l’arrière-plan : -- Lingo syntax on deactivateApplication sound(1).queue(member("closeSound")) sound(1).play() end // JavaScript syntax function deactivateApplication() { sound(1).queue(member("closeSound")); sound(1).play(); } ADOBE DIRECTOR 11.0 158 Dictionnaire de script Voir aussi add (texture 3D), activeCastLib, on deactivateWindow on deactivateWindow Syntaxe -- Lingo syntax on deactivateWindow statement(s) end // JavaScript syntax function deactivateWindow() { statement(s); } Description Message système et gestionnaire d’événements ; contient des instructions exécutées lorsque la fenêtre dans laquelle l’animation est lue est désactivée. Le gestionnaire d’événement on deactivate constitue un emplacement adéquat pour insérer le code Lingo que vous souhaitez exécuter chaque fois qu’une fenêtre est désactivée. Exemple Le gestionnaire suivant lit le son Ronflement lorsque la fenêtre dans laquelle l’animation est lue est désactivée : -- Lingo syntax on deactivateWindow sound(2).play(member("Snore")) end // JavaScript syntax function deactivateWindow() { sound(2).play(member("Snore")); } on DVDeventNotification Syntaxe -- Lingo syntax on DVDeventNotification objectRef, event {, eventArg1} {, eventArg2} {, eventArg3} statement(s) end DVDeventNotification // JavaScript syntax function DVDeventNotification (objectRef, event {, eventArg1} {, eventArg2} {, eventArg3}) { statement(s); } Description Gestionnaire d’événement de DVD spécifié par l’auteur. Contient des instructions qui s’exécutent en réponse aux événements survenant pendant la lecture d’un DVD. ADOBE DIRECTOR 11.0 159 Dictionnaire de script Ce gestionnaire peut être utilisé pour assurer le suivi de tous les événements de DVD. Dans les exemples de script cidessus, objectRef, le premier paramètre transmis au gestionnaire DVDeventNotification, est une référence à l’objet DVDeventNotification proprement dit. L’événement réel qui se produit est toujours transmis en tant que deuxième paramètre, event. Certains événements contiennent des informations supplémentaires les concernant sous la forme d’un troisième paramètre, eventArg1. Dans certains cas, un quatrième et un cinquième paramètre, eventArg2 et eventArg3, peuvent comporter des informations d’événement supplémentaires. Le tableau suivant répertorie les événements pouvant survenir pendant la lecture d’un DVD. Evénement Description angleChange Survient en cas de modification du nombre d’angles disponibles ou du numéro d’angle de l’utilisateur en cours. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier indiquant le nombre d’angles disponibles. Lorsque le nombre d’angles disponibles est de 1, la vidéo en cours n’est pas multiangle. • audioStreamChange eventArg3 : nombre entier indiquant le numéro d’angle de l’utilisateur en cours. Survient en cas de modification du numéro de flux audio de l’utilisateur en cours pour le titre principal. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier indiquant le nouveau numéro de flux audio de l’utilisateur en cours. Le flux 0xFFFFFFFF indique qu’aucun flux n’est sélectionné. buttonChange Survient en cas de modification du nombre de boutons disponibles ou du numéro de bouton actuellement sélectionné. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • aeventArg2 : nombre entier indiquant le nombre de boutons disponibles. • eventArg3 : nombre entier indiquant le numéro de bouton actuellement sélectionné. Le numéro de bouton 0 signifie qu’aucun bouton n’est sélectionné. chapterAutoStop chapterStart Survient en cas d’arrêt de la lecture par suite d’un arrêt automatique. Survient au démarrage de la lecture d’un nouveau programme dans le domaine title. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier indiquant le nouveau numéro de chapitre. diskEjected Survient en cas d’éjection d’un DVD. diskInserted Survient en cas d’insertion d’un DVD. ADOBE DIRECTOR 11.0 160 Dictionnaire de script Evénement(Suite) Description(Suite) domainChange Survient en cas de modification du domaine du lecteur de DVD. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg1 : valeur indiquant le nouveau domaine. Le nouveau domaine peut correspondre à l’une des valeurs suivantes : • firstPlay : le navigateur de DVD effectue une initialisation par défaut d’un DVD. • videoManagerMenu : le navigateur de DVD affiche les menus de la totalité du disque. • videoTitleSetMenu : le navigateur de DVD affiche les menus de la série de titres en cours. error • title : le navigateur de DVD affiche le titre en cours. • stop : le navigateur de DVD se trouve dans le domaine stop. Survient en cas de détection d’une condition d’erreur de DVD. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : Valeur indiquant une condition d’erreur. La condition d’erreur peut correspondre à l’une des valeurs suivantes : • copyProtectFail : L’échange de la clé de protection d’un DVD contre la copie a échoué. La lecture s’est arrêtée. • invalidDVD_0Disc : le disque DVD-Video a été conçu de façon incorrecte pour la version de spécification 1.x. La lecture s’est arrêtée. • invalidDiscRegion : le disque DVD-Video ne peut pas être lu car il n’a pas été conçu pour être lu dans la zone du système. • lowParentalLevel : Le niveau de contrôle parental du lecteur est inférieur au niveau de contrôle parental minimal disponible dans le contenu du DVD. La lecture s’est arrêtée. • macrovisionFail : La distribution Macrovision a échoué. La lecture s’est arrêtée. • incompatibleSystemAndDecoderRegions : aucun disque ne peut être lu car la zone du système ne correspond pas à celle du décodeur. • incompatibleDiscAndDecoderRegions : le disque ne peut pas être lu car il n’a pas été conçu pour être lu dans la zone du décodeur. • unexpected : un événement imprévu s’est produit ; le contenu a peut-être été conçu de façon incorrecte. La lecture s’est arrêtée. karaokeMode Survient lorsque le mode audio est défini sur karaoke. noFirstPlayChain Survient lorsque le disque DVD ne comporte pas de programme FP_PGC (First Play Program Chain) et que le navigateur de DVD ne procède ni au chargement automatique d’un PGC, ni au démarrage de la lecture. parentalLevelChange Survient lorsque le niveau de contrôle parental du contenu créé est sur le point de changer. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier indiquant le nouveau niveau de contrôle parental dans le lecteur. playbackStopped Survient en cas d’arrêt de la lecture. Le navigateur de DVD a achevé la lecture du PGC et n’a détecté aucune autre instruction de passage à une autre lecture. ADOBE DIRECTOR 11.0 161 Dictionnaire de script Evénement(Suite) Description(Suite) playPeriodAutoStop Survient en cas d’arrêt de la lecture par suite d’un arrêt automatique. rateChange Survient en cas de modification de la cadence de lecture. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier indiquant la nouvelle cadence de lecture. Une valeur inférieure à (<) 0 indique un mode de lecture vers l’arrière. Une valeur supérieure à (>) 0 indique un mode de lecture vers l’avant. Cette valeur constitue la cadence de lecture réelle multiplée par 10 000. stillOff Survient à la fin d’une temporisation (PGC, cellule ou VOBU). stillOn Survient au début d’une temporisation (PGC, cellule ou VOBU). Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : valeur booléenne indiquant si des boutons sont disponibles. La valeur zéro (0) indique que des boutons sont disponibles. La valeur un (1) indique qu’aucun bouton n’est disponible. • eventArg3 : nombre entier ou adresse indiquant le nombre de secondes de la temporisation. 0xFFFFFFFF indique une temporisation infinie. titleChange Survient en cas de modification du numéro de titre en cours. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • UOPchange eventArg2 : nombre entier ou adresse indiquant le nouveau numéro de titre. Survient en cas de modification de l’un des mécanismes de lecture ou de recherche disponibles. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier ou adresse indiquant les mécanismes de lecture ou de recherche explicitement désactivés par le disque DVD. warning Survient en cas de détection d’une condition d’avertissement de DVD. Lorsque cet événement survient, les informations supplémentaires suivantes sont transmises à DVDeventNotification : • eventArg2 : nombre entier ou adresse indiquant la condition d’avertissement. La condition d’avertissement peut correspondre à l’une des valeurs suivantes : • invalidDVD1_0Disc : le disque DVD-Video a été conçu de façon incorrecte. La lecture peut se poursuivre, mais un comportement imprévu risque de se produire. • formatNotSupported : un décodeur ne prend pas en charge le format en cours. La lecture d’un flux risque de ne pas fonctionner. • illegalNavCommand : le processeur de commandes de navigation de DVD interne a tenté de traiter une commande incorrecte. Voir aussi DVD • open. • seek. • read. ADOBE DIRECTOR 11.0 162 Dictionnaire de script on endSprite Syntaxe -- Lingo syntax on endSprite statement(s) end // JavaScript syntax function endSprite() { statement(s); } Description Message système et gestionnaire d’événement ; contient du code Lingo exécuté lorsque la tête de lecture sort d’une image-objet et passe à une image dans laquelle l’image-objet n’existe pas. Il est généré après exitFrame. Placez les gestionnaires on endSprite dans un script de comportement. Director détruit les instances des scripts de comportement liés à l’image-objet immédiatement après l’événement endSprite. Le gestionnaire d’événement reçoit la référence de comportement ou de script d’image me lorsqu’il est utilisé dans un comportement. Ce message endSprite est envoyé après le message exitFrame si la tête de lecture se poursuit jusqu’à la fin de l’image. Les méthodes go(), play() et updateStage() sont désactivées dans un gestionnaire on endSprite. Exemple Le gestionnaire suivant est exécuté lorsque la tête de lecture quitte une image-objet : -- Lingo syntax on endSprite me -- clean up gNumberOfSharks = gNumberOfSharks - 1 sound(5).stop() end // JavaScript syntax function endSprite() { // clean up gNumberOfSharks--; sound(5).stop(); } Voir aussi on beginSprite, on exitFrame on enterFrame Syntaxe -- Lingo syntax on enterFrame statement(s) end ADOBE DIRECTOR 11.0 163 Dictionnaire de script // JavaScript syntax function enterFrame() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées à chaque fois que la tête de lecture entre dans l’image. Placez les gestionnaires on enterFrame dans un script de comportement, d’image ou d’animation, comme suit : • Pour affecter le gestionnaire à une seule image-objet, placez-le dans un comportement lié à l’image-objet. • Pour affecter le gestionnaire à une seule image, placez-le dans le script de l’image. • Pour affecter le gestionnaire à chaque image (à moins que vous n’indiquiez explicitement le contraire à l’animation), placez le gestionnaire on enterFrame dans un script d’animation. Le gestionnaire est exécuté à chaque fois que la tête de lecture entre dans une image à moins que le script d’image n’ait son propre gestionnaire. Si le script d’image comporte son propre gestionnaire, le gestionnaire on enterFrame du script d’image prévaut sur le gestionnaire on enterFrame du script d’animation. L’ordre des événements d’image est stepFrame, prepareFrame, enterFrame et exitFrame. Cet événement reçoit la référence d’objet me lorsqu’il est utilisé dans un comportement. Exemple Le gestionnaire suivant désactive la condition d’asservissement pour les images 1 à 5 à chaque fois que la tête de lecture entre dans l’image : -- Lingo syntax on enterFrame repeat with i = 1 to 5 _movie.puppetSprite(i, FALSE) end repeat end // JavaScript syntax function enterFrame() { for (i=1;i<=5;i++) { _movie.puppetSprite(i, false); } } on EvalScript Syntaxe -- Lingo syntax on EvalScript aParam statement(s) end // JavaScript syntax function EvalScript(aParam) { statement(s); } ADOBE DIRECTOR 11.0 164 Dictionnaire de script Description Message système et gestionnaire d’événement ; dans une animation comportant du contenu Adobe® Shockwave®, contient des instructions exécutées lorsque le gestionnaire reçoit un message EvalScript de la part d’un navigateur. Le paramètre est une chaîne reçue du navigateur web. • Le message EvalScript peut inclure une chaîne que Director peut interpréter comme une instruction Lingo. Lingo n’accepte pas de chaînes imbriquées. Si le gestionnaire que vous appelez attend une chaîne comme paramètre, passez le paramètre comme symbole. • Le gestionnaire on EvalScript est appelé par la méthode de programmation JavaScript or VBScript EvalScript() dans un navigateur. Seuls les comportements devant être contrôlés par les utilisateurs doivent être inclus dans on EvalScript ; pour des raisons de sécurité, ne donnez pas un accès complet à tous les comportements. Remarque : Si vous placez un mot-clé return à la fin de votre gestionnaire EvalScript, la valeur renvoyée peut être utilisée par JavaScript dans le navigateur web. Exemple L’exemple suivant indique comment faire passer la tête de lecture à une image spécifique en fonction de l’image passée comme paramètre : -- Lingo syntax on EvalScript aParam _movie.go(aParam) end // JavaScript syntax function EvalScript(aParam) { _movie.go(aParam); } Le gestionnaire suivant exécute l’instruction _movie.go(unParamètre) s’il reçoit un message EvalScript contenant l’argument chien, chat ou arbre : -- Lingo syntax on EvalScript aParam case aParam of "dog", "cat", "tree": _movie.go(aParam) end case end // JavaScript syntax function EvalScript(aParam) { switch(aParam) { case "dog", "cat", "tree": _movie.go(aParam); } } Une instruction d’appel possible dans JavaScript serait EvalScript ("dog"). Le gestionnaire suivant prend un argument qui pourrait être un nombre ou un symbole : -- Lingo syntax on EvalScript aParam if word 1 of aParam = "myHandler" then _movie.go(aParam) end if end ADOBE DIRECTOR 11.0 165 Dictionnaire de script // JavaScript syntax function EvalScript(aParam) { if (aParam.indexOf("myHandler",0)) { _movie.go(aParam); } } Le gestionnaire suivant nécessite normalement une chaîne comme argument. L’argument est reçu sous la forme d’un symbole, puis converti en chaîne dans le gestionnaire par la fonction string : -- Lingo syntax on myHandler aParam _movie.go(string(aParam)) end // JavaScript syntax function myHandler(aParam) { _movie.go(aParam.toString()); } Voir aussi externalEvent(), return (mot-clé) on exitFrame Syntaxe -- Lingo syntax on exitFrame statement(s) end // JavaScript syntax function exitFrame() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées chaque fois que la tête de lecture quitte l’image à laquelle le gestionnaire on exitFrame est lié. Le gestionnaire on exitFrame est utile pour insérer des instructions Lingo réinitialisant des conditions devenues inutiles après la sortie de l’image. Placez les gestionnaires on exitFrame dans des scripts de comportement, d’image ou d’animation de la façon suivante : • Pour affecter le gestionnaire à une seule image-objet, placez-le dans un comportement lié à l’image-objet. • Pour affecter le gestionnaire à une seule image, placez-le dans le script de l’image. • Pour affecter le gestionnaire à chaque image (à moins que vous n’indiquiez explicitement le contraire), placez le gestionnaire dans un script d’animation. Le gestionnaire on exitFrame est exécuté chaque fois que la tête de lecture quitte l’image, à moins que le script d’image ne comporte son propre gestionnaire on exitFrame. Si le script d’image comporte son propre gestionnaire on exitFrame, ce gestionnaire prévaut sur celui du script d’animation. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. L’ordre des événements d’image est prepareFrame, enterFrame et exitFrame. ADOBE DIRECTOR 11.0 166 Dictionnaire de script Exemple Le gestionnaire suivant désactive toutes les conditions d’asservissement lorsque la tête de lecture quitte l’image : -- Lingo syntax on exitFrame me repeat with i = 48 down to 1 sprite(i).scripted = FALSE end repeat end // JavaScript syntax function exitFrame() { for (i=48; i>=1; i--); sprite(i).scripted = false; } } Le gestionnaire suivant déplace la tête de lecture vers une image spécifiée si la valeur de la variable globale vTotal dépasse 1 000 lorsque la tête de lecture quitte l’image : // JavaScript syntax function exitFrame() { if (_global.vTotal > 1000) { _movie.go("Finished"); } } Voir aussi on enterFrame on getBehaviorDescription Syntaxe -- Lingo syntax on getBehaviorDescription statement(s) end // JavaScript syntax function getBehaviorDescription() { statement(s); } Description Message système et gestionnaire d’événement ; contient du code Lingo renvoyant la chaîne qui apparaît dans le volet de description de l’Inspecteur de comportement lorsque le comportement est sélectionné. La chaîne de description est facultative. Director envoie le message getBehaviorDescription aux comportements liés à une image-objet à l’ouverture de l’Inspecteur de comportement. Placez le gestionnaire on getBehaviorDescription dans un comportement. Le gestionnaire peut contenir des caractères de retour de chariot pour formater les descriptions multilignes. Exemple L’instruction suivante affiche Barre de défilement vertical de champ de texte multiligne dans le volet de description : ADOBE DIRECTOR 11.0 167 Dictionnaire de script -- Lingo syntax on getBehaviorDescription return "Vertical Multiline textField Scrollbar" end // JavaScript syntax function getBehaviorDescription() { return "Vertical Multiline textField Scrollbar"; } Voir aussi on getPropertyDescriptionList, on getBehaviorTooltip, on runPropertyDialog on getBehaviorTooltip Syntaxe -- Lingo syntax on getBehaviorTooltip statement(s) end // JavaScript syntax function getBehaviorTooltip() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions Lingo renvoyant la chaîne apparaissant dans une info-bulle pour un script de la palette des bibliothèques. Director envoie le message getBehaviorTooltip au script lorsque le curseur s’arrête au-dessus de ce dernier dans la Palette des bibliothèques. Placez le gestionnaire on getBehaviorTooltip dans le comportement. L’utilisation du gestionnaire est facultative. Si aucun gestionnaire n’est fourni, le nom de l’acteur apparaît dans l’infobulle. Le gestionnaire peut contenir des caractères de retour de chariot pour formater les descriptions multilignes. Exemple L’instruction suivante affiche « Pièce de puzzle » dans le volet de description : -- Lingo syntax on getBehaviorTooltip return "Jigsaw puzzle piece" end // JavaScript syntax function getBehaviorTooltip() { return "Jigsaw puzzle piece"; } Voir aussi on getPropertyDescriptionList, on getBehaviorDescription, on runPropertyDialog ADOBE DIRECTOR 11.0 168 Dictionnaire de script on getPropertyDescriptionList Syntaxe -- Lingo syntax on getPropertyDescriptionList statement(s) end // JavaScript syntax function getPropertyDescriptionList() { statement(s); } Description Message système et gestionnaire d’événement ; contient du code Lingo générant une liste de définitions et de libellés pour les paramètres qui apparaissent dans la boîte de dialogue Paramètres d’un comportement. Placez le gestionnaire on getPropertyDescriptionList dans un script de comportement. Les comportements ne contenant pas de gestionnaire on getPropertyDescriptionList n’apparaissent pas dans la boîte de dialogue Paramètres et ne sont pas modifiables à partir de l’interface de Director. Le message on getPropertyDescriptionList est envoyé lorsqu’une action entraînant l’ouverture de l’Inspecteur de comportement se produit : soit lorsque l’utilisateur fait glisser un comportement sur le scénario, soit lorsqu’il double-clique sur un comportement dans l’Inspecteur de comportement. Les paramètres #default, #format et #comment sont obligatoires pour chaque paramètre. Les valeurs possibles de ces paramètres sont : #default Valeur initiale du paramètre. #format #integer #float #string #symbol #member #bitmap #filmloop #field #palette #picture #sound #button #shape #movie #digitalvideo #script #richtext #ole #transition #xtra #frame #marker #ink #boolean #comment Chaîne descriptive apparaissant à gauche du champ modifiable du paramètre dans la boîte de dialogue Paramètres. #range Fourchette de valeurs possibles pouvant être affectées à une propriété. Cette fourchette est spécifiée sous la forme d’une liste linéaire avec plusieurs valeurs ou comme un minimum et maximum sous la forme d’une liste de propriétés : [#min : valeurMin, #max : valeurMax]. Exemple Le gestionnaire suivant définit les paramètres d’un comportement apparaissant dans la boîte de dialogue Paramètres. Chaque instruction commençant par addProp ajoute un paramètre à la liste appelée Description. Chaque élément ajouté à la liste définit une propriété et ses valeurs #default, #format et #comment : on getPropertyDescriptionList description = [:] description.addProp(#dynamic, [#default:1, #format:#boolean, #comment:"Dynamic"]) description.addProp(#fieldNum, [#default:1, #format:#integer,#comment:"Scroll which sprite:"]) description.addProp(#extentSprite, [#default:1,#format:#integer,#comment: "Extend Sprite:"]) description.addProp(#proportional, [#default:1,#format:#boolean, #comment: "Proportional:"]) return description end ADOBE DIRECTOR 11.0 169 Dictionnaire de script Voir aussi addProp, on getBehaviorDescription, on runPropertyDialog on hyperlinkClicked Syntaxe -- Lingo syntax on hyperlinkClicked me, data, range statement(s) end // JavaScript syntax function hyperlinkClicked(data, range) { statement(s); } Description Message système et gestionnaire d’événement ; utilisé pour déterminer si l’utilisateur a cliqué sur un lien hypertexte. Ce gestionnaire d’événement comprend les paramètres suivants : • me Utilisé dans un comportement pour identifier l’instance d’image-objet. • data Données proprement dites du lien hypertexte ; chaîne saisie dans l’Inspecteur de texte lors de la modification de l’acteur texte. • range Plage de caractères du lien hypertexte dans le texte (il est possible d’obtenir le texte de la plage proprement dite en utilisant la syntaxe réfActeur.char[plage[1]..plage[2]). Ce gestionnaire doit être attaché à une image-objet en tant que script de comportement. Evitez de placer ce gestionnaire dans un script d’acteur. Exemple Le comportement suivant affiche un lien utilisé pour examiner le lien hypertexte sélectionné, passer à une URL si nécessaire, puis afficher le texte du lien dans la fenêtre Messages : property spriteNum on hyperlinkClicked(me, data, range) if data starts "http://" then gotoNetPage(data) end if currentMember = sprite(spriteNum).member anchorString = currentMember.char[range[1]..range[2]] put("The hyperlink on"&&anchorString&&"was just clicked.") end // JavaScript syntax function hyperlinkClicked(data, range) { var st = data.slice(0,7); var ht = "http://"; if (st = ht) { gotoNetPage(data); } var currentMember = sprite(this.spriteNum).member; var r1 = currentMember.getPropRef("char", range[1]).hyperlinkRange; var a = r1[1] - 1; var b = r1[2]; var st = new String(currentMember.text); ADOBE DIRECTOR 11.0 170 Dictionnaire de script var anchorString = st.slice(a, b); put("The hyperlink on " + anchorString + " was just clicked."); } on idle Syntaxe -- Lingo syntax on idle statement(s) end // JavaScript syntax function idle() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsque l’animation n’a pas d’autres événements à traiter et constitue un endroit pratique pour insérer les instructions Lingo à exécuter aussi fréquemment que possible, comme celles qui mettent à jour les valeurs des variables globales et affichent les conditions de l’animation actuelle. Les instructions des gestionnaires on idle étant fréquemment exécutées, il est recommandé de ne pas insérer de code Lingo dont le traitement exige trop de temps dans un gestionnaire on idle. Il est souvent préférable d’insérer les gestionnaires on idle dans des scripts d’image plutôt que dans des scripts d’animation pour tirer parti du gestionnaire on idle uniquement lorsqu’il y a lieu. Director peut charger des acteurs à partir d’une distribution interne ou externe pendant un événement idle. Toutefois, il ne peut pas charger des acteurs liés lors d’un événement idle. Le message idle est uniquement envoyé aux scripts d’image et d’animation. Exemple Le gestionnaire suivant met à jour l’heure affichée dans l’animation lorsqu’il n’y a aucun autre événement à traiter : -- Lingo syntax on idle member("Time").text = _system.time() end idle // JavaScript syntax function idle() { member("Time").text = _system.time(); } Voir aussi idleHandlerPeriod ADOBE DIRECTOR 11.0 171 Dictionnaire de script on isOKToAttach Syntaxe -- Lingo syntax on isOKToAttach me, aSpriteType, aSpriteNum statement(s) end // JavaScript syntax function isOKToAttach(aSpriteType, aSpriteNum) { statement(s) } Description Gestionnaire intégré ; vous pouvez ajouter ce gestionnaire à un comportement, en vue de vérifier le type d’imageobjet auquel le comportement est associé et empêcher que ce comportement soit attaché à des types d’images-objets non appropriés. Lorsque le comportement est associé à une image-objet, le gestionnaire est exécuté et Director lui transmet le type et le numéro de l’image-objet. L’argument me contient une référence au comportement associé à l’image-objet. Ce gestionnaire est exécuté avant le gestionnaire on getPropertyDescriptionList. L’auteur Lingo peut vérifier deux types d’images-objets. #graphic inclut tous les acteurs graphiques tels que les formes, les bitmaps, les vidéos numériques, le texte, etc. #script indique le comportement associé à la piste des scripts. Dans ce cas, spriteNum est 1. Pour chacun de ces types d’images-objets, le gestionnaire doit renvoyer la valeur TRUE ou FALSE. La valeur TRUE indique que le comportement peut être associé à l’image-objet. La valeur FALSE empêche l’association du comportement à l’image-objet. Si le comportement ne contient pas de gestionnaire on isOKToAttach, le comportement peut être associé à n’importe quelle image ou image-objet. Ce gestionnaire est appelé lors de l’association initiale du comportement à l’image-objet ou à la piste des scripts et lors de l’association d’un nouveau comportement à une image-objet à l’aide de l’Inspecteur de comportement. Exemple L’instruction suivante vérifie le type d’image-objet à laquelle le comportement est associé et renvoie la valeur TRUE pour toutes les images-objets graphiques à l’exception des formes et la valeur FALSE pour la piste des scripts : -- Lingo syntax on isOKToAttach me, aSpriteType, aSpriteNum case aSpriteType of #graphic: -- any graphic sprite type return sprite(aSpriteNum).member.type <> #shape -- works for everything but shape cast members #script: --the frame script channel return FALSE -- doesn't work as a frame script end case end // JavaScript syntax function isOKToAttach(aSpriteType, aSpriteNum) { switch (aSpriteType) { case symbol("graphic"): // any graphic sprite type return sprite(aSpriteNum).member.type != symbol("shape"); ADOBE DIRECTOR 11.0 172 Dictionnaire de script // works for everything but shape cast members case symbol("script"): // the frame script channel return false; // doesn't work as a frame script } } on keyDown Syntaxe -- Lingo syntax on keyDown statement(s) end // JavaScript syntax function keyDown() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsqu’une touche est enfoncée. Lorsqu’une touche est enfoncée, Director recherche un gestionnaire on keyDown aux emplacements suivants dans cet ordre : gestionnaire d’événement principal, script d’image-objet champ modifiable, script d’acteur champ, script d’image et script d’animation. Pour les images-objets et les acteurs, les gestionnaires on keyDown ne fonctionnent qu’avec les acteurs texte et champ modifiables. Un événement keyDown n’a aucun effet sur les autres types d’acteurs, tels que les bitmaps. Si le fait d’appuyer sur une touche doit produire un résultat identique dans toute l’animation, définissez keyDownScript. Director arrête la recherche dès qu’il rencontre le premier gestionnaire on keyDown, sauf si celui-ci contient une commande pass exigeant la transmission du message keyDown à l’emplacement suivant. Le gestionnaire d’événement on keyDown est idéal pour placer des instructions Lingo créant des raccourcis clavier ou d’autres fonctions d’interface, en fonction des actions que vous souhaitez déclencher lorsque l’utilisateur appuie sur une touche du clavier. Lorsque l’animation est lue sous forme d’applet, un gestionnaire on keyDown intercepte toujours les touches enfoncées, même s’il est vide. Lorsque l’utilisateur saisit du texte dans un champ modifiable, le gestionnaire on keyDown associé à ce champ doit inclure la commande pass pour que les caractères saisis apparaissent dans le champ. L’endroit où vous placez un gestionnaire on keyDown peut affecter le moment de son exécution. • Pour appliquer le gestionnaire à une image-objet champ modifiable particulière, placez-le dans un script d’image-objet. • Pour appliquer le gestionnaire à un acteur champ modifiable quelconque, placez-le dans un script d’acteur. • Pour appliquer le gestionnaire à une image entière, placez-le dans un script d’image. • Pour appliquer le gestionnaire à l’animation entière, placez-le dans un script d’animation. Vous pouvez annuler l’effet d’un gestionnaire on keyDown en plaçant un autre gestionnaire on keyDown dans un emplacement qui est vérifié par Lingo avant celui du gestionnaire à remplacer. Par exemple, vous pouvez outrepasser un gestionnaire on keyDown affecté à un acteur en plaçant un gestionnaire on keyDown dans un script d’imageobjet. ADOBE DIRECTOR 11.0 173 Dictionnaire de script Exemple Le gestionnaire suivant vérifie si la touche Retour a été enfoncée et, le cas échéant, fait passer la tête de lecture à une autre image : -- Lingo syntax on keyDown if (_key.key = RETURN) then _movie.go("AddSum") end keyDown // JavaScript syntax function keyDown() { if (_key.keyCode == 36) { _movie.go("AddSum"); } } Voir aussi charToNum(), keyDownScript, keyUpScript, key, keyCode, keyPressed() on keyUp Syntaxe -- Lingo syntax on keyUp statement(s) end // JavaScript syntax function keyUp() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsque l’utilisateur relâche une touche. Le gestionnaire on keyUp est semblable au gestionnaire on keyDown, à ceci près que l’événement se produit après l’apparition d’un caractère si une image-objet champ ou texte est modifiable à l’écran. Lorsque l’utilisateur relâche une touche, Lingo recherche un gestionnaire on keyUp aux emplacements suivants dans cet ordre : gestionnaire d’événement principal, script d’image-objet champ modifiable, script d’acteur champ, script d’image et script d’animation. Pour les images-objets et les acteurs, les gestionnaires on keyUp ne fonctionnent qu’avec les chaînes modifiables. Un événement keyUp n’a aucun effet sur les autres types d’acteurs, tels que les bitmaps. Si le fait de relâcher une touche doit produire un résultat identique dans toute l’animation, définissez keyUpScript. Lingo arrête la recherche dès qu’il rencontre le premier gestionnaire on keyUp, sauf si celui-ci contient une commande pass exigeant la transmission du message keyUp à l’emplacement suivant. Le gestionnaire d’événement on keyUp constitue un emplacement adéquat pour insérer du code Lingo créant des raccourcis clavier ou d’autres fonctions d’interface en fonction des actions que vous souhaitez déclencher lorsque l’utilisateur relâche une touche du clavier. Lorsque l’animation est lue sous forme d’applet, un gestionnaire on keyUp intercepte toujours les touches enfoncées, même s’il est vide. Lorsque l’utilisateur saisit du texte dans un champ modifiable, le gestionnaire on keyUp associé à ce champ doit inclure la commande pass pour que les caractères saisis apparaissent dans le champ. ADOBE DIRECTOR 11.0 174 Dictionnaire de script L’endroit où vous placez un gestionnaire on keyUp peut affecter le moment de son exécution de la façon suivante : • Pour appliquer le gestionnaire à une image-objet champ modifiable spécifique, placez-le dans un comportement. • Pour appliquer le gestionnaire à un acteur champ modifiable quelconque, placez-le dans un script d’acteur. • Pour appliquer le gestionnaire à une image entière, placez-le dans un script d’image. • Pour appliquer le gestionnaire à l’animation entière, placez-le dans un script d’animation. Vous pouvez annuler l’effet d’un gestionnaire on keyUp en plaçant un autre gestionnaire on keyUp à un emplacement qui est vérifié par Lingo avant celui du gestionnaire à remplacer. Par exemple, vous pouvez outrepasser le gestionnaire on keyUp affecté à un acteur en plaçant un gestionnaire on keyUp dans un script d’image-objet. Exemple Le gestionnaire suivant vérifie si la touche Retour a été relâchée et, le cas échéant, fait passer la tête de lecture à une autre image : -- Lingo syntax on keyUp if (_key.key = RETURN) then _movie.go("AddSum") end keyUp // JavaScript syntax function keyUp() { if (_key.keyCode == 36) { _movie.go("AddSum"); } } Voir aussi on keyDown, keyDownScript, keyUpScript on mouseDown (gestionnaire d’événement) Syntaxe -- Lingo syntax on mouseDown statement(s) end // JavaScript syntax function mouseDown() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsque l’utilisateur appuie sur le bouton de la souris. Lorsque le bouton de la souris est enfoncé, Lingo recherche un gestionnaire on mouseDown aux emplacements suivants dans cet ordre : gestionnaire d’événement principal, script d’image-objet, script d’acteur, script d’image et script d’animation. Lingo arrête la recherche dès qu’il rencontre le premier gestionnaire on mouseDown, sauf si celuici contient une commande pass exigeant la transmission du message mouseDown à l’emplacement suivant. ADOBE DIRECTOR 11.0 175 Dictionnaire de script Pour que l’animation réponde toujours de la même manière lorsque le bouton de la souris est enfoncé, définissez mouseDownScript ou placez un gestionnaire mouseDown dans un script d’animation. Le gestionnaire d’événement on mouseDown constitue un emplacement adéquat pour insérer du code Lingo faisant clignoter des images, déclenchant des effets sonores ou entraînant le déplacement d’images-objets lorsque l’utilisateur appuie sur le bouton de la souris. L’endroit où vous placez un gestionnaire on mouseDown peut affecter le moment de son exécution. • Pour appliquer le gestionnaire à une image-objet spécifique, placez-le dans un script d’image-objet. • Pour appliquer le gestionnaire à un acteur quelconque, placez-le dans un script d’acteur. • Pour appliquer le gestionnaire à une image entière, placez-le dans un script d’image. • Pour appliquer le gestionnaire à l’animation entière, placez-le dans un script d’animation. Vous pouvez annuler l’effet d’un gestionnaire on mouseDown en plaçant un autre gestionnaire on mouseDown dans un emplacement qui est vérifié par Lingo avant celui du gestionnaire à remplacer. Par exemple, vous pouvez outrepasser un gestionnaire on mouseDown affecté à un acteur en plaçant un gestionnaire on mouseDown dans un script d’image-objet. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. Exemple Le gestionnaire suivant vérifie si l’utilisateur clique à un endroit quelconque de la scène et, le cas échéant, fait passer la tête de lecture à une autre image : -- Lingo syntax on mouseDown if (_mouse.clickOn = 0) then _movie.go("AddSum") end // JavaScript syntax function mouseDown() { if (_mouse.clickOn == 0) { _movie.go("AddSum"); } } Le gestionnaire suivant, affecté à un script d’image-objet, lit un son lorsque l’utilisateur clique sur l’image-objet : -- Lingo syntax on mouseDown sound(1).play(member("Crickets")) end // JavaScript syntax function mouseDown() { sound(1).play(member("Crickets")); } Voir aussi clickOn, mouseDownScript, mouseUpScript ADOBE DIRECTOR 11.0 176 Dictionnaire de script on mouseEnter Syntaxe -- Lingo syntax on mouseEnter statement(s) end // JavaScript syntax function mouseEnter() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsque le pointeur de la souris entre en contact avec la zone référencée de l’image-objet. Il n’est pas nécessaire que le bouton de la souris soit enfoncé. Si l’image-objet est un acteur bitmap dont l’encre est Dessin seul, la zone active correspond à la partie de l’image affichée. Dans tous les autres cas, elle correspond au rectangle de délimitation de l’image-objet. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. Exemple L’instruction suivante est un comportement de bouton simple qui change l’image bitmap du bouton lorsque la souris survole, puis sort du bouton : -- Lingo syntax property spriteNum on mouseEnter me -- Determine current cast member and switch to next in cast currentMember = sprite(spriteNum).member.number sprite(spriteNum).member = currentMember + 1 end on mouseLeave me -- Determine current cast member and switch to previous in cast currentMember = sprite(spriteNum).member.number sprite(spriteNum).member = currentMember - 1 end // JavaScript syntax var spriteNum; function mouseEnter() { // Determine current cast member and switch to next in cast currentMember = sprite(spriteNum).member.number; sprite(spriteNum).member = currentMember + 1; } function mouseLeave() { // Determine current cast member and switch to previous in cast currentMember = sprite(spriteNum).member.number; sprite(spriteNum).member = currentMember - 1; } Voir aussi on mouseLeave, on mouseWithin ADOBE DIRECTOR 11.0 177 Dictionnaire de script on mouseLeave Syntaxe -- Lingo syntax on mouseLeave statement(s) end // JavaScript syntax function mouseLeave() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsque la souris sort de la zone référencée de l’image-objet. Il n’est pas nécessaire que le bouton de la souris soit enfoncé. Si l’image-objet est un acteur bitmap dont l’encre est Dessin seul, la zone active correspond à la partie de l’image affichée. Dans tous les autres cas, elle correspond au rectangle de délimitation de l’image-objet. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. Exemple L’instruction suivante est un comportement de bouton simple qui change l’image bitmap du bouton lorsque la souris survole le bouton, puis en sort : -- Lingo syntax property spriteNum on mouseEnter me -- Determine current cast member and switch to next in cast currentMember = sprite(spriteNum).member.number sprite(spriteNum).member = currentMember + 1 end on mouseLeave me -- Determine current cast member and switch to previous in cast currentMember = sprite(spriteNum).member.number sprite(spriteNum).member = currentMember - 1 end // JavaScript syntax var spriteNum; function mouseEnter() { // Determine current cast member and switch to next in cast currentMember = sprite(spriteNum).member.number; sprite(spriteNum).member = currentMember + 1; } function mouseLeave() { // Determine current cast member and switch to previous in cast currentMember = sprite(spriteNum).member.number; sprite(spriteNum).member = currentMember - 1; } Voir aussi on mouseEnter, on mouseWithin ADOBE DIRECTOR 11.0 178 Dictionnaire de script on mouseUp (gestionnaire d’événement) Syntaxe -- Lingo syntax on mouseUp statement(s) end // JavaScript syntax function mouseUp() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsque le bouton de la souris est relâché. Lorsque l’utilisateur relâche le bouton de la souris, Lingo recherche un gestionnaire on mouseUp aux emplacements suivants dans cet ordre : gestionnaire d’événement principal, script d’image-objet, script d’acteur, script d’image et script d’animation. Lingo arrête la recherche dès qu’il rencontre le premier gestionnaire on mouseUp, sauf si celui-ci contient une commande pass exigeant la transmission du message mouseUp à l’emplacement suivant. Pour obtenir la même réponse dans toute l’animation lorsque l’utilisateur relâche le bouton de la souris, définissez mouseUpScript. Le gestionnaire d’événement on mouseUp constitue un emplacement adéquat pour insérer du code Lingo modifiant l’aspect des objets, tels que des boutons, une fois que l’utilisateur a cliqué dessus. Pour ce faire, il suffit de changer l’acteur de l’image-objet sur laquelle l’utilisateur a cliqué, dès qu’il relâche le bouton de la souris. L’endroit où vous placez un gestionnaire on mouseUp peut affecter le moment de son exécution de la manière suivante : • Pour appliquer le gestionnaire à une image-objet spécifique, placez-le dans un script d’image-objet. • Pour appliquer le gestionnaire à un acteur quelconque, placez-le dans un script d’acteur. • Pour appliquer le gestionnaire à une image entière, placez-le dans un script d’image. • Pour appliquer le gestionnaire à l’animation entière, placez-le dans un script d’animation. Vous pouvez annuler l’effet d’un gestionnaire on mouseUp en plaçant un autre gestionnaire on mouseUp dans un emplacement qui est vérifié par Lingo avant celui du gestionnaire à annuler. Par exemple, vous pouvez outrepasser un gestionnaire on mouseUp affecté à un acteur en plaçant un gestionnaire on mouseUp dans un script d’imageobjet. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. Exemple Le gestionnaire suivant, affecté à l’image-objet 10, change l’acteur associé à cette image-objet à chaque fois que l’utilisateur relâche le bouton de la souris après avoir cliqué sur l’image-objet : -- Lingo syntax on mouseUp sprite(10).member = member("Dimmed") end // JavaScript syntax function mouseUp() { ADOBE DIRECTOR 11.0 179 Dictionnaire de script sprite(10).member = member("Dimmed"); } Voir aussi on mouseDown (gestionnaire d’événement) on mouseUpOutside Syntaxe -- Lingo syntax on mouseUpOutside me statement(s) end // JavaScript syntax function mouseUpOutside() { statement(s); } Description Message système et gestionnaire d’événement ; envoyé lorsque l’utilisateur clique sur une image-objet, puis relâche le bouton de la souris en dehors de cette dernière. Exemple L’instruction suivante lit un son lorsque l’utilisateur clique sur une image-objet, puis relâche le bouton de la souris en dehors du rectangle de délimitation de cette dernière : -- Lingo syntax on mouseUpOutside me sound(1).play(member("Professor Long Hair")) end // JavaScript syntax function mouseUpOutside() { sound(1).play(member("Professor Long Hair")); } Voir aussi on mouseEnter, on mouseLeave, on mouseWithin on mouseWithin Syntaxe -- Lingo syntax on mouseWithin statement(s) end // JavaScript syntax function mouseWithin() { statement(s); } ADOBE DIRECTOR 11.0 180 Dictionnaire de script Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsque la souris est dans la zone référencée de l’image-objet. Il n’est pas nécessaire que le bouton de la souris soit enfoncé. Si l’image-objet est un acteur bitmap dont l’encre est Dessin seul, la zone active correspond à la partie de l’image affichée. Dans tous les autres cas, elle correspond au rectangle de délimitation de l’image-objet. Lorsqu’il est utilisé dans un comportement, cet événement reçoit la référence me du script d’image-objet ou d’image. Exemple L’instruction suivante affiche la position de la souris lorsqu’elle se trouve au-dessus d’une image-objet : -- Lingo syntax on mouseWithin member("Display").text = string(_mouse.mouseH) end // JavaScript syntax function mouseWithin() { member("Display").text = _mouse.mouseH.toString(); } Voir aussi on mouseEnter, on mouseLeave on moveWindow Syntaxe -- Lingo syntax on moveWindow statement(s) end // JavaScript syntax function moveWindow() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsqu’une fenêtre est déplacée, par exemple lorsque l’utilisateur fait glisser une animation vers un nouvel emplacement de la scène. Ce gestionnaire constitue un endroit adéquat pour insérer le code Lingo qui doit être exécuté chaque fois que la fenêtre d’une animation est déplacée. Exemple Le gestionnaire suivant affiche un message dans la fenêtre Messages lorsque la fenêtre d’une animation en cours de lecture est déplacée : -- Lingo syntax on moveWindow put("Just moved window containing" && _movie.name) end ADOBE DIRECTOR 11.0 181 Dictionnaire de script // JavaScript syntax function moveWindow() { put("Just moved window containing " + _movie.name); } Voir aussi activeWindow, name (3D), windowList on openWindow Syntaxe -- Lingo syntax on openWindow statement(s) end // JavaScript syntax function openWindow() { statement(s); } Description Message système et gestionnaire d’événements ; contient des instructions exécutées lorsque Director ouvre l’animation en tant qu’animation dans une fenêtre. C’est aussi un endroit idéal pour insérer des instructions Lingo à exécuter à chaque fois que l’animation s’ouvre dans une fenêtre. Exemple Le gestionnaire suivant exécute le fichier audio Hourra lorsque la fenêtre de l’animation s’ouvre : -- Lingo syntax on openWindow sound(2).play(member("Hurray")) end // JavaScript syntax function openWindow() { sound(2).play(member("Hurray")); } on prepareFrame Syntaxe -- Lingo syntax on prepareFrame statement(s) end // JavaScript syntax function prepareFrame { statement(s); } ADOBE DIRECTOR 11.0 182 Dictionnaire de script Description Message système et gestionnaire d’événements ; contient des instructions exécutées immédiatement avant le dessin de l’image actuelle. Contrairement aux événements beginSprite et endSprite, un événement prepareFrame est généré chaque fois que la tête de lecture arrive sur une image. Le gestionnaire on prepareFrame constitue un emplacement adéquat pour changer les propriétés de l’image-objet avant que celle-ci ne soit dessinée. S’il est utilisé dans un comportement, le gestionnaire on prepareFrame reçoit la référence me. Les commandes go, play et updateStage sont désactivées dans un gestionnaire on prepareFrame. Exemple Le gestionnaire suivant définit la propriété locH de l’image-objet à laquelle le comportement est associé : -- Lingo syntax on prepareFrame me sprite(me.spriteNum).locH= _mouse.mouseH end // JavaScript syntax function prepareFrame() { sprite(spriteNum).locH= _mouse.mouseH; } Voir aussi on enterFrame on prepareMovie Syntaxe -- Lingo syntax on prepareMovie statement(s) end // JavaScript syntax function prepareMovie() { statement(s); } Description Message système et gestionnaire d’événements ; contient des instructions exécutées après que l’animation précharge les acteurs, mais avant qu’elle ne : • crée des instances de comportements liées aux images-objets de la première image lue ; • prépare la première image lue, y compris son dessin, la lecture des sons et l’exécution des transitions et des effets de palette. Les nouvelles variables globales utilisées pour le comportement des images-objets de la première image doivent être initialisées dans le gestionnaire on prepareMovie. Il est inutile de redéfinir les variables globales déjà définies par l’animation précédente. ADOBE DIRECTOR 11.0 183 Dictionnaire de script Un gestionnaire on prepareMovie constitue un emplacement adéquat pour insérer du code Lingo permettant de créer des variables globales, d’initialiser des variables, de lire un son pendant que le reste de l’animation se charge en mémoire ou de vérifier et d’ajuster les paramètres de l’ordinateur tels que le codage des couleurs. Les commandes go, play et updateStage sont désactivées dans un gestionnaire on prepareMovie. Exemple Le gestionnaire suivant crée une variable globale lorsque l’animation débute : -- Lingo syntax on prepareMovie global currentScore currentScore = 0 end // JavaScript syntax function prepareMovie() { _global.currentScore = 0; } Voir aussi on enterFrame, on startMovie on resizeWindow Syntaxe -- Lingo syntax on resizeWindow statement(s) end // JavaScript syntax function resizeWindow() { statement(s); } Description Message système et gestionnaire d’événement ; contient les instructions exécutées lorsqu’une animation est lue dans une fenêtre et que l’utilisateur redimensionne cette fenêtre en faisant glisser sa case de redimensionnement ou l’un de ses bords. Un gestionnaire d’événement on resizeWindow constitue un emplacement adéquat pour insérer du code Lingo relatif aux dimensions de la fenêtre, entraînant par exemple le positionnement des images-objets ou le recadrement d’une vidéo numérique. Exemple Le gestionnaire suivant déplace l’image-objet 3 vers les coordonnées stockées dans la variable emplacementCentral lorsque la fenêtre lue par l’animation est redimensionnée : -- Lingo syntax on resizeWindow centerPlace sprite(3).loc = centerPlace end ADOBE DIRECTOR 11.0 184 Dictionnaire de script // JavaScript syntax function resizeWindow(centerPlace) { sprite(3).loc = centerPlace; } Voir aussi drawRect, sourceRect on rightMouseDown (gestionnaire d’événement) Syntaxe -- Lingo syntax on rightMousedown statement(s) end // JavaScript syntax function rightMouseDown() { statement(s); } Description Message système et gestionnaire d’événements ; sous Windows, spécifie les instructions exécutées lorsque l’utilisateur appuie sur le bouton droit de la souris. Sur les ordinateurs Mac, les instructions sont exécutées lorsque l’utilisateur appuie simultanément sur le bouton de la souris et sur la touche Ctrl, et que la propriété emulateMultiButtonMouse présente la valeur TRUE ; si cette propriété reçoit la valeur FALSE, ce gestionnaire d’événement n’a aucun effet sur le Mac. Exemple Le gestionnaire suivant ouvre la fenêtre Aide lorsque l’utilisateur appuie sur le bouton droit de la souris sous Windows : -- Lingo syntax on rightMousedown window("Help").open() end // JavaScript syntax function rightMouseDown() { window("Help").open(); } on rightMouseUp (gestionnaire d’événement) Syntaxe -- Lingo syntax on rightMouseUp statement(s) end // JavaScript syntax function rightMouseUp() { ADOBE DIRECTOR 11.0 185 Dictionnaire de script statement(s); } Description Message système et gestionnaire d’événement ; sous Windows, spécifie les instructions exécutées lorsque l’utilisateur relâche le bouton droit de la souris. Sur les ordinateurs Mac, les instructions sont exécutées lorsque l’utilisateur relâche le bouton de la souris tout en appuyant sur la touche Ctrl, et que la propriété emulateMultiButtonMouse présente la valeur TRUE ; si cette propriété reçoit la valeur FALSE, ce gestionnaire d’événement n’a aucun effet sur le Mac. Exemple Le gestionnaire suivant ouvre la fenêtre Aide lorsque l’utilisateur relâche le bouton droit de la souris sous Windows : -- Lingo syntax on rightMouseUp window("Help").open() end // JavaScript syntax function rightMouseUp() { window("Help").open(); } on runPropertyDialog Syntaxe -- Lingo syntax on runPropertyDialog me, currentInitializerList statement(s) end // JavaScript syntax function runPropertyDialog(currentInitializerList) { statement(s); } Description Message système et gestionnaire d’événement ; contient un Lingo définissant des valeurs spécifiques pour les paramètres d’un comportement dans la boîte de dialogue Paramètres. Le message runPropertyDialog est envoyé chaque fois que le comportement est associé à une image-objet ou que l’utilisateur modifie les valeurs initiales de la propriété du comportement d’une image-objet. Les paramètres actuels des propriétés initiales d’un comportement sont passés au gestionnaire sous forme de liste de propriétés. Si le gestionnaire on runPropertyDialog n’est pas défini dans le comportement, Director affiche une boîte de dialogue de personnalisation de comportement reposant sur la liste de propriétés renvoyée par le gestionnaire on getPropertyDescriptionList. Exemple Le gestionnaire suivant annule les valeurs de comportement définies dans la boîte de dialogue Paramètres du comportement. Les nouvelles valeurs sont répertoriées dans la liste currentInitializerList. Normalement, la boîte de dialogue Paramètres permet à l’utilisateur de définir les constantes de masse et de gravité. Cependant, le gestionnaire suivant affecte ces valeurs constantes de paramètres sans afficher de boîte de dialogue : ADOBE DIRECTOR 11.0 186 Dictionnaire de script -- Lingo syntax property mass property gravitationalConstant on runPropertyDialog me, currentInitializerList --force mass to 10 currentInitializerList.setaProp(#mass, 10) -- force gravitationalConstant to 9.8 currentInitializerList.setaProp(#gravitationalConstant, 9.8) return currentInitializerList end // JavaScript syntax function runPropertyDialog(currentInitializerList) { //force mass to 10 currentInitializerList.setaProp("mass", 10) //force gravitationalConstant to 9.8 currentInitializerList.setaProp("gravitationalConstant", 9.8) return(currentInitializerList) } Voir aussi on getBehaviorDescription, on getPropertyDescriptionList on savedLocal Syntaxe -- Lingo syntax on savedLocal statement(s) end // JavaScript syntax function savedLocal() { statement(s); } Description Message système et gestionnaire d’événement ; cette propriété permettra d’effectuer des améliorations dans les futures versions de Shockwave Player. Voir aussi allowSaveLocal on sendXML Syntaxe -- Lingo syntax on sendXML "sendxmlstring", "window", "postdata" statement(s) end ADOBE DIRECTOR 11.0 187 Dictionnaire de script // JavaScript syntax function sendXML(sendxmlstring, window, postdata) { statement(s); } Description Gestionnaire d’événement ; fonctionne de façon comparable à la méthode de programmation getURL également disponible avec l’Xtra Adobe® Flash® Asset. Le gestionnaire on sendXML est appelé dans Lingo lorsque la méthode ActionScript objetXML.send est exécutée dans une image-objet Flash ou dans un objet Flash XML. Dans ActionScript, la méthode objetXML.send transmet deux paramètres, en plus des données XML, dans l’objet XML. Ces paramètres sont les suivants : • url URL à laquelle envoyer les données XML. En règle générale, c’est l’URL d’un script serveur qui attend de traiter les données XML. • window Fenêtre de navigateur dans laquelle afficher la réponse du serveur. La méthode ActionScript objetXML.send peut être appelée dans Director, soit par une image-objet Flash, soit par un objet Flash XML global créé dans Lingo. Dans ce cas, le gestionnaire Lingo on sendXML est appelé et les mêmes paramètres sont transmis au gestionnaire. L’instruction Lingo suivante illustre le mode de réception des paramètres par le gestionnaire on sendXML : on sendXML me, theURL, targetWindow, XMLdata Ces paramètres sont en corrélation avec le paramètre objetXML.send de la façon suivante : • theURL • targetWindow • XMLdata URL à laquelle envoyer les données XML. Fenêtre de navigateur dans laquelle afficher la réponse du serveur. Données XML de l’objet Flash XML. En créant un gestionnaire on sendXML dans votre animation Director, vous lui permettez de traiter les événements objetXML.send générés dans une image-objet Flash ou dans un objet Flash global. Les images-objets Flash peuvent également charger des données XML externes ou analyser des données XML internes. L’Xtra Flash Asset gère ces fonctions de la même manière qu’un contenu Flash 5 ou Flash MX dans votre navigateur. Exemple La commande Lingo suivante obtient les informations de méthode objetXML.send d’une image-objet Flash, redirige le navigateur vers l’URL, puis transmet les données XML à l’URL : -- Lingo syntax on sendXML me, theURL, targetWindow, xmlData gotoNetPage(theURL, targetWindow) postNetText(theURL, xmlData) end // JavaScript syntax function sendXML(theURL, targetWindow, xmlData) { gotoNetPage(theURL, targetWindow); postNetText(theURL, xmlData); } ADOBE DIRECTOR 11.0 188 Dictionnaire de script on startMovie Syntaxe -- Lingo syntax on startMovie statement(s) end // JavaScript syntax function startMovie() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées avant que la tête de lecture n’atteigne la première image de l’animation. L’événement startMovie se produit après l’événement prepareFrame et avant l’événement enterFrame. Un gestionnaire on startMovie constitue un emplacement adéquat pour insérer du code Lingo initialisant les images-objets de la première image de l’animation. Exemple Le gestionnaire suivant rend les images-objets invisibles au démarrage de l’animation : -- Lingo syntax on startMovie repeat with counter = 10 to 50 sprite(counter).visible = 0 end repeat end startMovie // JavaScript syntax function startMovie() { for(counter=10;counter<=50;counter++) { sprite(counter).visible = 0; } } Voir aussi on prepareMovie on stepFrame Syntaxe -- Lingo syntax on stepFrame statement(s) end // JavaScript syntax function stepFrame() { statement(s); } ADOBE DIRECTOR 11.0 189 Dictionnaire de script Description Message système et gestionnaire d’événement ; fonctionne dans les scripts présents dans la liste actorList puisque ce sont les seuls à recevoir des messages on stepFrame. Ce gestionnaire d’événement est exécuté lorsque la tête de lecture arrive sur une image ou que la scène est mise à jour. Un gestionnaire on stepFrame constitue un endroit utile pour insérer du code Lingo que vous souhaitez exécuter fréquemment pour une série d’objets spécifique. Affectez les objets à la liste actorList lorsque vous souhaitez que les éléments Lingo du gestionnaire on stepFrame soient exécutés ; inversement, supprimez ces objets de la liste actorList pour éviter l’exécution de ces éléments Lingo. Lorsque les objets figurent dans actorList, leurs gestionnaires on stepFrame sont exécutés chaque fois que la tête de lecture arrive sur une image ou que la commande updateStage est émise. Le message stepFrame est envoyé avant le message prepareFrame. Affectez des objets à actorList pour qu’ils puissent répondre aux messages stepFrame. Les objets doivent disposer d’un gestionnaire on stepFrame pour utiliser cette fonctionnalité intégrée avec actorList. Les commandes go, play et updateStage sont désactivées dans un gestionnaire on stepFrame. Exemple Si l’objet enfant est affecté à actorList, le gestionnaire on stepFrame de ce script parent met à jour la position de l’image-objet stockée dans la propriété mySprite chaque fois que la tête de lecture arrive sur une image : -- Lingo syntax property mySprite on new me, theSprite mySprite = theSprite return me end on stepFrame me sprite(mySprite).loc = point(random(640),random(480)) end // JavaScript syntax // define a constructor class that contains the mySprite property function Frame(theSprite) { this.mySprite = theSprite; } function stepFrame() { var myFrame = new Frame(sprite(spriteName).spriteNum); sprite(myFrame.mySprite).loc = point(random(640),random(480)); end on stopMovie Syntaxe -- Lingo syntax on stopMovie statement(s) end ADOBE DIRECTOR 11.0 190 Dictionnaire de script // JavaScript syntax function stopMovie() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées à l’arrêt de l’animation. Un gestionnaire on stopMovie constitue un emplacement adéquat pour insérer du code Lingo destiné à effectuer les tâches de nettoyage, telles que la fermeture des fichiers de ressource, l’élimination des variables globales et la suppression de champs et d’objets, lorsque l’animation est terminée. Lorsque le gestionnaire on stopMovie figure dans une animation dans une fenêtre, il n’est appelé que lorsque l’animation est lue jusqu’à la fin ou débouche sur une autre animation. Il n’est pas appelé lorsque la fenêtre est fermée ou supprimée par le biais de la commande forget window. Exemple Le gestionnaire suivant crée une variable globale lorsque l’animation s’arrête : -- Lingo syntax global gCurrentScore on stopMovie gCurrentScore = 0 end // JavaScript syntax _global.gCurrentScore; function stopMovie() { _global.gCurrentScore = 0; } Voir aussi on prepareMovie on streamStatus Syntaxe -- Lingo syntax on streamStatus URL, state, bytesSoFar, bytesTotal, error statement(s) end // JavaScript syntax function streamStatus(URL, state, bytesSoFar, bytesTotal, error) { statement(s); } Description Message système et gestionnaire d’événement ; appelé régulièrement pour déterminer la quantité d’un objet déjà téléchargée depuis Internet. Ce gestionnaire n’est appelé que si tellStreamStatus (TRUE) a été appelé et que le gestionnaire a été ajouté à un script d’animation. ADOBE DIRECTOR 11.0 191 Dictionnaire de script Le gestionnaire d’événement on streamStatus comporte les paramètres suivants : URL Affiche l’adresse Internet des données en cours de récupération. state Affiche l’état du chargement en cours. Les valeurs possibles sont Connecting (connexion), Started (commencé), InProgress (en cours), Complete (terminé) et Error (erreur). bytesSoFar Affiche le nombre d’octets récupérés depuis le réseau. bytesTotal Affiche le nombre total d’octets transférés, si ce chiffre est connu. Cette valeur peut être 0 si le serveur HTTP ne fait pas figurer la longueur du contenu dans l’en-tête MIME. error Affiche une chaîne vide ("") si le téléchargement n’est pas terminé, OK s’il a abouti avec succès ou un code d’erreur s’il a échoué. Ces paramètres sont automatiquement remplis par Director avec des informations concernant l’évolution du téléchargement. Ce gestionnaire est appelé automatiquement par Director et il n’y a aucun moyen de contrôler quand il est appelé la fois suivante. Si des informations relatives à une opération spécifique sont requises, appelez getStreamStatus(). Vous pouvez lancer un téléchargement réseau à l’aide de commandes Lingo, en liant les médias avec une URL ou en utilisant un acteur externe à partir d’une URL. Un gestionnaire streamStatus est appelé pour fournir des informations sur tous les transferts à partir du réseau. Insérez le gestionnaire streamStatus dans un script d’animation. Exemple Le gestionnaire suivant détermine l’état d’un objet transféré et affiche son URL : -- Lingo syntax on streamStatus URL, state, bytesSoFar, bytesTotal if state = "Complete" then put(URL && "download finished") end if end streamStatus // JavaScript syntax function streamStatus(URL, state, bytesSoFar, bytesTotal) { if (state == "Complete") { put(URL + " download finished"); } } Voir aussi getStreamStatus(), tellStreamStatus() on timeOut Syntaxe -- Lingo syntax on timeOut statement(s) end // JavaScript syntax function timeOut() { ADOBE DIRECTOR 11.0 192 Dictionnaire de script statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsque la souris ou le clavier n’a pas été utilisé pendant la durée spécifiée par timeOutLength. Insérez toujours un gestionnaire on timeOut dans un script d’animation. Pour que la temporisation produise la même réponse pendant toute l’animation, utilisez timeoutScript afin de contrôler le comportement du délai d’inactivité de façon centralisée. Exemple Le gestionnaire suivant lit l’animation Boucle lorsque les utilisateurs sont restés inactifs pendant la durée définie par la propriété timeoutLength. Il peut être utilisé pour répondre lorsque les utilisateurs quittent l’ordinateur. -- Lingo syntax on timeOut _movie.play("Attract Loop") end timeOut // JavaScript syntax function timeOut() { _movie.play("Attract Loop"); } trayIconMouseDoubleClick Syntaxe -- Lingo syntax on trayIconMouseDoubleClick statement(s) end // JavaScript syntax function trayIconMouseDoubleClick() { statement(s); } Description Gestionnaire d’événement d’animation et de fenêtre (Microsoft Windows uniquement). Contient les instructions exécutées lorsqu’un utilisateur double-clique sur l’icône de la barre d’état système. L’événement trayIconMouseDoubleClick n’est envoyé au gestionnaire que si la propriété systemTrayIcon présente la valeur TRUE. Exemple Le gestionnaire suivant met une animation en pause lorsqu’un utilisateur double-clique sur l’icône de la barre d’état système. -- Lingo syntax on trayIconMouseDoubleClick _movie.delay(500) end // JavaScript syntax ADOBE DIRECTOR 11.0 193 Dictionnaire de script function trayIconMouseDoubleClick() { _movie.delay(500); } Voir aussi Animation, systemTrayIcon, trayIconMouseDown, trayIconRightMouseDown, Fenêtre trayIconMouseDown Syntaxe -- Lingo syntax on trayIconMouseDown statement(s) end // JavaScript syntax function trayIconMouseDown() { statement(s); } Description Gestionnaire d’événement d’animation et de fenêtre (Microsoft Windows uniquement). Contient les instructions exécutées lorsqu’un utilisateur clique une fois sur l’icône de la barre d’état système. L’événement trayIconMouseDown n’est envoyé au gestionnaire que si la propriété systemTrayIcon présente la valeur TRUE. Exemple Le gestionnaire suivant met une animation en pause lorsqu’un utilisateur clique après avoir positionné la souris sur l’icône de la barre d’état système. -- Lingo syntax on trayIconMouseDown _movie.delay(500) end // JavaScript syntax function trayIconMouseDown() { _movie.delay(500); } Voir aussi Animation, systemTrayIcon, trayIconMouseDoubleClick, trayIconRightMouseDown, Fenêtre trayIconRightMouseDown Syntaxe -- Lingo syntax on trayIconRightMouseDown statement(s) end ADOBE DIRECTOR 11.0 194 Dictionnaire de script // JavaScript syntax function trayIconRightMouseDown() { statement(s); } Description Gestionnaire d’événement d’animation et de fenêtre (Microsoft Windows uniquement). Contient les instructions exécutées lorsqu’un utilisateur clique une fois sur l’icône de la barre d’état système. L’événement trayIconRightMouseDown n’est envoyé au gestionnaire que si la propriété systemTrayIcon présente la valeur TRUE. Exemple Le gestionnaire suivant met une animation en pause lorsqu’un utilisateur clique une fois sur l’icône de la barre d’état système. -- Lingo syntax on trayIconRightMouseDown _movie.delay(500) end // JavaScript syntax function trayIconRightMouseDown() { _movie.delay(500); } Voir aussi Animation, systemTrayIcon, trayIconMouseDoubleClick, trayIconMouseDown, Fenêtre on zoomWindow Syntaxe -- Lingo syntax on zoomWindow statement(s) end // JavaScript syntax function zoomWindow() { statement(s); } Description Message système et gestionnaire d’événement ; contient des instructions exécutées lorsqu’une animation dans une fenêtre est redimensionnée. Cette situation se produit lorsque l’utilisateur clique sur le bouton Réduction ou Agrandissement (Windows) ou sur le bouton Zoom (Mac). Le système d’exploitation détermine les dimensions après avoir redimensionné la fenêtre. Un gestionnaire d’événement on zoomWindow constitue un emplacement adéquat pour insérer du code Lingo réorganisant les images-objets lorsque les dimensions de la fenêtre évoluent. Exemple Le gestionnaire suivant déplace l’image-objet 3 vers les coordonnées stockées dans la variable emplacementCentral lorsque la fenêtre lue par l’animation est redimensionnée : ADOBE DIRECTOR 11.0 195 Dictionnaire de script -- Lingo syntax on zoomWindow centerPlace = point(10, 10) sprite(3).loc = centerPlace end // JavaScript syntax function zoomWindow() { var centerPlace = point(10, 10); sprite(3).loc = centerPlace; } Voir aussi drawRect, sourceRect, on resizeWindow 196 Chapitre 11 : Mots-clés Ce chapitre répertorie dans l’ordre alphabétique tous les mots-clés disponibles dans Adobe® Director®. Ces mots-clés ne s’appliquent qu’à Lingo. Bien que la syntaxe JavaScript comporte certains mots-clés et constructions ayant la même fonction que les mots-clés Lingo répertoriés ici, ces éléments JavaScript n’apparaissent pas dans ce chapitre. Pour plus d’informations concernant les mots-clés et constructions de la syntaxe JavaScript, reportez-vous au chapitre « Principes de base de la programmation dans Director », page 4. \ (continuation) Syntaxe -- Lingo syntax first part of a statement on this line second part of the statement third part of the statement Description Symbole de continuation ; lorsqu’utilisé comme dernier caractère d’une ligne, indique que l’instruction continue à la ligne suivante. Lingo interprète alors ces lignes comme une seule instruction. Exemple L’instruction suivante utilise le caractère \ pour diviser l’instruction en deux lignes : -- Lingo syntax if sprite("mySprite").member = member("myMember") then _player.alert("The sprite was created from myMember") case Syntaxe -- Lingo syntax case expression of expression1: Statement expression2: Statement(s) expression3, expression4: Statement {otherwise: Statement(s)} end case Description Mot-clé ; lance une structure de branchements multiples plus facile à rédiger qu’une suite d’instructions if...then. Lingo compare la valeur de case expression aux expressions des lignes suivantes. Cette comparaison commence au début de ces lignes et continue dans l’ordre jusqu’à ce que Lingo rencontre une expression identique à case expression. ADOBE DIRECTOR 11.0 197 Dictionnaire de script Le cas échéant, Lingo exécute la ou les instructions correspondantes suivant les deux-points placés après l’expression identique. Si une seule instruction suit l’expression identique, l’instruction peut être placée sur la même ligne que l’expression. Les instructions multiples doivent apparaître sur des lignes en retrait immédiatement après l’expression identique. Lorsque plusieurs correspondances possibles pourraient entraîner Lingo à exécuter les mêmes instructions, les expressions doivent être séparées par des virgules. La ligne contenant expression3 et expression4 est un exemple d’une telle situation. Lingo suspend sa recherche de correspondance dès qu’il rencontre la première expression correspondant à celle recherchée. Si l’instruction facultative otherwise figure à la fin de la structure case, les instructions qui suivent otherwise sont exécutées si Lingo ne rencontre aucune expression identique. Exemple Le gestionnaire suivant teste la touche sur laquelle l’utilisateur vient d’appuyer et y répond en conséquence. • Si l’utilisateur a appuyé sur A, l’animation passe à l’image Pomme. • Si l’utilisateur a appuyé sur B ou C, l’animation exécute la transition demandée et passe à l’image Oranges. • Si l’utilisateur a appuyé sur n’importe quelle autre touche, l’ordinateur émet un bip sonore. on keyDown case (_key.key) of "a": _movie.go("Apple") "b", "c": _movie.puppetTransition(99) _movie.go("Oranges") otherwise: _sound.beep() end case end keyDown L’instruction case suivante vérifie si le curseur se trouve sur l’image-objet 1, 2 ou 3 et exécute l’élément Lingo approprié : case _movie.rollOver() of 1: sound(1).play(member("Horn")) 2: sound(1).play(member("Drum")) 3: sound(1).play(member("Bongos")) end case char...of Syntaxe -- Lingo syntax textMemberExpression.char[whichCharacter] char whichCharacter of fieldOrStringVariable textMemberExpression.char[firstCharacter..lastCharacter] char firstCharacter to lastCharacter of fieldOrStringVariable Description Mot-clé ; identifie un caractère ou une plage de caractères dans une sous-chaîne. Une expression de sous-chaîne est n’importe quel caractère, mot, élément ou ligne dans n’importe quelle source de texte (telle que des acteurs champ et des variables) contenant une chaîne. ADOBE DIRECTOR 11.0 198 Dictionnaire de script • Une expression utilisant whichCharacter identifie un caractère spécifique. • Une expression utilisant firstCharacter et lastCharacter identifie une plage de caractères. Ces expressions doivent être des nombres entiers spécifiant un caractère ou une plage de caractères dans une souschaîne. Les caractères peuvent être des lettres, des nombres, des signes de ponctuation, des espaces et des caractères de contrôle comme Tabulation ou Retour. Le mot-clé char...of peut être testé, mais pas défini. Utilisez la commande put...into pour modifier les caractères d’une chaîne. Exemple L’instruction suivante affiche le premier caractère de la chaîne $9,00 : //Lingo put(("$9.00").char[1..1]) -- "$" // Javascript trace(("$9.00").substring(0,1)) -- "$" L’instruction suivante affiche la chaîne $9,00 en entier : //Lingo put(("$9.00").char[1..5]) -- "$9.00" // Javascript trace(("$9.00").substring(0)) -- "$9.00" L’instruction suivante modifie les cinq premiers caractères du deuxième mot de la troisième ligne d’un acteur texte : //Lingo member("quiz").line[3].word[2].char[1..5] = "?????" // Javascript var s = member(1).getPropRef("line",3).getProp("word",2) s=s.replace(s.substring(0),"????") member(1).getPropRef("line",3).setProp("word",2,s) Voir aussi mouseMember, mouseItem, mouseLine, mouseWord end Syntaxe -- Lingo syntax end Description Mot-clé ; marque la fin des gestionnaires et des structures de contrôle à plusieurs lignes. Exemple Le gestionnaire mouseDown suivant s’achève par une instruction end mouseDown. ADOBE DIRECTOR 11.0 199 Dictionnaire de script on mouseDown _player.alert("The mouse was pressed") end mouseDown end case Syntaxe -- Lingo syntax end case Description Mot-clé ; termine une instruction case. Exemple Le gestionnaire suivant utilise le mot-clé end case pour terminer l’instruction case : on keyDown case (_key.key) of "a": _movie.go("Apple") "b", "c": _movie.puppetTransition(99) _movie.go("Oranges") otherwise: _sound.beep() end case end keyDown Voir aussi case exit Syntaxe -- Lingo syntax exit Description Mot-clé ; indique à Lingo de quitter un gestionnaire et de retourner où le gestionnaire a été appelé. Si le gestionnaire est imbriqué dans un autre gestionnaire, Lingo retourne au gestionnaire principal. Exemple La première instruction du script suivant vérifie si le moniteur est en noir et blanc et, le cas échéant, sort du gestionnaire : on setColors if _system.colorDepth = 1 then exit sprite(1).foreColor = 35 end Voir aussi abort, halt(), quit(), pass, return (mot-clé) ADOBE DIRECTOR 11.0 200 Dictionnaire de script exit repeat Syntaxe -- Lingo syntax exit repeat Description Mot-clé ; indique à Lingo de quitter une boucle et de passer à l’instruction suivant l’instruction end repeat, sans toutefois quitter la méthode ou le gestionnaire actuel. Le mot-clé exit repeat est utile pour sortir d’une boucle de répétition lorsqu’une condition spécifiée, telle que l’égalité de deux valeurs ou la présence d’une valeur donnée dans une variable, existe. Exemple Le gestionnaire suivant cherche la position de la première voyelle dans une chaîne représentée par la variable chaîneDeTest. Dès que la première voyelle est trouvée, la commande exit repeat indique à Lingo de quitter la boucle de répétition et de passer à l’instruction return i : on findVowel testString repeat with i = 1 to testString.char[testString.char.count] if "aeiou" contains testString.char[i] then exit repeat end repeat return i end Voir aussi repeat while, repeat with field Syntaxe field(whichField) Description Mot-clé ; fait référence à l’acteur champ spécifié par whichField. • Lorsque whichField est une chaîne, il est utilisé comme nom d’acteur. • Lorsque whichField est un nombre entier, il est utilisé comme numéro d’acteur. Les chaînes de caractères et expressions de sous-chaînes peuvent être lues ou placées dans le champ. Le terme field était utilisé dans les versions précédentes de Director et est conservé pour une compatibilité amont. Pour les nouvelles animations, utilisez member pour faire référence aux acteurs champs. Exemple L’instruction suivante place les caractères 5 à 10 du champ nommé Entrée dans la variable myKeyword : myKeyword = field("entry").char[5..10] L’instruction suivante vérifie si l’utilisateur a saisi le mot bureau et, le cas échéant, passe à l’image deskBid : if member("bid") contains "desk" then _movie.go("deskBid") ADOBE DIRECTOR 11.0 201 Dictionnaire de script Voir aussi char...of, item...of, line...of, word...of global Syntaxe global variable1 {, variable2} {, variable3}... Description Mot-clé ; définit une variable comme variable globale pour que les autres gestionnaires ou animations puissent la partager. Chaque gestionnaire qui examine ou change le contenu d’une variable globale doit utiliser le mot-clé global pour identifier la variable comme une variable globale. Autrement, le gestionnaire traite la variable comme une variable locale, même si un autre gestionnaire l’a déclarée comme globale. Remarque : pour vérifier que les variables globales sont disponibles dans l’ensemble d’une animation, déclarez et initialisez-les dans le gestionnaire prepareMovie. Ensuite, si vous quittez l’animation puis revenez à celle-ci à partir d’une autre animation, vos variables globales reprennent leurs valeurs initiales à moins que vous ne vérifiiez d’abord qu’elles ne sont pas déjà définies. Une variable globale peut être déclarée dans n’importe quel gestionnaire ou script. Sa valeur peut être utilisée par d’autres gestionnaires ou scripts qui déclarent également la variable comme globale. Si le script change la valeur de la variable, la nouvelle valeur est disponible pour tous les autres gestionnaires traitant la variable comme globale. Une variable globale est disponible dans n’importe quel script ou animation, quel que soit l’endroit où elle a été d’abord déclarée ; elle n’est pas automatiquement supprimée lorsque vous naviguez vers une autre image, animation ou fenêtre. Les variables manipulées dans la fenêtre Messages sont automatiquement globales, même si elles ne sont pas explicitement déclarées comme telles. Les animations comportant du contenu Shockwave® qui sont lues sur Internet ne peuvent pas accéder à des variables globales dans d’autres animations, même si les animations sont lues sur la même page HTML. Les animations peuvent uniquement partager des variables globales si une animation intégrée navigue vers une autre animation et est remplacée par le biais des commandes goToNetMovie ou go movie. Exemple L’exemple suivant attribue à la variable globale PointDeDépart une valeur initiale de 1 si cette variable ne contient pas déjà une valeur. Cela permet une navigation vers l’animation et à partir de celle-ci sans perte des données enregistrées. //Lingo global gStartingPoint on prepareMovie if voidP(gStartingPoint) then gStartingPoint = 1 end // Javascript function prepareMovie(){ if (_global.gStartingPoint==null) then _global.gStartingPoint = 1 } ADOBE DIRECTOR 11.0 202 Dictionnaire de script Voir aussi showGlobals(), property, gotoNetMovie if Syntaxe if logicalExpression then statement if logicalExpression then statement else statement end if if logicalExpression then statement(s) end if if logicalExpression then statement(s) else statement(s) end if if logicalExpression1 then statement(s) else if logicalExpression2 then statement(s) else if logicalExpression3 then statement(s) end if if logicalExpression1 then statement(s) else logicalExpression2 end if Description Mot-clé ; la structure if...then évalue l’expression logique spécifiée par logicalExpression. • Si la condition présente la valeur TRUE, Lingo exécute la ou les instructions qui suivent then. • Si la condition présente la valeur FALSE, Lingo exécute la ou les instructions qui suivent else. Si aucune instruction ne suit else, Lingo quitte la structure if...then. • Toutes les parties de la condition doivent être évaluées, l’exécution ne s’arrêtant pas à la première condition remplie ou non remplie. Un code plus rapide peut donc être créé en imbriquant des instructions if...then sur des lignes séparées au lieu de toutes les placer sur la première ligne à évaluer. Lorsque la condition est une propriété, Lingo vérifie automatiquement si elle a la valeur TRUE. Vous n’avez pas besoin d’ajouter explicitement l’expression = TRUE après la propriété. La partie else de l’instruction est facultative. Pour utiliser plus d’une instruction then ou else, vous devez conclure par la forme end if. La partie else correspond toujours à l’instruction if précédente ; vous devez donc parfois inclure une instruction else nothing pour associer un mot-clé else au mot-clé if approprié. Remarque : une façon rapide de déterminer dans la fenêtre Script si le script est correctement lié est d’appuyer sur la touche de tabulation. Cela force Director à vérifier la fenêtre Script ouverte et afficher la présentation en retrait du contenu. Les différences sont immédiatement visibles. ADOBE DIRECTOR 11.0 203 Dictionnaire de script Exemple L’instruction suivante vérifie si l’utilisateur a appuyé sur un retour chariot et, le cas échéant, continue : if the key = RETURN then go the frame + 1 Le gestionnaire suivant vérifie si les touches Cmd et Q ont été enfoncées simultanément et, le cas échéant, exécute les instructions suivantes : on keyDown if (_key.commandDown) and (_key.key = "q") then cleanUp quit end if end keyDown Comparez les deux constructions suivantes ainsi que les résultats au niveau des performances. La première construction évalue les deux conditions et doit déterminer la mesure du temps, ce qui prend un certain temps. La seconde construction évalue la première condition ; la seconde condition est uniquement vérifiée si la première condition présente la valeur TRUE. spriteUnderCursor = rollOver() if (spriteUnderCursor > 25) and MeasureTimeSinceIStarted() then _player.alert("You found the hidden treasure!") end if L’autre construction, plus rapide, serait la suivante : spriteUnderCursor = rollOver() if (spriteUnderCursor > 25) then if MeasureTimeSinceIStarted() then _player.alert("You found the hidden treasure!") end if end if Voir aussi case INF Syntaxe -- Lingo syntax INF Description Valeur renvoyée ; indique qu’une expression Lingo spécifiée est évaluée comme un nombre infini. Voir aussi NAN ADOBE DIRECTOR 11.0 204 Dictionnaire de script item...of Syntaxe -- Lingo syntax textMemberExpression.item[whichItem] item whichItem of fieldOrStringVariable textMemberExpression.item[firstItem..lastItem] item firstItem to lastItem of fieldOrStringVariable Description Mot-clé ; spécifie un élément ou une série d’éléments d’une sous-chaîne. Dans ce contexte, un élément est une série de caractères délimités par le séparateur défini dans la propriété itemDelimiter. Les termes whichItem, firstItem et lastItem doivent être des nombres entiers ou des expressions entières faisant référence à la position des éléments dans la sous-chaîne. Les sous-chaînes permettent de faire référence à tout caractère, mot, élément ou ligne de n’importe quelle chaîne de texte. Les chaînes possibles sont les acteurs champ et texte et les variables contenant des chaînes. Lorsque le nombre spécifiant le dernier élément est supérieur à celui correspondant à la position de cet élément dans la sous-chaîne, le dernier élément est spécifié à la place. Exemple L’instruction suivante recherche le troisième élément d’une sous-chaîne composée de noms de couleurs et affiche le résultat dans la fenêtre Messages : put("red,yellow,blue green,orange".item[3]) -- "blue green" Le résultat correspond à la sous-chaîne « bleu vert » car tous les caractères placés entre virgules sont pris en compte. L’instruction suivante détermine les éléments du troisième au cinquième élément de la sous-chaîne. Puisque celle-ci ne contient que quatre éléments, seuls le troisième et le quatrième sont renvoyés. Le résultat apparaît dans la fenêtre Messages. put("red,yellow,blue green,orange".item[3..5]) -- "blue green, orange" put item 5 of "red, yellow, blue green, orange" -- "" L’instruction suivante insère l’élément Bureau en quatrième position dans la deuxième ligne de l’acteur champ Tous les devis : member("All Bids").line[2].item[4] = "Desk" Voir aussi char...of, itemDelimiter, number of members, word...of line...of Syntaxe -- Lingo syntax textMemberExpression.line[whichLine] line whichLine of fieldOrStringVariable ADOBE DIRECTOR 11.0 205 Dictionnaire de script textMemberExpression.line[firstLine..lastLine] line firstLine to lastLine of fieldOrStringVariable Description Mot-clé ; identifie une ligne ou une série de lignes d’une sous-chaîne. Une ligne est constituée d’une série de caractères délimités par des retours de chariot et non par des retours à la ligne automatiques. Les expressions whichLine, firstLine et lastLine doivent être des nombres entiers spécifiant une ligne de la sous-chaîne. Les sous-chaînes peuvent représenter n’importe quel caractère, mot, élément ou ligne d’un groupe de caractères. Les sources de texte peuvent être des acteurs champ et des variables contenant des chaînes. Exemple L’instruction suivante affecte les quatre premières lignes de la variable Action à l’acteur champ Tâches : member("To Do").text = Action.line[1..4] L’instruction suivante insère le mot et après le deuxième mot de la troisième ligne de la chaîne affectée à la variable Notes : put "and" after Notes.line[3].word[2] Voir aussi char...of, item...of, word...of, number of members loop (mot-clé) Syntaxe -- Lingo syntax _movie.goLoop() Description Mot-clé ; fait référence au repère. Exemple Le gestionnaire suivant fait boucler l’animation entre le repère précédent et l’image actuelle : on exitFrame _movie.goLoop() end exitFrame me Syntaxe -- Lingo syntax me Description Variable spéciale ; s’utilise à l’intérieur de scripts parents et de comportements pour faire référence à l’objet actuel lorsqu’il est une instance du script parent, du comportement ou d’une variable contenant l’adresse mémoire de l’objet. ADOBE DIRECTOR 11.0 206 Dictionnaire de script Ce terme n’a aucune signification prédéfinie dans Lingo. Le terme me est utilisé par convention. Vous pouvez voir un exemple de me dans une animation en consultant l’animation Parent Scripts du dossier Learning/Lingo_Examples, lui-même dans le dossier de Director. Exemple L’instruction suivante affecte l’objet myBird1 au script Oiseau. Le mot-clé me accepte le script Oiseau et sert à renvoyer ce paramètre. myBird1 = new script("Bird") Voici le gestionnaire on new du script Oiseau : on new me return me end Les deux ensembles de gestionnaires suivants forment un script parent. Le premier ensemble utilise me pour faire référence à l’objet enfant. Le second ensemble utilise la variable myAddress pour faire référence à l’objet enfant. Pour ce qui est du reste, les scripts parents sont les mêmes. Premier ensemble : property myData on new me, theData myData = theData return me end on stepFrame me ProcessData me end Second ensemble : property myData on new myAddress, theData myData = theData return myAddress end on stepFrame myAddress ProcessData myAddress end Voir aussi new(), ancestor menu Syntaxe -- Lingo syntax menu: menuName itemName | script itemName | script ... ADOBE DIRECTOR 11.0 207 Dictionnaire de script or menu: menuName itemName | script itemName | script ... [more menus] Description Mot-clé ; utilisé avec la commande installMenu, il spécifie le contenu des menus personnalisés. Les acteurs champ contiennent des définitions de menus. Faites référence à ces définitions en utilisant le nom ou le numéro de l’acteur. Le mot-clé menu est immédiatement suivi d’un deux-points, d’un espace et du nom du menu. Spécifiez les éléments de ce menu sur les lignes suivantes. Vous pouvez définir un script qui est exécuté lorsque l’utilisateur choisit un élément du menu en plaçant le script après le symbole barre verticale (|). Un nouveau menu est défini par les occurrences suivantes du mot-clé menu. Remarque : les menus ne sont pas disponibles dans Shockwave Player. Sur le Mac, vous pouvez utiliser des caractères spéciaux pour définir des menus personnalisés. Ces caractères spéciaux différencient les majuscules des minuscules. Par exemple, pour qu’un élément de menu apparaisse en gras, la lettre B doit être en majuscules. Des symboles spéciaux doivent suivre le nom de l’élément de menu et précéder le symbole barre verticale (|). Vous pouvez également utiliser plus d’un caractère spécial pour définir un élément de menu. L’utilisation de <B<U, par exemple, définit le style Gras et Souligné. Evitez de formater les caractères spéciaux des animations qui sont lues sur des plates-formes différentes car Windows® ne prend pas toujours en charge ce formatage. Symbole Exemple Description @ menu: @ *Sur le Mac®, crée le symbole Apple® et active les éléments de la barre des menus Mac lorsque vous définissez un menu Pomme. !Ã !ÃSélection rapide *Sur le Mac, place une coche (Option+v) près du menu. <B Gras<B *Sur le Mac, attribue le style Gras à l’élément de menu. <I Italique<I *Sur le Mac, attribue le style Italique. <U Souligné<U *Sur le Mac, attribue le style Souligné. <O Relief<O *Sur le Mac, attribue le style Relief. <S Ombré<S *Sur le Mac, attribue le style Ombré. | Ouvrir/O | go to frame "Ouvrir" Associe un script à l’élément de menu. / Quitter/Q Définit un équivalent commande-touche. ( Enregistrer( Désactive l’élément de menu. (- (- Crée une ligne désactivée dans le menu. *. identifie les symboles de formatage qui ne fonctionnent que sur le Mac. ADOBE DIRECTOR 11.0 208 Dictionnaire de script Exemple Voici le texte d’un acteur champ appelé menuPersonnalisé2 qui permet d’indiquer le contenu d’un menu Fichier personnalisé. Pour installer ce menu, utilisez installMenu member("CustomMenu2") pendant la lecture de l’animation. L’élément de menu Convertir exécute le gestionnaire personnalisé convertThis. menu: File Open/O | _movie.go("Open") Close/W | _movie.go("Close") Convert/C | convertThis (Quit/Q | _movie.go("Quit") Voir aussi installMenu, name, number (éléments de menu), checkMark, enabled, script NAN Syntaxe -- Lingo syntax NAN Description Valeur renvoyée ; indique qu’une expression Lingo spécifiée n’est pas un nombre. L’instruction suivante tente d’afficher la racine carrée de -1, qui n’est pas un nombre, dans la fenêtre Messages : -- Lingo syntax put((-1).sqrt) -- NAN Voir aussi INF next Syntaxe -- Lingo syntax next Description Mot-clé ; fait référence au repère suivant de l’animation et revient à utiliser l’expression the marker (+ 1). Exemple L’instruction suivante envoie la tête de lecture sur le repère suivant de l’animation : go next Le gestionnaire suivant fait passer la tête de lecture au repère suivant du scénario lorsque l’utilisateur appuie sur la touche fléchée Droite et au repère précédent lorsqu’il appuie sur la touche fléchée Gauche : ADOBE DIRECTOR 11.0 209 Dictionnaire de script on keyUp if (_key.keyCode = 124) then _movie.goNext() if (_key.keyCode = 123) then _movie.goPrevious() end keyUp Voir aussi loop (mot-clé), goPrevious() next repeat Syntaxe -- Lingo syntax next repeat Description Mot-clé ; fait passer Lingo à l’étape suivante d’une boucle d’un script. Cette fonction est différente de celle du motclé exit repeat. Exampleg La boucle suivante n’affiche que les nombres impairs dans la fenêtre Messages : repeat with i = 1 to 10 if (i mod 2) = 0 then next repeat put(i) end repeat on Syntaxe -- Lingo syntax on handlerName {argument1}, {arg2}, {arg3} ... statement(s) end handlerName Description Mot-clé ; indique le début d’un gestionnaire, une suite d’instructions Lingo que vous pouvez exécuter en utilisant le nom du gestionnaire. Un gestionnaire peut accepter des arguments comme valeurs d’entrée et renvoyer une valeur comme résultat d’une fonction. Les gestionnaires peuvent être définis dans les comportements, les scripts d’animations et les scripts d’acteurs. Le gestionnaire d’un script d’acteur ne peut être appelé que par les autres gestionnaires du même script. Le gestionnaire d’un script d’animation peut être appelé de partout. Vous pouvez utiliser le même gestionnaire dans plusieurs animations en plaçant son script dans une distribution partagée. ADOBE DIRECTOR 11.0 210 Dictionnaire de script otherwise Syntaxe -- Lingo syntax otherwise statement(s) Description Mot-clé ; précède les instructions exécutées par Lingo si aucune des conditions précédentes d’une instruction case n’est remplie. Ce mot-clé peut s’utiliser pour avertir les utilisateurs d’une entrée hors limites ou d’un type non valide. Il peut aussi s’avérer très utile pour les opérations de débogage pendant le développement. Exemple Le gestionnaire suivant teste la touche sur laquelle l’utilisateur vient d’appuyer et y répond en conséquence : • Si l’utilisateur a appuyé sur A, B ou C, l’animation exécute l’action correspondante qui suit le mot-clé of. • Si l’utilisateur a appuyé sur une autre touche, l’animation exécute l’instruction qui suit le mot-clé otherwise. Le cas échéant, l’instruction est un simple message d’alerte. //Lingo on keyDown case (_key.key) of "a": _movie.go("Apple") "b", "c": _movie.puppetTransition(99) _movie.go("Oranges") otherwise: _player.alert("That is not a valid key.") end case end keyDown // Javascript function keyDown() { switch(_key.key) { case "a": _movie.go("Apple"); break; case "b": case "c": _movie.puppetTransition(99); _movie.go("Oranges"); break; default: _player.alert("That is not a valid key."); } } property Syntaxe -- Lingo syntax property {property1}{, property2} {,property3} {...} ADOBE DIRECTOR 11.0 211 Dictionnaire de script Description Mot-clé ; déclare que les propriétés indiquées par property1, property2, etc. sont des variables de propriétés. Déclarez les variables de propriétés au début du script parent ou du script de comportement. L’opérateur the permet d’y accéder en dehors de ces scripts. Remarque : la propriété spriteNum est disponible à tous les comportements et il suffit de la déclarer pour y accéder. Vous pouvez faire référence à une propriété dans un script parent ou de comportement sans utiliser le mot-clé me. Cependant, pour faire référence à une propriété de l’ancêtre d’un script parent, utilisez la forme me.property. Pour les comportements, les propriétés définies dans un script de comportement sont disponibles aux autres comportements associés à la même image-objet. Vous pouvez manipuler la propriété d’un objet enfant directement en dehors des scripts parents de cet objet au moyen d’une syntaxe semblable à celle utilisée pour manipuler d’autres propriétés. Par exemple, l’instruction suivante définit la propriété motionStyle d’un objet enfant : set the motionStyle of myBouncingObject to #frenetic Utilisez la fonction count pour déterminer le nombre de propriétés contenues dans le script parent d’un objet enfant. Récupérez le nom de ces propriétés au moyen de getPropAt. Ajoutez des propriétés à un objet au moyen de setaProp(). Vous pouvez voir un exemple de property dans une animation en consultant l’animation Parent Scripts du dossier Learning/Lingo_Examples, lui-même dans le dossier de Director. Exemple L’instruction suivante permet à chaque objet enfant créé à partir d’un script parent unique de posséder ses propres paramètres de position et de vitesse : property location, velocity Le gestionnaire de script parent suivant déclare une propriété pMonNumDimageObjet pour la rendre disponible : -- script Elder property pMyChannel on new me, whichSprite me.pMyChannel = whichSprite return me end Le script de comportement d’origine définit l’ancêtre et transmet la propriété spriteNum à tous les comportements : property spriteNum property ancestor on beginSprite me ancestor = new script("Elder", spriteNum) end Voir aussi end, ancestor, spriteNum ADOBE DIRECTOR 11.0 212 Dictionnaire de script put...after Syntaxe -- Lingo syntax put expression after chunkExpression Description Commande ; évalue une expression Lingo, convertit la valeur en chaîne et insère cette dernière à la fin d’une souschaîne spécifiée dans un conteneur, sans remplacer le contenu de ce dernier. Si chunkExpression spécifie une souschaîne cible qui n’existe pas, la valeur de la chaîne est insérée de manière appropriée dans le conteneur. Les expressions de sous-chaîne peuvent représenter n’importe quel caractère, mot, élément ou ligne dans un conteneur quelconque. Les conteneurs peuvent être des acteurs champ, des acteurs texte et des variables contenant des chaînes, ainsi que des caractères, des mots, des éléments, des lignes et des plages spécifiés dans des conteneurs. Exemple L’instruction suivante ajoute la chaîne « renard chien chat » après le contenu de l’acteur champ Liste d’animaux : put("fox dog cat") after member("Animal List") Le même résultat peut s’obtenir avec l’instruction suivante : put "fox dog cat" after member("Animal List").line[1] Voir aussi char...of, item...of, line...of, paragraph, word...of, put...before, put...into put...before Syntaxe -- Lingo syntax put expression before chunkExpression Description Commande ; évalue une expression Lingo, convertit la valeur en chaîne et insère cette dernière avant une sous-chaîne spécifiée dans un conteneur, sans remplacer le contenu de ce dernier. Si chunkExpression spécifie une sous-chaîne cible qui n’existe pas, la valeur de la chaîne est insérée de manière appropriée dans le conteneur. Les expressions de sous-chaîne peuvent représenter n’importe quel caractère, mot, élément ou ligne dans un conteneur quelconque. Les conteneurs peuvent être des acteurs champ, des acteurs texte et des variables contenant des chaînes, ainsi que des caractères, des mots, des éléments, des lignes et des plages spécifiés dans des conteneurs. Exemple L’instruction suivante affecte à la variable listeDanimaux la chaîne « renard chien chat », puis insère le mot élan avant le deuxième mot de la liste : put "fox dog cat" into animalList put "elk " before word 2 of animalList Le résultat correspond à la chaîne « renard élan chien chat ». Le même résultat peut s’obtenir avec la syntaxe suivante : put "fox dog cat" into animalList ADOBE DIRECTOR 11.0 213 Dictionnaire de script put "elk " before animalList.word[2] Voir aussi char...of, item...of, line...of, paragraph, word...of, put...after, put...into put...into Syntaxe -- Lingo syntax put expression into chunkExpression Description Commande ; évalue une expression Lingo, convertit la valeur en une chaîne et insère celle-ci pour remplacer une sous-chaîne spécifiée d’un conteneur. Si chunkExpression spécifie une sous-chaîne cible qui n’existe pas, la valeur de la chaîne est insérée de manière appropriée dans le conteneur. Les expressions de sous-chaîne peuvent représenter n’importe quel caractère, mot, élément ou ligne dans un conteneur quelconque. Les conteneurs peuvent être des acteurs champ, des acteurs texte et des variables contenant des chaînes, ainsi que des caractères, des mots, des éléments, des lignes et des plages spécifiés dans des conteneurs. Lorsqu’une animation est lue en tant qu’applet, la commande put...into remplace tout le texte d’un conteneur, et non uniquement des sous-chaînes de texte. Pour affecter des valeurs à des variables, utilisez la commande set. Exemple L’instruction suivante change la seconde ligne de l’acteur champ Critiques en Critique par Olivier Pognon : put "Reviewed by Agnes Gooch" into line 2 of member("Review Comments") Le même résultat peut s’obtenir avec un acteur texte au moyen de la syntaxe suivante : put "Reviewed by Agnes Gooch" into member("Review Comments").line[2] // Javascript member("Review Comments").setProp("line",2,"Reviewed by Agnes Gooch") repeat while: Voir aussi char...of, item...of, line...of, paragraph, word...of, put...before, put...after, set...to, set...= repeat while Syntaxe -- Lingo syntax repeat while testCondition statement(s) end repeat ADOBE DIRECTOR 11.0 214 Dictionnaire de script Description Mot-clé ; exécute les statement(s) tant que la condition spécifiée par testCondition a la valeur TRUE. Cette structure peut servir pour des instructions Lingo qui lisent des chaînes jusqu’à ce que la fin d’un fichier soit atteinte, qui vérifient des éléments jusqu’à la fin d’une liste ou qui effectuent une action en boucle jusqu’à ce que l’utilisateur clique sur le bouton de la souris ou le relâche. Tant qu’il est dans une boucle, Lingo ignore les autres événements. Pour déterminer la touche actuelle dans une boucle, utilisez la propriété keyPressed. Un seul gestionnaire peut être exécuté à la fois. Si Lingo reste dans une boucle d’une façon prolongée, d’autres événements s’empilent en attente d’évaluation. Les boucles sont donc préférables pour les opérations courtes et rapides ou lorsque vous ne prévoyez aucune action de l’utilisateur. Si vous devez traiter quelque chose pendant au moins plusieurs secondes, évaluez la fonction dans une boucle avec un compteur quelconque ou testez sa progression. Si la condition d’arrêt n’est jamais atteinte ou qu’il n’existe aucune sortie de la boucle, vous pouvez forcer Director à s’arrêter avec Ctrl+Alt+point (Windows) ou Cmde+point (Mac). Exemple Le gestionnaire suivant lance le compteur en le remettant à 0, puis le fait compter jusqu’à 60 millisecondes : on countTime _system.milliseconds repeat while _system.milliseconds < 60 -- waiting for time end repeat end countTime // Javascript function countTime() { _system.milliseconds while (_system.milliseconds < 60) { -- waiting for time } } Voir aussi exit, exit repeat, repeat with, keyPressed() repeat with Syntaxe -- Lingo syntax repeat with counter = start to finish statement(s) end repeat Description Mot-clé ; exécute le code Lingo spécifié par statement(s) autant de fois que spécifié par counter. La valeur de counter correspond à la différence entre la valeur indiquée par start celle indiquée par finish. Le compteur augmente de 1 à chaque fois que Lingo parcourt la boucle. ADOBE DIRECTOR 11.0 215 Dictionnaire de script La structure repeat with sert à appliquer en continu le même effet à un ensemble d’images-objets ou à calculer une série de nombres à une certaine puissance. Tant qu’il est dans une boucle, Lingo ignore les autres événements. Pour déterminer la touche actuelle dans une boucle, utilisez la propriété keyPressed. Un seul gestionnaire peut être exécuté à la fois. Si Lingo reste dans une boucle d’une façon prolongée, d’autres événements s’empilent en attente d’évaluation. Les boucles sont donc préférables pour les opérations courtes et rapides ou lorsque vous ne prévoyez aucune action de l’utilisateur. Si vous devez traiter quelque chose pendant au moins plusieurs secondes, évaluez la fonction dans une boucle avec un compteur ou testez sa progression. Si la condition d’arrêt n’est jamais atteinte ou qu’il n’existe aucune sortie de la boucle, vous pouvez forcer Director à s’arrêter avec Ctrl+Alt+point (Windows) ou Cmde+point (Mac). Exemple Le gestionnaire suivant transforme les images-objets 1 à 30 en esclaves : //Lingo on puppetize repeat with channel = 1 to 30 _movie.puppetSprite(channel, TRUE) end repeat end puppetize // Javascript function puppetize() { for(var channel=1;channel<30;channel++) { _movie.puppetSprite(channel, true); } } Voir aussi exit, exit repeat, repeat while, repeat with...down to, repeat with...in list repeat with...down to Syntaxe -- Lingo syntax repeat with variable = startValue down to endValue Description Mot-clé ; décompte par incréments de 1 à partir de startValue jusqu’à endValue. Un seul gestionnaire peut être exécuté à la fois. Si Lingo reste dans une boucle d’une façon prolongée, d’autres événements s’empilent en attente d’évaluation. Les boucles sont donc préférables pour les opérations courtes et rapides ou lorsque vous ne prévoyez aucune action de l’utilisateur. Tant qu’il est dans une boucle, Lingo ignore les autres événements. Pour déterminer la touche actuelle dans une boucle, utilisez la propriété keyPressed. ADOBE DIRECTOR 11.0 216 Dictionnaire de script Si vous devez traiter quelque chose pendant au moins plusieurs secondes, évaluez la fonction dans une boucle avec un compteur ou testez sa progression. Si la condition d’arrêt n’est jamais atteinte ou qu’il n’existe aucune sortie de la boucle, vous pouvez forcer Director à s’arrêter avec Ctrl+Alt+point (Windows) ou Cmde+point (Mac). Exemple Le gestionnaire suivant contient une boucle qui décompte de 20 à 15 : on countDown repeat with i = 20 down to 15 sprite(6).member = 10 + i _movie.updateStage() end repeat end repeat with...in list Syntaxe -- Lingo syntax repeat with variable in someList Description Mot-clé ; affecte à la variable les valeurs successives issues de la liste spécifiée. Tant qu’il est dans une boucle, Lingo ignore les autres événements, à l’exception des touches. Pour déterminer la touche actuelle dans une boucle, utilisez la propriété keyPressed. Un seul gestionnaire peut être exécuté à la fois. Si Lingo reste dans une boucle d’une façon prolongée, d’autres événements s’empilent en attente d’évaluation. Les boucles sont donc préférables pour les opérations courtes et rapides ou lorsque vous ne prévoyez aucune action de l’utilisateur. Si vous devez traiter quelque chose pendant au moins plusieurs secondes, évaluez la fonction dans une boucle avec un compteur ou testez sa progression. Si la condition d’arrêt n’est jamais atteinte ou qu’il n’existe aucune sortie de la boucle, vous pouvez forcer Director à s’arrêter avec Ctrl+Alt+point (Windows) ou Cmde+point (Mac). Exemple L’instruction suivante affiche quatre valeurs dans la fenêtre Messages : //Lingo repeat with i in [1, 2, 3, 4] put(i) end repeat // Javascript var nl = new Array() nl =[1,2,3,4] var i for(i in nl) { trace(nl[i]) } ADOBE DIRECTOR 11.0 217 Dictionnaire de script return (mot-clé) Syntaxe -- Lingo syntax return expression Description Mot-clé ; renvoie la valeur expression et quitte le gestionnaire. L’argument expression peut être une valeur Lingo quelconque. Lorsque vous appelez un gestionnaire qui sert de fonction définie par l’utilisateur et possède une valeur de renvoi, vous devez entourer de parenthèses les listes d’arguments, même lorsque ces listes sont vides, comme dans le cas du gestionnaire de fonction diceRoll illustré sous la fonction result. La fonction du mot-clé return est similaire à celle de la commande exit, à l’exception près que return renvoie également une valeur à l’instruction qui a appelé le gestionnaire. La commande return dans un gestionnaire entraîne la sortie immédiate de ce gestionnaire, mais peut renvoyer une valeur au Lingo l’ayant appelé. L’utilisation de return dans des scripts orientés objet peut être difficile à comprendre. Il est plus aisé de commencer par utiliser return pour créer des fonctions et sortir de gestionnaires. Vous voyez ensuite que la ligne return me dans un gestionnaire on new fournit un moyen de passer une référence à un objet créé de façon qu’il puisse être affecté à un nom de variable. Le mot-clé return n’est pas identique à la constante de caractère RETURN, qui correspond à un retour de chariot. La fonction dépend du contexte. Pour récupérer une valeur renvoyée, utilisez des parenthèses après le nom du gestionnaire dans l’instruction d’appel pour indiquer que ce nom de gestionnaire est une fonction. Vous pouvez voir un exemple de return (keyword) dans une animation en consultant l’animation Parent Scripts du dossier Learning/Lingo_Examples, lui-même dans le dossier de Director. Exemple Le gestionnaire suivant renvoie un multiple aléatoire de cinq compris entre 5 et 100 : //Lingo on getRandomScore theScore = 5 * random(20) return theScore end getRandomScore // Javascript function getRandomScore() { theScore = 5 * random(20); return theScore; } Vous appelez ce gestionnaire avec une instruction semblable à la suivante : thisScore = getRandomScore() Dans cet exemple, la variable thisScore reçoit la valeur renvoyée par la fonction getRandomScore(). Un script parent remplit la même fonction : en renvoyant la référence de l’objet, le nom de la variable du code d’appel fournit un pointeur pour les références ultérieures à cet objet. ADOBE DIRECTOR 11.0 218 Dictionnaire de script Voir aussi result, RETURN (constante) set...to, set...= Syntaxe -- Lingo syntax lingoProperty = expression variable = expression Description Commande ; évalue une expression et affecte le résultat à la propriété spécifiée par lingoProperty ou à la variable spécifiée par variable. Exemple L’instruction suivante donne à l’acteur 3 le nom de Coucher de soleil : member(3).name = "Sunset" L’instruction suivante inverse l’état de la propriété soundEnabled. Si la propriété soundEnabled présente la valeur TRUE (son activé), cette instruction désactive le son. Si la propriété soundEnabled présente la valeur FALSE (son désactivé), cette instruction active le son. _sound.soundEnabled = not(_sound.soundEnabled) L’instruction suivante affecte à la variable voyelles la chaîne « aeiou » : vowels = "aeiou" Voir aussi property sprite...intersects Syntaxe -- Lingo syntax sprite(sprite1).intersects(sprite2) sprite sprite1 intersects sprite2 Description Mot-clé ; opérateur comparant la position de deux images-objets pour déterminer si le quadrilatère de l’sprite1 est en contact avec celui de l’sprite2 (TRUE) ou non (FALSE). Si l’encre Dessin seul est appliquée aux deux images-objets, la comparaison porte sur leurs contours, non sur leurs quadrilatères. Le contour d’une image-objet est défini par l’ensemble des pixels autres que blanc formant sa bordure. Il s’agit d’un opérateur de comparaison avec niveau de priorité de 5. Remarque : l’opérateur point est requis lorsque l’imageObjet1 n’est pas une expression simple, c’est-à-dire une expression contenant une opération mathématique. ADOBE DIRECTOR 11.0 219 Dictionnaire de script Exemple L’instruction suivante vérifie si deux images-objets se croisent et, le cas échéant, modifie le contenu de l’acteur champ Notice pour qu’il contienne le texte « La position est correcte. ». // Lingo Syntax if sprite i intersects j then put("You placed it correctly.") into member("Notice") // Javascript if (sprite(i).intersects(sprite(j))) { member("Notice").text="You placed it correctly"; } Voir aussi sprite...within, quad sprite...within Syntaxe -- Lingo syntax sprite(sprite1).within(sprite2) sprite sprite1 within sprite2 Description Mot-clé ; opérateur comparant la position de deux images-objets pour déterminer si le quadrilatère de sprite1 est entièrement à l’intérieur de celui de sprite2 (TRUE) ou non (FALSE). Si l’encre Dessin seul est appliquée aux deux images-objets, la comparaison porte sur leurs contours, non sur leurs quadrilatères. Le contour d’une image-objet est défini par l’ensemble des pixels autres que blanc formant sa bordure. Il s’agit d’un opérateur de comparaison avec niveau de priorité de 5. Remarque : l’opérateur point est requis lorsque l’imageObjet1 n’est pas une expression simple, c’est-à-dire une expression contenant une opération mathématique. Exemple L’instruction suivante vérifie si deux images-objets se croisent et, le cas échéant, appelle le gestionnaire Intérieur : //Lingo if sprite(3).within(2) then doInside // Javascript if (sprite(3).within(2)) { doInside(); } Voir aussi sprite...intersects, quad ADOBE DIRECTOR 11.0 220 Dictionnaire de script version Syntaxe -- Lingo syntax _player.productVersion Description Mot-clé ; variable système contenant le numéro de version de Director. La même chaîne apparaît dans la boîte de dialogue Lire les informations du Finder sur le Mac. Exemple L’instruction suivante affiche la version de Director dans la fenêtre Messages : put(_player.productVersion) word...of Syntaxe -- Lingo syntax member(whichCastMember).word[whichWord] textMemberExpression.word[whichWord] chunkExpression.word[whichWord] word whichWord of fieldOrStringVariable fieldOrStringVariable. word[whichWord] textMemberExpression.word[firstWord..lastWord] member(whichCastMember).word[firstWord..lastWord] word firstWord to lastWord of chunkExpression chunkExpression.word[whichWord..lastWord] Description Expression de sous-chaîne ; spécifie un mot ou une série de mots dans une sous-chaîne. Une sous-chaîne de mots est une suite de caractères délimitée par des espaces. Tout caractère invisible, tel qu’une tabulation ou un retour chariot, est considéré comme un espace. Les expressions whichWord, firstWord et lastWord doivent avoir pour valeur un nombre entier correspondant à un mot de la sous-chaîne. Les sous-chaînes peuvent représenter n’importe quel caractère, mot, élément ou ligne d’un groupe de caractères. Les sources de texte peuvent être des acteurs champ et texte et des variables contenant des chaînes. Vous pouvez voir un exemple de word...of dans une animation en consultant l’animation Text du dossier Learning/Lingo_Examples, lui-même dans le dossier de Director. Exemple Les instructions suivantes affectent à la variable listeDanimaux la chaîne « renard chien chat », puis insèrent le mot élan avant le deuxième mot de la liste : animalList = "fox dog cat" put "elk" before animalList.word[2] Le résultat correspond à la chaîne « renard élan chien chat ». ADOBE DIRECTOR 11.0 221 Dictionnaire de script L’instruction suivante demande à Director d’afficher le cinquième mot de la même chaîne dans la fenêtre Messages : put "fox elk dog cat".word[5] Cette chaîne ne comportant pas de cinquième mot, la fenêtre Messages affiche deux guillemets droits (""), ce qui indique une chaîne vide. Voir aussi char...of, line...of, item...of, count(), number (mots) 222 Chapitre 12 : Méthodes Ce chapitre répertorie dans l’ordre alphabétique toutes les méthodes disponibles dans Director®. abort Syntaxe --Lingo syntax abort // JavaScript syntax abort(); Description Commande ; indique à Lingo de sortir du gestionnaire actuel et de tout autre gestionnaire qui l’a appelé sans exécuter les instructions restantes de ce(s) gestionnaire(s). Cette commande diffère du mot-clé exit qui revient au gestionnaire à partir duquel le gestionnaire en cours a été appelé. La commande abort ne quitte pas Director. Paramètres Aucune. Exemple L’instruction suivante indique à Lingo de sortir du gestionnaire actuel et de tout gestionnaire qui l’a appelé si la quantité de mémoire disponible est inférieure à 50 Ko : -- Lingo syntax if the freeBytes < 50*1024 then abort // JavaScript syntax if (_player.freeBytes < 50*1024) { abort() } Voir aussi exit, halt(), quit() abs() Syntaxe --Lingo syntax abs (numericExpression) // JavaScript syntax Math.abs (numericExpression) ADOBE DIRECTOR 11.0 223 Dictionnaire de script Description La fonction abs() a plusieurs usages. Elle permet de simplifier le suivi du mouvement de la souris et des imagesobjets en convertissant leurs coordonnées (qu’elles soient positives ou négatives) en distances (celles-ci sont toujours positives). La fonction abs() permet également de traiter les fonctions mathématiques telles que sqrt() et log(). En syntaxe JavaScript, utilisez la fonction abs() d’un objet mathématique. Paramètres numericExpression Requis. Nombre entier ou nombre à virgule flottante à partir duquel une valeur absolue est calculée. Si numericExpression est un nombre entier, sa valeur absolue est également un nombre entier. Si numericExpression est un nombre à virgule flottante, sa valeur absolue est également un nombre à virgule flottante. Exemple L’instruction suivante détermine si la valeur absolue de la différence entre la position en cours de la souris et la valeur de la variable startV est supérieure à 30 (puisque vous n’allez pas utiliser un nombre négatif pour exprimer une distance). Le cas échéant, la couleur du premier plan de l’image-objet 6 est modifiée. -- Lingo syntax if (the mouseV - startV).abs > 30 then sprite(6).forecolor = 95 // JavaScript syntax if ((_mouse.mouseV - Math.abs(_mouse.startV)) > 30) { sprite(6).foreColor = 95; } activateAtLoc() Syntaxe -- Lingo syntax dvdObjRef.activateAtLoc(point(x, y)) // JavaScript syntax dvdObjRef.activateAtLoc(point(x, y)); Description Méthode de DVD ; active le surlignage de l’élément de menu DVD intégré sous un emplacement de scène spécifié. Cette méthode renvoie la valeur 0 si l’opération a réussi. Paramètres point(x, y) Requis. Point de coordonnées de la scène spécifiant l’emplacement de l’élément de menu DVD intégré. Exemple L’instruction suivante active le surlignage de l’élément de menu à un emplacement de scène spécifié : -- Lingo syntax member("movie1").activateAtLoc(point(100, 200)) // JavaScript syntax member("movie1").activateAtLoc(point(100, 200)); ADOBE DIRECTOR 11.0 224 Dictionnaire de script Voir aussi DVD activateButton() Syntaxe -- Lingo syntax dvdObjRef.activateButton() // JavaScript syntax dvdObjRef.activateButton(); Description Méthode de DVD ; active le bouton de menu sélectionné. Cette méthode renvoie la valeur 0 si l’opération a réussi. Remarque : Cette méthode n’est pas prise en charge dans Mac®-Intel®. Paramètres Aucune. Exemple L’instruction suivante active le bouton de menu sur un acteur spécifié : -- Lingo syntax sprite(1).member.activateButton() // JavaScript syntax sprite(1).member.activateButton(); Voir aussi DVD add Syntaxe -- Lingo syntax linearList.add(value) // JavaScript syntax array.push(value) Description Commande de liste ; pour les listes linéaires uniquement, cette commande ajoute une valeur à une liste linéaire. Dans le cas d’une liste triée, cette valeur est placée dans l’ordre correct. Dans le cas d’une liste non triée, cette valeur est placée à la fin de la liste. Cette commande, utilisée dans une liste de propriétés provoque une erreur. Remarque : Veillez à ne pas confondre la commande add et l’opérateur + utilisé pour les additions ou l’opérateur & utilisé pour concaténer des chaînes. ADOBE DIRECTOR 11.0 225 Dictionnaire de script Paramètres value Requis. Valeur à ajouter à la liste linéaire. Exemple Les instructions suivantes ajoutent la valeur 2 à la liste intitulée devis. La liste résultante est [3, 4, 1, 2]. -- Lingo syntax bids = [3, 4, 1] bids.add(2) // JavaScript syntax bids = new Array(3,4,1); bids.push(2); L’instruction suivante ajoute 2 à la liste linéaire triée [1, 4, 5]. Le nouvel élément reste en ordre alphanumérique, la liste étant une liste triée. -- Lingo syntax bids.add(2) // JavaScript syntax bids.push(2); // to sort the list using JavaScript syntax bids.sort(); Voir aussi sort add (texture 3D) Syntaxe --Lingo syntax member(whichCastmember).model(whichModel).meshdeform.mesh[index].textureLayer.add() // JavaScript syntax member(whichCastmember).model(whichModel).meshdeform.mesh[index].textureLayer.add() Description Commande 3D de modificateur meshdeform ; ajoute une couche de texture vide à la maille du modèle. Vous pouvez copier les coordonnées de texture entre les couches à l’aide du code suivant : modelReference.meshdeform.texturelayer[a].texturecoordinatelist = modelReference.meshdeform.texturelayer[b].texturecoordinatelist Paramètres Aucune. Exemple L’instruction suivante crée une nouvelle couche de texture pour la première maille du modèle Oreille. --Lingo syntax member("Scene").model("Ear").meshdeform.mesh[1].textureLayer.add() // JavaScript syntax member("Scene").getprop("model","Ear").meshdeform.mesh[1].textureLayer.add(); ADOBE DIRECTOR 11.0 226 Dictionnaire de script Voir aussi meshDeform (modificateur), textureLayer, textureCoordinateList addAt Syntaxe list.AddAt(position, value) Description Commande de liste ; pour les listes linéaires uniquement, cette commande ajoute une valeur à une position spécifique de la liste. Cette commande, utilisée avec une liste de propriétés provoque une erreur. Paramètres position Requis. Nombre entier indiquant la position à laquelle la valeur spécifiée par le paramètre value doit être ajoutée à la liste. value Requis. Valeur à ajouter à la liste. Exemple L’instruction suivante ajoute la valeur 8 à la quatrième position de la liste devis qui contient les valeurs [3, 2, 4, 5, 6, 7] : --Lingo bids = [3, 2, 4, 5, 6, 7] bids.addAt(4,8) // Javascript bids = list(3, 2, 4, 5, 6, 7) bids.addAt(4,8) La valeur résultante de la liste devis est donc [3, 2, 4, 8, 5, 6, 7]. addBackdrop Syntaxe -- Lingo syntax sprite(whichSprite).camera{(index)}.addBackdrop(texture, locWithinSprite, rotation) member(whichCastmember).camera(whichCamera).addBackdrop(texture, locWithinSprite, rotation) // JavaScript syntax sprite(whichSprite).camera{(index)}.addBackdrop(texture, locWithinSprite, rotation); member(whichCastmember).camera(whichCamera).addBackdrop(texture, locWithinSprite, rotation); Description Commande de caméra 3D ; ajoute un fond à la fin de la liste des fonds de la caméra. ADOBE DIRECTOR 11.0 227 Dictionnaire de script Paramètres texture Requis. Texture à appliquer au fond. locWithinSprite Requis. Emplacement 2D auquel le fond s’affiche dans l’image-objet 3D. Cet emplacement est mesuré à partir du coin supérieur gauche de l’image-objet. rotation Requis. Nombre entier spécifiant le nombre de degrés selon lequel la texture doit pivoter. Exemple La première ligne de l’instruction suivante crée la texture Rugueuse à partir de l’acteur Cèdre et l’enregistre dans la variable t1. La deuxième ligne applique la texture comme fond à l’emplacement (220, 220) dans l’image-objet 5 avec une rotation de zéro degré. La dernière ligne applique la même texture comme fond pour la caméra 1 de l’acteur Séquence à l’emplacement (20, 20) avec une rotation de 45 degrés. t1 = member("Scene").newTexture("Rough", #fromCastMember,member("Cedar")) sprite(5).camera.addBackdrop(t1, point(220, 220), 0) member("Scene").camera[1].addBackdrop(t1, point(20, 20), 45) // Javascript var t1 = member("Scene").newTexture("Rough", symbol("fromCastMember"),member("Cedar")) sprite(5).camera.addBackdrop(t1, point(220, 220), 0) ; member("Scene").getPropRef("camera",1).addBackdrop(t1, point(20, 20), 45) ; Voir aussi removeBackdrop addCamera Syntaxe -- Lingo syntax sprite(whichSprite).addCamera(whichCamera, index) -- JavaScript syntax sprite(whichSprite).addCamera(whichCamera, index); Description Commande 3D ; ajoute une caméra à la liste des caméras de l’image-objet. Les vues des différentes caméras s’affichent devant celles des caméras situées aux positions d’index inférieures. Vous pouvez définir la propriété rect de chaque caméra afin d’afficher plusieurs vues au sein de l’image-objet. Paramètres whichCamera Requis. Référence à la caméra à ajouter à la liste des caméras de l’image-objet. index Requis. Nombre entier spécifiant l’index au niveau duquel whichCamera doit être ajoutée à la liste des caméras. Si la valeur index est supérieure à la valeur de cameraCount(), la caméra est ajoutée à la fin de la liste. Exemple L’instruction suivante insère la caméra caméraDeVol en cinquième position de la liste des caméras de l’image-objet 12 : --Lingo syntax sprite(12).addCamera(member("scene").camera("FlightCam"), 5) // JavaScript syntax sprite(12).addCamera(member("scene").getPropRef("camera", i), 5); // where i is the number index for the camera "FlightCam". ADOBE DIRECTOR 11.0 228 Dictionnaire de script Voir aussi cameraCount(), deleteCamera addChild Syntaxe -- Lingo syntax member(whichCastmember).node(whichParentNode).addChild(member(whichCastmember).node (whichChildNode) {,#preserveWorld}) // JavaScript syntax member(whichCastmember).node(whichParentNode).addChild(member(whichCastmember).node (whichChildNode) {,symbol(preserveWorld)}) Description Commande 3D ; ajoute un nœud à la liste des enfants d’un autre nœud et le supprime de la liste des enfants de son parent précédent. L’équivalent de cette méthode consisterait à définir la propriété parent du nœud enfant sur le nœud parent. Paramètres addMemberRef Requis. Référence à l’acteur contenant le nœud à ajouter. addNodeRef Requis. Référence au nœud à ajouter. Ce nœud peut être un modèle, un groupe, une caméra ou une lumière. symPreserveParentOrWorld Facultatif. Référence à la caméra à ajouter à la liste des caméras de l’image-objet. Les valeurs possibles sont #preserveWorld et #preserveParent. Lorsque l’enfant est ajouté et que #preserveParent est spécifié, la transformation de l’enfant par rapport à son parent reste la même et l’enfant passe à cette transformation dans l’espace de son nouveau parent. La transformation de l’enfant dans l’univers est recalculée. Lorsque l’enfant est ajouté et que #preserveWorld est spécifié, la transformation de l’enfant dans l’univers reste la même et l’enfant ne passe pas à sa transformation dans l’espace de son nouveau parent. Sa transformation par rapport à son parent est recalculée. Exemple L’instruction suivante ajoute le modèle Pneu à la liste des enfants du modèle Voiture. -- Lingo syntax member("3D").model("Car").addChild(member("3D").model("Tire")) // JavaScript syntax member("3D").getProp("model" , i ).addChild(member("3D").getProp("model" , j)); // where i is the number index for model "Car" and j is the number index for model "Tire". L’instruction suivante ajoute le modèle Oiseau à la liste des enfants de la caméra maCaméra et utilise l’argument #preserveWorld pour conserver la position du modèle Oiseau dans l’univers. -- Lingo syntax member("3D").camera("MyCamera").addChild(member("3D").model ("Bird"), #preserveWorld) // JavaScript syntax member("3D").getPropRef("camera",j).addChild(member("3D").getProp("model",i),symbol("prese rveWorld")) // where i the number index of the model "Bird" and j is the number index of the camera "MyCamera" ADOBE DIRECTOR 11.0 229 Dictionnaire de script Voir aussi parent, addToWorld, removeFromWorld addModifier Syntaxe -- Lingo syntax member(whichCastmember).model(whichModel).addModifier(#modifierType) // JavaScript syntax member(whichCastmember).model(whichModel).addModifier(symbol(modifierType)); Description Commande 3D de modèle ; ajoute un modificateur spécifié au modèle. Il n’existe aucune valeur par défaut pour cette commande. Paramètres symbolModType Requis. Symbole spécifiant le modificateur à ajouter. Les modificateurs possibles sont les suivants : • #bonesPlayer • #collision • #inker • #keyframePlayer • #lod (niveau de détail) • #meshDeform • #sds • #toon Pour plus d’informations, consultez les entrées des différents modificateurs. Exemple L’instruction suivante ajoute le modificateur toon au modèle Boîte. -- Lingo syntax member("shapes").model("Box").addModifier(#toon) // JavaScript syntax member("shapes").getPropRef("model" , a ).addModifier(symbol("toon")); // where a is the number index for the "Box" model. Voir aussi bonesPlayer (modificateur), collision (modificateur), inker (modificateur), keyframePlayer (modificateur), lod (modificateur), meshDeform (modificateur), sds (modificateur), toon (modificateur), getRendererServices(), removeModifier, modifier, modifier[], modifiers ADOBE DIRECTOR 11.0 230 Dictionnaire de script addOverlay Syntaxe -- Lingo syntax sprite(whichSprite).camera{(index)}.addOverlay(texture, locWithinSprite, rotation) member(whichCastmember).camera(whichCamera).addOverlay(texture, locWithinSprite, rotation) // JavaScript syntax sprite(whichSprite).camera{(index)}.addOverlay(texture, locWithinSprite, rotation) member(whichCastmember).camera(whichCamera).addOverlay(texture, locWithinSprite, rotation) Description Commande 3D de caméra ; ajoute un recouvrement à la fin d’une liste de recouvrements de la caméra. Paramètres texture Requis. Texture à appliquer au recouvrement. locWithinSprite Requis. Emplacement 2D auquel le recouvrement s’affiche dans l’image-objet 3D. Cet emplacement est mesuré à partir du coin supérieur gauche de l’image-objet. rotation Requis. Nombre entier spécifiant le nombre de degrés selon lequel la texture doit pivoter. Exemple La première ligne de l’instruction suivante crée la texture Rugueuse à partir de l’acteur Cèdre et l’enregistre dans la variable t1. La deuxième ligne applique la texture comme recouvrement à l’emplacement (220, 220) dans l’imageobjet 5 avec une rotation de zéro degré. La dernière ligne de l’instruction applique la même texture comme recouvrement pour la caméra 1 de l’acteur Séquence, au point (20, 20). Une rotation de 45 degrés est appliquée à la texture. -- Lingo syntax t1 = member("Scene").newTexture("Rough", #fromCastMember,member("Cedar")) sprite(5).camera.addOverlay(t1, point(220, 220), 0) member("Scene").camera[1].addOverlay(t1, point(20, 20), 45) // JavaScript syntax t1 = member("Scene").newTexture("Rough", symbol("fromCastMember"),member("Cedar")); sprite(5).camera.addOverlay(t1, point(220, 220), 0); member("Scene").getPropRef("camera",1).addOverlay(t1, point(20, 20), 45); Voir aussi removeOverlay addProp Syntaxe list.addProp(property, value) addProp list, property, value Description Commande de liste de propriétés ; pour les listes de propriétés uniquement, cette commande ajoute une propriété spécifiée ainsi que sa valeur à une liste de propriétés. ADOBE DIRECTOR 11.0 231 Dictionnaire de script Dans le cas d’une liste non triée, cette valeur est placée à la fin de la liste. Dans le cas d’une liste triée, cette valeur est placée dans l’ordre correct. Si la propriété spécifiée existe déjà dans la liste, les syntaxes Lingo et JavaScript en créent une copie. Pour éviter la présence de propriétés en double, utilisez la commande setaProp() pour modifier la propriété correspondant à la nouvelle entrée. Cette commande, utilisée avec une liste linéaire provoque une erreur. Paramètres property Requis. Propriété à ajouter à la liste. value Requis. Valeur de la propriété à ajouter à la liste. Exemple L’instruction suivante ajoute la propriété kayne et sa valeur 3 à la liste de propriétés bids, qui contient [#avatar: 4, #soldes: 1]. Cette liste étant triée, la nouvelle entrée est placée en ordre alphabétique : --Lingo bids.addProp(#kayne, 3) // Javascript bids.addProp("kayne",3) La liste qui en résulte est [#avatar: 4, #dupont: 3, #soldes: 1]. L’instruction suivante ajoute l’entrée kayne : 7 à la liste bids, qui contient désormais [#avatar: 4, #dupont: 3, #soldes: 1]. Cette liste contenant déjà la propriété kayne, Lingo en crée une copie : --Lingo bids.addProp(#kayne, 7) // Javascript bids.addProp("kayne",7) La liste qui en résulte est [#avatar: 4, #dupont: 3, #dupont: 7, #soldes: 1]. addToWorld Syntaxe -- Lingo syntax member(whichCastmember).model(whichModel).addToWorld() member(whichCastmember).group(whichGroup).addToWorld() member(whichCastmember).camera(whichCamera).addToWorld() member(whichCastmember).light(whichLight).addToWorld() // JavaScript syntax member(whichCastmember).model(whichModel).addToWorld() member(whichCastmember).group(whichGroup).addToWorld() member(whichCastmember).camera(whichCamera).addToWorld() memberwhichCastmember).light(whichLight).addToWorld() Description Commande 3D ; insère le modèle, le groupe, la caméra ou la lumière, dans l’univers 3D de l’acteur comme enfant du groupe Univers. ADOBE DIRECTOR 11.0 232 Dictionnaire de script Lorsqu’un modèle, un groupe, une caméra ou une lumière, est créé ou cloné, il est automatiquement ajouté à l’univers. Utilisez la commande removeFromWorld pour extraire un modèle, un groupe, une caméra ou une lumière de l’univers 3D sans le supprimer. Utilisez la commande isInWorld() pour vérifier si un modèle, un groupe, une caméra ou une lumière a été ajouté à l’univers ou en a été extrait. Paramètres Aucune. Exemple L’instruction suivante ajoute le modèle gbCyl à l’univers 3D de l’acteur Séquence. -- Lingo syntax member("Scene").model("gbCyl").addToWorld() // JavaScript syntax member("Scene").getProp("model","gbCyl").addToWorld(); Voir aussi isInWorld(), removeFromWorld addVertex() Syntaxe -- Lingo syntax memberObjRef.addVertex(indexToAddAt, pointToAddVertex {,[ horizControlLocV, \ vertControlLocV ], [ horizControlLocH, vertControlLocV ]}) // JavaScript syntax memberObjRef.addVertex(indexToAddAt, pointToAddVertex {,[ horizControlLocV, vertControlLocV ], [ horizControlLocH, vertControlLocV ]}); Description Commande de formes vectorielles ; ajoute un nouveau sommet à un acteur forme vectorielle à la position spécifiée. Les positions horizontale et verticale du nouveau sommet sont déterminées par rapport à l’origine de l’acteur forme vectorielle. Si vous utilisez les deux derniers paramètres facultatifs, vous pouvez spécifier la position des poignées de contrôle pour le sommet. La position de ces poignées de contrôle doit être donnée relativement à celle du sommet ; par conséquent, si aucune position n’est spécifiée, la poignée est placée sans décalage horizontal ou vertical (valeur 0, 0). Paramètres indexToAddAt Requis. Nombre entier spécifiant l’index au niveau duquel l’acteur doit être ajouté. pointToAddVertex Requis. Point spécifiant la position à laquelle l’acteur doit être ajouté. horizControlLocH Facultatif. Nombre entier spécifiant l’emplacement de la partie horizontale de la poignée de contrôle horizontale. horizControlLocV Facultatif. Nombre entier spécifiant l’emplacement de la partie verticale de la poignée de contrôle horizontale. vertControlLocH Facultatif. Nombre entier spécifiant l’emplacement de la partie horizontale de la poignée de contrôle verticale. ADOBE DIRECTOR 11.0 233 Dictionnaire de script vertControlLocV Facultatif. Nombre entier spécifiant l’emplacement de la partie verticale de la poignée de contrôle verticale. Exemple La ligne suivante ajoute un point de sommet dans la forme vectorielle Archie entre les deux-points de sommet existants, à la position horizontale 25 et verticale 15 : -- Lingo syntax member("Archie").addVertex(2, point(25, 15)) // JavaScript syntax member("Archie").addVertex(2, point(25, 15)); Voir aussi vertexList, moveVertex(), deleteVertex(), originMode alert() Syntaxe -- Lingo syntax _player.alert(displayString) // JavaScript syntax _player.alert(displayString); Description Méthode de lecteur ; déclenche l’émission d’un signal sonore par le système et affiche une boîte de dialogue d’alerte contenant une chaîne spécifiée. Le message d’alerte doit être une chaîne. Si vous souhaitez inclure une variable numérique dans une alerte, convertissez cette variable en chaîne avant de la transmettre à la méthode alert(). Paramètres displayString Requis. Chaîne représentant le texte affiché dans la boîte de dialogue d’alerte. Cette chaîne peut contenir jusqu’à 255 caractères. Exemple L’instruction suivante crée un message d’alerte indiquant qu’aucun lecteur de CD-ROM n’est connecté : -- Lingo syntax _player.alert("There is no CD-ROM drive connected.") // JavaScript syntax _player.alert("There is no CD-ROM drive connected."); L’instruction suivante crée un message d’alerte indiquant qu’un fichier est introuvable : -- Lingo syntax _player.alert("The file" && QUOTE & filename & QUOTE && "was not found.") // JavaScript syntax _player.alert("The file \"" + filename + "\" was not found."); Voir aussi Lecteur ADOBE DIRECTOR 11.0 234 Dictionnaire de script Alert() Syntaxe Alert( MUIObject,alertPropertiesList) Description Cette commande affiche une boîte de dialogue d'alerte créée à partir d'une instance de l'Xtra MUI. Cette fonctionnalité s'ajoute aux messages d'alerte simples créés par la commande alert. L'Xtra MUI comprend des alertes modales. Ces messages d'alerte peuvent être déplaçables ou non déplaçables. Pour créer un tel message d'alerte, créez un objet Xtra MUI, puis envoyez la commande alert avec une liste incluant des définitions des propriétés alert en tant que second paramètre. Le tableau ci-dessous présente les propriétés à spécifier, ainsi que leurs valeurs possibles. Propriété Valeurs possibles Spécifie #buttons #Ok #OkCancel #AbortRetryIgnore #YesNoCancel #YesNo L'ensemble des boutons apparaissant dans le message #RetryCancel d'alerte. Les boutons s'affichent suivant l'ordre de dénomination dans chaque symbole. #default Numéro ordinal du bouton qui devient le bouton par défaut. Par exemple, si les boutons du message d'alerte sont OK et Annuler, 2 spécifie le bouton Annuler. Pour ne pas spécifier de bouton par défaut, indiquez 0. Dont le bouton est le bouton par défaut. #icon #stop #note #caution #question #error Le type d'icône apparaissant dans le message d'alerte. Pour ne pas spécifier d'icône, indiquez 0. #message chaîne Message s'affichant dans le message d'alerte. #movable TRUE FALSE Indique si le message d'alerte est déplaçable. #title chaîne Titre du message d'alerte Vous devez spécifier explicitement chaque propriété de l'alerte. L'Xtra MUI n'offre pas de liste de propriétés de message d'alerte par défaut. Lingo renvoie une valeur pour le bouton cliqué par l'utilisateur. La taille d'un message d'alerte peut s'approcher de celle de l'écran. Vous pouvez donc afficher une description d'une longueur importante, si vous le souhaitez. Les instructions suivantes permettent la création et l'affichage d'une boîte de dialogue d'alerte. • La première instruction crée une instance d'Xtra MUI, qui est l'objet utilisé en tant que boîte de dialogue. • La seconde instruction établit une liste des propriétés du message d'alerte. • Les dernières instructions utilisent la commande Alert pour afficher le message d'alerte, et indiquent les boutons cliqués par l'utilisateur. Exemple -- Lingo syntax set alertObj = new(xtra "MUI") set alertInitList = [ #buttons : #YesNo, ¬ #title : "Alert Test", #message : "This shows Yes and No buttons",\ #movable : TRUE] if objectP ( alertObj ) then set result = Alert( alertObj, alertInitList ) case result of 1 : -- the user clicked yes ADOBE DIRECTOR 11.0 235 Dictionnaire de script 2 : -- the user clicked no otherwise : -- something is seriously wrong end case end if append Syntaxe list.append(value) append list, value Description Commande de liste ; ajoute, pour les listes linéaires uniquement, la valeur spécifiée à la fin d’une liste linéaire. Cette commande diffère de la commande add qui insère une valeur à l’endroit approprié d’une liste triée. Cette commande, utilisée avec une liste de propriétés, provoque une erreur de script. Paramètres value Requis. Valeur à ajouter à la fin de la liste linéaire. Exemple L’instruction suivante ajoute la valeur 2 à la fin de la liste triée devis, qui contient les valeurs [1, 3, 4], même si cet emplacement ne correspond pas à l’ordre trié de la liste : --Lingo set bids = [1, 3, 4] bids.append(2) // Javascript bids = list(1, 3, 4) bids.append(2) La valeur résultante de devis est donc [1, 3, 4, 2]. Voir aussi add (texture 3D), sort appMinimize() Syntaxe -- Lingo syntax _player.appMinimize() // JavaScript syntax _player.appMinimize(); Description Méthode de lecteur ; sous Microsoft Windows, entraîne la réduction d’une projection sous la forme d’une icône dans la barre des tâches. Sur Mac, cette méthode entraîne le masquage d’une projection. ADOBE DIRECTOR 11.0 236 Dictionnaire de script Sur Mac, vous pouvez rouvrir une projection masquée à partir du menu de l’application Mac. Cette méthode se révèle utile pour les projections et animations dans une fenêtre lues sans barre de titre. Paramètres Aucune. Exemple --Lingo syntax on mouseUp me _player.appMinimize() end // JavaScript syntax function mouseUp() { _player.appMinimize(); } Voir aussi Lecteur atan() Syntaxe -- Lingo syntax (number).atan atan (number) // JavaScript syntax Math.atan(number); Description Fonction mathématique (Lingo uniquement) ; calcule l’arctangente qui correspond à l’angle dont la tangente est un nombre spécifié. Le résultat est une valeur en radians comprise entre pi/2 et +pi/2. En syntaxe JavaScript, utilisez la fonction atan() d’un objet mathématique. Paramètres Aucune. Exemple L’instruction suivante donne l’arctangente de 1 : (1).atan Le résultat, à quatre chiffres après la virgule, est égal à 0,7854, soit approximativement pi/4. La plupart des fonctions trigonométriques utilisant les radians, vous devrez peut-être convertir les degrés en radians. Le gestionnaire suivant vous permet d’effectuer les conversions de degrés en radians : -- Lingo syntax on DegreesToRads degreeValue return degreeValue * PI/180 end ADOBE DIRECTOR 11.0 237 Dictionnaire de script // JavaScript syntax function DegreesToRads(degreeValue) { return degreeValue * PI/180 } Le gestionnaire affiche le résultat de la conversion de 30 degrés en radians dans la fenêtre Messages : put DegreesToRads(30) -- 0.5236 Voir aussi cos(), PI, sin() beep() Syntaxe -- Lingo syntax _sound.beep({intBeepCount}) // JavaScript syntax _sound.beep({intBeepCount}); Description Méthode audio ; entraîne l’émission par l’ordinateur d’un signal sonore qui se répète autant de fois que spécifié par intBeepCount. Si vous n’avez pas spécifié intBeepCount, le signal sonore ne retentit qu’une seule fois. • Sous Windows, le signal sonore est le son désigné dans la boîte de dialogue des propriétés sonores. • Pour le Mac, le signal sonore est le son sélectionné dans la section Alertes du tableau de bord Moniteurs et son. Si le volume a la valeur 0, le signal sonore est remplacé par un clignotement de la barre de menus. Paramètres intBeepCount Facultatif. Nombre entier spécifiant le nombre de fois où l’ordinateur doit émettre un signal sonore. Exemple -- Lingo syntax on mouseUp me _sound.beep(1) end mouseUp // JavaScript syntax function mouseUp() { _sound.beep(1); } Voir aussi Son ADOBE DIRECTOR 11.0 238 Dictionnaire de script beginRecording() Syntaxe -- Lingo syntax _movie.beginRecording() // JavaScript syntax _movie.beginRecording(); Description Méthode d’animation ; démarre une session de création du scénario. Lorsque vous appelez la méthode beginRecording(), la tête de lecture avance automatiquement sur une image et démarre l’enregistrement dans cette dernière. Pour éviter ce comportement et commencer l’enregistrement dans l’image dans laquelle la méthode beginRecording() est appelée, insérez une instruction telle que _movie.go(_movie.frame - 1) entre les appels des méthodes beginRecording() et endRecording(). Vous ne pouvez procéder qu’à une seule session de mise à jour du scénario à la fois dans une animation. Chaque appel de la méthode beginRecording() doit être suivi d’un appel de la méthode endRecording() qui met fin à la session de création du scénario. Paramètres Aucune. Exemple Lorsque vous l’utilisez dans le gestionnaire suivant, le mot-clé beginRecording démarre une session de création du scénario qui anime l’acteur Balle en l’affectant à la piste d’image-objet 20, puis en déplaçant l’image-objet horizontalement et verticalement sur une série d’images. Le nombre d’images est déterminé par l’argument numberOfFrames. -- Lingo syntax on animBall(numberOfFrames) _movie.beginRecording() horizontal = 0 vertical = 100 repeat with i = 1 to numberOfFrames _movie.go(i) sprite(20).member = member("Ball") sprite(20).locH = horizontal sprite(20).locV = vertical sprite(20).foreColor = 255 horizontal = horizontal + 3 vertical = vertical + 2 _movie.updateFrame() end repeat _movie.endRecording() end animBall // JavaScript syntax function animBall(numberOfFrames) { _movie.beginRecording(); var horizontal = 0; var vertical = 100; for (var i = 1; i <= numberOfFrames; i++) { _movie.go(1); sprite(20).member = member("Ball") ADOBE DIRECTOR 11.0 239 Dictionnaire de script sprite(20).locH = horizontal; sprite(20).locV = vertical; sprite(20).foreColor = 255; horizontal = horizontal + 3; vertical = vertical + 2; _movie.updateFrame(); } _movie.endRecording(); } Voir aussi endRecording(), Animation bitAnd() Syntaxe bitAnd(integer1, integer2) Description Fonction (Lingo uniquement) ; convertit les deux entiers spécifiés en nombres binaires 32 bits et renvoie un nombre binaire dont les chiffres sont des 1 dans les positions dans lesquelles les deux chiffres comportaient des 1 et des 0 pour toutes les autres positions. Le résultat est un nouveau nombre binaire, que Lingo affiche sous la forme d’un entier de base 10. nombre entier Nombre binaire (abrégé) 6 00110 7 00111 Résultat 6 00110 En syntaxe JavaScript, utilisez l’opérateur au niveau du bit « & ». Paramètres integer1 Requis. Premier nombre entier. integer2 Requis. Second nombre entier. Exemple L’instruction suivante compare les versions binaires des entiers 6 et 7 et renvoie le résultat sous la forme d’un entier : --Lingo put bitAnd(6, 7) -- 6 // Javascript trace ( 6 & 7) // 6 Voir aussi bitNot(), bitOr(), bitXor() ADOBE DIRECTOR 11.0 240 Dictionnaire de script bitNot() Syntaxe (integer).bitNot bitNot(integer) Description Fonction (Lingo uniquement) ; convertit l’entier spécifié en nombre binaire 32 bits et inverse la valeur de chaque chiffre binaire en remplaçant les 1 par des 0 et les 0 par des 1. Le résultat est un nouveau nombre binaire que Lingo affiche sous la forme d’un entier de base 10. nombre entier Nombre binaire 1 00000000000000000000000000000001 Résultat -2 11111111111111111111111111111110 En syntaxe JavaScript, utilisez l’opérateur au niveau du bit « ~ ». Paramètres Aucune. Exemple L’instruction suivante inverse la représentation binaire de l’entier 1 et renvoie un nouveau nombre. --Lingo put (1).bitNot -- -2 // Javascript trace(~1) // -2 Voir aussi bitAnd(), bitOr(), bitXor() bitOr() Syntaxe bitOr(integer1, integer2) Description Fonction (Lingo uniquement) ; convertit les deux entiers spécifiés en nombres binaires 32 bits et renvoie un nombre binaire dont les chiffres sont des 1 dans les positions dans lesquelles les deux chiffres comportaient des 1 et des 0 pour toutes les autres positions. Le résultat est un nouveau nombre binaire, que Lingo affiche sous la forme d’un entier de base 10. ADOBE DIRECTOR 11.0 241 Dictionnaire de script nombre entier Nombre binaire (abrégé) 5 0101 6 0110 Résultat 7 0111 En syntaxe JavaScript, utilisez l’opérateur au niveau du bit « | ». Paramètres integer1 Requis. Premier nombre entier. integer2 Requis. Second nombre entier. Exemple L’instruction suivante compare les versions binaires des entiers 5 et 6 et renvoie le résultat sous la forme d’un entier : -- Lingo put bitOr(5, 6) -- 7 // Javascript trace(5|6) // 7 Voir aussi bitNot(), bitAnd(), bitXor() bitXor() Syntaxe bitXor(integer1, integer2) Description Fonction ; convertit les deux entiers spécifiés en nombres binaires 32 bits et renvoie un nombre binaire dont les chiffres sont des 1 dans les positions dans lesquelles les chiffres de nombres donnés ne correspondaient pas, et des 0 pour les positions dans lesquelles les chiffres étaient les mêmes. Le résultat est un nouveau nombre binaire, que Lingo affiche sous la forme d’un entier de base 10. nombre entier Nombre binaire (abrégé) 5 0101 6 0110 Résultat 3 0011 En syntaxe JavaScript, utilisez l’opérateur au niveau du bit « ^ ». ADOBE DIRECTOR 11.0 242 Dictionnaire de script Paramètres integer1 Requis. Premier nombre entier. integer2 Requis. Second nombre entier. Exemple L’instruction suivante compare les versions binaires des entiers 5 et 6 et renvoie le résultat sous la forme d’un entier : -- Lingo put bitXor(5, 6) -- 3 // Javascript trace(5^6) // 3 Voir aussi bitNot(), bitOr(), bitAnd() breakLoop() Syntaxe -- Lingo syntax soundChannelObjRef.breakLoop() // JavaScript syntax soundChannelObjRef.breakLoop(); Description Méthode de piste audio ; interrompt la lecture en boucle du son mis en boucle dans la piste soundChannelObjRef et entraîne sa lecture jusqu’à la limite endTime. Si aucun son n’est actuellement en boucle, cette méthode n’a pas d’effet. Paramètres Aucune. Exemple Le gestionnaire suivant arrête la lecture du son mis en boucle dans la piste audio 2 et entraîne sa lecture jusqu’à la fin. -- Lingo syntax on continueBackgroundMusic sound(2).breakLoop() end // JavaScript syntax function continueBackgroundMusic() { sound(2).breakLoop(); } Voir aussi endTime, Piste audio ADOBE DIRECTOR 11.0 243 Dictionnaire de script browserName() Syntaxe browserName pathName browserName() browserName(#enabled, trueOrFalse) Description Propriété système, commande et fonction ; spécifie le chemin ou l’emplacement du navigateur web. Vous pouvez utiliser l’Xtra FileIO pour afficher une boîte de dialogue permettant à l’utilisateur de spécifier un navigateur de son choix. La méthode displayOpen() de l’Xtra FileIO est utile pour afficher une boîte de dialogue d’ouverture. La forme browserName() renvoie le nom du navigateur actuellement spécifié. Si vous placez un nom de chemin, tel que celui trouvé au moyen de l’Xtra FileIO, en tant qu’argument dans la forme browserName(fullPathToApplication), vous pouvez définir la propriété. La forme browserName(#enabled,trueOrFalse) détermine si le navigateur spécifié est automatiquement lancé par la commande goToNetPage. Cette commande est utile uniquement lors de la lecture dans une projection ou dans Director et n’a aucun effet pour la lecture dans un navigateur web. Cette propriété peut être testée et définie. Exemple L’instruction suivante indique l’emplacement du navigateur Netscape® : browserName "My Disk:My Folder:Netscape" L’instruction suivante affiche le nom du navigateur dans une fenêtre Messages : put browserName() build() Syntaxe -- Lingo syntax member(whichCastmember).modelResource(whichModelResource).build() // JavaScript syntax member(whichCastmember).modelResource(whichModelResource).build(); Description Commande 3D de maille ; construit une maille. Cette commande n’est utilisée qu’avec les ressources de modèle de type #mesh. Vous devrez utiliser la commande build() pour la construction initiale de la maille, après avoir modifié l’une de ses propriétés face et avoir utilisé la commande generateNormals(). Paramètres Aucune. ADOBE DIRECTOR 11.0 244 Dictionnaire de script Exemple Cet exemple crée une simple ressource de modèle de type #mesh, en spécifie les propriétés, puis l’utilise pour créer un nouveau modèle. Le processus est décrit dans les explications accompagnant l’exemple suivant : La ligne 1 crée une maille nommée Plan, qui consiste en une face, trois sommets et un maximum de trois couleurs. Le nombre de normales et de coordonnées de textures n’est pas défini. Les normales sont créées par la commande generateNormals. La ligne 2 définit les vecteurs qui sont utilisés comme sommets de Plan. La ligne 3 affecte les vecteurs aux sommets de la première face de Plan. La ligne 4 définit les trois couleurs autorisées par la commande newMesh. La ligne 5 affecte les couleurs à la première face de Plan. La troisième couleur de la liste est appliquée au premier sommet de Plan, la deuxième couleur au deuxième sommet, et la première couleur au troisième sommet. Les couleurs sont étalées sur la première face de Plan en dégradés. La ligne 6 crée les normales de Plan avec la commande generateNormals(). La ligne 7 appelle la commande build() pour construire la maille. -- Lingo syntax nm = member("Shapes").newMesh("Plane",1,3,0,3,0) nm.vertexList = [vector(0,0,0), vector(20,0,0), vector(20, 20, 0)] nm.face[1].vertices = [1,2,3] nm.colorList = [rgb(255,255,0), rgb(0, 255, 0), rgb(0,0,255)] nm.face[1].colors = [3,2,1] nm.generateNormals(#smooth) nm.build() nm = member("Shapes").newModel("TriModel", nm) // JavaScript syntax nm = member("Shapes").newMesh("Plane",1,3,0,3,0); nm.vertexList = [vector(0,0,0), vector(20,0,0), vector(20, 20, 0)]; nm.face[1].vertices = [1,2,3]; nm.colorList = [rgb(255,255,0), rgb(0, 255, 0), rgb(0,0,255)]; nm.face[1].colors = [3,2,1]; nm.generateNormals(#smooth); nm.build(); nm = member("Shapes").newModel("TriModel", nm); Voir aussi generateNormals(), newMesh, face[ ] cacheDocVerify() Syntaxe -- Lingo syntax cacheDocVerify #setting cacheDocVerify() // JavaScript syntax cacheDocVerify symbol(setting); cacheDocVerify(); ADOBE DIRECTOR 11.0 245 Dictionnaire de script Description Fonction ; définit la fréquence de rafraîchissement du contenu d’une page web sur la base des informations contenues dans la mémoire cache de la projection. La forme cacheDocVerify() renvoie le paramétrage en cours de la mémoire cache. La fonction cacheDocVerify n’est valide que pour les animations exécutées dans Director ou en tant que projections. Elle n’est pas valide pour les animations comportant du contenu Adobe® Shockwave®, celles-ci utilisant les paramètres réseau du navigateur dans lequel elles sont exécutées. -- Lingo syntax on resetCache current = cacheDocVerify() if current = #once then alert "Turning cache verification on" cacheDocVerify #always end if end // JavaScript syntax function resetCache() { current = cacheDocVerify(); if (current == symbol("once")) { alert("Turning cache verification on"); cacheDocVerify(symbol("always")) } } Paramètres cacheSetting Facultatif. Symbole spécifiant la fréquence de rafraîchissement du contenu d’une page Web. Les valeurs possibles sont #once (une seule fois, valeur par défaut) et #always (autant de fois que nécessaire). La valeur #once indique à une animation de télécharger une fois un fichier depuis Internet, puis de l’utiliser depuis la mémoire cache sans en rechercher une version actualisée sur Internet. La valeur #always indique à une animation d’essayer de télécharger une version actualisée du fichier chaque fois qu’elle appelle une URL. Voir aussi cacheSize(), clearCache cacheSize() Syntaxe -- Lingo syntax cacheSize Size cacheSize() // JavaScript syntax cacheSize(Size); cacheSize(); Description Fonction et commande ; définit la taille de la mémoire cache de Director. ADOBE DIRECTOR 11.0 246 Dictionnaire de script La fonction cacheSize n’est valide que pour les animations exécutées sous Director ou en tant que projections. Elle n’est pas valide pour les animations comportant du contenu Shockwave, celles-ci utilisant les paramètres réseau du navigateur dans lequel elles sont exécutées. Paramètres newCacheSize Facultatif. Nombre entier spécifiant la taille du cache en kilo-octets. Exemple Le gestionnaire suivant vérifie si le cache du navigateur est défini sur une valeur inférieure à 1 Mo. Le cas échéant, il affiche un message d’alerte et définit la taille de la mémoire cache à 1 Mo : -- Lingo syntax on checkCache if cacheSize()<1000 then alert "increasing cache to 1MB" cacheSize 1000 end if end // JavaScript syntax function checkCache() { if (cacheSize() < 1000) { alert("increasing cache to 1MB"); cacheSize(1000); } } Voir aussi cacheDocVerify(), clearCache call Syntaxe call #handlerName, script, {args...} call (#handlerName, scriptInstance, {args...}) Description Commande ; envoie un message appelant un gestionnaire dans un script spécifié ou dans une liste de scripts. La commande call peut utiliser une variable comme nom du gestionnaire. Les messages transmis à l’aide de call ne sont pas transmis aux autres scripts liés à l’image-objet, aux scripts d’acteur, aux scripts d’image ni aux scripts d’animation. Paramètres symHandlerName Requis. Symbole spécifiant le gestionnaire à activer. scriptInstance Requis. Référence au script ou à la liste de scripts contenant le gestionnaire. Si scriptInstance est une instance de script unique, un message d’alerte est envoyé si le gestionnaire n’est pas défini dans le script ancêtre du script. Si scriptInstance est une liste d’instances de script, le message est envoyé à chaque élément de la liste tour à tour ; aucun message d’alerte n’est généré si le gestionnaire n’est pas défini dans le script ancêtre. args Facultatif. Paramètres facultatifs à transmettre au gestionnaire. ADOBE DIRECTOR 11.0 247 Dictionnaire de script Exemple Le gestionnaire suivant envoie le message augmenterLeCompteur au premier script de comportement lié à l’imageobjet 1 : -- Lingo syntax on mouseDown me -- get the reference to the first behavior of sprite 1 set xref = getAt (the scriptInstanceList of sprite 1,1) -- run the bumpCounter handler in the referenced script, -- with a parameter call (#bumpCounter, xref, 2) end // JavaScript syntax function mouseDown() { // get the reference to the first behavior of sprite 1 xref = getAt(sprite(1).script(1)); // run the bumpCounter handler in the referenced script call(symbol("bumpcounter"), xref, 2); } L’exemple suivant illustre la façon dont une instruction call peut appeler les gestionnaires d’un comportement ou d’un script parent et ceux de son ancêtre. • Le script suivant est le script parent : -- Lingo syntax -- script Man property ancestor on new me set ancestor = new(script "Animal", 2) return me end on run me, newTool put "Man running with "&the legCount of me&" legs" end • Le script suivant est le script ancêtre : -- script Animal property legCount on new me, newLegCount set legCount = newLegCount return me end on run me put "Animal running with "& legCount &" legs" end on walk me put "Animal walking with "& legCount &" legs" end • Les instructions suivantes utilisent le script parent et le script ancêtre. L’instruction suivante crée une instance du script parent : set m = new(script "man") ADOBE DIRECTOR 11.0 248 Dictionnaire de script L’instruction suivante fait marcher l’homme : call #walk, m -- "Animal walking with 2 legs" L’instruction suivante fait courir l’homme : set msg = #run call msg, m -- "Man running with 2 legs and rock" L’instruction suivante crée une seconde instance du script parent : set m2 = new(script "man") L’instruction suivante envoie un message aux deux instances du script parent : call msg, [m, m2] -- "Man running with 2 legs " -- "Man running with 2 legs " callAncestor Syntaxe callAncestor handlerName, script, {args...} Description Commande ; envoie un message au script ancêtre d’un objet enfant. Les ancêtres peuvent, à leur tour, avoir leurs propres ancêtres. Lorsque vous utilisez callAncestor, le nom du gestionnaire peut être une variable et vous pouvez explicitement contourner les gestionnaires du script principal et accéder directement au script ancêtre. Paramètres symHandlerName Requis. Symbole spécifiant le gestionnaire à activer. scriptInstance Requis. Référence au script ou à la liste de scripts contenant le gestionnaire. Si scriptInstance est une instance de script unique, un message d’alerte est envoyé si le gestionnaire n’est pas défini dans le script ancêtre du script. Si scriptInstance est une liste d’instances de script, le message est envoyé à chaque élément de la liste tour à tour ; aucun message d’alerte n’est généré si le gestionnaire n’est pas défini dans le script ancêtre. args Facultatif. Paramètres facultatifs à transmettre au gestionnaire. Exemple L’exemple suivant présente la façon dont une instruction callAncestor peut appeler des gestionnaires dans l’ancêtre d’un comportement ou d’un script parent. • Le script suivant est le script parent : -- script "man" property ancestor on new me, newTool set ancestor = new(script "Animal", 2) return me end ADOBE DIRECTOR 11.0 249 Dictionnaire de script on run me put "Man running with "&the legCount of me&"legs" end • Le script suivant est le script ancêtre : -- script "animal" property legCount on new me, newLegCount set legCount = newLegCount return me end on run me put "Animal running with "& legCount &" legs" end on walk me put "Animal walking with "& legCount &" legs" end • Les instructions suivantes utilisent le script parent et le script ancêtre. L’instruction suivante crée une instance du script parent : set m = new(script "man") L’instruction suivante fait marcher l’homme : call #walk, m -- "Animal walking with 2 legs" L’instruction suivante fait courir l’homme : set msg = #run callAncestor msg, m -- "Animal running with 2 legs" L’instruction suivante crée une seconde instance du script parent : set m2 = new(script "man") L’instruction suivante envoie un message au script ancêtre des deux hommes : callAncestor #run,[m,m2] -- "Animal running with 2 legs" -- "Animal running with 2 legs" Voir aussi ancestor, new() callFrame() Syntaxe -- Lingo syntax spriteObjRef.callFrame(flashFrameNameOrNum) // JavaScript syntax spriteObjRef.callFrame(flashFrameNameOrNum); Description Commande ; utilisée pour appeler une série d’actions résidant dans une image d’une image-objet d’animation Flash®. ADOBE DIRECTOR 11.0 250 Dictionnaire de script Cette commande transmet un message au moteur ActionScript de Flash® et déclenche les actions à exécuter dans l’animation Flash. Paramètres flashFrameNameOrNum Requis. Chaîne ou nombre spécifiant le nom ou le numéro de l’image à appeler. Exemple Cette instruction Lingo lance l’exécution des actions associées à l’image 10 de l’animation Flash dans l’image-objet 1 : -- Lingo syntax sprite(1).callFrame(10) // JavaScript syntax sprite(1).callFrame(10); camera() Syntaxe member(whichCastMember).camera(whichCamera) member(whichCastMember).camera[index] member(whichCastMember).camera(whichCamera).whichCameraProperty member(whichCastMember).camera[index].whichCameraProperty sprite(whichSprite).camera{(index)} sprite(whichSprite).camera{(index)}.whichCameraProperty Description Elément 3D ; objet à une position de vecteur à partir de laquelle l’univers 3D est observé. Chaque image-objet possède une liste de caméras. Les vues des différentes caméras de la liste s’affichent au-dessus de celles des caméras en position index inférieures. Vous pouvez définir la propriété rect (caméra) de chaque caméra afin d’afficher plusieurs vues au sein de l’image-objet. Les caméras sont enregistrées dans la palette des caméras de l’acteur. Utilisez les commandes newCamera et deleteCamera pour créer et supprimer les caméras d’un acteur 3D. La propriété camera d’une image-objet est la première caméra de la liste des caméras de l’image-objet. La caméra référencée par sprite(whichSprite).camera est la même que sprite(whichSprite).camera(1). Utilisez les commandes addCamera et deleteCamera pour créer la liste des caméras d’une image-objet 3D. Exemple L’instruction suivante affecte à l’image-objet 1 la caméra camArbre de l’acteur Pique-nique. sprite(1).camera = member("Picnic").camera("TreeCam") L’instruction suivante affecte à l’image-objet 1 la caméra 2 de l’acteur Picnic. sprite(1).camera = member("Picnic").camera[2] Voir aussi bevelDepth, overlay, modelUnderLoc, spriteSpaceToWorldSpace, fog, clearAtRender ADOBE DIRECTOR 11.0 251 Dictionnaire de script cameraCount() Syntaxe -- Lingo syntax sprite(whichSprite).cameraCount() // JavaScript syntax sprite(whichSprite).cameraCount(); Description Commande 3D ; renvoie le nombre d’éléments de la liste des caméras de l’image-objet. Paramètres Aucune. Exemple L’instruction suivante indique que l’image-objet 5 contient trois caméras. -- Lingo syntax put sprite(5).cameraCount() -- 3 // JavaScript syntax put(sprite(5).cameraCount()); // 3 Voir aussi addCamera, deleteCamera cancelIdleLoad() Syntaxe -- Lingo syntax _movie.cancelIdleLoad(intLoadTag) // JavaScript syntax _movie.cancelIdleLoad(intLoadTag); Description Méthode d’animation ; annule le chargement de tous les acteurs portant la balise de chargement spécifiée. Paramètres intLoadTag Requis. Nombre entier spécifiant un groupe d’acteurs en attente de chargement pendant les périodes d’inactivité de l’ordinateur. Exemple L’instruction suivante annule le chargement des acteurs portant la balise de chargement en période d’inactivité numéro 20 : -- Lingo syntax _movie.cancelIdleLoad(20) ADOBE DIRECTOR 11.0 252 Dictionnaire de script // JavaScript syntax _movie.cancelIdleLoad(20); Voir aussi idleLoadTag, Animation castLib() Syntaxe -- Lingo syntax castLib(castNameOrNum) // JavaScript syntax castLib(castNameOrNum); Description Fonction de niveau supérieur ; renvoie une référence à une bibliothèque de distribution spécifiée. La bibliothèque de distribution par défaut est la bibliothèque numéro 1. Pour spécifier un acteur dans une bibliothèque de distribution autre que la distribution numéro 1, définissez castLib() pour spécifier l’autre bibliothèque de distribution. Paramètres castNameOrNum Requis. Chaîne spécifiant le nom de la bibliothèque de distribution ou nombre entier indiquant le numéro de la bibliothèque de distribution. Exemple L’instruction suivante définit la variable parts sur la seconde bibliothèque de distribution : -- Lingo syntax parts = castLib(2) // JavaScript syntax var parts = castLib(2); Voir aussi Bibliothèque de distribution, castLibNum channel() (niveau supérieur) Syntaxe -- Lingo syntax channel(soundChannelNameOrNum) // JavaScript syntax channel(soundChannelNameOrNum); Description Fonction de niveau supérieur ; renvoie une référence à un objet piste audio. ADOBE DIRECTOR 11.0 253 Dictionnaire de script Paramètres soundChannelNameOrNum Requis. Chaîne spécifiant le nom d’une piste audio ou nombre entier indiquant la position d’index d’une piste audio. Exemple L’instruction suivante définit la variable newChannel sur la piste audio 9 : -- Lingo syntax newChannel = channel(9) // JavaScript syntax var newChannel = channel(9); Voir aussi Piste audio channel() (son) Syntaxe -- Lingo syntax _sound.channel(intChannelNum) // JavaScript syntax _sound.channel(intChannelNum); Description Méthode audio ; renvoie une référence à une piste audio spécifiée. Cette méthode a la même fonction que la méthode de niveau supérieur sound(). Paramètres intChannelNum Requis. Nombre entier spécifiant la piste audio à référencer. Exemple L’instruction suivante définit la variable myChannel sur la piste audio 2 : -- Lingo syntax myChannel = _sound.channel(2) // JavaScript syntax var myChannel = _sound.channel(2); Voir aussi Son, sound(), Piste audio chapterCount() Syntaxe -- Lingo syntax dvdObjRef.chapterCount({intTitle}) // JavaScript syntax dvdObjRef.chapterCount({intTitle}); ADOBE DIRECTOR 11.0 254 Dictionnaire de script Description Méthode de DVD ; indique le nombre de chapitres disponibles dans un titre. Paramètres intTitle Facultatif. Nombre entier indiquant le titre contenant les chapitres à comptabiliser. Si ce paramètre est omis, chapterCount() renvoie le nombre de chapitres disponibles dans le titre en cours. Exemple L’instruction suivante renvoie le nombre de chapitres du titre en cours : -- Lingo syntax trace (member(1).chapterCount)-- 17 // JavaScript syntax trace (member(1). chapterCount);// 17 Voir aussi chapterCount, DVD charPosToLoc() Syntaxe --Lingo syntax memberObjRef.charPosToLoc(nthCharacter) // JavaScript syntax memberObjRef.charPosToLoc(nthCharacter); Description Fonction de champ ; renvoie le point de l’acteur champ entier (et non uniquement la partie affichée sur la scène) qui est le plus proche d’un caractère spécifié. Elle est utile pour déterminer l’emplacement précis de caractères individuels. Les valeurs de charPosToLoc sont exprimées en pixels et commencent à partir du coin supérieur gauche de l’acteur champ. Le paramètre nthCharacter est de 1 pour le premier caractère du champ, 2 pour le deuxième caractère, etc. Paramètres nthCharacter Requis. Caractère à tester. Exemple L’instruction suivante détermine le point au niveau duquel apparaît le cinquantième caractère de l’acteur champ Titre et affecte le résultat à la variable location : -- Lingo syntax location = member("Headline").charPosToLoc(50) // JavaScript syntax var location = member("Headline").charPosToLoc(50); ADOBE DIRECTOR 11.0 255 Dictionnaire de script chars() Syntaxe chars(stringExpression, firstCharacter, lastCharacter) Description Fonction (Lingo uniquement) ; identifie une sous-chaîne de caractères dans une expression. Les expressions firstCharacter et lastCharacter doivent spécifier une position dans la chaîne. Si les expressions firstCharacter et lastCharacter sont égales, la chaîne ne renvoie qu’un seul caractère. Si la valeur lastCharacter est supérieure à la longueur de la chaîne, seule une sous-chaîne allant jusqu’à la longueur de la chaîne est identifiée. Si lastCharacter est placé avant firstCharacter, cette fonction renvoie la valeur EMPTY. Vous pouvez voir un exemple d’utilisation de chars() dans une animation en consultant l’animation Text du dossier Learning/Lingo, lui-même situé dans le dossier de Director. En syntaxe JavaScript, utilisez la fonction substr() d’un objet chaîne. Paramètres stringExpression Requis. Chaîne spécifiant l’expression depuis laquelle une sous-chaîne est renvoyée. firstCharacter Requis. Nombre entier spécifiant le point de départ de la sous-chaîne. lastCharacter Requis. Nombre entier spécifiant le point de fin de la sous-chaîne. Exemple L’instruction suivante identifie le deuxième caractère du mot Adobe : put chars("Adobe", 2, 2) -- "d" L’instruction suivante identifie les caractères compris entre le deuxième et le cinquième caractère du mot Adobe: put chars("Adobe", 2, 5) -- "dobe" L’instruction suivante tente d’identifier les caractères compris entre le sixième et le vingtième caractère du mot Adobe. Puisque ce mot ne contient que 10 caractères, le résultat ne contient que les caractères compris ente le sixième et le dixième caractère. put chars ("Adobe", 2, 20) -- "dobe" Voir aussi char...of, length(), offset() (fonction de chaîne), number (caractères) charToNum() Syntaxe (stringExpression).charToNum charToNum(stringExpression) Description Fonction (Lingo uniquement) ; renvoie le code ASCII correspondant au premier caractère d’une expression. ADOBE DIRECTOR 11.0 256 Dictionnaire de script La fonction charToNum() se révèle particulièrement utile pour tester la valeur ASCII des caractères créés avec des combinaisons de touches, telles que la touche Ctrl et une autre touche alphanumérique. Director ne fait aucune distinction entre les majuscules et les minuscules si vous utilisez l’opérateur de comparaison égal (=) ; par exemple, l’instruction put ("M" = "m") donne le résultat 1 ou TRUE. Pour éviter tout problème, utilisez charToNum() pour obtenir le code ASCII d’un caractère, puis utilisez le code ASCII pour faire référence à ce caractère. En syntaxe JavaScript, utilisez la fonction charCodeAt() d’un objet chaîne. Paramètres stringExpression Requis. Chaîne spécifiant l’expression à tester. Exemple L’instruction suivante affiche le code ASCII de la lettre A : put ("A").charToNum -- 65 La comparaison suivante détermine si la lettre saisie est un A majuscule, puis passe à une séquence correcte ou incorrecte du scénario : -- Lingo syntax on CheckKeyHit theKey if (theKey).charToNum = 65 then go "Correct Answer" else go "Wrong Answer" end if end // JavaScript syntax function CheckKeyHit(theKey) { if (theKey.charToNum() == 65) go("Correct Answer"); } else { go("Wrong Answer"); } } Voir aussi numToChar() clearAsObjects() Syntaxe -- Lingo syntax clearAsObjects() // JavaScript syntax clearAsObjects(); ADOBE DIRECTOR 11.0 257 Dictionnaire de script Description Commande ; reconfigure le lecteur Flash global utilisé pour les objets ActionScript et supprime tous les objets ActionScript de la mémoire. Cette commande n’efface ni ne reconfigure les références à ces objets stockées dans Lingo. Les références Lingo restent présentes mais font référence à des objets inexistants. Chaque référence doit être définie sur VOID individuellement. La commande clearAsObjects() n’affecte que les objets globaux, tels que le tableau créé dans l’instruction suivante : -- Lingo syntax myGlobalArray = newObject(#array) // JavaScript syntax myGlobalArray = new Array(); La commande clearAsObjects() n’a aucun effet sur les objets créés dans les références d’images-objets, tels que : myArray = sprite(2).newObject(#array) Paramètres Aucune. Exemple Cette instruction supprime de la mémoire tous les objets ActionScript créés globalement : -- Lingo syntax clearAsObjects() // JavaScript syntax clearAsObjects(); Voir aussi newObject(), setCallback() clearCache Syntaxe clearCache Description Commande ; vide la mémoire cache réseau de Director. La commande clearCache ne vide que la mémoire cache, qui est distincte de celle du navigateur. Les fichiers en cours d’utilisation ne sont pas supprimés de la mémoire cache (jusqu’à leur inactivité). Paramètres Aucune. Exemple Le gestionnaire suivant vide la mémoire cache au lancement de l’animation : -- Lingo syntax on startMovie clearCache end ADOBE DIRECTOR 11.0 258 Dictionnaire de script // JavaScript syntax function startMovie() { clearCache(); } Voir aussi cacheDocVerify(), cacheSize() clearError() Syntaxe -- Lingo syntax memberObjRef.clearError() // JavaScript syntax memberObjRef.clearError(); Description Commande Flash ; remet à zéro l’état d’erreur d’un acteur Flash en flux continu. Si une erreur survient alors qu’un acteur est lu en flux continu dans la mémoire, Director affecte la valeur -1 à la propriété state de cet acteur afin d’indiquer qu’une erreur s’est produite. Vous pouvez utiliser la fonction getError pour déterminer le type d’erreur survenue, puis utiliser la commande clearError pour remettre à zéro l’état d’erreur de l’acteur. Une fois que vous avez éliminé cet état d’erreur, Director tente d’ouvrir l’acteur si l’animation en a encore besoin. La définition des propriétés pathName, linked et preload d’un acteur permet également d’éliminer la condition d’erreur. Paramètres Aucune. Exemple Le gestionnaire suivant vérifie l’occurrence d’une erreur de type mémoire épuisée pour l’acteur Flash Dali, qui a été transféré en mémoire. Si une telle erreur est survenue, le script utilise la commande unloadCast pour essayer de libérer de la mémoire ; il amène ensuite la tête de lecture sur une image de l’animation Artistes de Director dans laquelle l’image-objet de l’animation Flash apparaît pour la première fois, de sorte que Director puisse relancer la lecture de l’animation Flash. Si un autre type d’erreur est survenu, le script passe à une image intitulée Désolé qui explique que l’animation Flash requise ne peut pas être lue. -- Lingo syntax on CheckFlashStatus if (member("Dali").getError() = #memory) then member("Dali").clearError() member("Dali").unload() unloadCast else _movie.go("Sorry") end if end // JavaScript syntax function CheckFlashStatus() { var ge = member("Dali").getError(); if (ge = "memory") { ADOBE DIRECTOR 11.0 259 Dictionnaire de script member("Dali").clearError(); unloadCast; _movie.go("Artists"); } else { _movie.go("Sorry"); } } Voir aussi state (Flash, SWA), getError() (Flash, SWA) clearFrame() Syntaxe -- Lingo syntax _movie.clearFrame() // JavaScript syntax _movie.clearFrame(); Description Méthode d’animation ; libère toutes les pistes d’image-objet d’une image pendant l’enregistrement du scénario. Paramètres Aucune. Exemple Le gestionnaire suivant supprime le contenu de chaque image avant de les modifier pendant la création du scénario : -- Lingo syntax on newScore _movie.beginRecording() repeat with counter = 1 to 50 _movie.clearFrame() _movie.frameScript = 25 _movie.updateFrame() end repeat _movie.endRecording() end // JavaScript syntax function newScore() { _movie.beginRecording(); for (var i = 1; i <= 50; i++) { _movie.clearFrame(); _movie.frameScript = 25; _movie.updateFrame(); } _movie.endRecording(); } Voir aussi beginRecording(), endRecording(), Animation, updateFrame() ADOBE DIRECTOR 11.0 260 Dictionnaire de script clearGlobals() Syntaxe -- Lingo syntax _global.clearGlobals() // JavaScript syntax _global.clearGlobals(); Description Méthode globale ; définit toutes les variables globales sur VOID (Lingo) ou sur null (syntaxe JavaScript). Cette méthode se révèle utile lors de l’initialisation de variables globales ou de l’ouverture d’une nouvelle animation exigeant un nouveau jeu de variables globales. Paramètres Aucune. Exemple Les gestionnaires suivants définissent toutes les variables globales sur VOID (Lingo) ou sur null (JavaScript) : -- Lingo syntax on mouseDown _global.clearGlobals() end // JavaScript syntax function mouseDown() { _global.clearGlobals(); } Voir aussi Global clone Syntaxe member(whichCastmember).model(whichModel).clone(cloneName) member(whichCastmember).group(whichGroup).clone(cloneName) member(whichCastmember).light(whichLight).clone(cloneName) member(whichCastmember).camera(whichCamera).clone(cloneName) Description Commande 3D ; crée une copie du modèle, du groupe, de la lumière ou de la caméra, et de tous ses enfants. Le clone possède le même parent que le modèle, le groupe, la lumière ou la caméra à partir duquel il a été cloné. Le clone d’un modèle utilise la même ressource de modèle et la même liste de matériaux que le modèle d’origine. Si vous ne spécifiez pas le paramètre cloneName ou que vous spécifiez "", le clone n’est pas pris en compte par la méthode count, mais apparaîtra dans la scène. Paramètres cloneName Requis. Spécifie le nom du nouveau clone. ADOBE DIRECTOR 11.0 261 Dictionnaire de script Exemple L’instruction suivante crée le clone Théière2 à partir du modèle Théière et renvoie une référence au nouveau modèle. -- Lingo teapotCopy = member("3D World").model("Teapot").clone("Teapot2") // Javascript teapotCopy = member("3D World").getProp("model","Teapot").clone("Teapot2") Voir aussi cloneDeep, cloneModelFromCastmember, cloneMotionFromCastmember, loadFile() cloneDeep Syntaxe member(whichCastmember).model(whichModel).cloneDeep(cloneName) member(whichCastmember).group(whichGroup).cloneDeep(cloneName) member(whichCastmember).light(whichLight).cloneDeep(cloneName) member(whichCastmember).camera(whichCamera).cloneDeep(cloneName) Description Commande 3D ; crée une copie du modèle, du groupe, de la lumière ou de la caméra, plus tous les éléments suivants : • les ressources de modèle, matériaux et textures utilisés par le modèle ou groupe d’origine • les enfants du modèle, du groupe, de la lumière ou de la caméra • les ressources de modèle, matériaux et textures utilisés par les enfants Cette méthode utilise davantage de mémoire et demande plus de temps que la commande clone. Paramètres cloneName Requis. Spécifie le nom du nouveau clone. Exemple L’instruction suivante crée une copie du modèle Théière et de ses enfants, et des ressources de modèle, des matériaux et des textures utilisés par Théière et ses enfants. La variable teapotCopy est une référence au modèle cloné. -- Lingo teapotCopy = member("3D World").model("Teapot").cloneDeep("Teapot2") // Javascript teapotCopy =member("3DWorld").getProp("model","Teapot").cloneDeep("Teapot2") Voir aussi clone, cloneModelFromCastmember, cloneMotionFromCastmember, loadFile() cloneModelFromCastmember Syntaxe member(whichCastmember).cloneModelFromCastmember(newModelName, sourceModelName, sourceCastmember) ADOBE DIRECTOR 11.0 262 Dictionnaire de script Description Commande 3D ; copie un modèle provenant d’un acteur, le renomme, puis l’insère dans un autre acteur sous la forme d’un enfant de son univers 3D. Cette commande copie également les enfants de sourceModelName, ainsi que les ressources de modèle, les matériaux et les textures, utilisés par le modèle et ses enfants. Le chargement de l’acteur source doit être terminé pour la bonne exécution de cette commande. Paramètres newModelName Requis. Spécifie le nom du modèle nouvellement cloné. sourceModelName Requis. Spécifie le modèle à cloner. sourceCastMember Requis. Spécifie l’acteur contenant le modèle à cloner. Exemple L’instruction suivante crée une copie du modèle Pluton de l’acteur Séquence et l’insère dans l’acteur Séquence2 avec le nouveau nom Planète. Les enfants de Pluton sont également importés, de même que les ressources de modèle, les matériaux et les textures, utilisés par Pluton et ses enfants. --Lingo member("Scene2").cloneModelFromCastmember("Planet", "Pluto", member("Scene")) // Javascript member("Scene2").cloneModelFromCastmember("Planet", "Pluto", member("Scene")); Voir aussi cloneMotionFromCastmember, clone, cloneDeep, loadFile() cloneMotionFromCastmember Syntaxe member(whichCastmember).cloneMotionFromCastmember(newMotionName, sourceMotionName, sourceCastmember) Description Commande 3D ; copie un mouvement provenant d’un acteur, le renomme, puis l’insère dans un autre acteur. Le chargement de l’acteur source doit être terminé pour la bonne exécution de cette commande. Paramètres newMotionName Requis. Spécifie le nom du mouvement nouvellement cloné. sourceMotionName Requis. Spécifie le mouvement à cloner. sourceCastMember Requis. Spécifie l’acteur contenant le mouvement à cloner. Exemple L’instruction suivante copie le mouvement Marche de l’acteur Parc, nomme la copie marcheBizarre, et la place dans l’acteur gbActeur. --Lingo member("gbMember").cloneMotionFromCastmember("FunnyWalk", "Walk", member("ParkScene")) ADOBE DIRECTOR 11.0 263 Dictionnaire de script // Javascript member("gbMember").cloneMotionFromCastmember("FunnyWalk", "Walk", member("ParkScene")); Voir aussi map (3D), cloneModelFromCastmember, clone, cloneDeep, loadFile() close() Syntaxe -- Lingo syntax windowObjRef.close() // JavaScript syntax windowObjRef.close(); Description Méthode de fenêtre ; ferme une fenêtre. Toute tentative visant à fermer une fenêtre déjà fermée n’a aucun effet. Veuillez noter que la fermeture d’une fenêtre ne termine pas l’exécution de l’animation dans la fenêtre et ne la supprime pas non plus de la mémoire. Cette méthode sert simplement à fermer la fenêtre dans laquelle l’animation est en cours de lecture. Pour la rouvrir rapidement, utilisez la méthode open() (Window). Cette procédure assure un accès rapide aux fenêtres qui doivent rester disponibles. Pour supprimer totalement une fenêtre et la vider de la mémoire, utilisez la méthode forget(). Si vous utilisez la méthode forget(), assurez-vous qu’aucun élément ne fait référence à l’animation de cette fenêtre, faute de quoi le système génére des erreurs lorsque les scripts tentent de communiquer ou d’utiliser la fenêtre supprimée. Paramètres Aucune. Exemple L’instruction suivante ferme la fenêtre Panneau située dans le sous-dossier Sources MIAW du dossier de l’animation en cours : -- Lingo syntax window(_movie.path & "MIAW Sources\Panel").close() // JavaScript syntax window(_movie.path + "MIAW Sources\\Panel").close(); L’instruction suivante ferme la fenêtre 5 dans la liste windowList : -- Lingo syntax window(5).close() // JavaScript syntax window(5).close(); Voir aussi forget() (fenêtre), open() (fenêtre), Fenêtre ADOBE DIRECTOR 11.0 264 Dictionnaire de script closeFile() Syntaxe -- Lingo syntax fileioObjRef.closeFile() // JavaScript syntax fileioObjRef.closeFile(); Description Méthode FileIO ; ferme un fichier. Paramètres Aucune. Voir aussi Fileio closeXlib Syntaxe closeXlib whichFile Description Commande ; ferme un fichier Xlibrary. Les Xtras sont enregistrés dans des fichiers Xlibrary. Les fichiers Xlibrary sont les fichiers des ressources contenant les Xtras. Les XCMD et XFCN HyperCard peuvent également être stockés dans des fichiers Xlibrary. La commande closeXlib ne fonctionne pas avec les URL. Sous Windows, l’extension DLL des Xtras est facultative. Nous vous recommandons de fermer tout fichier ouvert dès que vous n’en avez plus besoin. Remarque : Cette commande n’est pas prise en charge dans Shockwave Player. Paramètres whichFile Facultatif. Spécifie le fichier Xlibrary à fermer. Si le fichier whichFile se trouve dans un autre dossier que celui de l’animation en cours, whichFile doit spécifier un nom de chemin d’accès. Si vous omettez de spécifier whichFile, tous les fichiers Xlibrary ouverts sont fermés. Exemple L’instruction suivante ferme tous les fichiers Xlibrary ouverts : closeXlib L’instruction suivante ferme le fichier Xlibrary Disque vidéo situé dans le même dossier que l’animation en cours : closeXlib "Video Disc Xlibrary" ADOBE DIRECTOR 11.0 265 Dictionnaire de script L’instruction suivante ferme le fichier Xlibrary Transporter Xtras du dossier Nouveaux Xtras, situé dans le même dossier que l’animation. Le disque est identifié par la variable lecteuractuel : closeXlib "@:New Xtras:Transporter Xtras" Voir aussi Interface(), openXlib color() Syntaxe -- Lingo syntax color(intPaletteIndex) color(intRed, intGreen, intBlue) // JavaScript syntax color(intPaletteIndex); color(intRed, intGreen, intBlue); Description Fonction et type de données de niveau supérieur. Renvoie un objet de données couleur à l’aide de valeurs RVB ou de valeurs d’index de palette 8 bits. L’objet couleur résultant est applicable aux acteurs, aux images-objets et à la scène lorsqu’il y a lieu. Paramètres intPaletteIndex Requis en cas d’utilisation de valeurs de palette 8 bits. Nombre entier spécifiant la valeur de palette 8 bits à utiliser. Les valeurs possibles sont comprises entre 0 et 255. Toutes les autres valeurs sont tronquées. intRed Requis en cas d’utilisation de valeurs RVB. Nombre entier spécifiant le composant de couleur rouge dans la palette en cours. Les valeurs possibles sont comprises entre 0 et 255. Toutes les autres valeurs sont tronquées. intGreen Requis en cas d’utilisation de valeurs RVB. Nombre entier spécifiant le composant de couleur verte dans la palette en cours. Les valeurs possibles sont comprises entre 0 et 255. Toutes les autres valeurs sont tronquées. IntBlue Requis en cas d’utilisation de valeurs RVB. Nombre entier spécifiant le composant de couleur bleue dans la palette en cours. Les valeurs possibles sont comprises entre 0 et 255. Toutes les autres valeurs sont tronquées. Exemple Les instructions suivantes affichent la couleur de l’image-objet 6 dans la fenêtre Messages, puis définissent la couleur de l’image-objet 6 sur une nouvelle valeur : -- Lingo syntax put(sprite(6).color) -- paletteIndex(255) sprite(6).color = color(137) put(sprite(6).color) -- paletteIndex(137) // JavaScript syntax put(sprite(6).color) // paletteIndex(255); sprite(6).color = color(137); put(sprite(6).color) // paletteIndex(137); ADOBE DIRECTOR 11.0 266 Dictionnaire de script constrainH() Syntaxe -- Lingo syntax _movie.constrainH(intSpriteNum, intPosn) // JavaScript syntax _movie.constrainH(intSpriteNum, intPosn); Description Méthode d’animation ; renvoie un nombre entier dont la valeur dépend des coordonnées horizontales des côtés gauche et droit d’une image-objet. Le nombre entier renvoyé peut prendre trois valeurs. • Si le paramètre intPosn est compris entre les valeurs des coordonnées gauche et droite de l’image-objet, le nombre entier renvoyé est égal à intPosn. • Si le paramètre intPosn est inférieur à la valeur de la coordonnée gauche de l’image-objet, le nombre entier renvoyé prend la valeur de cette coordonnée. • Si le paramètre intPosn est supérieur à la valeur de la coordonnée droite de l’image-objet, le nombre entier renvoyé prend la valeur de cette coordonnée. Cette méthode ne modifie pas les propriétés de l’image-objet. Les méthodes constrainH() et constrainV() ne contraignent qu’un seul axe. Paramètres intSpriteNum Requis. Nombre entier spécifiant l’image-objet dont les coordonnées horizontales sont évaluées par rapport à intPosn. intPosn Requis. Nombre entier à évaluer en fonction des coordonnées horizontales des côtés gauche et droit de l’image-objet identifiée par intSpriteNum. Exemple Les instructions suivantes vérifient la fonction constrainH pour l’image-objet 1 lorsque ses coordonnées gauche et droite sont 40 et 60 : -- Lingo syntax put(constrainH(1, 20)) -- 40 put(constrainH(1, 55)) -- 55 put(constrainH(1, 100)) -- 60 // JavaScript syntax put(constrainH(1, 20)); // 40 put(constrainH(1, 55)); // 55 put(constrainH(1, 100)); // 60 L’instruction suivante limite les déplacements d’un curseur mobile (image-objet 1) aux bords d’une jauge (imageobjet 2) lorsque le pointeur de la souris dépasse les bords de cette dernière : -- Lingo syntax sprite(1).locH = _movie.constrainH(2, _mouse.mouseH) // JavaScript syntax sprite(1).locH = _movie.constrainH(2, _mouse.mouseH); ADOBE DIRECTOR 11.0 267 Dictionnaire de script Voir aussi constrainV(), Animation constrainV() Syntaxe -- Lingo syntax _movie.constrainV(intSpriteNum, intPosn) // JavaScript syntax _movie.constrainV(intSpriteNum, intPosn); Description Méthode d’animation ; renvoie un nombre entier dont la valeur dépend des coordonnées verticales des côtés supérieur et inférieur d’une image-objet. Le nombre entier renvoyé peut prendre trois valeurs. • Si le paramètre intPosn est compris entre les valeurs des coordonnées supérieure et inférieure de l’image-objet, le nombre entier renvoyé est égal à intPosn. • Si le paramètre intPosn est inférieur à la valeur de la coordonnée supérieure de l’image-objet, le nombre entier renvoyé prend la valeur de cette coordonnée. • Si le paramètre intPosn est supérieur à la valeur de la coordonnée inférieure de l’image-objet, le nombre entier renvoyé prend la valeur de cette coordonnée. Cette méthode ne modifie pas les propriétés de l’image-objet. Les méthodes constrainV() et constrainH() ne contraignent qu’un seul axe. Paramètres intSpriteNum Requis. Nombre entier identifiant l’image-objet dont les coordonnées verticales sont évaluées par rapport à intPosn. intPosn Requis. Nombre entier à évaluer en fonction des coordonnées verticales des côtés gauche et droit de l’image-objet identifiée par intSpriteNum. Exemple Les instructions suivantes vérifient la fonction constrainV de l’image-objet 1 lorsque ses coordonnées supérieure et inférieure sont 40 et 60 : -- Lingo syntax put(constrainV(1, 20)) -- 40 put(constrainV(1, 55)) -- 55 put(constrainV(1, 100)) -- 60 // JavaScript syntax put(constrainV(1, 20)); // 40 put(constrainV(1, 55)); // 55 put(constrainV(1, 100)); // 60 L’instruction suivante limite les déplacements d’un curseur mobile (image-objet 1) aux bords d’une jauge (imageobjet 2) lorsque le pointeur de la souris dépasse les bords de cette dernière : ADOBE DIRECTOR 11.0 268 Dictionnaire de script -- Lingo syntax sprite(1).locV = _movie.constrainV(2, _mouse.mouseH) // JavaScript syntax sprite(1).locV = _movie.constrainV(2, _mouse.mouseH); Voir aussi constrainH(), Animation copyPixels() Syntaxe -- Lingo syntax imageObjRef.copyPixels(sourceImgObj, destRectOrQuad, sourceRect {, paramList}) // JavaScript syntax imageObjRef.copyPixels(sourceImgObj, destRectOrQuad, sourceRect {, paramList}); Description Méthode d’image. Copie le contenu d’un rectangle d’un objet image existant dans un nouvel objet image. Lors de la copie de pixels d’une zone d’un acteur vers une autre zone du même acteur, il est recommandé de copier d’abord les pixels dans un objet image dupliqué avant de les recopier dans l’acteur d’origine. La copie directe d’une zone à l’autre dans la même image est déconseillée. Pour simuler l’encre Dessin seul avec copyPixels(), créez un objet Dessin seul avec createMatte(), puis transmettez cet objet en tant que paramètre #maskImage de copyPixels(). Vous pouvez voir un exemple d’utilisation de quad dans une animation en consultant l’animation Quad du dossier Learning/Lingo, lui-même situé dans le dossier de Director. Lors de l’utilisation de la méthode copyPixel, si la propriété useAlpha est définie sur False pour l’image source ou de destination, la destination ne comporte aucune information alpha. Si vous souhaitez que la destination intègre un contenu alpha, la propriété useAlpha doit présenter la valeur True pour la source et pour la destination. Paramètres sourceImgObj Requis. Référence à l’objet image source à partir duquel les pixels sont copiés. destRectOrQuad Requis en cas de copie de pixels dans un rectangle de coordonnées d’écran ou un quadrilatère à virgule flottante. Rectangle ou quadrilatère dans lequel les pixels sont copiés. sourceRect Requis. Rectangle source à partir duquel les pixels sont copiés. paramList Facultatif. Liste de paramètres utilisable pour manipuler les pixels copiés avant leur insertion dans destRect ou destQuad. La liste de propriétés peut contenir la totalité ou une partie des paramètres suivants. Propriété Usage et effet #color Couleur du premier plan à appliquer pour les effets de colorisation. La valeur par défaut est le noir. #bgColor Couleur d’arrière-plan à appliquer pour les effets de colorisation ou comme transparence d’arrièreplan. La valeur par défaut est le blanc. #ink Type d’encre à appliquer aux pixels copiés. Il peut s’agir d’un symbole d’encre ou de la valeur numérique correspondante. L’encre par défaut est #copy. ADOBE DIRECTOR 11.0 269 Dictionnaire de script Propriété Usage et effet #blendLevel Degré d’opacité (transparence) à appliquer aux pixels copiés. La plage de valeurs s’étend de 0 à 225. La valeur par défaut est 255 (opaque). L’utilisation d’une valeur inférieure à 255 définit le paramètre #ink sur #blend ou sur #blendTransparent s’il était initialement défini sur #backgroundTransparent. #blendLevel pourrait également être remplacé par #blend ; dans ce cas, utilisez une valeur comprise entre 0 et 100. #dither Valeur TRUE ou FALSE déterminant si les pixels copiés sont tramés s’ils sont placés dans le destRect des images 8 et 16 bits. La valeur par défaut est FALSE qui convertit directement les pixels copiés dans la palette de couleurs de imageObjRef. #useFastQuads Valeur TRUE ou FALSE déterminant si les calculs de quadrilatère sont effectués à l’aide de la méthode de Director, plus rapide mais moins précise, lors de la copie de pixels dans destQuad. Définissez la valeur TRUE pour utiliser des quadrilatères pour de simples opérations de rotation et d’inclinaison. Définissez la valeur FALSE pour des quadrilatères aléatoires, tels que ceux utilisés pour les transformations de perspective. La valeur par défaut est FALSE. #maskImage Spécifie un objet Masque ou Dessin seul créé avec les fonctions creatMask() ou createMatte() afin d’être utilisé en tant que masque pour les pixels à copier. Cette opération permet de reproduire les effets des encres d’image-objet Masque et Dessin seul. Notez que si l’image source comporte une couche alpha et que sa propriété useAlpha est définie sur TRUE, la couche alpha est utilisée et l’encre Masque ou Dessin seul spécifiée est ignorée. La valeur par défaut est pas de masque. #maskOffset Point indiquant le montant de décalage x et y à appliquer au masque spécifié par #maskImage. Le décalage est calculé par rapport au coin supérieur gauche de l’image source. Le décalage par défaut est (0, 0). Exemple L’instruction suivante copie toute l’image de l’acteur Joyeux dans le rectangle de l’acteur Fleur. Si les acteurs sont de tailles différentes, l’image de l’acteur Joyeux est redimensionnée pour s’ajuster au rectangle de l’acteur Fleur. -- Lingo member("flower").image.copyPixels(member("Happy").image,member("flower").image.rect, member("Happy").image.rect) // JavaScript syntax member("flower").image.copyPixels(member("Happy").image,member("flower").image.rect, member("Happy").image.rect); L’instruction suivante copie une partie de l’image de l’acteur Joyeux dans une partie de l’acteur Fleur. La partie de l’image copiée de l’acteur Joyeux est située dans le rectangle (0, 0, 200, 90). Elle est collée dans le rectangle (20, 20, 100, 40) à l’intérieur de l’image de l’acteur Fleur. La portion copiée de l’acteur Joyeux est redimensionnée pour s’adapter aux dimensions du rectangle dans lequel elle est collée. -- Lingo member("flower").image.copyPixels(member("Happy").image, rect(20,20,100,40),rect(0,0,200,90)) // JavaScript syntax member("flower").image.copyPixels(member("Happy").image, rect(20,20,100,40),rect(0,0,200,90)) L’instruction suivante copie entièrement l’image de l’acteur Joyeux dans un rectangle à l’intérieur de l’image de l’acteur Fleur. Le rectangle dans lequel l’image copiée de l’acteur Joyeux est collée est de taille identique à celle du rectangle de l’acteur Joyeux, de sorte que l’image copiée ne doive pas être redimensionnée. Le niveau d’opacité de l’image copiée est de 50, elle est donc semi-tranparente, révélant la portion de l’acteur Fleur sur laquelle elle est collée. -- Lingo member("flower").image.copyPixels(member("Happy").image, rect(90,110,290,310), member("Happy").image.rect, [#blendLevel: 50]) ADOBE DIRECTOR 11.0 270 Dictionnaire de script // JavaScript syntax member("flower").image.copyPixels(member("Happy").image, rect(90,110,290,310), member("Happy").image.rect, \propList(symbol("blendLevel"),50)) Voir aussi color(), image() copyToClipBoard() Syntaxe -- Lingo syntax memberObjRef.copyToClipBoard() // JavaScript syntax memberObjRef.copyToClipBoard(); Description Méthode d’acteur ; copie un acteur spécifié dans le Presse-papiers. L’appel de cette méthode n’exige pas que la fenêtre Distribution soit active. Cette méthode se révèle utile pour la copie d’acteurs entre animations ou applications. Paramètres Aucune. Exemple L’instruction suivante copie l’acteur chair dans le Presse-papiers : -- Lingo syntax member("chair").copyToClipBoard() // JavaScript syntax member("chair").copyToClipBoard(); L’instruction suivante copie l’acteur numéro 5 dans le Presse-papiers : --- Lingo syntax member(5).copyToClipBoard() // JavaScript syntax member(5).copyToClipBoard(); Voir aussi Acteur, pasteClipBoardInto() cos() Syntaxe (angle).cos cos (angle) ADOBE DIRECTOR 11.0 271 Dictionnaire de script Description Fonction (Lingo uniquement) ; calcule le cosinus de l’angle spécifié, qui doit être exprimé en radians. En syntaxe JavaScript, utilisez la fonction cos() d’un objet mathématique. Paramètres angle Requis. Nombre entier spécifiant l’angle à tester. Exemple L’instruction suivante calcule le cosinus de PI divisé par 2 et l’affiche dans la fenêtre Messages : put (PI/2).cos Voir aussi atan(), PI, sin() count() Syntaxe -- Lingo syntax list.count object.count // JavaScript syntax list.count; object.count; Description Fonction ; renvoie le nombre d’entrées d’une liste linéaire ou de propriétés, le nombre de propriétés d’un script parent sans compter les propriétés d’un script ancêtre ou les sous-chaînes d’une expression texte telles que caractères, lignes ou mots. La commande count fonctionne avec les listes linéaires et de propriétés, les objets créés avec des scripts parents et la propriété globals. Vous pouvez voir un exemple d’utilisation de count() dans une animation en consultant l’animation Text du dossier Learning/Lingo, lui-même situé dans le dossier de Director. Paramètres Aucune. Exemple L’instruction suivante affiche la valeur 3, qui correspond au nombre d’entrées : --Lingo syntax put([10,20,30].count) -- 3 // JavaScript syntax put(list(10,20,30).count); // 3 Voir aussi globals ADOBE DIRECTOR 11.0 272 Dictionnaire de script createFile() Syntaxe -- Lingo syntax fileioObjRef.createFile(stringFileName) // JavaScript syntax fileioObjRef.createFile(stringFileName); Description Méthode FileIO ; crée un fichier spécifié. Paramètres stringFileName Requis. Chaîne spécifiant le chemin d’accès et le nom du fichier à créer. Exemple L’exemple suivant crée un fichier appelé « xtra.txt » dans c:\. -- Lingo syntax objFileio = new xtra("fileio") objFileio.createFile("c:\xtra.txt") // JavaScript syntax var objFileio = new xtra("fileio"); objFileio.createFile("c:\xtra.txt"); Voir aussi Fileio createMask() Syntaxe imageObject.createMask() Description Cette fonction crée et renvoie un objet masque à utiliser avec la fonction copyPixels(). Les objets masques ne sont pas des objets images. Ils ne sont utiles qu’avec la fonction copyPixels() pour la reproduction de l’effet d’encre Masque. Si vous envisagez d’utiliser plusieurs fois la même image en tant que masque, il est conseillé de créer l’objet masque et de l’enregistrer dans une variable pour une utilisation ultérieure. Exemple L’instruction suivante copie entièrement l’image de l’acteur Joyeux dans un rectangle à l’intérieur de l’acteur Carré marron. L’acteur Dégradé2 est utilisé en tant que masque avec l’image copiée. Le masque est décalé de 10 pixels vers le haut et vers la gauche du rectangle dans lequel l’image Joyeux est collée. member("brown square").image.copyPixels(member("Happy").image, rect(20, 20, 150, 108), member("Happy").rect,[#maskImage:member("gradient2").image.createMask(), maskOffset:point(-10, -10)]) Voir aussi copyPixels(), createMatte(), ink ADOBE DIRECTOR 11.0 273 Dictionnaire de script createMatte() Syntaxe imageObject.createMatte({alphaThreshold}) Description Cette fonction crée et renvoie un objet dessin seul que vous pouvez utiliser avec copyPixels() pour reproduire l’effet d’encre Dessin seul. L’objet dessin seul est créé à partir de la couche alpha de l’objet image spécifiée. Le paramètre facultatif alphaThreshold exclut de l’encre Dessin seul tous les pixels dont la valeur de couche alpha est inférieure à ce seuil. Il n’est utilisé qu’avec les images 32 bits contenant une couche alpha. La valeur de alphaThreshold doit être comprise entre 0 et 255. Les objets dessin seul ne sont pas des objets images. Ils ne sont utiles qu’avec la fonction copyPixels(). Si vous envisagez d’utiliser plusieurs fois la même image en tant que Dessin seul, il est conseillé de créer l’objet dessin seul et de l’enregistrer dans une variable pour une utilisation ultérieure. Exemple L’instruction suivante crée un nouvel objet Dessin seul à partir de la couche alpha de l’objet image imageTest et ignore les pixels dont les valeurs alpha sont inférieures à 50 %. newMatte = testImage.createMatte(128) Voir aussi copyPixels(), createMask() crop() (image) Syntaxe -- Lingo syntax imageObjRef.crop(rectToCropTo) // JavaScript syntax imageObjRef.crop(rectToCropTo); Description Méthode d’image. Renvoie un nouvel objet image contenant une copie d’un objet image source recadrée dans un rectangle donné. L’appel de la méthode crop() n’altère pas l’objet image source. Le nouvel objet image n’appartient plus à aucun acteur et n’est plus associé à la scène. Pour affecter la nouvelle image à un acteur, définissez la propriété image de cet acteur. Paramètres rectToCropTo Requis. Rectangle dans lequel la nouvelle image est recadrée. Exemple L’instruction suivante indique à Lingo de recadrer toute image-objet faisant référence à l’acteur vidéo numérique Entrevue. ADOBE DIRECTOR 11.0 274 Dictionnaire de script -- Lingo Dot syntax: member("Interview").crop = TRUE Verbose syntax: set the crop of member "Interview" to TRUE // Javascript member("Interview").crop=true Voir aussi image (image), image(), rect (image) crop() (bitmap) Syntaxe -- Lingo syntax memberObjRef.crop() // JavaScript syntax memberObjRef.crop(); Description Commande bitmap ; permet de recadrer un acteur bitmap à une taille spécifique. La commande crop permet de recadrer des acteurs existants ou, en combinaison avec l’image de la scène, de saisir un instantané, puis de le recadrer à la taille souhaitée pour l’afficher. Le point d’alignement reste inchangé de sorte que le bitmap n’est pas déplacé par rapport à sa position d’origine. Paramètres rectToCropTo Requis. Spécifie le rectangle en fonction duquel un acteur est recadré. Exemple L’instruction suivante affecte un acteur bitmap existant à un instantané de la scène, puis recadre l’image résultante dans un rectangle égal à l’image-objet 10 : -- Lingo syntax stageImage = (_movie.stage).image spriteImage = stageImage.crop(sprite(10).rect) member("sprite snapshot").image = spriteImage // JavaScript syntax var stageImage = (_movie.stage).image; var spriteImage = stageImage.crop(sprite(10).rect); member("sprite snapshot").image = spriteImage; Voir aussi picture (acteur) ADOBE DIRECTOR 11.0 275 Dictionnaire de script cross Syntaxe vector1.cross(vector2) Description Méthode de vecteur 3D ; renvoie un vecteur perpendiculaire à vector1 et vector2. Exemple Dans l’exemple suivant, pos1 est un vecteur sur l’axe des x et pos2 est un vecteur sur l’axe des y. La valeur renvoyée par pos1.cross(pos2) est vector( 0.0000, 0.0000, 1.00000e4 ), qui est perpendiculaire à pos1 et pos2. ppos1 = vector(100, 0, 0) pos2 = vector(0, 100, 0) -- Lingo put pos1.cross(pos2) -- vector( 0.0000, 0.0000, 1.00000e4 ) // Javascript trace(pos1.cross(pos2)) // vector( 0.0000, 0.0000, 1.00000e4 ) Voir aussi crossProduct(), perpendicularTo crossProduct() Syntaxe vector1.crossProduct(vector2) Description Méthode de vecteur 3D ; renvoie un vecteur perpendiculaire à vector1 et vector2. Exemple Dans l’exemple suivant, pos1 est un vecteur sur l’axe des x et pos2 est un vecteur sur l’axe des y. La valeur renvoyée par pos1.crossProduct(pos2) est vector( 0.0000, 0.0000, 1.00000e4 ), qui est perpendiculaire à pos1 et pos2. pos1 = vector(100, 0, 0) pos2 = vector(0, 100, 0) -- Lingo put pos1.crossProduct(pos2) -- vector( 0.0000, 0.0000, 1.00000e4 ) // Javascript trace(pos1.crossProduct(pos2)) // vector( 0.0000, 0.0000, 1.00000e4 ) Voir aussi perpendicularTo, cross ADOBE DIRECTOR 11.0 276 Dictionnaire de script cursor() Syntaxe -- Lingo syntax _player.cursor(intCursorNum) _player.cursor(cursorMemNum, maskMemNum) _player.cursor(cursorMemRef) // JavaScript syntax _player.cursor(intCursorNum); _player.cursor(cursorMemNum, maskMemNum); _player.cursor(cursorMemRef); Description Méthode de lecteur ; change l’acteur ou le curseur intégré utilisé comme curseur et reste en vigueur jusqu’à ce que vous la désactiviez en lui affectant la valeur 0. • Utilisez la syntaxe _player.cursor(cursorMemNum, maskMemNum) pour spécifier le numéro d’acteur à utiliser comme curseur et son masque facultatif. La zone référencée du curseur correspond au point d’alignement de l’acteur. L’acteur spécifié doit être un acteur 1 bit. Si l’acteur est plus grand que 16 x 16 pixels, Director le recadre pour le transformer en carré de 16 x 16 pixels, à partir de l’angle supérieur gauche de l’image. La zone référencée du curseur correspond toujours au point d’alignement de l’acteur. • Utilisez la syntaxe _player.cursor(cursorMemRef) pour les curseurs personnalisés proposés par l’Xtra Cursor. Remarque : L’Xtra Cursor accepte différents types de bibliothèques de distribution comme curseurs, mais non les acteurs texte. • Utilisez la syntaxe _player.cursor(intCursorNum) pour spécifier les curseurs par défaut fournis par le système. Le terme intCursorNum doit être l’un des nombres entiers suivants : Valeur Description -1, 0 Flèche 1 I 2 Croix 3 Croix épaisse 4 Montre (Mac) ou sablier (Windows) 5 Nord Sud Est Ouest (NSEO) 6 Nord Sud (NS) 200 Vide (masque le curseur) 254 Aide 256 Crayon 257 Gomme 258 Sélection 259 Pot de peinture ADOBE DIRECTOR 11.0 277 Dictionnaire de script Valeur (Suite) Description (Suite) 260 Main 261 Outil Rectangle 262 Outil Rectangle arrondi 263 Outil Cercle 264 Outil Ligne 265 Outil Texte enrichi 266 Outil Champ de texte 267 Outil Bouton 268 Outil Case à cocher 269 Outil Bouton radio 270 Outil Placement 271 Outil Point d’alignement 272 Lasso 280 Doigt 281 Pipette 282 Attente souris appuyée 1 283 Attente souris appuyée 2 284 Taille verticale 285 Taille horizontale 286 Taille diagonale 290 Main fermée 291 Interdiction 292 Copie (main fermée) 293 Flèche inversée 294 Rotation 295 Inclinaison 296 Double flèche horizontale 297 Double flèche verticale 298 Double flèche Sud-ouest Nord-est 299 Double flèche Nord-ouest Sud-est 300 Pinceau Enduire/Lisser 301 Aérographe 302 Zoom avant ADOBE DIRECTOR 11.0 278 Dictionnaire de script Valeur (Suite) Description (Suite) 303 Zoom arrière 304 Annulation du zoom 305 Début de forme 306 Ajout de point 307 Fermeture de forme 308 Zoom de caméra 309 Déplacement de caméra 310 Rotation de caméra 457 Personnalisé Pendant les événements système tels que le chargement d’un fichier, le système d’exploitation peut afficher le curseur montre, puis revenir au curseur pointeur en rendant le contrôle à l’application. Cette opération annule les paramètres de la commande cursor de l’animation précédente. Pour utiliser la commande cursor() au début de toute nouvelle animation chargée dans une présentation utilisant un curseur personnalisé pour plusieurs animations, stockez donc tout numéro de ressource de curseur spécial sous la forme d’une variable globale qui reste en mémoire entre les animations. Les commandes de curseur peuvent être interrompues par un Xtra ou tout autre élément externe. Lorsque le curseur est défini sur une valeur dans Director et qu’un Xtra ou un élément externe en prend le contrôle, le rétablissement de sa valeur d’origine n’a aucun effet, Director ne percevant pas que sa valeur a changé. Pour résoudre ce problème, attribuez explicitement au curseur une troisième valeur, puis rendez-lui sa valeur d’origine. Paramètres intCursorNum Requis en cas d’utilisation d’un nombre entier pour identifier un curseur. Nombre entier spécifiant le curseur intégré à utiliser comme curseur. cursorMemNum Requis en cas d’utilisation d’un numéro d’acteur et de son masque facultatif pour identifier le curseur. Nombre entier spécifiant le numéro d’acteur à utiliser comme curseur. maskMemNum Requis en cas d’utilisation d’un numéro d’acteur et de son masque facultatif pour identifier le curseur. Nombre entier spécifiant le numéro de masque de cursorMemNum. cursorMemRef Requis en cas d’utilisation d’une référence d’acteur pour identifier le curseur. Référence à l’acteur à utiliser comme curseur. Exemple L’instruction suivante change le curseur en curseur montre sur un Mac et en sablier sous Windows si la valeur de la variable status est égale à 1 : -- Lingo syntax syntax if (status = 1) then _player.cursor(4) end if // JavaScript syntax if (status == 1) { _player.cursor(4); } ADOBE DIRECTOR 11.0 279 Dictionnaire de script Le gestionnaire suivant vérifie que l’acteur affecté à la variable est un acteur 1 bit et, le cas échéant, l’utilise comme curseur : -- Lingo syntax syntax on myCursor(someMember) if (member(someMember).depth = 1) then _player.cursor(someMember) else _sound.beep() end if end // JavaScript syntax function myCursor(someMember) { if (member(someMember).depth == 1) { _player.cursor(someMember); } else { _sound.beep(); } } Voir aussi Lecteur date() (formats) Syntaxe -- Lingo syntax syntax date({stringFormat}) date({intFormat}) date({intYearFormat, intMonthFormat, intDayFormat}) // JavaScript syntax Date({"month dd, yyyy hh:mm:ss"}); Date({"month dd, yyyy"}); Date({yy,mm,dd,hh,mm,ss}); Date({yy,mm,dd}); Date({milliseconds}); Description Fonction et type de données de niveau supérieur. Crée une instance d’objet date au format standard que vous pouvez utiliser avec d’autres instances d’objet date dans des opérations arithmétiques ou pour manipuler les dates d’une plate-forme à l’autre, ainsi que dans des formats de pays différents. Les objets date Lingo diffèrent des objets date JavaScript ; par conséquent, les objets date Lingo ne peuvent pas être créés à l’aide de la syntaxe JavaScript et les objets date JavaScript ne peuvent pas être créés dans la syntaxe Lingo. Pour créer un objet date JavaScript, utilisez la syntaxe new Date(). La syntaxe JavaScript fait la distinction entre les majuscules et les minuscules. Par exemple, l’utilisation d’une commande new date() entraîne une erreur d’exécution. Lorsque vous créez une date avec Lingo, utilisez des années à quatre chiffres, des mois à deux chiffres et des jours à deux chiffres. Les expressions suivantes renvoient toutes un objet date équivalent au 21 octobre 2004. ADOBE DIRECTOR 11.0 280 Dictionnaire de script Format de date Syntaxe chaîne date("20041021") entier date(20041021) Séparation par des virgules date(2004, 10, 21) Les différentes propriétés de l’objet date renvoyé sont les suivantes : Propriété Description #year Nombre entier représentant l’année #month Nombre entier représentant le mois de l’année #day Nombre entier représentant le jour du mois Les opérations d’addition et de soustraction sur la date sont interprétées comme l’addition et la soustraction de jours. Paramètres stringFormat Facultatif en cas de création d’un objet date Lingo. Chaîne spécifiant le nouvel objet date. intFormat Facultatif en cas de création d’un objet date Lingo. Nombre entier spécifiant le nouvel objet date. intYearFormat Facultatif en cas de création d’un objet date Lingo. Nombre entier spécifiant l’année à quatre chiffres du nouvel objet date. intMonthFormat Facultatif en cas de création d’un objet date Lingo. Nombre entier spécifiant le mois à deux chiffres du nouvel objet date. intDayFormat Facultatif en cas de création d’un objet date Lingo. Nombre entier spécifiant le jour à deux chiffres du nouvel objet date. month Facultatif en cas de création d’un objet date en syntaxe JavaScript. Chaîne spécifiant le mois du nouvel objet date. Les valeurs possibles sont comprises entre 0 (janvier) et 11 (décembre). dd Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à deux chiffres spécifiant le jour du nouvel objet date. Les valeurs possibles sont comprises entre 0 (dimanche) et 6 (samedi). yyyy Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à quatre chiffres spécifiant l’année du nouvel objet date. hh Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à deux chiffres spécifiant l’heure du nouvel objet date. Les valeurs possibles sont comprises entre 0 (minuit) et 23 (23h00). mm Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à deux chiffres spécifiant la minute du nouvel objet date. Les valeurs possibles sont comprises entre 0 et 59. ss Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à deux chiffres spécifiant les secondes du nouvel objet date. Les valeurs possibles sont comprises entre 0 et 59. yy Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier à deux chiffres spécifiant l’année du nouvel objet date. Les valeurs possibles sont comprises entre 0 et 99. milliseconds Facultatif en cas de création d’un objet date en syntaxe JavaScript. Nombre entier spécifiant les millisecondes du nouvel objet date. Les valeurs possibles sont comprises entre 0 et 999. ADOBE DIRECTOR 11.0 281 Dictionnaire de script Exemple Les instructions suivantes créent et déterminent le nombre de jours séparant deux dates : -- Lingo syntax syntax myBirthday = date(19650712) yourBirthday = date(19450529) put("There are" && abs(yourBirthday - myBirthday) && "days between our birthdays.") // JavaScript syntax var myBirthday = new Date(1965, 07, 12); var yourBirthday = new Date(1945, 05, 29); put("There are " + Math.abs(((yourBirthday - myBirthday)/1000/60/60/24)) + " days between our birthdays."); Les instructions suivantes accèdent à une propriété individuelle d’une date : -- Lingo syntax syntax myBirthday = date(19650712) put("I was born in month number" && myBirthday.month) // JavaScript syntax var myBirthday = new Date(1965, 07, 12); put("I was born in month number " + myBirthday.getMonth()); date() (système) Syntaxe -- Lingo syntax _system.date({yyyymmdd}) // JavaScript syntax _system.date({yyyymmdd}); Description Méthode système ; renvoie la date en cours dans l’horloge système. Le format de date utilisé par Director varie selon le format de date défini sur l’ordinateur. • Sous Windows, vous pouvez personnaliser l’affichage de la date dans le Panneau de configuration Paramètres régionaux. Windows enregistre le format de date court dans le fichier System.ini. Utilisez cette valeur pour déterminer ce que les parties de la date au format court indiquent. • Sur le Mac, vous pouvez personnaliser l’affichage de la date dans le tableau de bord Date et heure. Paramètres yyyymmdd Facultatif. Nombre spécifiant l’année à quatre chiffres (yyyy), le mois à deux chiffres (mm) et le jour à deux chiffres (dd) de la date renvoyée. Exemple L’instruction suivante détermine si la date en cours est le 1er janvier en vérifiant si les quatre premiers caractères de la date sont 1/1. Si c’est le 1er janvier, le message d’alerte Bonne année ! apparaît: -- Lingo syntax if (_system.date().char[1..4] = "1/1/") then _player.alert("Happy New Year!") end if ADOBE DIRECTOR 11.0 282 Dictionnaire de script // JavaScript syntax if (_system.date().toString().substr(0, 4) == "1/1/") { _player.alert("Happy New Year!"); } Voir aussi Système delay() Syntaxe -- Lingo syntax _movie.delay(intTicks) // JavaScript syntax _movie.delay(intTicks); Description Méthode d’animation ; immobilise la tête de lecture pendant une durée donnée. La seule activité de souris et de clavier possible à ce moment-là consiste à arrêter l’animation en appuyant sur Ctrl+Alt+point (Windows) ou sur Cmd+point (Mac). Dans la mesure où elle augmente la durée des différentes images, la méthode delay() est utile pour contrôler la cadence de lecture d’une séquence d’images. La méthode delay() n’est applicable que lorsque la tête de lecture est en mouvement. Toutefois, lorsque la méthode delay() est effective, les gestionnaires continuent de s’exécuter ; seule la tête de lecture s’arrête, et non l’exécution des scripts. Insérez les scripts utilisant delay() dans un gestionnaire enterFrame ou exitFrame. Pour simuler une interruption dans un gestionnaire lorsque la tête de lecture est immobile, utilisez la propriété milliseconds de l’objet système et attendez le laps de temps spécifié avant de quitter l’image. Paramètres entBattements Requis. Nombre entier spécifiant le nombre de battements pendant lequel la tête de lecture doit rester immobilisée. Chaque battement correspond à un 60ème de seconde. Exemple Le gestionnaire suivant interrompt l’animation pendant 2 secondes lorsque l’utilisateur appuie sur une touche : -- Lingo syntax on keyDown _movie.delay(2*60) end // JavaScript syntax function keyDown() { _movie.delay(2*60) } Le gestionnaire suivant, qui peut être inséré dans un script d’image, retarde l’animation d’un nombre de battements aléatoire : -- Lingo syntax on keyDown if (_key.key = "x") then ADOBE DIRECTOR 11.0 283 Dictionnaire de script _movie.delay(random(180)) end if end // JavaScript syntax function keyDown() { if (_key.key == "x") { _movie.delay(random(180)); } } Voir aussi endFrame, milliseconds, Animation delete() Syntaxe delete chunkExpression Description Une expression de sous-chaîne peut être un caractère, un mot, un élément ou une ligne d’un conteneur de caractères. Paramètres Aucune. Voir aussi Fileio Exemple delete member(1).line[1] L’instruction suivante supprime la première ligne de l’acteur texte. delete member(1).word[1] L’instruction suivante supprime le premier mot de l’acteur texte. delete member(1).char[1] L’instruction suivante supprime le premier caractère de l’acteur texte. deleteFile() Syntaxe -- Lingo syntax fileioObjRef.deleteFile() // JavaScript syntax fileioObjRef.deleteFile(); Description Méthode FileIO ; supprime un fichier. ADOBE DIRECTOR 11.0 284 Dictionnaire de script Paramètres Aucune. Voir aussi Fileio deleteAt Syntaxe list.deleteAt(number) deleteAt list, number Description Commande de liste ; supprime un élément d’une liste linéaire ou de propriétés. La commande deleteAt vérifie que l’élément se trouve dans la liste ; si vous tentez de supprimer un objet ne figurant pas dans la liste, Director affiche un message d’erreur. Paramètres number Requis. Spécifie la position de l’élément à supprimer dans la liste. Exemple L’instruction suivante supprime le deuxième élément de la liste designers, qui contient [dupont, avatar, soldes] : --Lingo designers = ["gee", "kayne", "ohashi"] designers.deleteAt(2) // Javascript Designers = list("gee","kayne","ohashi"); Designers.deleteAt(2); Le résultat est la liste [Jean, Marc]. Le gestionnaire suivant vérifie si un objet se trouve dans la liste avant d’essayer de le supprimer : on myDeleteAt theList, theIndex if theList.count < theIndex then beep else theList.deleteAt(theIndex) end if end Voir aussi addAt deleteCamera Syntaxe member(whichCastmember).deleteCamera(cameraName) member(whichCastmember).deleteCamera(index) ADOBE DIRECTOR 11.0 285 Dictionnaire de script sprite(whichSprite).deleteCamera(cameraOrIndex) Description Commande 3D ; dans un acteur, cette commande supprime la caméra de l’acteur et de l’univers 3D. Les enfants de la caméra sont retirés de l’univers 3D mais ne sont pas supprimés. Il est impossible de supprimer la caméra par défaut de l’acteur. Dans une image-objet, cette commande supprime la caméra de la liste des caméras de l’image-objet. La caméra n’est pas supprimée de l’acteur. Paramètres cameraNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index de la caméra à supprimer. Exemple L’instruction suivante supprime deux caméras de l’acteur Pièce : tout d’abord la caméra Caméra06, puis la caméra 3. member("Room").deleteCamera("Camera06") member("Room").deleteCamera(1) L’instruction suivante supprime deux caméras de la liste des caméras de l’image-objet 5 : tout d’abord la deuxième caméra de la liste, puis la caméra Caméra06. sprite(5).deleteCamera(2) sprite(5).deleteCamera(member("Room").camera("Camera06")) Voir aussi newCamera, addCamera, cameraCount() deleteFrame() Syntaxe -- Lingo syntax _movie.deleteFrame() // JavaScript syntax _movie.deleteFrame(); Description Méthode d’animation ; supprime l’image en cours et fait de l’image suivante la nouvelle image en cours uniquement lors d’une session de création du scénario. Paramètres Aucune. Exemple Le gestionnaire suivant vérifie si l’image-objet de la piste 10 de l’image actuelle a dépassé le bord droit d’une scène de 640 x 480 pixels et, le cas échéant, supprime l’image : -- Lingo syntax on testSprite _movie.beginRecording() if (sprite(10).locH > 640) then _movie.deleteFrame() ADOBE DIRECTOR 11.0 286 Dictionnaire de script end if _movie.endRecording() end // JavaScript syntax function testSprite() { _movie.beginRecording(); if (sprite(10).locH > 640) { _movie.deleteFrame(); } _movie.endRecording(); } Voir aussi beginRecording(), endRecording(), Animation, updateFrame() deleteGroup Syntaxe member(whichCastmember).deleteGroup(whichGroup) member(whichCastmember).deleteGroup(index) Description Commande 3D ; supprime le groupe de l’acteur et de l’univers 3D. Les enfants du groupe sont retirés de l’univers 3D mais ne sont pas supprimés. Il est impossible de supprimer le groupe Univers, qui est le groupe par défaut. Paramètres groupNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index du groupe à supprimer. Exemple La première ligne de cet exemple supprime le groupe Factice16 de l’acteur Séquence. La deuxième ligne supprime le troisième groupe de Séquence. member("Scene").deleteGroup("Dummy16") member("Scene").deleteGroup(3) Voir aussi newGroup, child (3D), parent deleteLight Syntaxe member(whichCastmember).deleteLight(whichLight) member(whichCastmember).deleteLight(index) Description Commande 3D ; supprime la lumière de l’acteur et de l’univers 3D. Les enfants de la lumière sont retirés de l’univers 3D mais ne sont pas supprimés. ADOBE DIRECTOR 11.0 287 Dictionnaire de script Paramètres lightNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index de la lumière à supprimer. Exemple Les exemples suivants suppriment les lumières de l’acteur Pièce. member("Room").deleteLight("ambientRoomLight") member("Room").deleteLight(6) Voir aussi newLight deleteModel Syntaxe member(whichCastmember).deleteModel(whichModel) member(whichCastmember).deleteModel(index) Description Commande 3D ; supprime le modèle de l’acteur et de l’univers 3D. Les enfants du modèle sont retirés de l’univers 3D mais ne sont pas supprimés. Paramètres modelNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index du modèle à supprimer. Exemple La première ligne de cet exemple supprime le modèle Lecteur3 de l’acteur gbUnivers. La deuxième ligne supprime le neuvième modèle de gbUnivers. member("gbWorld").deleteModel("Player3") member("gbWorld").deleteModel(9) Voir aussi newModel deleteModelResource Syntaxe member(whichCastmember).deleteModelResource(whichModelResource) member(whichCastmember).deleteModelResource(index) Description Commande 3D ; supprime la ressource de modèle de l’acteur et de l’univers 3D. Les modèles qui utilisent la ressource de modèle supprimée deviennent invisibles car ils perdent leur géométrie, mais ne sont ni supprimés ni retirés de l’univers. ADOBE DIRECTOR 11.0 288 Dictionnaire de script Paramètres resourceNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index de la ressource de modèle à supprimer. Exemple Les exemples suivants suppriment deux ressources de modèle de l’acteur scèneDeRue. member("StreetScene").deleteModelResource("HouseB") member("StreetScene").deleteModelResource(3) Voir aussi newModelResource, newMesh deleteMotion Syntaxe member(whichCastmember).deleteMotion(whichMotion) member(whichCastmember).deleteMotion(index) Description Commande 3D ; supprime le mouvement de l’acteur. Paramètres modelNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index du mouvement à supprimer. Exemple La première ligne de l’exemple suivant supprime le mouvement Saut de l’acteur scèneDePique-nique. La deuxième ligne supprime le cinquième mouvement de scèneDePique-nique. member("PicnicScene").deleteMotion("BackFlip") member("PicnicScene").deleteMotion(5) Voir aussi newMotion(), removeLast() deleteOne Syntaxe list.deleteOne(value) deleteOne list, value Description Commande de liste ; supprime une valeur d’une liste linéaire ou de propriétés. Pour une liste de propriétés, deleteOne supprime également la propriété associée à la valeur supprimée. Si la valeur apparaît à plusieurs endroits de la liste, deleteOne ne supprime que la première occurrence. L’utilisation de cette commande pour supprimer une propriété reste sans effet. ADOBE DIRECTOR 11.0 289 Dictionnaire de script Lorsque vous ajoutez un filtre à l’aide de la méthode add ou append de la liste de filtres, un double du filtre est créé et ajouté à la liste. Les méthodes telles que deleteOne, getPos, findPos et getOne utilisent la valeur exacte de la liste et non la valeur dupliquée. Dans ces cas précis, vous pouvez utiliser la commande deleteOne de la façon suivante : f = filter(#glowfilter) sprite(1).filterlist.append(f) f = sprite(1).filterlist[1]-- here we get the actual value added to the list. sprite(1).filterlist.deleteOne(f) La troisième ligne du script ajoute la référence de la valeur de filtre à la liste. Paramètres value Requis. Valeur à supprimer de la liste. Exemple La première instruction suivante crée une liste contenant les jours mardi, mercredi et vendredi. La seconde instruction suivante supprime le nom mercredi de la liste. --Lingo days = ["Tuesday", "Wednesday", "Friday"] days.deleteOne("Wednesday") put days // Javascript days = list("Tuesday", "Wednesday", "Friday"); days.deleteOne("Wednesday"); trace(days); L’instruction put days entraîne l’affichage du résultat dans la fenêtre Messages : -- ["Tuesday", "Friday"]. deleteProp Syntaxe list.deleteProp(item) deleteProp list, item Description Commande de liste ; supprime l’élément spécifié de la liste indiquée. • Pour les listes linéaires, remplacez item par le numéro correspondant à la position de l’élément à supprimer dans la liste. La commande deleteProp dans les listes linéaires produit le même effet que la commande deleteAt. Un chiffre supérieur au nombre d’éléments de la liste entraîne une erreur de script. • Pour les listes de propriétés, remplacez item par le nom de la propriété à supprimer. La suppression d’une propriété supprime également la valeur qui lui est associée. Si la liste contient la même propriété à plusieurs endroits, seule la première occurrence de la propriété est supprimée. Paramètres item Requis. Elément à supprimer de la liste. ADOBE DIRECTOR 11.0 290 Dictionnaire de script Exemple L’instruction suivante supprime la propriété color de la liste [#height:100, #width: 200, #color: 34, #ink: 15], appelée attributsDimageObjet : spriteAttributes.deleteProp(#color) Le résultat est la liste [#height:100, #width: 200, #ink: 15]. Voir aussi deleteAt deleteShader Syntaxe member(whichCastmember).deleteShader(whichShader) member(whichCastmember).deleteShader(index) Description Commande 3D ; retire le matériau de l’acteur. Paramètres shaderNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index du matériau à supprimer. Exemple La première ligne de cet exemple supprime le matériau Route de l’acteur scèneDeRue. La deuxième ligne supprime le troisième matériau de scèneDeRue. -- Lingo member("StreetScene").deleteShader("Road") member("StreetScene").deleteShader(3) // Javascript member("StreetScene").deleteShader("Road"); member("StreetScene").deleteShader(3); Voir aussi newShader, shaderList deleteTexture Syntaxe member(whichCastmember).deleteTexture(whichTexture) member(whichCastmember).deleteTexture(index) Description Commande 3D ; supprime la texture de l’acteur. ADOBE DIRECTOR 11.0 291 Dictionnaire de script Paramètres textureNameOrNum Requis. Chaîne ou nombre entier spécifiant le nom ou la position d’index de la texture à supprimer. Exemple La première ligne de cet exemple supprime la texture Ciel de l’acteur scèneDePique-nique. La deuxième ligne supprime la cinquième texture de scèneDePique-nique. -- Lingo member("PicnicScene).deleteTexture("Sky") member("PicnicScene").deleteTexture(5) // Javascript member("PicnicScene).deleteTexture("Sky"); member("PicnicScene").deleteTexture(5) Voir aussi newTexture deleteVertex() Syntaxe -- Lingo syntax memberObjRef.deleteVertex(indexToRemove) // JavaScript syntax memberObjRef.deleteVertex(indexToRemove); Description Commande de forme vectorielle ; supprime un sommet existant d’un acteur forme vectorielle à la position d’index spécifiée. Paramètres indexToRemove Requis. Nombre entier spécifiant la position d’index du sommet à supprimer. Exemple La ligne suivante supprime le deuxième point de sommet de la forme vectorielle Archie : -- Lingo syntax member("Archie").deleteVertex(2) // JavaScript syntax member("Archie").deleteVertex(2); Voir aussi addVertex(), moveVertex(), originMode, vertexList displayOpen() Syntaxe -- Lingo syntax ADOBE DIRECTOR 11.0 292 Dictionnaire de script fileioObjRef.displayOpen() // JavaScript syntax fileioObjRef.displayOpen(); Description Méthode FileIO ; affiche une boîte de dialogue d’ouverture. Cette méthode renvoie le chemin d’accès complet et le nom du fichier sélectionné. Paramètres Aucune. Voir aussi Fileio displaySave() Syntaxe -- Lingo syntax fileioObjRef.displaySave(stringTitle, stringFileName) // JavaScript syntax fileioObjRef.displaySave(stringTitle, stringFileName); Description Méthode FileIO ; affiche une boîte de dialogue d’enregistrement. Cette méthode renvoie le chemin d’accès complet et le nom du fichier enregistré. Paramètres stringTitle Requis. Chaîne spécifiant le titre affiché dans la boîte de dialogue d’enregistrement. stringFileName Requis. Chaîne spécifiant le chemin d’accès complet et le nom du fichier à enregistrer. Voir aussi Fileio do Syntaxe do stringExpression Description Commande ; évalue une chaîne et exécute le résultat sous la forme d’une instruction de script. Cette commande est pratique pour évaluer des expressions saisies par l’utilisateur et pour exécuter des commandes placées dans des variables chaînes, des champs, des listes et des fichiers. L’utilisation de variables locales non initialisées dans une commande do entraîne une erreur de compilation. Il est conseillé d’initialiser les variables locales en avance. ADOBE DIRECTOR 11.0 293 Dictionnaire de script Remarque : Cette commande ne permet pas la déclaration de variables globales, celles-ci devant toujours être déclarées en avance. La commande do fonctionne avec des chaînes de plusieurs lignes ou d’une seule ligne. Paramètres stringExpression Requis. Chaîne à évaluer. Exemple L’instruction suivante exécute l’instruction placée entre guillemets : do "beep 2" do commandList[3] doneParsing() Syntaxe parserObject.doneParsing() Description Fonction ; renvoie 1 (TRUE) lorsque l’analyseur a achevé l’analyse d’un document avec parseURL(). La valeur renvoyée est 0 (FALSE) jusqu’à la fin de l’analyse. Paramètres Aucune. Voir aussi parseURL() dot() Syntaxe vector1.dot(vector2) Description Méthode 3D de vecteur ; renvoie la somme des produits des composants x, y et z de deux vecteurs. Si les deux vecteurs sont normalisés, le résultat de la méthode dot correspond au cosinus de l’angle entre les deux vecteurs. Pour arriver manuellement à la valeur dot de deux vecteurs, multipliez le composant x de vector1 par le composant x de vector2, multipliez le composant y de vector1 par le composant y de vector2, multipliez le composant z de vector1 par le composant z de vector2, puis additionnez les trois produits. Cette méthode est identique à la fonction dotProduct(). Paramètres vector2 Requis. Second vecteur à partir duquel une somme est renvoyée. ADOBE DIRECTOR 11.0 294 Dictionnaire de script Exemple Dans l’exemple suivant, l’angle entre les vecteurs pos5 et pos6 est de 45 degrés. La fonction getNormalized renvoie les valeurs normalisées de pos5 et de pos6 et les stocke dans les variables norm1 et norm2. La valeur dot de norm1 et de norm2 est égale à 0,7071, ce qui constitue le cosinus de 45 degrés. pos5 = vector(100, 100, 0) pos6 = vector(0, 100, 0) put pos5.angleBetween(pos6) -- 45.0000 norm1 = pos5.getNormalized() put norm1 -- vector( 0.7071, 0.7071, 0.0000 ) norm2 = pos6.getNormalized() put norm2 -- vector( 0.0000, 1.0000, 0.0000 ) put norm1.dot(norm2) -- 0.7071 Voir aussi dotProduct(), getNormalized, normalize dotProduct() Syntaxe vector1.dotProduct(vector2) Description Méthode 3D de vecteur ; renvoie la somme des produits des composants x, y et z de deux vecteurs. Si les deux vecteurs sont normalisés, la valeur dotproduct correspond au cosinus de l’angle entre les deux vecteurs. Pour arriver manuellement à la valeur dot de deux vecteurs, multipliez le composant x de vector1 par le composant x de vector2, multipliez le composant y de vector1 par le composant y de vector2, multipliez le composant z de vector1 par le composant z de vector2, puis additionnez les trois produits. Cette méthode est identique à la fonction dot(). Paramètres vector2 Requis. Second vecteur à partir duquel une somme est renvoyée. Exemple Dans l’exemple suivant, l’angle entre les vecteurs pos5 et pos6 est de 45 degrés. La fonction getNormalized renvoie les valeurs normalisées de pos5 et de pos6 et les stocke dans les variables norm1 et norm2. La valeur dotProduct de norm1 et de norm2 est égale à 0,7071, ce qui constitue le cosinus de 45 degrés. pos5 = vector(100, 100, 0) pos6 = vector(0, 100, 0) put pos5.angleBetween(pos6) -- 45.0000 norm1 = pos5.getNormalized() put norm1 -- vector( 0.7071, 0.7071, 0.0000 ) norm2 = pos6.getNormalized() put norm2 -- vector( 0.0000, 1.0000, 0.0000 ) ADOBE DIRECTOR 11.0 295 Dictionnaire de script put norm1.dotProduct(norm2) -- 0.7071 Voir aussi dot(), getNormalized, normalize downloadNetThing Syntaxe downloadNetThing URL, localFile Description Commande ; copie un fichier depuis Internet vers un fichier placé sur le disque local, tandis que la lecture de l’animation actuelle continue. Utilisez netDone pour vérifier si le téléchargement est terminé. Les animations Director en mode auteur et les projections prennent en charge la commande downLoadNetThing, ce qui n’est pas le cas de Shockwave Player. Cela empêche les utilisateurs de copier accidentellement des fichiers à partir d’Internet. Bien que plusieurs opérations réseau puissent avoir lieu en même temps, l’exécution de plus de quatre opérations simultanées réduit généralement les performances de façon inacceptable. Ni la taille de la mémoire cache de l’animation Director, ni le paramétrage de l’option Vérifier les documents n’affectent le comportement de la commande downloadNetThing. Paramètres URL Requis. URL d’un objet téléchargeable : par exemple, un serveur FTP ou HTTP, une page HTML, un acteur externe, une animation Director ou un graphique. localFile Requis. Chemin d’accès et nom du fichier sur le disque local. Exemple Les instructions suivantes téléchargent un acteur externe à partir d’une URL vers le dossier de Director et font de ce fichier l’acteur externe intitulé Distribution importante : downLoadNetThing("http://www.cbDeMille.com/Thousands.cst", the\applicationPath&"Thousands.cst") castLib("Cast of Thousands").fileName = the applicationPath&"Thousands.cst" Voir aussi importFileInto(), netDone(), preloadNetThing() draw() Syntaxe -- Lingo syntax imageObjRef.draw(x1, y1, x2, y2, colorObjOrParamList) imageObjRef.draw(point(x, y), point(x, y), colorObjOrParamList) imageObjRef.draw(rect, colorObjOrParamList) // JavaScript syntax ADOBE DIRECTOR 11.0 296 Dictionnaire de script imageObjRef.draw(x1, y1, x2, y2, colorObjOrParamList); imageObjRef.draw(point(x, y), point(x, y), colorObjOrParamList); imageObjRef.draw(rect, colorObjOrParamList); Description Méthode d’image. Dessine une ligne ou une forme vide d’une couleur spécifiée dans une zone rectangulaire d’un objet image donné. Cette méthode renvoie une valeur de 1 si aucune erreur n’est détectée. En cas d’absence de liste de paramètres, la méthode draw() dessine une ligne de 1 pixel entre le premier et le second point donnés ou entre le coin supérieur gauche et le coin inférieur droit du rectangle donné. Pour optimiser les performances avec des images 8 bits (ou d’une valeur inférieure), l’objet couleur doit contenir une valeur de couleur indexée. Pour les images 16 ou 32 bits, utilisez une valeur de couleur rvb. Pour remplir une zone unie, utilisez la méthode fill(). Paramètres x1 Requis en cas de dessin d’une ligne à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée x du début de la ligne. x1 Requis en cas de dessin d’une ligne à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée y du début de la ligne. x2 Requis en cas de dessin d’une ligne à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée x de la fin de la ligne. x2 Requis en cas de dessin d’une ligne à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée y de la fin de la ligne. colorObjOrParamList Requis. Objet couleur ou liste de paramètres spécifiant la couleur de la ligne ou de la bordure de la forme. Vous pouvez utiliser la liste de paramètres plutôt qu’un objet couleur unique pour spécifier les propriétés suivantes. Propriété Description #shapeType Valeur de symbole de #oval, #rect, #roundRect ou #line. La valeur par défaut est #line. #lineSize Epaisseur du trait à utiliser pour le dessin de la forme. #color Objet couleur déterminant la couleur de la bordure de la forme. point(x, y), point(x, y) Requis en cas de dessin d’une ligne à l’aide de points. Deux-points spécifiant les points de début et de fin de la ligne. rect Requis en cas de dessin d’une forme. Rectangle spécifiant la zone rectangulaire dans laquelle une forme est dessinée. Exemple L’instruction suivante trace une ligne rouge foncé de 1 pixel entre le point (20, 20) et le point (20, 60) dans l’image de la scène. -- Lingo objImage = _movie.stage.image objImage.draw(point(20, 20), point(20, 60), rgb(255, 0 ,0)) ADOBE DIRECTOR 11.0 297 Dictionnaire de script // Javascript var objImage = _movie.stage.image ; objImage.draw(point(20, 20), point(20, 60), color(255, 0 ,0)) ; Voir aussi color(), copyPixels(), fill(), image(), setPixel() duplicate() (image) Syntaxe -- Lingo syntax imageObjRef.duplicate() // JavaScript syntax imageObjRef.duplicate(); Description Méthode d’image. Crée et renvoie une copie d’une image donnée. La nouvelle image est complètement indépendante de l’originale et n’est liée à aucun acteur. Si vous projetez d’apporter un grand nombre de modifications à une image, il est recommandé d’en effectuer une copie indépendante d’un acteur. Paramètres Aucune. Exemple L’instruction suivante crée un objet image à partir de l’image de l’acteur Surface lunaire et place le nouvel objet image dans la variable imageTemporaire : workingImage = member("Lunar Surface").image.duplicate() Voir aussi image() duplicate() (fonction de liste) Syntaxe (oldList).duplicate() duplicate(oldList) Description Fonction de liste ; renvoie la copie d’une liste et copie des listes imbriquées (éléments de listes qui sont eux-mêmes des listes) et leur contenu. Cette fonction se révèle utile pour enregistrer le contenu en cours d’une liste. Remarque : filterlist() ne peut pas être reproduit à l'aide de cette fonction. Lorsque vous affectez une liste à une variable, la variable contient une référence à la liste et non la liste même. Cela signifie que les modifications apportées à la copie affectent également l’original. Vous pouvez voir un exemple d’utilisation de duplicate() (list function) dans une animation en consultant l’animation Vector Shapes du dossier Learning/Lingo, lui-même situé dans le dossier de Director. ADOBE DIRECTOR 11.0 298 Dictionnaire de script Paramètres ancienneListe Requis. Spécifie la liste à dupliquer. Exemple L’instruction suivante copie la liste ClientsDuJour et l’affecte à la variable ListeDesClients : -- Lingo CustomersToday = [1, 3, 5] CustomerRecord = CustomersToday.duplicate() // Javascript CustomersToday = list(1, 3, 5); CustomerRecord = CustomersToday.duplicate(); Voir aussi image() duplicate() (acteur) Syntaxe -- Lingo syntax memberObjRef.duplicate({intPosn}) // JavaScript syntax memberObjRef.duplicate({intPosn}); Description Méthode d’acteur ; effectue une copie d’un acteur spécifié. Il est préférable d’utiliser cette méthode en mode création plutôt que pendant l’exécution, car elle crée un autre acteur en mémoire, ce qui risque d’entraîner des problèmes de mémoire. Utilisez cette méthode pour enregistrer de façon permanente les modifications d’acteur avec le fichier. Paramètres intPosn Facultatif. Nombre entier spécifiant la fenêtre Distribution pour l’acteur dupliqué. Si vous omettez ce paramètre, l’acteur dupliqué est inséré dans la première position de la fenêtre Distribution ouverte. Exemple L’instruction suivante copie l’acteur Bureau et le place dans la première position vide de la fenêtre Distribution : -- Lingo syntax member("Desk").duplicate() // JavaScript syntax member("Desk").duplicate(); L’instruction suivante copie l’acteur Bureau et le place à la position 125 de la fenêtre Distribution : -- Lingo syntax member("Desk").duplicate(125) // JavaScript syntax member("Desk").duplicate(125); ADOBE DIRECTOR 11.0 299 Dictionnaire de script Voir aussi Acteur duplicateFrame() Syntaxe -- Lingo syntax _movie.duplicateFrame() // JavaScript syntax _movie.duplicateFrame(); Description Méthode d’animation ; copie l’image en cours et son contenu, insère la copie après l’image en cours, puis fait de cette copie l’image en cours. Cette méthode n’est utilisable qu’en phase de création du scénario. Cette méthode remplit la même fonction que la méthode insertFrame(). Paramètres Aucune. Exemple Lorsqu’elle est utilisée dans le gestionnaire suivant, la commande duplicateFrame crée une série d’images dans lesquelles l’acteur Balle de la distribution externe Jouets est affecté à la piste d’image-objet 20. Le nombre d’images est déterminé par l’argument numberOfFrames. -- Lingo syntax on animBall(numberOfFrames) _movie.beginRecording() sprite(20).member = member("Ball", "Toys") repeat with i = 0 to numberOfFrames _movie.duplicateFrame() end repeat _movie.endRecording() end animBall // JavaScript syntax function animBall(numberOfFrames) { _movie.beginRecording(); sprite(20).member = member("Ball", "Toys"); for (var i = 0; i <= numberOfFrames; i++) { _movie.duplicateFrame(); } _movie.endRecording(); } Voir aussi insertFrame(), Animation ADOBE DIRECTOR 11.0 300 Dictionnaire de script enableHotSpot() Syntaxe -- Lingo syntax spriteObjRef.enableHotSpot(hotSpotID, trueOrFalse) // JavaScript syntax spriteObjRef.enableHotSpot(hotSpotID, trueOrFalse); Description Commande QTVR (QuickTime® VR) ; détermine si une zone référencée dans une image-objet QTVR est activée (TRUE) ou désactivée (FALSE). Paramètres hotSpotID Requis. Spécifie la zone référencée dans l’image-objet QTVR à tester. trueOrFalse Requis. Valeur TRUE ou FALSE spécifiant si l’image-objet QTVR est activée. endRecording() Syntaxe -- Lingo syntax _movie.endRecording() // JavaScript syntax _movie.endRecording(); Description Méthode d’animation ; met fin à une session de mise à jour du scénario. Vous pouvez reprendre le contrôle des pistes du scénario à l’aide d’un script après avoir appelé la méthode endRecording(). Paramètres Aucune. Exemple Lorsqu’il est utilisé dans le gestionnaire suivant, le mot-clé endRecording met fin à la session de création du scénario : -- Lingo syntax on animBall(numberOfFrames) _movie.beginRecording() horizontal = 0 vertical = 100 repeat with i = 1 to numberOfFrames _movie.go(i) sprite(20).member = member("Ball") sprite(20).locH = horizontal sprite(20).locV = vertical sprite(20).foreColor = 255 horizontal = horizontal + 3 vertical = vertical + 2 ADOBE DIRECTOR 11.0 301 Dictionnaire de script _movie.updateFrame() end repeat _movie.endRecording() end animBall // JavaScript syntax function animBall(numberOfFrames) { _movie.beginRecording(); var horizontal = 0; var vertical = 100; for (var i = 1; i <= numberOfFrames; i++) { _movie.go(1); sprite(20).member = member("Ball"); sprite(20).locH = horizontal; sprite(20).locV = vertical; sprite(20).foreColor = 255; horizontal = horizontal + 3; vertical = vertical + 2; _movie.updateFrame(); } _movie.endRecording(); } Voir aussi beginRecording(), Animation, updateFrame() erase() Syntaxe -- Lingo syntax memberObjRef.erase() // JavaScript syntax memberObjRef.erase(); Description Méthode d’acteur ; supprime un acteur spécifié et laisse son emplacement vide dans la fenêtre Distribution. Pour obtenir de meilleurs résultats, utilisez cette méthode en phase de création et non dans les projections. L’utilisation de cette méthode dans les projections risque d’entraîner des problèmes de mémoire. Paramètres Aucune. Exemple L’instruction suivante supprime l’acteur Engrenage de la distribution Matériel : -- Lingo syntax member("Gear", "Hardware").erase() // JavaScript syntax member("Gear", "Hardware").erase(); Le gestionnaire suivant supprime les acteurs numérotés entre les valeurs start et finish : -- Lingo syntax ADOBE DIRECTOR 11.0 302 Dictionnaire de script on deleteMember start, finish repeat with i = start to finish member(i).erase() end repeat end deleteMember // JavaScript syntax function deleteMember(start, finish) { for (var i=start; i<=finish; i++) { member(i).erase(); } } Voir aussi Acteur, new() error() Syntaxe -- Lingo syntax fileioObjRef.error(intError) // JavaScript syntax fileioObjRef.error(intError); Description Méthode FileIO ; renvoie un message d’erreur spécifié. Paramètres intErreur Requis. Nombre entier spécifiant l’erreur. Les valeurs possibles sont 0 (« OK ») ou 1 (« Echec d’allocation mémoire »). Toutes les autres valeurs renvoient « Erreur inconnue ». Exemple L’exemple suivant crée un fichier intitulé c:\vérif.txt. En cas d’erreur lors de la création du fichier, cette méthode renverrait l’erreur ci-après. -- Lingo syntax objFileio = new xtra("fileio") isok = objFileio.createFile("c:\check.txt") if ( isok = 0 ) then alert( " file creation successful") else alert( " file creation failed " & objFileio.error(isok)) end if // JavaScript syntax var objFileio = new xtra("fileio"); isok = objFileio.createFile("c:\check.txt"); if ( isok == 0 ) { _player.alert( " file creation successful"); } else { _player.alert( " file creation failed " + objFileio.error(isok)); } ADOBE DIRECTOR 11.0 303 Dictionnaire de script Voir aussi Fileio externalEvent() Syntaxe externalEvent "string" Description Commande ; envoie une chaîne au navigateur web pour qu’il l’interprète comme une instruction de script, permettant la lecture d’une animation ou la communication avec la page HTML dans laquelle elle est intégrée. Cette commande fonctionne uniquement pour les animations dans des navigateurs. Remarque : La commande externalEvent ne produit pas de valeur de renvoi. Il n’existe aucune façon immédiate permettant de déterminer si le navigateur a traité l’événement ou l’a ignoré. Utilisez on EvalScript dans le navigateur pour renvoyer un message à l’animation. Paramètres string Requis. Chaîne à envoyer au navigateur. Cette chaîne doit être indiquée dans un langage de programmation pris en charge par le navigateur. Exemple Les instructions suivantes utilisent externalEvent dans l’environnement de programmation LiveConnect qui est pris en charge par Netscape 3.x et ses versions ultérieures. LiveConnect évalue la chaîne transmise par externalEvent comme un appel de fonction. Les auteurs utilisant JavaScript doivent définir et nommer cette fonction dans l’en-tête HTML. Dans l’animation, le nom et les paramètres de la fonction sont définis sous la forme d’une chaîne dans externalEvent. Les paramètres devant être interprétés par le navigateur web comme des chaînes distinctes, chaque paramètre est encadré de guillemets droits simples. Instructions dans le code HTML : function MyFunction(parm1, parm2) { //script here } Instructions dans un script dans l’animation : externalEvent ("MyFunction('parm1','parm2')") Les instructions suivantes utilisent externalEvent dans l’environnement de programmation ActiveX utilisé par Internet Explorer® sous Windows®. ActiveX interprète externalEvent comme un événement et traite cet événement et son paramètre de chaîne de la même façon qu’un événement onClick dans un objet bouton. • Instructions dans le code HTML : Sub NameOfShockwaveInstance_externalEvent(aParam) 'script here End Sub Vous pouvez également définir un script pour l’événement : <SCRIPT FOR="NameOfShockwaveInstance" EVENT="externalEvent(aParam)" ADOBE DIRECTOR 11.0 304 Dictionnaire de script LANGUAGE="VBScript"> 'script here </SCRIPT> Dans l’animation, incluez la fonction et les paramètres dans la chaîne pour la méthode externalEvent : externalEvent ("MyFunction ('parm1','parm2')") Voir aussi on EvalScript extrude3D Syntaxe member(whichTextCastmember).extrude3D(member(which3dCastmember)) Description Commande 3D ; crée une ressource de modèle #extruder dans un acteur 3D à partir du texte d’un acteur texte. Cette opération n’équivaut pas à utiliser la propriété 3D displayMode d’un acteur texte. Pour créer un modèle avec extrude3D : 1 Créez une ressource de modèle #extruder dans un acteur 3D : textResource = member("textMember").extrude3D(member("3DMember")) 2 Créez un modèle à l’aide de la ressource de modèle créée à l’étape 1 : member("3DMember").newModel("myText", textResource) Paramètres which3dCastmember Requis. Acteur dans lequel une ressource de modèle #extruder est créée. Exemple Dans l’exemple suivant, Logo est un acteur texte et Séquence est un acteur 3D. La première ligne crée une ressource de modèle dans Séquence, qui est une version 3D du texte de Logo. La seconde ligne utilise cette ressource de modèle pour créer un modèle nommé logo3D. -- Lingo myTextModelResource =member("Logo").extrude3d(member("Scene")) member("Scene").newModel("3dLogo", myTextModelResource) // Javascript myTextModelResource =member("Logo").extrude3d(member("Scene")); member("Scene").newModel("3dLogo", myTextModelResource); Voir aussi bevelDepth, bevelType, displayFace, smoothness, tunnelDepth, displayMode externalParamName() Syntaxe -- Lingo syntax ADOBE DIRECTOR 11.0 305 Dictionnaire de script _player.externalParamName(paramNameOrNum) // JavaScript syntax _player.externalParamName(paramNameOrNum); Description Méthode de lecteur ; renvoie le nom d’un paramètre spécifié dans la liste de paramètres externes d’une balise HTML <EMBED> ou <OBJECT>. En cas de spécification d’un paramètre par son nom, cette méthode renvoie tous les noms de paramètre correspondant à paramNameOrNum. Elle ne distingue pas les majuscules des minuscules. Si aucun nom de paramètre correspondant n’est trouvé, cette méthode renvoie la valeur VOID (Lingo) ou null (syntaxe JavaScript). En cas de spécification d’un paramètre par son numéro, cette méthode renvoie le nom de paramètre figurant à la position paramNameOrNum dans la liste de paramètres. Si aucune position de paramètre correspondante n’est trouvée, cette méthode renvoie la valeur VOID ou null. Cette méthode n’est valide que pour les animations avec contenu Shockwave exécutées dans un navigateur. Elle ne peut pas être utilisée avec des animations Director ou des projections. La liste suivante décrit les paramètres externes prédéfinis utilisables. Paramètre Définition swAudio Chaîne spécifiant l’emplacement d’un fichier Shockwave Audio à lire avec l’animation. Cette valeur est une URL complète. swBackColor Valeur de couleur destinée à modifier la propriété de couleur de la scène de l’animation. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swBanner Chaîne spécifiant le texte à utiliser sous la forme d’un bandeau dans l’animation. swColor Valeur de couleur à utiliser pour la modification de la couleur d’un objet spécifique. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swForeColor Nouvelle valeur de couleur du premier plan. Le texte apparaissant dans les acteurs champ est rendu dans la couleur du premier plan active. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swFrame Valeur de chaîne correspondant au nom affecté à une image donnée de l’animation. swList Liste séparée par des virgules répertoriant les éléments analysables à l’aide d’un script. Les valeurs de cette liste peuvent être des paires touche/valeur, des éléments booléens, des nombres entiers ou des chaînes. swName Nom, tel qu’un nom d’utilisateur, à afficher ou à utiliser dans l’animation. swPassword Mot de passe, éventuellement combiné à la propriété swName, à utiliser dans l’animation. swPreloadTime Nombre entier spécifiant le nombre de secondes d’un fichier audio à précharger avant que la lecture du son correspondant ne commence. Utilisée avec Shockwave Audio, cette valeur permet d’améliorer les performances de lecture en augmentant la quantité de données audio déjà téléchargées avant le début de la lecture. swSound Valeur de chaîne pouvant spécifier le nom d’un son dans l’animation Director à lire ou indiquant si un son doit être lu ou non. swText Valeur de chaîne spécifiant le texte à utiliser dans l’animation. ADOBE DIRECTOR 11.0 306 Dictionnaire de script Paramètre (Suite) Définition (Suite) swURL URL pouvant spécifier l’emplacement d’une autre animation comportant du contenu Shockwave ou d’un fichier Shockwave Audio. swVolume Nombre entier (l’utilisation d’une valeur entre 0 et 10 est recommandée) utilisé pour contrôler le niveau de volume du son sortant de l’animation. La valeur 0 indique que le son est désactivé (absence de son) et la valeur 10 correspond au volume maximal. sw1 à sw9 Neuf propriétés supplémentaires pour les paramètres définis par l’auteur. Paramètres paramNameOrNum Requis. Chaîne spécifiant le nom du paramètre à renvoyer ou nombre entier indiquant la position d’index du nom de paramètre à renvoyer. Exemple L’instruction suivante place la valeur d’un paramètre externe donné dans la variable myVariable : -- Lingo syntax if (_player.externalParamName("swURL") = "swURL") then myVariable = _player.externalParamValue("swURL") end if // JavaScript syntax if (_player.externalParamName("swURL") == "swURL") { var myVariable = _player.externalParamName("swURL"); } Voir aussi externalParamValue(), Animation externalParamValue() Syntaxe -- Lingo syntax _player.externalParamValue(paramNameOrNum) // JavaScript syntax _player.externalParamValue(paramNameOrNum); Description Renvoie la valeur d’un paramètre spécifié dans la liste de paramètres externes d’une balise HTML <EMBED> ou <OBJECT>. En cas de spécification d’une valeur de paramètre par son nom, cette méthode renvoie la valeur du premier paramètre dont le nom correspond à paramNameOrNum. Elle ne distingue pas les majuscules des minuscules. Si aucune valeur de paramètre correspondante n’est trouvée, cette méthode renvoie la valeur VOID (Lingo) ou null (syntaxe JavaScript). En cas de spécification d’une valeur de paramètre par son index, cette méthode renvoie la valeur du paramètre figurant à la position paramNameOrNum dans la liste de paramètres. Si aucune position de paramètre correspondante n’est trouvée, cette méthode renvoie la valeur VOID ou null. Cette méthode n’est valide que pour les animations avec contenu Shockwave exécutées dans un navigateur. Elle ne peut pas être utilisée avec des animations Director ou des projections. ADOBE DIRECTOR 11.0 307 Dictionnaire de script La liste suivante décrit les paramètres externes prédéfinis utilisables. Paramètre Définition swAudio Chaîne spécifiant l’emplacement d’un fichier Shockwave Audio à lire avec l’animation. Cette valeur est une URL complète. swBackColor Valeur de couleur destinée à modifier la propriété de couleur de la scène de l’animation. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swBanner Chaîne spécifiant le texte à utiliser sous la forme d’un bandeau dans l’animation. swColor Valeur de couleur à utiliser pour la modification de la couleur d’un objet spécifique. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swForeColor Nouvelle valeur de couleur du premier plan. Le texte apparaissant dans les acteurs champ est rendu dans la couleur du premier plan active. Cette valeur est un nombre entier compris entre 0 et 255. Utilisez une valeur de 0 à 255 pour les animations en couleur 8 bits et de 0 à 15 pour les animations en couleur 4 bits. swFrame Valeur de chaîne correspondant au nom affecté à une image donnée de l’animation. swList Liste séparée par des virgules répertoriant les éléments analysables à l’aide d’un script. Les valeurs de cette liste peuvent être des paires touche/valeur, des éléments booléens, des nombres entiers ou des chaînes. swName Nom, tel qu’un nom d’utilisateur, à afficher ou à utiliser dans l’animation. swPassword Mot de passe, éventuellement combiné à la propriété swName, à utiliser dans l’animation. swPreloadTime Nombre entier spécifiant le nombre de secondes d’un fichier audio à précharger avant que la lecture du son correspondant ne commence. Utilisée avec Shockwave Audio, cette valeur permet d’améliorer les performances de lecture en augmentant la quantité de données audio déjà téléchargées avant le début de la lecture. swSound Valeur de chaîne pouvant spécifier le nom d’un son dans l’animation Director à lire ou indiquant si un son doit être lu ou non. swText Valeur de chaîne spécifiant le texte à utiliser dans l’animation. swURL URL pouvant spécifier l’emplacement d’une autre animation Shockwave ou d’un fichier Shockwave Audio. swVolume Nombre entier (l’utilisation d’une valeur entre 0 et 10 est recommandée) utilisé pour contrôler le niveau de volume du son sortant de l’animation. La valeur 0 indique que le son est désactivé (absence de son) et la valeur 10 correspond au volume maximal. sw1 à sw9 Neuf propriétés supplémentaires pour les paramètres définis par l’auteur. Paramètres paramNameOrNum Requis. Chaîne spécifiant le nom de la valeur de paramètre à renvoyer ou nombre entier indiquant la position d’index de la valeur de paramètre à renvoyer. Exemple L’instruction suivante place la valeur d’un paramètre externe donné dans la variable myVariable : -- Lingo syntax if (_player.externalParamName("swURL") = "swURL") then myVariable = _player.externalParamValue("swURL") end if // JavaScript syntax ADOBE DIRECTOR 11.0 308 Dictionnaire de script if (_player.externalParamName("swURL") == "swURL") { var myVariable = _player.externalParamName("swURL"); } Voir aussi externalParamName(), Animation extractAlpha() Syntaxe imageObject.extractAlpha() Description Cette fonction copie la couche alpha de l’image 32 bits donnée et la renvoie sous forme d’un nouvel objet image. Il en résulte une image 8 bits faite de niveaux de gris, représentant la couche alpha. Cette fonction se révèle utile pour le sous-échantillonnage des images 32 bits avec des couches alpha. Exemple L’instruction suivante place la couche alpha de l’image de l’acteur 1 dans la variable mainAlpha : -- Lingo mainAlpha = member(1).image.extractAlpha() // Javascript mainAlpha = member(1).image.extractAlpha(); Voir aussi setAlpha() fadeIn() Syntaxe -- Lingo syntax soundChannelObjRef.fadeIn({intMilliseconds}) // JavaScript syntax soundChannelObjRef.fadeIn({intMilliseconds}); Description Méthode de piste audio ; règle immédiatement le volume d’une piste audio sur zéro, puis rétablit le volume en cours pendant un nombre de millisecondes donné. Le paramètre de balance actuel est conservé pour l’ensemble du fondu. Paramètres intMilliseconds Facultatif. Nombre entier spécifiant le nombre de millisecondes pendant lequel le volume est rétabli à sa valeur d’origine. Si aucune valeur n’est spécifiée, la valeur par défaut est de 1 000 millisecondes (1 seconde). ADOBE DIRECTOR 11.0 309 Dictionnaire de script Exemple L’instruction Lingo suivante amplifie le son de la piste 3 pendant 3 secondes à partir du début de l’acteur introMusic2 : -- Lingo syntax sound(3).play(member("introMusic2")) sound(3).fadeIn(3000) // JavaScript syntax sound(3).play(member("introMusic2")); sound(3).fadeIn(3000); Voir aussi fadeOut(), fadeTo(), pan, Piste audio, volume (Windows Media) fadeOut() Syntaxe -- Lingo syntax soundChannelObjRef.fadeOut({intMilliseconds}) // JavaScript syntax soundChannelObjRef.fadeOut({intMilliseconds}); Description Méthode de piste audio ; abaisse progressivement le volume d’une piste audio jusqu’au volume zéro pendant un nombre de millisecondes donné. Le paramètre de balance actuel est conservé pour l’ensemble du fondu. Paramètres intMilliseconds Facultatif. Nombre entier spécifiant le nombre de millisecondes pendant lequel le volume est réduit à zéro. Si aucune valeur n’est spécifiée, la valeur par défaut est de 1 000 millisecondes (1 seconde). Exemple L’instruction suivante diminue le son de la piste 3 pendant 5 secondes : -- Lingo syntax sound(3).fadeOut(5000) // JavaScript syntax sound(3).fadeOut(5000); Voir aussi fadeIn(), fadeTo(), pan, Piste audio, volume (Windows Media) fadeTo() Syntaxe -- Lingo syntax soundChannelObjRef.fadeTo(intVolume {, intMilliseconds}) ADOBE DIRECTOR 11.0 310 Dictionnaire de script // JavaScript syntax soundChannelObjRef.fadeTo(intVolume {, intMilliseconds}); Description Méthode de piste audio ; remplace progressivement le volume d’une piste audio par un volume spécifié pendant un nombre de millisecondes donné. Le paramètre de balance actuel est conservé pour l’ensemble du fondu. Vous pouvez voir un exemple d’utilisation de fadeTo() dans une animation en consultant l’animation Sound Control du dossier Learning/Lingo, lui-même situé dans le dossier de Director. Paramètres intVolume Requis. Nombre entier spécifiant le niveau de volume de remplacement. Les valeurs possibles du volume indiqué par entVolume sont comprises entre 0 et 255. intMilliseconds Facultatif. Nombre entier spécifiant le nombre de millisecondes pendant lequel le volume est remplacé par intVolume. Si aucune valeur n’est spécifiée, la valeur par défaut est de 1 000 millisecondes (1 seconde). Exemple L’instruction suivante fait passer le volume de la piste audio 4 à 150, sur une période de 2 secondes. Il peut s’agir d’une augmentation ou d’une diminution de volume, en fonction du volume initial de la piste audio 4 au moment de départ du fondu. -- Lingo syntax sound(4).fadeTo(150, 2000) // JavaScript syntax sound(4).fadeTo(150, 2000); Voir aussi fadeIn(), fadeOut(), pan, Piste audio, volume (Windows Media) fileName() Syntaxe -- Lingo syntax fileioObjRef.fileName() // JavaScript syntax fileioObjRef.fileName(); Description Méthode FileIO ; renvoie le chemin d’accès complet et le nom d’un fichier ouvert. Vous devez avoir ouvert un fichier à l’aide de la méthode openFile() avant d’utiliser la méthode fileName() pour obtenir le nom de ce fichier. Paramètres Aucune. Exemple L’instruction suivante crée un fichier, puis imprime l’emplacement de ce dernier. ADOBE DIRECTOR 11.0 311 Dictionnaire de script -- Lingo syntax objFileio = new xtra("fileio") objFileio.createFile(_player.ApplicationPath) put objFileio.fileName() // JavaScript syntax var objFileio = new xtra("fileio"); objFileio.createFile(_player.ApplicationPath); trace(objFileio.fileName()); Voir aussi Fileio , openFile() fileOpen() Syntaxe FileOpen(MUIObject, string) Description Cette fonction affiche une boîte de dialogue d'ouverture de fichier standard, fournie par une instance de l'Xtra MUI. Le deuxième paramètre spécifie une chaîne qui s'affiche dans le champ modifiable, lors de l'ouverture de la boîte de dialogue. L'utilisateur peut spécifier le fichier à ouvrir en saisissant son nom dans le champ modifiable. Lorsque l'utilisateur clique sur un bouton, le texte est renvoyé. • Si l'utilisateur clique sur Annuler, le texte renvoyé est identique à la valeur passée. • Si l'utilisateur clique sur OK, le texte renvoyé est un emplacement spécifique à la plate-forme. Paramètres Aucune. Exemple Ces instructions permettent la création et l'affichage d'une boîte de dialogue d'ouverture de fichier standard. • La première instruction crée une instance d'Xtra MUI, qui est l'objet utilisé en tant que boîte de dialogue. • La deuxième instruction attribue une chaîne à la variable fileString, utilisée ultérieurement en tant que deuxième paramètre de la commande FileOpen. • La troisième instruction utilise la commande FileOpen pour générer une boîte de dialogue d'ouverture de fichier. • Les dernières instructions vérifient que la chaîne d'origine envoyée avec la commande FileOpen est identique à celle renvoyée lorsque l'utilisateur a cliqué sur un bouton. Si les valeurs sont différentes, cela signifie que l'utilisateur a sélectionné un fichier à ouvrir. -- Lingo syntax set aMuiObj = new (xtra "MUI") set fileString = "Open this file" set result = fileOpen(aMuiObj, fileString) -- Check to see if the dialog was canceled if (result <> fileString) then -- The dialog wasn't canceled, do something with the new path data. ADOBE DIRECTOR 11.0 312 Dictionnaire de script else put "ERROR - fileOpen requires a valid aMuiObj" end if Voir aussi Fileio , openFile() fileSave() Syntaxe FileSave( MUIObject, string, message ) Description Cette fonction affiche une boîte de dialogue d'enregistrement de fichier standard qui enregistre le fichier actuel. La boîte de dialogue est créée depuis une instance de l'Xtra MUI. • Le paramètre de chaîne spécifie la chaîne qui s'affiche dans le champ de nom de fichier de la boîte de dialogue. L'utilisateur peut utiliser ce champ afin de saisir un nouveau nom pour le fichier. Lorsque l'utilisateur clique sur un bouton, Lingo renvoie une valeur pour la chaîne qui inclut le contenu du champ. Si l'utilisateur clique sur Annuler, la chaîne renvoyée est identique à la chaîne d'origine. • Le paramètre de message est la chaîne qui s'affiche au-dessus du champ modifiable de la boîte de dialogue. Paramètres Aucune. Exemple Ces instructions permettent la création et l'affichage d'une boîte de dialogue d'enregistrement de fichier. • La première instruction crée une instance d'Xtra MUI, qui est l'objet utilisé en tant que boîte de dialogue. • La deuxième instruction attribue une chaîne à la variable fileString, utilisée ultérieurement en tant que deuxième paramètre de la commande FileSave. • La troisième instruction utilise la commande FileSave pour générer une boîte de dialogue d'enregistrement de fichier. • Les dernières instructions vérifient que le résultat obtenu lorsque l'utilisateur clique sur un bouton est identique à la chaîne envoyée lors de l'ouverture de la boîte de dialogue. Si le résultat est différent, cela signifie que l'utilisateur a cliqué sur un autre bouton qu'Annuler. -- Lingo syntax set aMuiObj = new (xtra "MUI") set fileString = "Save this file" set result = fileSave(aMuiObj, fileString, "with this prompt") -- Check to see if the dialog was canceled if (result <> fileString) then -- The dialog wasn't canceled, do something with the new path data. end if ADOBE DIRECTOR 11.0 313 Dictionnaire de script fill() Syntaxe -- Lingo syntax imageObjRef.fill(left, top, right, bottom, colorObjOrParamList) imageObjRef.fill(point(x, y), point(x, y), colorObjOrParamList) imageObjRef.fill(rect, colorObjOrParamList) // JavaScript syntax imageObjRef.fill(left, top, right, bottom, colorObjOrParamList); imageObjRef.fill(point(x, y), point(x, y), colorObjOrParamList); imageObjRef.fill(rect, colorObjOrParamList); Description Méthode d’image. Remplit une zone rectangulaire avec une couleur spécifiée dans un objet image donné. Cette méthode renvoie la valeur 1 si aucune erreur n’est détectée, et la valeur zéro en cas d’erreur. Pour optimiser les performances avec des images 8 bits (ou d’une valeur inférieure), l’objet couleur doit contenir une valeur de couleur indexée. Pour les images 16 ou 32 bits, utilisez une valeur de couleur RVB. Paramètres left Requis en cas de remplissage d’une zone spécifiée par des coordonnées. Nombre entier spécifiant le côté gauche de la zone à remplir. top Requis en cas de remplissage d’une zone spécifiée par des coordonnées. Nombre entier spécifiant le côté supérieur de la zone à remplir. right Requis en cas de remplissage d’une zone spécifiée par des coordonnées. Nombre entier spécifiant le côté droit de la zone à remplir. bottom Requis en cas de remplissage d’une zone spécifiée par des coordonnées. Nombre entier spécifiant le côté inférieur de la zone à remplir. colorObjOrParamList Requis. Objet couleur ou liste de paramètres spécifiant la couleur utilisée pour remplir la zone. Vous pouvez utiliser la liste de paramètres plutôt qu’un objet couleur unique pour spécifier les propriétés suivantes. Propriété Description #shapeType Valeur de symbole de #oval, #rect, #roundRect ou #line. La valeur par défaut est #line. #lineSize Epaisseur du trait à utiliser pour le dessin de la forme. #color Objet couleur déterminant la couleur de remplissage de la zone. #bgColor Objet couleur déterminant la couleur de la bordure de la zone. point(x, y), point(x, y) Requis en cas de remplissage d’une zone à l’aide de points. deux-points spécifiant les coins supérieur gauche et inférieur droit de la zone à remplir par rapport au coin supérieur gauche de l’objet image donné. rect Requis en cas de remplissage d’une zone à l’aide d’un rectangle. Rectangle spécifiant la zone rectangulaire à remplir. ADOBE DIRECTOR 11.0 314 Dictionnaire de script Exemple L’instruction suivante remplit une zone spécifiée par deux-points correspondant aux coins supérieur gauche et inférieur droit de la zone à remplir par rapport au coin supérieur gauche de l’objet image donné, ici l’objet scène. -- Lingo objImage = _movie.stage.image objImage.fill(point(20, 20), point(30, 60), rgb(255, 0 ,0)) // Javascript var objImage = _movie.stage.image ; objImage.fill(point(20, 20), point(30, 60), color(255, 0 ,0)) ; Voir aussi color(), draw(), image() filter() Syntaxe filter(filter symbol) Description Méthode Filtres de bitmaps, utilisée pour la création de filtres de bitmaps et leur utilisation sur une image-objet. Exemple La première instruction définit la variable dénommée monFiltre sur le filtre de flou. La ligne suivante définit le filtre de flou sur sprite(1). --Lingo syntax MyFilter=filter(#BlurFilter) sprite(1).filterlist.append(MyFilter) // JavaScript syntax var MyFilter = filter(symbol("BlurFilter")); sprite(1).filterlist.append(MyFilter); Voir aussi Filtres de bitmaps dans le mode d'emploi de Director. findLabel() Syntaxe -- Lingo syntax spriteObjRef.findLabel(whichLabelName) // JavaScript syntax spriteObjRef.findLabel(whichLabelName); Description Fonction : cette fonction renvoie le numéro d’image (dans l’animation Flash) associé au libellé demandé. Un 0 est renvoyé si le libellé n’existe pas ou si cette partie de l’animation Flash n’est pas encore transférée en mémoire. ADOBE DIRECTOR 11.0 315 Dictionnaire de script Paramètres whichLabelName Requis. Spécifie le libellé d’image à rechercher. Exemple L’instruction suivante renvoie le numéro d’image (dans l’animation Flash de l’acteur(1)) associé au libellé « ObtenirImage ». -- Lingo syntax sprite(1).findLabel("GetMe") // JavaScript syntax sprite(1).findLabel("GetMe"); findEmpty() Syntaxe -- Lingo syntax castObjRef.findEmpty({memberObjRef}) // JavaScript syntax castObjRef.findEmpty({memberObjRef}); Description Méthode de bibliothèque de distribution ; affiche la prochaine position d’acteur vide ou la position qui suit un acteur spécifié. Cette méthode n’est disponible que dans la bibliothèque de distribution en cours. Paramètres memberObjRef Facultatif. Référence à l’acteur après lequel la prochaine position d’acteur vide apparaît. Si ce paramètre est omis, la prochaine position d’acteur vide est affichée. Exemple L’instruction suivante recherche le premier acteur vide à partir de l’acteur 100 : -- Lingo syntax trace(castLib(1).findEmpty(member(100))) // JavaScript syntax trace(castLib(1).findEmpty(member(100))); Voir aussi Bibliothèque de distribution, Acteur findPos Syntaxe list.findPos(property) findPos(list, property) ADOBE DIRECTOR 11.0 316 Dictionnaire de script Description Commande de liste ; identifie la position d’une propriété dans une liste de propriétés. L’utilisation de findPos avec des listes linéaires renvoie un nombre fictif si la valeur de property est un nombre et une erreur de script si la valeur de property est une chaîne. La commande findPos remplit la même fonction que la commande findPosNear, à l’exception du fait que findPos présente la valeur VOID lorsque la propriété spécifiée ne figure pas dans la liste. Lorsque vous ajoutez un filtre à l’aide de la méthode add ou append de la liste de filtres, un double du filtre est créé et ajouté à la liste. Les méthodes telles que deleteOne, getPos, findPos et getOne utilisent la valeur exacte de la liste et non la valeur dupliquée. Dans ces cas précis, vous pouvez utiliser la commande findPos de la façon suivante : f = filter(#glowfilter) sprite(1).filterlist.append(f) f = sprite(1).filterlist[1]-- here we get the actual value added to the list. sprite(1).filterlist.findPos(f) La troisième ligne du script ci-dessus ajoute la référence de la valeur de filtre à la liste. Paramètres property Requis. Propriété dont la position est identifiée. Exemple L’instruction suivante identifie la position de la propriété c dans la liste Réponses, composée de [#a:10, #b:12, #c:15, #d:22] : -- Lingo Answers.findPos(#c) // Javascript Answers.findPos("c"); Le résultat est 3 car c constitue la troisième propriété de la liste. Voir aussi findPosNear, sort findPosNear Syntaxe sortedList.findPosNear(valueOrProperty) findPosNear(sortedList, valueOrProperty) Description Commande de liste ; pour les listes triées uniquement, identifie la position d’un élément dans une liste triée spécifiée. La commande findPosNear fonctionne uniquement avec les listes triées. Remplacez valueOrProperty par une valeur pour les listes linéaires triées et par une propriété pour les listes de propriétés triées. ADOBE DIRECTOR 11.0 317 Dictionnaire de script La commande findPosNear est semblable à la commande findPos, à l’exception du fait que, lorsque la propriété spécifiée ne figure pas dans la liste, la commande findPosNear identifie la position de la valeur portant le nom alphanumérique le plus similaire. Cette commande est pratique pour trouver le nom le plus proche dans un répertoire de noms triés. Paramètres valueOrProperty Requis. Valeur ou propriété dont la position est identifiée. Exemple L’instruction suivante identifie la position d’une propriété dans la liste triée Réponses, composée de [#Nile:2, #Pharaoh:4, #Raja:0] : Answers.findPosNear(#Ni) Le résultat est égal à 1, Ni étant le plus proche de Nile qui constitue la première propriété de la liste. Voir aussi findPos finishIdleLoad() Syntaxe -- Lingo syntax _movie.finishIdleLoad(intLoadTag) // JavaScript syntax _movie.finishIdleLoad(intLoadTag); Description Méthode d’animation ; demande le chargement de tous les acteurs comportant la balise de chargement spécifiée. Paramètres intLoadTag Requis. Nombre entier spécifiant la balise de chargement des acteurs à charger. Exemple L’instruction suivante termine le chargement de tous les acteurs possédant la balise de chargement 20 : -- Lingo syntax _movie.finishIdleLoad(20) // JavaScript syntax _movie.finishIdleLoad(20); Voir aussi idleHandlerPeriod, idleLoadDone(), idleLoadMode, idleLoadPeriod, idleLoadTag, idleReadChunkSize, Animation flashToStage() Syntaxe -- Lingo syntax ADOBE DIRECTOR 11.0 318 Dictionnaire de script spriteObjRef.flashToStage(pointInFlashMovie) // JavaScript syntax spriteObjRef.flashToStage(pointInFlashMovie); Description Fonction ; renvoie la coordonnée de la scène Director correspondant à une coordonnée spécifiée dans une imageobjet d’animation Flash. Cette fonction accepte la coordonnée de piste et d’animation Flash et renvoie la coordonnée de scène Director en valeurs de points Director : par exemple, point (300, 300). Les coordonnées d’animation Flash sont mesurées en pixels d’animation Flash, qui sont déterminés par la taille d’origine d’une animation lors de sa création dans Flash. Afin de calculer les coordonnées de l’animation Flash, le point (0, 0) d’une animation Flash est toujours son angle supérieur gauche. La propriété originPoint de l’acteur est utilisée uniquement pour la rotation et la mise à l’échelle, et non pour le calcul des coordonnées d’une animation. La fonction flashToStage et la fonction stageToFlash correspondante se révèlent utiles pour déterminer la coordonnée d’une animation Flash directement située sur une coordonnée spécifique de la scène Director. Pour Flash et Director, le point (0, 0) est le coin supérieur gauche de la scène Flash ou Director. Ces coordonnées peuvent ne pas coïncider sur la scène Director si une image-objet Flash est étirée, mise à l’échelle ou a pivoté. Paramètres pointInFlashMovie Requis. Point de l’image-objet d’animation Flash dont les coordonnées sont renvoyées. Exemple Le gestionnaire suivant accepte une valeur de point et une référence d’image-objet comme paramètre, puis donne à la coordonnée supérieure gauche de l’image-objet spécifiée le point indiqué dans une image-objet d’animation Flash de la piste 10 : -- Lingo syntax on snapSprite(whichFlashPoint, whichSprite) sprite(whichSprite).loc = sprite(1).FlashToStage(whichFlashPoint) _movie.updatestage() end // JavaScript syntax function snapSprite(whichFlashPoint, whichSprite) { sprite(whichSprite).loc = sprite(1).FlashToStage(whichFlashPoint); _movie.updateStage(); } Voir aussi stageToFlash() float() Syntaxe (expression).float float (expression) Description Fonction (Lingo uniquement) ; convertit une expression en nombre à virgule flottante. Le nombre de chiffres après la virgule (pour l’affichage uniquement, les calculs n’étant pas affectés) est défini à l’aide de la propriété floatPrecision. ADOBE DIRECTOR 11.0 319 Dictionnaire de script En syntaxe JavaScript, utilisez la fonction parseFloat(). Paramètres expression Requis. Expression à convertir en nombre à virgule flottante. Exemple L’instruction suivante convertit le nombre entier 1 en 1 à virgule flottante : put (1).float -- 1.0 Les opérations mathématiques peuvent être effectuées à l’aide de float. Si l’un des termes correspond à une valeur flottante, toute l’opération est effectuée avec float : put 2 + 2 -- 4 put (2).float + 2 -- 4.0 the floatPrecision = 4 put 22/7 -- 3 put (22).float / 7 -- 3.1429" Voir aussi floatPrecision, ilk() floatP() Syntaxe (expression).floatP floatP(expression) Description Fonction (Lingo uniquement) ; indique si une expression est un nombre à virgule flottante (1 ou TRUE) ou non (0 ou FALSE). Le caractère P de floatP signifie prédicat. Paramètres expression Requis. Expression à tester. Exemple L’instruction suivante vérifie si 3.0 est un nombre à virgule flottante. La fenêtre Messages affiche le nombre 1 pour indiquer que c’est le cas (TRUE). put (3.0).floatP -- 1 L’instruction suivante vérifie si 3 est un nombre à virgule flottante. La fenêtre Messages affiche le nombre 0 pour indiquer que ce n’est pas le cas (FALSE). put (3).floatP -- 0 ADOBE DIRECTOR 11.0 320 Dictionnaire de script Voir aussi float(), ilk(), integerP(), objectP(), stringP(), symbolP() flushInputEvents() Syntaxe -- Lingo syntax _player.flushInputEvents() // JavaScript syntax _player.flushInputEvents(); Description Méthode de lecture, purge les événements clavier ou souris de la file d’attente de messages de Director. Cette commande se révèle généralement utile lorsqu’un script exécute une boucle assez longue et que l’auteur souhaite s’assurer que les opérations effectuées au clavier ou à l’aide de la souris ne sont pas transmises. Cette méthode n’est effective qu’au moment de l’exécution et n’a aucun effet en phase de création. Paramètres Aucune. Exemple L’instruction suivante désactive les événements souris et clavier lors de l’exécution d’une boucle de répétition : -- Lingo syntax repeat with i = 1 to 10000 _player.flushInputEvents() sprite(1).loc = sprite(1).loc + point(1, 1) end repeat // JavaScript syntax for (var i = 1; i <= 10000; i++) { _player.flushInputEvents(); sprite(1).loc = sprite(1).loc + point(1, 1); } Voir aussi on keyDown, on keyUp, on mouseDown (gestionnaire d’événement), on mouseUp (gestionnaire d’événement), Lecteur forget() (fenêtre) Syntaxe -- Lingo syntax windowObjRef.forget() // JavaScript syntax windowObjRef.forget(); ADOBE DIRECTOR 11.0 321 Dictionnaire de script Description Méthode de fenêtre ; indique au script de fermer une fenêtre et d’arrêter la lecture de cette dernière lorsqu’elle n’est plus utilisée et qu’aucune autre variable n’y fait référence. L’appel de la méthode forget() sur une fenêtre supprime également la référence à cette fenêtre de la liste windowList. Lorsque la méthode forget() est appelée, la fenêtre et l’animation dans une fenêtre disparaissent sans appeler les gestionnaires stopMovie, closeWindow ou deactivateWindow. S’il existe de nombreuses références globales à l’animation dans une fenêtre, la fenêtre ne répond pas à la commande forget(). Paramètres Aucune. Exemple L’instruction suivante indique à Lingo de supprimer la fenêtre Tableau de commande lorsque l’animation ne l’utilise plus : -- Lingo syntax window("Control Panel").forget() // JavaScript syntax window("Control Panel").forget(); Voir aussi close(), open() (fenêtre), Fenêtre, windowList forget() (temporisation) Syntaxe timeout("timeoutName").forget() forget(timeout("timeoutName")) Description Cette fonction d’objet de temporisation supprime un objet de temporisation de la liste timeoutList et l’empêche d’envoyer d’autres événements de temporisation. Paramètres Aucune. Exemple L’instruction suivante supprime l’objet de temporisation Réveil de la liste timeoutList : -- Lingo timeout("AlarmClock").forget() // Javascript timeout("AlarmClock").forget(); Voir aussi timeout(), timeoutHandler, timeoutList, new() ADOBE DIRECTOR 11.0 322 Dictionnaire de script framesToHMS() Syntaxe framesToHMS(frames, tempo, dropFrame, fractionalSeconds) Description Fonction ; convertit le nombre d’images spécifié en durée équivalente en heures, minutes et secondes. Cette fonction est pratique pour prévoir la durée de lecture réelle d’une animation ou pour contrôler un appareil de lecture vidéo. Le résultat est une chaîne spécifiée sous la forme sHH:MM:SS.FFD, où : s Un caractère est utilisé si le temps est inférieur à zéro ou un espace si le temps est supérieur ou égal à zéro. HH Heures. MM Minutes. SS Secondes. FF Indique une fraction de seconde si fractionalSeconds présente la valeur TRUE ou images si fractionalSeconds présente la valeur FALSE. D Un « d » est utilisé si dropFrame présente la valeur TRUE ; un espace est utilisé si dropFrame présente la valeur FALSE. Paramètres frames Requis. Expression entière spécifiant le nombre d’images. tempo Requis. Expression entière spécifiant la cadence en images par seconde. dropFrame Requis. Compense la cadence NTSC couleur qui n’est pas exactement de 30 images par seconde et n’est utile que pour une cadence de 30 images par seconde. Normalement, ce paramètre présente la valeur FALSE. fractionalSeconds Requis. Détermine si les images résiduelles sont converties au centième de seconde le plus proche (TRUE) ou renvoyées sous la forme d’un nombre d’images entier (FALSE). Exemple L’instruction suivante convertit une animation de 2710 images, 30 images par seconde. Les arguments dropFrame et fractional-Seconds sont tous les deux désactivés : put framesToHMS(2710, 30, FALSE, FALSE) -- " 00:01:30.10 " Voir aussi HMStoFrames() frameReady() (animation) Syntaxe -- Lingo syntax _movie.frameReady({intFrameNum}) _movie.frameReady(frameNumA, frameNumB) // JavaScript syntax _movie.frameReady({intFrameNum}); ADOBE DIRECTOR 11.0 323 Dictionnaire de script _movie.frameReady(frameNumA, frameNumB); Description Méthode d’animation ; pour les animations, projections et animations Director comportant du contenu Shockwave, détermine si les acteurs d’une image ou d’une série d’images ont été téléchargés. Cette méthode renvoie la valeur TRUE si les acteurs spécifiés ont été téléchargés, et la valeur FALSE dans le cas contraire. Pour visualiser une démonstration de la méthode frameReady() dans une animation Director, consultez l’exemple d’animation Shockwave en flux continu dans l’Aide de Director. Paramètres intFrameNum Facultatif en cas de vérification si les acteurs d’une image spécifique ont été téléchargés. Nombre entier spécifiant l’image individuelle à tester. Si ce paramètre est omis, frameReady() détermine si les acteurs utilisés dans n’importe quelle image d’un scénario ont été téléchargés. frameNumA Requis en cas de vérification si les acteurs d’une série d’images ont été téléchargés. Nombre entier spécifiant la première image de la série. frameNumB Requis en cas de vérification si les acteurs d’une série d’images ont été téléchargés. Nombre entier spécifiant la dernière image de la série. Exemple L’instruction suivante détermine si les acteurs de l’image 20 sont téléchargés et prêts à être affichés : -- Lingo syntax on exitFrame if (_movie.frameReady(20)) then _movie.go(20) else _movie.go(1) end if end // JavaScript syntax function exitFrame() { if (_movie.frameReady(20)) { _movie.go(20); } else { _movie.go(1); } } Le script d’image suivant vérifie si l’image 25 d’une image-objet d’animation Flash dans la piste 5 peut être affichée. Dans le cas contraire, le script maintient la tête de lecture en boucle sur l’image en cours de l’animation Director. Lorsque l’image 25 peut être affichée, le script démarre l’animation et laisse la tête de lecture passer à l’image suivante de l’animation Director. Voir aussi mediaReady, Animation ADOBE DIRECTOR 11.0 324 Dictionnaire de script frameStep() Syntaxe -- Lingo syntax dvdObjRef.frameStep(intFrames) // JavaScript syntax dvdObjRef.frameStep(intFrames); Description Méthode de DVD ; avance la lecture du nombre d’images spécifié à partir de la position en cours lorsque la lecture a été interrompue. La lecture vers l’arrière n’est pas prise en charge par le logiciel système Windows ou Mac pour la lecture de DVD. Paramètres intFrames Requis. Nombre entier spécifiant le nombre d’images duquel la lecture doit être avancée. Exemple L’instruction suivante avance la lecture de 100 images : -- Lingo syntax member("drama").frameStep(100) // JavaScript syntax member("drama").frameStep(100); Voir aussi DVD freeBlock() Syntaxe the freeBlock Description Fonction ; indique la taille du plus grand bloc de mémoire disponible, en octets. Un kilo-octet (ko) correspond à 1 024 octets. Un méga-octet (Mo) correspond à 1 024 kilo-octets. Le chargement d’un acteur nécessite un bloc libre au moins aussi grand que l’acteur. Paramètres Aucune. Exemple L’instruction suivante détermine si le plus grand bloc de mémoire disponible est inférieur à 10 ko et affiche un message d’erreur si c’est le cas : -- Lingo syntax if (the freeBlock < (10 * 1024)) then alert "Not enough memory!" // JavaScript syntax if (freeBlock < (10 * 1024)) { ADOBE DIRECTOR 11.0 325 Dictionnaire de script alert("Not enough memory!") } Voir aussi freeBytes(), memorySize, ramNeeded(), size freeBytes() Syntaxe the freeBytes Description Fonction ; indique le nombre total d’octets de mémoire disponible, qui ne forme pas forcément un bloc continu. Un kilo-octet (ko) correspond à 1 024 octets. Un méga-octet (Mo) correspond à 1 024 kilo-octets. Cette fonction diffère de la fonction freeBlock car elle indique la totalité de la mémoire disponible, et non uniquement la mémoire contiguë. Sur le Mac, la sélection de l’option Utiliser la mémoire temporaire du système dans les préférences générales de Director ou dans la boîte de dialogue Options d’une projection indique à la fonction freeBytes de renvoyer toute la mémoire disponible pour l’application. Cette quantité est égale à la quantité affectée à l’application affichée dans sa boîte de dialogue Lire les informations, et à la valeur Mémoire disponible affichée dans la boîte de dialogue A propos de votre Mac. Paramètres Aucune. Exemple L’instruction suivante vérifie si plus de 200 ko de mémoire est disponible et lit une animation couleur si c’est le cas : if (the freeBytes > (200 * 1024)) then play movie "colorMovie" Voir aussi freeBlock(), memorySize, objectP(), ramNeeded(), size generateNormals() Syntaxe member(whichCastmember).modelResource(whichModelResource).generateNormals(style) Description Commande 3D de ressource de modèle #mesh ; calcule les vecteurs normal pour chaque sommet de la maille. Si le paramètre style présente la valeur #flat, chaque sommet reçoit une normale pour chaque face à laquelle il appartient. Les trois sommets d’une face partagent la même normale. Par exemple, si les sommets de face[1] reçoivent tous normal[1], que les sommets de face[2] reçoivent tous normal[2] et que les deux faces partagent vertex[8], la normale de vertex[8] est normal[1] pour face[1] et normal[2] pour face[2]. L’utilisation du paramètre #flat résulte en une délimitation très claire des faces d’une maille. ADOBE DIRECTOR 11.0 326 Dictionnaire de script Si le paramètre style présente la valeur #smooth, chaque sommet ne reçoit qu’une seule normale, quel que soit le nombre de faces auquel il appartient, les trois sommets d’une face pouvant avoir différentes normales. Chaque normale de sommet est la moyenne des normales de toutes les faces le partageant. L’utilisation du paramètre #smooth résulte en une apparence plus adoucie des faces d’une maille, à l’exception des bords extérieurs qui restent nets. Une normale de sommet est un vecteur de direction indiquant la direction « vers l’avant » d’un sommet. Si la normale de sommet pointe vers la caméra, les couleurs affichées dans la région de la maille contrôlée par cette normale sont déterminées par le matériau. Si la normale de sommet pointe dans la direction opposée à la caméra, la zone de la maille contrôlée par cette normale n’est pas visible. Si vous utilisez la commande generateNormals(), vous devrez utiliser la commande build() pour reconstruire la maille. Paramètres style Requis. Symbole spécifiant le style du sommet. Exemple L’instruction suivante calcule les normales de sommet de la ressource de modèle mailleDeSol. Le paramètre style présente la valeur #smooth afin que chaque sommet de la maille ne reçoive qu’une seule normale. -- Lingo member("Room").modelResource("FloorMesh").generateNormals(#smooth) // Javascript member("Room").getProp("modelResource", "index (of the modelresource)").generateNormals("smooth"); Voir aussi build(), face[ ], normalList, normals, flat getaProp Syntaxe propertyList.propertyName getaProp(list, item) list[listPosition] propertyList [ #propertyName ] propertyList [ "propertyName" ] Description Commande de liste ; pour les listes linéaires et de propriétés, identifie la valeur associée à l’élément spécifié par item, listPosition ou propertyName dans la liste spécifiée par list. • Lorsque la liste est linéaire, remplacez item par le numéro correspondant à la position de l’élément dans cette liste, indiquée par listPosition. Le résultat est la valeur située à cette position. • Lorsque la liste est une liste de propriétés, remplacez item par une propriété de la liste comme dans propertyName. Le résultat est la valeur associée à cette propriété. La commande getaProp renvoie VOID si la valeur spécifiée n’est pas dans la liste. Lorsqu’elle est utilisée avec des listes linéaires, la commande getaProp remplit la même fonction que la commande getAt. ADOBE DIRECTOR 11.0 327 Dictionnaire de script Paramètres itemNameOrNum Requis. Pour les listes linéaires, nombre entier spécifiant la position d’index de la valeur dans la liste à renvoyer ; pour les listes de propriétés, symbole (Lingo) ou chaîne (syntaxe JavaScript) spécifiant la propriété dont la valeur est renvoyée. Exemple L’instruction suivante identifie la valeur associée à la propriété #joe dans la liste de propriétés âges, composée de [#jean:10, #joe:12, #sophie:15, #barbara:22] : put getaProp(ages, #joe) Le résultat est 12 car il s’agit de la valeur associée à la propriété #joe. Le même résultat peut être obtenu avec des crochets d’accès dans la même liste : put ages[#joe] Le résultat est de nouveau 12. Pour obtenir la valeur située à une certaine position dans la liste, vous pouvez également utiliser des crochets d’accès. Pour obtenir la troisième valeur de la liste associée à la troisième propriété, utilisez la syntaxe suivante : put ages[3] -- 15 Remarque : Contrairement à la commande getAProp pour laquelle la valeur VOID est renvoyée lorsqu’une propriété n’existe pas, une erreur de script se produit si la propriété n’existe pas et qu’un crochet d’accès est utilisé. Voir aussi getAt, getOne(), getProp(), setaProp, setAt getAt Syntaxe getAt(list, position) list [position] Description Commande de liste ; identifie l’élément à une position spécifiée d’une liste spécifique. Si la liste contient moins d’éléments que la position spécifiée, une erreur de script a lieu. La commande getAt fonctionne avec les listes linéaires et de propriétés. Cette commande remplit la même fonction que la commande getaProp pour les listes linéaires. Elle est pratique pour extraire une liste d’une autre liste, comme deskTopRectList. Paramètres list Requis. Spécifie la liste à laquelle appartient l’élément. position Requis. Spécifie la position d’index de l’élément dans la liste. Exemple L’instruction suivante entraîne l’affichage dans la fenêtre Messages du troisième élément de la liste Réponses, composée de [10, 12, 15, 22] : ADOBE DIRECTOR 11.0 328 Dictionnaire de script put getAt(answers, 3) -- 15 Le même résultat peut être renvoyé à l’aide de crochets d’accès : put answers[3] -- 15 L’exemple suivant extrait la première entrée d’une liste de deux entrées indiquant le nom, le service et le numéro d’identification des employés. Le second élément de la liste extraite est ensuite renvoyé, identifiant le service dans lequel la première personne de la liste est employée. Le format de la liste est [ ["Denis", "Conseil", 510], ["Sophie", "Distribution", 973] ] et la liste est appelée listeInfosEmployés firstPerson = getAt(employeeInfoList, 1) put firstPerson -- ["Dennis", "consulting", 510] firstPersonDept = getAt(firstPerson, 2) put firstPersonDept -- "consulting" Il est également possible d’imbriquer des commandes getAt sans affecter de valeurs aux variables dans les étapes intermédiaires. Ce format peut se révéler plus difficile à lire et à rédiger, mais contient moins de texte. firstPersonDept = getAt(getAt(employeeInfoList, 1), 2) put firstPersonDept -- "consulting" Vous pouvez également utiliser les crochets d’accès : firstPerson = employeeInfoList[1] put firstPerson -- ["Dennis", "consulting", 510] firstPersonDept = firstPerson[2] put firstPersonDept -- "consulting" De même qu’avec la commande getAt, les crochets peuvent être imbriqués : firstPersonDept = employeeInfoList[1][2] Voir aussi getaProp, setaProp, setAt getError() (Flash, SWA) Syntaxe -- Lingo syntax memberObjRef.getError() // JavaScript syntax memberObjRef.getError(); Description Fonction ; pour les acteurs Shockwave Audio (SWA) ou Flash, indique si une erreur est survenue pendant le transfert de l’acteur en mémoire et renvoie une valeur. Les acteurs Shockwave Audio peuvent prendre les valeurs entières getError() suivantes et les messages getErrorString() correspondants : ADOBE DIRECTOR 11.0 329 Dictionnaire de script valeur getError() message getErrorString() 0 OK 1 mémoire 2 réseau 3 périphérique de lecture 99 autre Les valeurs getError possibles des acteurs animation Flash sont les suivantes : • FALSE : aucune erreur n’est survenue. • #memory : la mémoire est insuffisante pour le chargement de l’acteur. • #fileNotFound : le fichier contenant les éléments de l’acteur est introuvable. • #network : une erreur réseau a empêché le chargement de l’acteur. • #fileFormat : le fichier a été trouvé mais semble être d’un type incorrect ou une erreur est survenue à la lecture du fichier. • #other : une autre erreur est survenue. Lorsqu’une erreur survient pendant le transfert de l’acteur en mémoire, Director affecte la valeur -1 à la propriété d’état de l’acteur. Utilisez la fonction getError pour déterminer le type d’erreur. Paramètres Aucune. Exemple Le gestionnaire suivant utilise getError pour déterminer si une erreur impliquant l’acteur Shockwave Audio Norma Desmond parle est survenue et, le cas échéant, affiche la chaîne d’erreur appropriée dans un champ : -- Lingo syntax on exitFrame if member("Norma Desmond Speaks").getError() <> 0 then member("Display Error Name").text = member("Norma Desmond \ Speaks").getErrorString() end if end // JavaScript syntax function exitFrame() { var memNor = member("Norma Desmond Speaks").getError(); if (memNor != 0) { member("Display Error Name").text = member("Norma Desmond Speaks").getErrorString(); } } Le gestionnaire suivant vérifie si une erreur est survenue pour un acteur Flash intitulé Dali lors de son transfert en mémoire. Si une erreur est survenue et qu’il s’agit d’une erreur de mémoire, le script utilise la commande unloadCast pour tenter de libérer de la mémoire, puis fait ensuite passer la tête de lecture à une image appelée Artistes de l’animation Director, dans laquelle l’image-objet d’animation Flash apparaît en premier, de façon à ce que Director puisse de nouveau essayer de charger et de lire l’animation Flash. Si un autre type d’erreur est survenu, le script passe à une image intitulée Désolé qui explique que l’animation Flash requise ne peut pas être lue. -- Lingo syntax ADOBE DIRECTOR 11.0 330 Dictionnaire de script on CheckFlashStatus errorCheck = member("Dali").getError() if errorCheck <> 0 then if errorCheck = #memory then member("Dali").clearError() unloadCast() _movie.go("Artists") else _movie.go("Sorry") end if end if end // JavaScript syntax function CheckFlashStatus() { var errorCheck = member("Dali").getError(); if (errorCheck != 0) { if (errorCheck == "memory") { member("Dali").clearError(); unloadCast(); _movie.go("Artists"); } else { _movie.go("Sorry"); } } } Voir aussi clearError(), getErrorString(), state (Flash, SWA) getError() (XML) Syntaxe parserObject.getError() Description Fonction ; renvoie une chaîne d’erreur descriptive associée à un numéro d’erreur (comprenant le numéro de la ligne et de la colonne de l’emplacement de l’erreur dans le code XML). S’il n’existe aucune erreur, cette fonction renvoie la valeur <VOID>. Paramètres Aucune. Exemple Les instructions suivantes vérifient une erreur après l’analyse d’une chaîne contenant des données XML : -- Lingo errCode = parserObject.parseString(member("XMLtext").text) errorString = parserObject.getError() if voidP(errorString) then -- Go ahead and use the XML in some way else alert "Sorry, there was an error " & errorString -- Exit from the handler exit end if ADOBE DIRECTOR 11.0 331 Dictionnaire de script // Javascript errCode = parserObject.parseString(member("XMLtext").text); errorString = parserObject.getError(); if (errorString != null) { // Go ahead and use the XML in some way }else{ _player.alert("Sorry, there was an error " + errorString); // Exit from the handler } getErrorString() Syntaxe -- Lingo syntax memberObjRef.getErrorString() // JavaScript syntax memberObjRef.getErrorString(); Description Fonction ; pour les acteurs Shockwave Audio (SWA), renvoie la chaîne de message d’erreur correspondant à la valeur de l’erreur renvoyée par la fonction getError(). Les valeurs entières getError() possibles et les messages getErrorString() correspondants sont les suivants : valeur getError() message getErrorString() 0 OK 1 mémoire 2 réseau 3 périphérique de lecture 99 autre Paramètres Aucune. Exemple Le gestionnaire suivant utilise getError() pour déterminer si une erreur est survenue pour l’acteur Shockwave Audio Norma Desmond parle et, le cas échéant, utilise getErrorString pour obtenir le message d’erreur et l’affecter à un acteur champ : -- Lingo syntax on exitFrame if member("Norma Desmond Speaks").getError() <> 0 then member("Display Error Name").text = member("Norma Desmond Speaks").getErrorString() end if end // JavaScript syntax function exitFrame() { ADOBE DIRECTOR 11.0 332 Dictionnaire de script var memNor = member("Norma Desmond Speaks").getError(); if (memNor != 0) { member("Display Error Name").text = member("Norma Desmond Speaks").getErrorString(); } } Voir aussi getError() (Flash, SWA) getFinderInfo() Syntaxe -- Lingo syntax fileioObjRef.getFinderInfo() // JavaScript syntax fileioObjRef.getFinderInfo(); Description Méthode FileIO (Mac uniquement) ; renvoie les informations du Finder relatives à un fichier ouvert. Vous devez avoir ouvert un fichier à l’aide de la méthode openFile() avant d’utiliser la méthode getFinderInfo() pour obtenir les informations du Finder concernant ce fichier. Paramètres Aucune. Exemple -- Lingo syntax objFileio = new xtra("fileio") objFileio.openFile(stringFileName, intMode) objFileio.getFinderInfo() // JavaScript syntax var objFileio = new xtra("fileio"); objFileio.openFile(stringFileName, intMode) ; objFileio.getFinderInfo() ; Voir aussi Fileio, openFile() getFlashProperty() Syntaxe -- Lingo syntax spriteObjRef.getFlashProperty(targetName, symProp) // JavaScript syntax spriteObjRef.getFlashProperty(targetName, symProp); ADOBE DIRECTOR 11.0 333 Dictionnaire de script Description Cette fonction permet à Lingo d’invoquer la fonction script d’action Flash getProperty() dans l’image-objet Flash donnée. Cette fonction script d’action Flash est utilisée pour obtenir la valeur des propriétés des recadrages ou des niveaux dans une animation Flash. Cette fonction est similaire au test des propriétés d’images-objets dans Director. Pour obtenir une propriété globale de l’image-objet Flash, transmettez une ligne vide en tant que targetName. Ces propriétés globales Flash peuvent être testées : #focusRect et #spriteSoundBufferTime. Consultez la documentation de Flash pour plus d’informations sur ces propriétés. Paramètres targetName Requis. Chaîne spécifiant le nom du clip ou du niveau de l’animation dont vous souhaitez obtenir la propriété dans l’image-objet Flash donnée. symProp Requis. Symbole spécifiant le nom de la propriété à obtenir. Les valeurs possibles sont : #posX, #posY, #scaleX, #scaleY, #visible, #rotate, #alpha, #name, #width, #height, #target, #url, #dropTarget, #totalFrames, #currentFrame, #cursor et #lastframeLoaded. Exemple L’instruction suivante obtient la valeur de la propriété #rotate du clip Etoile dans l’acteur Flash de l’image-objet 3 : -- Lingo syntax sprite(3).setFlashProperty("Star", #rotate) sprite(3).getFlashProperty("Star") // JavaScript syntax sprite(3).setFlashProperty("Star", symbol("rotate")); sprite(3).getFlashProperty("Star"); getFrameLabel() Syntaxe sprite(whichFlashSprite).getFrameLabel(whichFlashFrameNumber) getFrameLabel(sprite whichFlashSprite, whichFlashFrameNumber) Description Fonction ; renvoie le libellé d’image d’une animation Flash associé au nom de numéro demandé. Si le libellé n’existe pas ou que cette partie de l’animation Flash n’est pas encore transférée en mémoire, cette fonction renvoie une chaîne vide. Paramètres whichFlashFrameNumber Requis. Spécifie le numéro d’image associé au libellé d’image. Exemple Le gestionnaire suivant vérifie si le repère de l’image 15 de l’animation Flash lue dans l’image-objet 1 porte le nom « Lions ». Le cas échéant, l’animation Director passe à l’image Lions. Dans le cas contraire, l’animation Director reste dans l’image en cours et la lecture de l’animation Flash se poursuit. -- Lingo syntax on exitFrame if sprite(1).getFrameLabel(15) = "Lions" then go "Lions" else ADOBE DIRECTOR 11.0 334 Dictionnaire de script go the frame end if end // JavaScript syntax function exitFrame() { if (sprite(1).getFrameLabel(15) == "Lions") { _movie.go("Lions"); } else { _movie.go(_movie.frame); } } getHardwareInfo() Syntaxe getRendererServices().getHardwareInfo() Description Méthode 3D rendererServices ; renvoie une liste de propriétés contenant les informations relatives à la carte vidéo de l’utilisateur. La liste contient les propriétés suivantes : #present est une valeur booléenne indiquant si l’ordinateur est équipé de matériel d’accélération vidéo. #vendor indique le nom du fabricant de la carte vidéo. #model indique le modèle de la carte vidéo. #version indique la version du pilote vidéo. #maxTextureSize est une liste linéaire contenant la largeur et hauteur maximale d’une texture, en pixels. Les textures dépassant cette taille sont sous-échantillonnées à la taille maximum. Vous pouvez éviter des erreurs de souséchantillonnage en créant des textures de différentes tailles et en choisissant celles qui ne dépassent pas la valeur #maxTextureSize lors de l’exécution. #supportedTextureRenderFormats est une liste linéaire des formats de texture pris en charge par la carte vidéo. Pour plus d’informations, reportez-vous à l’entrée textureRenderFormat. #textureUnits indique le nombre d’unités de texture disponibles pour la carte. #depthBufferRange est une liste linéaire de résolutions binaires sur lesquelles la propriété depthBufferDepth peut être définie. #colorBufferRange est une liste linéaire de résolutions binaires sur lesquelles la propriété colorBufferDepth peut être définie. Exemple L’instruction suivante affiche une liste de propriétés détaillée concernant le matériel de l’utilisateur : -- Lingo put getRendererServices().getHardwareInfo() -- [#present: 1, #vendor: "NVIDIA Corporation", #model: "32MB DDR NVIDIA GeForce2 GTS (Dell)", #version: "4.12.01.0532", #maxTextureSize: [2048, 2048], #supportedTextureRenderFormats: [#rgba8888, #rgba8880, #rgba5650, #rgba5551, #rgba5550, #rgba4444], #textureUnits: 2, #depthBufferRange: [16, 24], #colorBufferRange: [16, 32]] // Javascript ADOBE DIRECTOR 11.0 335 Dictionnaire de script trace(getRendererServices().getHardwareInfo()) //<[#present: 1, #vendor: "NVIDIA Corporation", #model: "32MB DDR NVIDIA GeForce2 GTS (Dell)", #version: "4.12.01.0532", #maxTextureSize: [2048, 2048], #supportedTextureRenderFormats: [#rgba8888, #rgba8880, #rgba5650, #rgba5551, #rgba5550, #rgba4444], #textureUnits: 2, #depthBufferRange: [16, 24], #colorBufferRange: [16, 32]]> Voir aussi getRendererServices() getHotSpotRect() Syntaxe -- Lingo syntax spriteObjRef.getHotSpotRect(hotSpotID) // JavaScript syntax spriteObjRef.getHotSpotRect(hotSpotID); Description Fonction QuickTime VR ; renvoie un rectangle de délimitation approximatif pour une zone référencée. Si la zone référencée n’existe pas ou n’est pas visible sur la scène, cette fonction renvoie rect(0, 0, 0, 0). Si la zone référencée est partiellement visible, cette fonction renvoie le rectangle de délimitation pour la partie visible. Paramètres hotSpotID Requis. Spécifie la zone référencée pour laquelle un rectangle de délimitation est renvoyé. GetItemPropList Syntaxe GetItemPropList(MUIObject) Description Cette fonction renvoie une liste des propriétés prédéfinies de l'Xtra MUI pour les composants, dans une boîte de dialogue générale. Elle peut s'avérer utile lors de la définition de nouveaux composants dans une boîte de dialogue générale. Utilisez la fonction GetItemPropList pour obtenir une liste complète des propriétés et des valeurs, puis modifiez individuellement les propriétés si nécessaire. Les propriétés et leurs valeurs sont présentées dans le tableau ci-dessous. Propriété Valeur par défaut #value 0 #type #checkBox #attributes [], #title "titre" #tip "conseil" (compatible avec les versions ultérieures de l'Xtra MUI) #locH 20 ADOBE DIRECTOR 11.0 336 Dictionnaire de script Propriété Valeur par défaut #locV 24 #width 200 #height 210 #enabled 1 Exemple Ces instructions définissent le début d'une fenêtre de boîte de dialogue. • La première instruction crée une instance d'Xtra MUI, qui est l'objet utilisé en tant que boîte de dialogue. • La deuxième instruction attribue une liste des paramètres de composant de boîte de dialogue par défaut à la variable tempItemProps. • Grâce à la troisième instruction qui lui attribue le type #windowBegin, le composant devient le début de la boîte de dialogue. --Lingo Syntax set aMuiObj = new (Xtra "MUI") set tempItemProps = GetItemPropList(aMuiObj) set the type of tempItemProps = #windowBegin getLast() Syntaxe list.getLast() getLast(list) Description Fonction de liste ; identifie la dernière valeur d’une liste linéaire ou de propriétés spécifiée par list. Paramètres Aucune. Exemple L’instruction suivante identifie le dernier élément (22) de la liste Réponses, composée de [10, 12, 15, 22] : put Answers.getLast() L’instruction suivante identifie le dernier élément (850) de la liste Devis, composée de [#avatar:750, #dupont:600, #soldes:850] : put Bids.getLast() getLatestNetID Syntaxe getLatestNetID ADOBE DIRECTOR 11.0 337 Dictionnaire de script Description Cette fonction renvoie un identifiant pour la dernière opération réseau entamée. L’identificateur renvoyé par getLatestNetID peut être utilisé en tant que paramètre dans les fonctions netDone, netError et netAbort pour identifier la dernière opération réseau. Remarque : Cette fonction est destinée à la compatibilité en amont. Il est recommandé d’utiliser l’ID réseau renvoyé par une fonction réseau de Lingo plutôt que par getLatestNetID. Toutefois, si vous utilisez getLatestNetID, faites-le immédiatement après la commande netLingo. Paramètres Aucune. Exemple Le script suivant affecte l’identifiant réseau d’une opération getNetText à l’acteur champ Résultat de façon à permettre la récupération ultérieure des résultats de cette opération : on startOperation global gNetID getNetText("url") set gNetID = getLatestNetID() end on checkOperation global gNetID if netDone(gNetID) then put netTextResult into member "Result" end if end Voir aussi netAbort, netDone(), netError() getLength() Syntaxe -- Lingo syntax fileioObjRef.getLength() // JavaScript syntax fileioObjRef.getLength(); Description Méthode FileIO ; renvoie la longueur d’un fichier ouvert. Vous devez avoir ouvert un fichier à l’aide de la méthode openFile() avant d’utiliser la méthode getLength() pour obtenir la longueur de ce fichier. Paramètres Aucune. Exemple L’exemple suivant ouvre le fichier c:\vérif.txt et vérifie la longueur de ce fichier. -- Lingo syntax ADOBE DIRECTOR 11.0 338 Dictionnaire de script objFileio = new xtra("fileio") objFileio.openFile("c:\check.txt",2) put objFileio.getLength() // JavaScript syntax var objFileio = new xtra("fileio"); objFileio.openFile("c:\check.txt",2); trace(objFileio.getLength()) Voir aussi Fileio, openFile() getNetText() Syntaxe getNetText(URL {, serverOSString} {, characterSet}) getNetText(URL, propertyList {, serverOSString} {, characterSet}) Description Fonction ; démarre la récupération de texte à partir d’un fichier situé sur un serveur HTTP ou FTP ou lance une requête CGI. La première syntaxe présentée entame la récupération du texte. Vous pouvez soumettre des requêtes CGI HTTP de cette manière et devez les encoder correctement dans l’adresse URL. La seconde syntaxe comprend une liste de propriétés et soumet une requête CGI, fournissant le codage URL correct. Utilisez le paramètre facultatif propertyList pour utiliser une liste de propriétés pour les requêtes CGI. La liste de propriétés est codée dans l’URL et l’URL envoyée est (urlstring & "?" & encodedproplist). Utilisez le paramètre facultatif serverOSString pour coder tout caractère de retour dans propertyList. Ce paramètre présente la valeur UNIX par défaut, mais peut être défini sur Win ou sur Mac et convertit les retours chariot de l’argument propertyList en ceux utilisés par le serveur. Pour la plupart des applications, ce paramètre n’est pas nécessaire, les sauts de ligne n’étant généralement pas utilisés dans les réponses de formulaires. Le paramètre facultatif characterSet ne s’applique que si l’utilisateur exécute Director sur un système shift-JIS (Japonais). Les jeux de caractères possibles sont JIS, EUC, ASCII et AUTO. Lingo convertit les données récupérées de shift-JIS dans le jeu de caractères spécifié. Avec le paramètre AUTO, le jeu de caractères essaie de déterminer le jeu de caractères du texte récupéré et de le convertir au jeu de caractères de la machine locale. Le paramètre par défaut est ASCII. Utilisez netDone pour savoir quand l’opération getNetText est terminée et netError pour savoir si elle a réussi. Utilisez netTextResult pour renvoyer le texte récupéré par getNetText. Cette fonction est utilisable avec des URL relatives. Vous pouvez voir un exemple d’utilisation de getNextText() dans une animation en consultant l’animation Forms and Post du dossier Learning/Lingo, lui-même dans le dossier de Director. Paramètres URL Requis. URL du fichier contenant le texte à obtenir. propertyList Facultatif. Spécifie une liste de propriétés utilisée pour les requêtes CGI. serverOSString Facultatif. Spécifie le codage des caractères renvoyés dans propertyList. ADOBE DIRECTOR 11.0 339 Dictionnaire de script characterSet Facultatif. Spécifie le paramétrage des caractères. Exemple Le script suivant récupère du texte à partir de l’URL http://grandServeur.fr/exemple.txt et met à jour l’acteur champ sur lequel la souris se trouve lorsque l’utilisateur clique dessus : property spriteNum property theNetID on mouseUp me theNetID = getNetText ("http://BigServer.com/sample.txt") end on exitFrame me if netDone(theNetID) then sprite(spriteNum).member.text = netTextResult(theNetID) end if end L’exemple suivant récupère les résultats d’une requête CGI : getNetText("http://www.yourserver.com/cgi-bin/query.cgi?name=Bill") L’exemple suivant est semblable au précédent, mais utilise une liste de propriétés pour soumettre une requête CGI et effectue automatiquement le codage URL : getNetText("http://www.yourserver.com/cgi-bin/query.cgi", [#name:"Bill"]) Voir aussi netDone(), netError(), netTextResult() getNormalized Syntaxe getNormalized(vector) vector.getNormalized() Description Méthode 3D de vecteur ; copie le vecteur et divise les composants x, y et z de la copie par la longueur du vecteur d’origine. Le vecteur résultant est long d’une unité de l’univers. Cette méthode renvoie la copie et n’affecte pas le vecteur d’origine. Pour normaliser le vecteur d’origine, utilisez la commande normalize. Exemple L’instruction suivante enregistre la valeur normalisée du vecteur monVecteur dans la variable Norm. Norm a pour valeur vector( -0,1199, 0,9928, 0,0000 ) et 1 pour magnitude. -- Lingo MyVec = vector(-209.9019, 1737.5126, 0.0000) Norm = MyVec.getNormalized() put Norm -- vector( -0.1199, 0.9928, 0.0000 ) put Norm.magnitude -- 1.0000 ADOBE DIRECTOR 11.0 340 Dictionnaire de script // Javascript MyVec = vector(-209.9019, 1737.5126, 0.0000); Norm = MyVec.getNormalized(); trace(Norm); // vector( -0.1199, 0.9928, 0.0000 ) trace(Norm.magnitude); // 1.0000 Voir aussi normalize getNthFileNameInFolder() Syntaxe getNthFileNameInFolder(folderPath, fileNumber) Description Méthode d’animation ; renvoie un nom de fichier situé dans un dossier en fonction du chemin d’accès et du numéro spécifiés dans ce dossier. Pour être détectées par la fonction getNthFileNameInFolder, les animations Director doivent être définies comme étant visibles dans la structure des dossiers. Sur le Mac, d’autres types de fichiers peuvent être détectés, qu’ils soient visibles ou non. Si cette fonction renvoie une chaîne vide, vous avez spécifié un nombre supérieur au nombre de fichiers dans le dossier. La fonction getNthFileNameInFolder ne peut pas être utilisée avec des URL. Pour spécifier d’autres noms de dossier, utilisez l’opérateur @ pathname ou le chemin d’accès complet défini dans le format de la plate-forme sur laquelle l’animation est exécutée. Par exemple : • Sous Windows, utilisez un chemin tel que C:/Director/Animations. • Sur le Mac, utilisez un chemin d’accès tel que DisqueDur:Director:Animations. Pour rechercher des fichiers se trouvant sur le bureau du Mac, utilisez le chemin DisqueDur:Dossier. • Cette fonction n’est pas disponible dans Shockwave Player. Paramètres folderPath Requis. Spécifie le chemin d’accès du dossier contenant le fichier. fileNumber Requis. Spécifie la position d’index du fichier dans le dossier. Exemple Le gestionnaire suivant renvoie une liste de noms de fichiers dans le dossier du chemin actuel. Pour appeler cette fonction, utilisez des parenthèses, comme dans put currentFolder(). -- Lingo on currentFolder fileList = [ ] repeat with i = 1 to 100 n = getNthFileNameInFolder(the moviePath, i) if n = EMPTY then exit repeat fileList.append(n) end repeat return fileList end currentFolder ADOBE DIRECTOR 11.0 341 Dictionnaire de script // Javascript Function currentFolder() { fileList = list(); var i=0; while(i<100) { n= getNthFileNameInFolder(_movie.path,i); if ( n==null) { I=101; } Else { fileList.append(n); } I++; } Return fileList; } Voir aussi @ (chemin d’accès), Animation getOne() Syntaxe list.getOne(value) getOne(list, value) Description Fonction de liste ; identifie la position (liste linéaire) ou la propriété (liste de propriétés) associée à une valeur de la liste. Pour les valeurs contenues plus d’une fois dans la liste, seule la première occurrence est affichée. La commande getOne renvoie le résultat 0 lorsque la valeur spécifiée ne figure pas dans la liste. Lorsqu’elle est utilisée avec des listes linéaires, la commande getOne remplit les mêmes fonctions que la commande getPos. Lorsque vous ajoutez un filtre à l’aide de la méthode add ou append de la liste de filtres, un double du filtre est créé et ajouté à la liste. Les méthodes telles que deleteOne, getPos, findPos et getOne utilisent la valeur exacte de la liste et non la valeur dupliquée. Dans ces cas précis, vous pouvez utiliser la commande getOne de la façon suivante : f = filter(#glowfilter) sprite(1).filterlist.append(f) f = sprite(1).filterlist[1]-- here we get the actual value added to the list. sprite(1).filterlist.getOne(f) La troisième ligne du script ci-dessus ajoute la référence de la valeur de filtre à la liste. Paramètres value Requis. Spécifie la valeur associée à la position ou à la propriété. ADOBE DIRECTOR 11.0 342 Dictionnaire de script Exemple L’instruction suivante identifie la position de la valeur 12 dans la liste linéaire Réponses, composée de [10, 12, 15, 22] : -- Lingo put Answers.getOne(12) // Javascript trace(Answers.getOne(12)); Le résultat est égal à 2 car 12 est la deuxième valeur de la liste. L’instruction suivante identifie la propriété associée à la valeur 12 dans la liste de propriétés Réponses, composée de [#a:10, #b:12, #c:15, #d:22]: -- Lingo put Answers.getOne(12) // Javascript trace(Answers.getOne(12)); Le résultat est #b, correspondant à la propriété associée à la valeur 12. Voir aussi getPos() getOSDirectory() Syntaxe -- Lingo syntax getOSDirectory() // JavaScript syntax getOSDirectory(); Description Fonction ; renvoie le chemin d’accès complet du Dossier système (Mac) ou du répertoire Windows (Windows). Paramètres Aucune. Exemple L’instruction suivante place le répertoire du système d’exploitation de l’ordinateur. Dans ce cas précis, il s’agit de c:\windows. -- Lingo Put getOSDirectory() // Javascript trace(getOSDirectory()); Voir aussi Fileio ADOBE DIRECTOR 11.0 343 Dictionnaire de script getPixel() Syntaxe -- Lingo syntax imageObjRef.getPixel(x, y {, #integer}) imageObjRef.getPixel(point(x, y) {, #integer}) // JavaScript syntax imageObjRef.getPixel(x, y {, #integer}); imageObjRef.getPixel(point(x, y) {, #integer}); Description Méthode d’image. Renvoie une couleur indexée ou RVB du pixel à un point spécifié d’une image donnée. L’index des lignes et colonnes de l’image renvoyée démarre à la valeur 0. Par conséquent, pour accéder au pixel supérieur gauche d’une image, spécifiez son emplacement sous la forme (0,0) et non sous la forme (1,1). Si une image donnée comporte une hauteur de h pixels et une largeur de h pixels, pour accéder au pixel inférieur droit de cette image, spécifiez son emplacement sous la forme (h,1), (h,1). Cette méthode renvoie la valeur 0 si le pixel spécifié est situé à l’extérieur de l’image donnée. Pour définir un grand nombre de pixels sur la couleur d’un autre pixel, il est plus rapide de les définir en tant que nombres bruts (en utilisant le paramètre facultatif #entier). Les valeurs de couleur brutes sont également pratiques en ce sens qu’elles contiennent à la fois des informations de couche alpha et de couleurs dans les images 32 bits. Les informations de couche alpha peuvent être extraites du nombre brut en le divisant le nombre par 2^8+8+8. Paramètres x Requis en cas de spécification d’un pixel à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée x du pixel. y Requis en cas de spécification d’un pixel à l’aide de coordonnées x et y. Nombre entier spécifiant la coordonnée y du pixel. #entier Facultatif. Symbole spécifiant le nombre brut de la valeur de couleur renvoyée. point(x, y) Requis en cas de spécification d’un pixel à l’aide d’un point. Point spécifiant le point du pixel. Exemple Les instructions suivantes définissent la couleur du pixel au point (20, 20) dans l’acteur Image de la scène. -- Lingo objImage = _movie.stage.image objImage.getPixel(20, 20) put (objImage) -- Javascript var objImage = _movie.stage.image ; objImage.getPixel(20, 20) ; put (objImage) ; Voir aussi color(), image(), power(), setPixel() ADOBE DIRECTOR 11.0 344 Dictionnaire de script getPlayList() Syntaxe -- Lingo syntax soundChannelObjRef.getPlayList() // JavaScript syntax soundChannelObjRef.getPlayList(); Description Méthode de piste audio ; renvoie une copie de la liste des sons mis en attente pour une piste audio. La liste renvoyée n’inclut pas le son en cours de lecture et n’est pas modifiable directement. Vous devez utiliser setPlayList(). La liste de lecture est une liste linéaire de listes de propriétés. Chaque liste de propriétés correspond à un acteur son placé en file d’attente. Chaque son placé en file d’attente peut spécifier ces propriétés : Propriété Description #member Acteur à placer en file d’attente. Cette propriété doit être spécifiée. Toutes les autres sont facultatives. #startTime Position temporelle de départ de la lecture du son, en millisecondes. La valeur par défaut est le début du son. Pour plus d’informations, reportez-vous à l’entrée startTime. #endTime Position temporelle de fin de la lecture du son, en millisecondes. La valeur par défaut est la fin du son. Pour plus d’informations, reportez-vous à l’entrée endTime. #loopCount Nombre de répétitions d’une boucle défini avec #loopStartTime et #loopEndTime. La valeur par défaut est 1. Pour plus d’informations, reportez-vous à l’entrée loopCount. #loopStartTime Position temporelle de départ de la boucle, en millisecondes. Pour plus d’informations, reportezvous à l’entrée loopStartTime. #loopEndTime Position temporelle de fin de la boucle, en millisecondes. Pour plus d’informations, reportez-vous à l’entrée loopEndTime. #preloadTime Quantité de son à placer en mémoire tampon avant la lecture, en millisecondes. Pour plus d’informations, reportez-vous à l’entrée preloadTime. Paramètres Aucune. Exemple Ce gestionnaire place deux sons en file d’attente dans la piste audio 2, démarre leur lecture, puis affiche la liste de lecture dans la fenêtre Messages. La liste de lecture ne contient que le second son placé en file d’attente, le premier son étant déjà en cours de lecture. -- Lingo syntax on playMusic sound(2).queue(member("Chimes")) sound(2).queue([#member:member("introMusic"), #startTime:3000, #endTime:10000, #loopCount:5, #loopStartTime:8000, #loopEndTime:8900]) put(sound(2).getPlayList()) sound(2).play() end playMusic // JavaScript syntax ADOBE DIRECTOR 11.0 345 Dictionnaire de script function playMusic() { sound(2).queue(member("Chimes")); sound(2).queue(propList("member",member("introMusic"), "startTime",3000, "endTime",10000, "loopCount",5, "loopStartTime",8000, "loopEndTime",8900)); put(sound(2).getPlayList()); sound(2).play(); } Voir aussi endTime, loopCount, loopEndTime, loopStartTime, Acteur, member, preLoadTime, queue(), setPlayList(), Piste audio, startTime getPosition() Syntaxe -- Lingo syntax fileioObjRef.getPosition() // JavaScript syntax fileioObjRef.getPosition(); Description Méthode FileIO ; renvoie la position d’un fichier. Paramètres Aucune. Exemple L’instruction suivante ouvre le fichier c:\xtra.txt et obtient la position en cours de ce dernier. -- Lingo syntax objFileio = new xtra("fileio") objFileio.openFile("c:\xtra.txt",0) put objFileio.getPosition() // JavaScript syntax var objFileio = new xtra("fileio"); objFileio.openFile("c:\xtra.txt",0); trace(objFileio.getPosition()); Voir aussi Fileio getPref() Syntaxe -- Lingo syntax _player.getPref(stringPrefName) // JavaScript syntax _player.getPref(stringPrefName); ADOBE DIRECTOR 11.0 346 Dictionnaire de script Description Méthode de lecteur ; récupère le contenu du fichier spécifié. Lorsque vous utilisez cette méthode, remplacez stringPrefName par le nom d’un fichier créé par la méthode setPref(). Si ce fichier n’existe pas, la méthode getPref() renvoie la valeur VOID (Lingo) ou null (syntaxe JavaScript). Le nom de fichier utilisé pour stringPrefName doit être un nom de fichier valide et non un chemin d’accès complet ; Director fournit le chemin. Le chemin vers le fichier est géré par Director. Les seules extensions de fichier valides pour stringPrefName sont .txt et .htm, toute autre extension étant rejetée. N’utilisez pas cette méthode pour accéder à des médias en lecture seule ou verrouillés. Remarque : Dans un navigateur, les données écrites par setPref() ne sont pas confidentielles. Toute animation comportant du contenu Shockwave est en mesure de lire ces informations et de les charger sur un serveur. Les informations confidentielles ne doivent pas être stockées à l’aide de la méthode setPref(). Vous pouvez voir un exemple d’utilisation de getPref() dans une animation en consultant l’animation Read and Write Text du dossier Learning/Lingo, lui-même situé dans le dossier de Director. Paramètres stringPrefName Requis. Chaîne spécifiant le fichier dont le contenu est récupéré. Exemple Le gestionnaire suivant récupère le contenu du fichier Test et en affecte le texte au champ Score : -- Lingo syntax on mouseUp theText = _player.getPref("Test") member("Total Score").text = theText end // JavaScript syntax function mouseUp() { var theText = _player.getPref("Test"); member("Total Score").text = theText; } Voir aussi Lecteur, setPref() getPos() Syntaxe list.getPos(value) getPos(list, value) Description Fonction de liste ; identifie la position d’une valeur dans une liste. Lorsque la valeur spécifiée n’est pas dans la liste, la commande getPos renvoie la valeur 0. Pour les valeurs contenues plus d’une fois dans la liste, seule la première occurrence est affichée. Cette commande remplit la même fonction que la commande getOne lorsqu’elle est utilisée pour les listes linéaires. ADOBE DIRECTOR 11.0 347 Dictionnaire de script Lorsque vous ajoutez un filtre à l’aide de la méthode add ou append de la liste de filtres, un double du filtre est créé et ajouté à la liste. Les méthodes telles que deleteOne, getPos, findPos et getOne utilisent la valeur exacte de la liste et non la valeur dupliquée. Dans ces cas précis, vous pouvez utiliser la méthode getPos de la façon suivante : f = filter(#glowfilter) sprite(1).filterlist.append(f) f = sprite(1).filterlist[1]-- here we get the actual value added to the list. sprite(1).filterlist.getPos(f) La troisième ligne du script ci-dessus récupère la référence de la valeur de filtre ajoutée à la liste. Paramètres value Requis. Spécifie la valeur associée à la position. Exemple L’instruction suivante identifie la position de la valeur 12 dans la liste Réponses, composée de [#a:10, #b:12, #c:15, #d:22] : -- Lingo put Answers.getPos(12) // Javascript trace(Answers.getPos(12)); Le résultat est égal à 2 car 12 est la deuxième valeur de la liste. Voir aussi getOne() getPref() Syntaxe getPref(prefFileName) Description Fonction ; récupère le contenu du fichier spécifié. Lorsque vous utilisez cette fonction, remplacez prefFileName par le nom d’un fichier créé par la fonction setPref. Si ce fichier n’existe pas, getPref renvoie VOID. Le nom de fichier utilisé pour prefFileName doit être un nom de fichier valide et non un chemin d’accès complet ; Director fournit le chemin. Le chemin vers le fichier est géré par Director. Les seules extensions de fichier valides pour prefFileName sont .txt et .htm, toute autre extension étant rejetée. N’utilisez pas cette commande pour accéder à des médias en lecture seule ou verrouillés. Remarque : Dans un navigateur, les données écrites par setPref ne sont pas confidentielles. Toute animation comportant du contenu Shockwave est en mesure de lire ces informations et de les charger sur un serveur. Les informations confidentielles ne doivent pas être stockées à l’aide de la commande setPref. Vous pouvez voir un exemple d’utilisation de getPref() dans une animation en consultant l’animation Read and Write Text du dossier Learning/Lingo, lui-même situé dans le dossier de Director. ADOBE DIRECTOR 11.0 348 Dictionnaire de script Paramètres prefFileName Requis. Spécifie le fichier dont le contenu est récupéré. Exemple Le gestionnaire suivant récupère le contenu du fichier Test et en affecte le texte au champ Score : on mouseUp theText = getPref("Test") member("Total Score").text = theText end Voir aussi setPref() getProp() Syntaxe getProp(list, property) list.property Description Fonction de liste de propriétés ; identifie la valeur associée à une propriété dans une liste de propriétés. Quasiment identique à la commande getaProp, la commande getProp affiche un message d’erreur si la propriété spécifiée ne figure pas dans la liste ou si vous spécifiez une liste linéaire. Paramètres list Requis. Spécifie la liste de propriétés dont la valeur property est récupérée. property Requis. Spécifie la propriété à laquelle la valeur identifiée est associée. Exemple L’instruction suivante identifie la valeur associée à la propriété #c dans la liste de propriétés Réponses, composée de [#a:10, #b:12, #c:15, #d:22] : -- Lingo getProp(Answers, #c) / Javascript Answers.getProp("c"); Le résultat est 15 car il s’agit de la valeur associée à #c. Voir aussi getOne() getPropAt() Syntaxe list.getPropAt(index) getPropAt(list, index) ADOBE DIRECTOR 11.0 349 Dictionnaire de script Description Fonction de liste de propriétés ; pour les listes de propriétés uniquement, identifie le nom de propriété associé à une position spécifiée dans une liste de propriétés. Si l’élément spécifié ne figure pas dans la liste ou si vous utilisez getPropAt() avec une liste linéaire, une erreur de script se produit. Paramètres index Requis. Spécifie la position d’index de la propriété dans la liste de propriétés. Exemple L’instruction suivante identifie la deuxième propriété dans la liste de propriétés Réponses, composée de [#a:10, #b:12, #c:15, #d:22]: -- Lingo put Answers.getPropAt(2) -- #b // Javascript trace(Answers.getPropAt(2)) // b getRendererServices() Syntaxe getRendererServices() getRendererServices().whichGetRendererServicesProperty Description Commande 3D ; renvoie l’objet rendererServices. Cet objet contient les informations sur le matériel et les propriétés qui affectent tous les acteurs et images-objets 3D. L’objet rendererServices comporte les propriétés suivantes : • renderer indique le traceur par ligne logiciel utilisé pour le rendu de toutes les images-objets 3D. • rendererDeviceList renvoie une liste des traceurs par ligne logiciels présents sur le système de l’utilisateur. Les valeurs possibles sont #openGL, #directX5_2, #directX7_0, #directx9 et #software. La valeur de renderer doit être l’une de ces valeurs. Cette propriété peut être testée, mais pas définie. • textureRenderFormat indique le format de pixel utilisé par le moteur de rendu. Les valeurs possibles sont #rgba8888, #rgba8880, #rgba5650, #rgba5550, #rgba5551 et #rgba4444. Les quatre chiffres de chaque symbole indiquent le nombre de bits utilisés pour chaque composante rouge, verte, bleue et alpha. • depthBufferDepth indique le codage binaire du tampon de sortie du matériel. • colorBufferDepth indique le codage binaire du tampon des couleurs. Cette propriété peut être testée, mais pas définie. • modifiers est une liste linéaire des modificateurs disponibles et utilisables par les modèles des acteurs 3D. Les valeurs possibles sont #collision, #bonesPlayer, #keyframePlayer, #toon, #lod, #meshDeform, #sds, #inker et les modificateurs reposant sur des Xtras d’autres éditeurs. Cette propriété peut être testée, mais pas définie. • primitives est une liste linéaire des types de primitives utilisables dans la création de ressources de modèle. Les valeurs possibles sont #sphere, #box, #cylinder, #plane, #particle et les types de primitives reposant sur des Xtras d’autres éditeurs. Cette propriété peut être testée, mais pas définie. ADOBE DIRECTOR 11.0 350 Dictionnaire de script Remarque : Pour plus d’informations, consultez les entrées des différentes propriétés. Paramètres Aucune. Exemple L’instruction suivante récupère l’objet rendererServices ainsi que les informations concernant le moteur de rendu. -- Lingo Ro = getRendererServices() Put Ro.renderer -- #directX7_0 // Javascript Var ro = getRendererServices(); trace(ro.renderer); // #directX7_0 Voir aussi renderer, preferred3dRenderer, active3dRenderer, rendererDeviceList getStreamStatus() Syntaxe getStreamStatus(netID) getStreamStatus(URLString) Description Fonction ; renvoie une liste de propriétés correspondant au format utilisé pour la fonction tellStreamStatus disponible globalement et utilisable avec des appels d’images-objets ou d’objets. La liste contient les chaînes suivantes : #URL Chaîne contenant l’emplacement de l’URL utilisée pour le début des opérations réseau. #state Chaîne composée de Connecting (connexion), Started (démarrée), InProgress (en cours), Complete (terminée), Error (erreur) ou NoInformation (aucune information) ; cette dernière chaîne s’applique lorsque l’ID réseau est tellement ancien que les informations d’état n’existent plus ou que l’URL spécifiée dans URLString n’a pas été trouvée dans la mémoire cache. #bytesSoFar Nombre d’octets récupérés jusqu’à maintenant à partir du réseau. #bytesTotal Nombre total d’octets dans le flux, s’il est connu. Cette valeur peut être zéro si le serveur HTTP n’indique pas la longueur du contenu dans l’en-tête MIME. #error Chaîne contenant "" (EMPTY ) si le téléchargement n’est pas terminé, OK s’il a abouti ou un code d’erreur s’il s’est achevé par une erreur. Par exemple, vous pouvez démarrer une opération réseau avec getNetText() et suivre sa progression avec getStreamStatus(). Paramètres netID Requis. Opération réseau représentant le flux de texte concerné par la méthode. ADOBE DIRECTOR 11.0 351 Dictionnaire de script Exemple L’instruction suivante affiche dans la fenêtre Messages l’état d’un téléchargement démarré avec getNetText() et l’identifiant réseau résultant placé dans la variable netID : -- Lingo put getStreamStatus(netID) -- [#URL: "www.adobe.com", #state: "InProgress", #bytesSoFar: 250, #bytesTotal: 50000, #error: EMPTY] // Javascript trace(getStreamStatus(netID)) // <[#URL: "www.adobe.com", #state: "InProgress", #bytesSoFar: 250, #bytesTotal: 50000, #error: EMPTY]> Voir aussi on streamStatus, tellStreamStatus() getURL() Syntaxe GetUrl(MUIObject, message, MovableOrNot) Description Cette fonction affiche une boîte de dialogue de saisie d'URL, et renvoie l'URL saisie par l'utilisateur. • message spécifie le message qui s'affiche dans le champ de saisie d'URL. Lorsque la boîte de dialogue s'ouvre, cette chaîne est envoyée en tant que valeur prédéfinie. Lorsque l'utilisateur clique sur un bouton, Lingo renvoie la chaîne saisie par l'utilisateur. Si l'utilisateur clique sur Annuler, la chaîne renvoyée est identique à la valeur d'origine. • Sur Macintosh, MovableOrNot spécifie si la boîte de dialogue est déplaçable. Si la valeur est TRUE, la boîte de dialogue est déplaçable. Si la valeur est FALSE, la boîte de dialogue est non déplaçable. La boîte de dialogue de saisie d'URL est toujours déplaçable sous Windows. Exemple Ces instructions affichent une boîte de dialogue de saisie d'URL. • La première instruction crée une instance d'Xtra MUI, qui est l'objet utilisé en tant que boîte de dialogue. • La deuxième instruction utilise la fonction getURL pour afficher une boîte de dialogue de saisie d'URL déplaçable, et attribue la boîte de dialogue au résultat de la variable. Le message « Saisissez une URL ici » s'affiche dans le champ de saisie d'URL de la boîte de dialogue. • Les dernières instructions vérifient que le résultat obtenu lorsque l'utilisateur clique sur un bouton est identique à la chaîne envoyée lors de l'ouverture de la boîte de dialogue. Si le résultat est différent, cela signifie que l'utilisateur a saisi une URL et cliqué sur OK. -- Lingo set MUIObj = new (xtra "Mui") set result = GetUrl(MUIObj, "Enter a URL", TRUE ) if objectP ( MUIObj) then set result = GetUrl( MUIObj, "Enter a URL", TRUE ) if ( result <> "Enter a URL" ) then goToNetPage result end if ADOBE DIRECTOR 11.0 352 Dictionnaire de script end if getVal() Syntaxe <float> Matrix.getVal(whichRow, whichColumn) Description Méthode de matrice ; récupère la valeur de l’élément spécifié dans la matrice indiquée. Paramètres whichRow Requis. Numéro de ligne de l’élément dont la valeur est lue. whichColumn Requis. Numéro de colonne de l’élément dont la valeur est lue. Exemple La fonction suivante utilise la méthode getVal() d’une matrice pour convertir une matrice en liste linéaire. --Lingo on matrixToList(mat) rows = mat.numRows cols = mat.numColumns matrixList = [] repeat with i = 1 to rows repeat with j = 1 to cols matrixList.append(mat.getVal(i,j)) end repeat end repeat return matrixList end //Java Script function matrixToList(mat) { rows = mat.numRows; cols = mat.numColumns; matrixList = list(); for( i = 1; i <= rows; i++) { for( j = 1; j <= cols; j++) matrixList.append(mat.getVal(i,j)); } return matrixList; } Voir aussi setVal(), numRows(), numColumns(), matrixAddition(), matrixMultiply(), matrixMultiplyScalar(), matrixTranspose(), newMatrix() getVariable() Syntaxe -- Lingo syntax ADOBE DIRECTOR 11.0 353 Dictionnaire de script spriteObjRef.getVariable(variableName {, returnValueOrReference}) // JavaScript syntax spriteObjRef.getVariable(variableName {, returnValueOrReference}); Description Cette fonction renvoie la valeur actuelle de la variable donnée de l’image-objet donnée. Les variables Flash ont été introduites dans la version 4 de Flash. Cette fonction peut être utilisée de deux façons. La définition du paramètre facultatif returnValueOrReference sur TRUE (valeur par défaut) renvoie la valeur en cours de la variable sous forme de chaîne. La définition du paramètre returnValueOrReference sur FALSE renvoie la valeur littérale en cours de la variable Flash. Si la valeur de la variable Flash est une référence d’objet, vous devez définir le paramètre returnValueOrReference sur FALSE pour que la valeur renvoyée soit traitée en tant que référence d’objet. Si elle est renvoyée en tant que chaîne, la chaîne ne constitue pas une référence d’objet valide. Paramètres variableName Requis. Spécifie le nom de la variable dont la valeur est renvoyée. returnValueOrReference Facultatif. Spécifie si la valeur renvoyée est une chaîne (TRUE) ou une référence d’objet (FALSE). Exemple L’instruction suivante définit la variable tValue sur la valeur de la chaîne de la variable Flash appelée gOtherVar dans l’animation Flash au niveau de l’image-objet 3 : -- Lingo syntax tValue = sprite(3).getVariable("gOtherVar", TRUE) put(tValue) -- "5" // JavaScript syntax var tValue = sprite(3).getVariable("gOtherVar", true); trace(tValue); // 5 L’instruction suivante définit la variable tObject de manière à référencer le même objet que la variable appelée gVar dans l’animation Flash au niveau de l’image-objet 3 : -- Lingo syntax tObject = sprite(3).getVariable("gVar",FALSE) // JavaScript syntax var tObject = sprite(3).getVariable("gVar",0); L’instruction suivante renvoie la valeur de la variable currentURL de l’acteur Flash de l’image-objet 3 et l’affiche dans la fenêtre Messages : -- Lingo syntax put(sprite(3).getVariable("currentURL")) // JavaScript syntax trace(sprite(3).getVariable("currentURL")); Voir aussi setVariable() ADOBE DIRECTOR 11.0 354 Dictionnaire de script GetWidgetList() Syntaxe GetWidgetList(MUIObject) Description Cette fonction renvoie une liste linéaire des symboles des types de composants de boîte de dialogue générale pris en charge par une instance de l'Xtra MUI. Exemple Cette instruction affiche une liste de contrôles pris en charge par MUIObject, instance de l'Xtra MUI : -- Lingo put GetWidgetList(MUIObject) -- [#dividerV, #dividerH, #bitmap, #checkBox, #radioButton, #PopupList, #editText, #WindowBegin, #WindowEnd, #GroupHBegin, #GroupHEnd, #GroupVBegin, #GroupVEnd, #label, #IntegerSliderH, #FloatSliderH, #defaultPushButton, #cancelPushButton, #pushButton, #toggleButton] GetWindowPropList Syntaxe GetWindowPropList(MUIObject) Description Cette fonction renvoie une liste des paramètres prédéfinis de l'XtraMUI pour la fenêtre d'une boîte de dialogue générale. Lors de la définition d'une nouvelle boîte de dialogue générale, utilisez la fonction GetWindowPropList pour obtenir une liste complète des propriétés de la boîte de dialogue et de leurs valeurs, puis modifiez individuellement les propriétés si nécessaire. Très pratique, cette technique permet la compatibilité avec les versions ultérieures de l'Xtra MUI, susceptibles de posséder des propriétés supplémentaires. Les propriétés de la fenêtre et leurs valeurs prédéfinies renvoyées par la fonction GetWindowPropList sont indiquées dans le tableau ci-dessous. Propriété Valeur prédéfinie #type #normal #name "window" #callback "nothing" #mode #data #xPosition 100 #yPosition 120 #width 200 #height 210 #modal 1 ADOBE DIRECTOR 11.0 355 Dictionnaire de script Propriété Valeur prédéfinie #toolTips 0 #closeBox 1 #canZoom 0 Exemple Ces instructions définissent une nouvelle boîte de dialogue générale. La première instruction attribue une liste de propriétés prédéfinies à la variable thePropList. Les instructions suivantes personnalisent la boîte de dialogue en modifiant les paramètres ci-dessous : -- Lingo set thePropList = GetWindowPropList(muiObject) set set set set set the the the the the name of thePropList = "Picture Window" callback of thePropList = "theWindowCallback" mode of thePropList = #data modal of thePropList = TRUE closeBox of thePropList = FALSE getWorldTransform() Syntaxe member(whichCastmember).node(whichNode).getWorldTransform() member(whichCastmember).node(whichNode).getWorldTransform().position member(whichCastmember).node(whichNode).getWorldTransform().rotation member(whichCastmember).node(whichNode).getWorldTransform().scale Description Commande 3D ; renvoie la transformation par rapport à l’univers du modèle, du groupe, de la caméra ou de la lumière représenté par node. La propriété transform du nœud est calculée en fonction de la transformation du parent du nœud et est donc relative au parent. La commande getWorldTransform() calcule la transformation du nœud par rapport à l’origine de l’univers 3D et est donc relative à l’univers. Utilisez (whichCastmember).node(whichNode).getWorldTransform() pour rechercher la propriété de position de la transformation du nœud par rapport à l’univers. Vous pouvez également utiliser worldPosition comme raccourci de getWorldTransform().position. Utilisez member(whichCastmember).node(whichNode).getWorldTransform() pour rechercher la propriété de rotation de la transformation du nœud par rapport à l’univers. Utilisez member(whichCastmember).node(whichNode).getWorldTransform().scale pour rechercher la propriété d’échelle de la transformation du nœud par rapport à l’univers. Ces propriétés peuvent être testées, mais pas définies. Exemple L’instruction suivante indique la transformation relative à l’univers du modèle Boîte, suivi de ses propriétés de position et de rotation. put member("3d world").model("Box").getworldTransform() ADOBE DIRECTOR 11.0 356 Dictionnaire de script -- transform(1.000000,0.000000,0.000000,0.000000, 0.000000,1.000000,0.000000,0.000000, 0.000000,0.000000,1.000000,0.000000, - 94.144844,119.012825,0.000000,1.000000) put member("3d world").model("Box"). getworldTransform().position -- vector(-94.1448, 119.0128, 0.0000) put member("3d world").model("Box"). getworldTransform().rotation --vector(0.0000, 0.0000, 0.0000) // Javascript trace(member("3d world").getProp("model","Box").getworldTransform() // <transform(1.000000,0.000000,0.000000,0.000000, 0.000000,1.000000,0.000000,0.000000, 0.000000,0.000000,1.000000,0.000000, -94.144844,119.012825,0.000000,1.000000)> trace(member("3d world").getProp("model","Box"). getworldTransform().position // <vector(-94.1448, 119.0128, 0.0000)> trace(member("3d world").getProp("model","Box"). getworldTransform().rotation //<vector(0.0000, 0.0000, 0.0000)> Voir aussi worldPosition, transform (propriété) go() Syntaxe -- Lingo syntax _movie.go(frameNameOrNum {, movieName}) // JavaScript syntax _movie.go(frameNameOrNum {, movieName}); Description Méthode d’animation ; place la tête de lecture sur une image spécifiée d’une animation spécifique. Cette méthode est utilisable pour indiquer à la tête de lecture d’effectuer une boucle vers le repère précédent et se révèle utile pour garder la tête de lecture dans la même partie de l’animation pendant que le script reste actif. Il est préférable d’utiliser des libellés de repère pour frameNameOrNum plutôt que des numéros d’image car la modification d’une animation peut entraîner le changement des numéros d’image. L’utilisation du libellé des repères facilite également la lecture des scripts. L’appel de la méthode go() avec le paramètre movieName charge l’image 1 de l’animation. Si la méthode go() est appelée à partir d’un gestionnaire, le gestionnaire dans lequel elle est placée poursuit son exécution. Lorsque vous spécifiez une animation à lire, indiquez son chemin d’accès si l’animation se trouve dans un dossier différent mais, afin d’empêcher un échec possible du chargement, n’incluez pas l’extension du fichier de l’animation (.dir, .dxr ou .dcr). Pour accéder plus facilement à une animation au niveau d’une URL, utilisez la méthode downloadNetThing() pour télécharger le fichier de l’animation sur un disque local, puis utilisez la commande go() avec le paramètre movieName pour accéder à cette animation sur le disque local. La méthode goLoop() envoie la tête de lecture sur le marqueur précédent d’une animation, ce qui constitue un moyen pratique pour garder la tête de lecture dans la même partie de l’animation pendant que la syntaxe Lingo ou JavaScript reste active. ADOBE DIRECTOR 11.0 357 Dictionnaire de script Les paramètres suivants sont réinitialisés au chargement d’une animation : propriétés beepOn et constraint ; keyDownScript, mouseDownScript et mouseUpScript ; propriétés d’image-objet cursor et immediate ; méthodes cursor() et puppetSprite() et menus personnalisés. Toutefois, la propriété timeoutScript n’est pas réinitialisée au chargement d’une animation. Paramètres frameNameOrNum Requis. Chaîne spécifiant le libellé de repère de l’image sur laquelle la tête de lecture vient se placer ou nombre entier spécifiant le numéro de cette image. movieName Facultatif. Chaîne indiquant l’animation contenant l’image spécifiée par frameNameOrNum. Cette valeur doit indiquer un fichier d’animation ; si l’animation se trouve dans un autre dossier, movieName doit également spécifier le chemin d’accès. Exemple L’instruction suivante place la tête de lecture sur le point de repère intitulé Début : -- Lingo syntax _movie.go("start") // JavaScript syntax _movie.go("start"); L’instruction suivante fait passer la tête de lecture au repère Memory dans l'animation intitulée Mon animation : -- Lingo syntax _movie.go("Memory", "Noh Tale to Tell") // JavaScript syntax _movie.go("Memory", "Noh Tale to Tell"); Le gestionnaire suivant indique à l’animation d’effectuer une boucle sur l’image en cours. Ce gestionnaire se révèle utile pour demander à l’animation d’attendre dans une image tout en répondant aux événements. -- Lingo syntax on exitFrame _movie.go(_movie.frame) end // JavaScript syntax function exitFrame() { _movie.go(_movie.frame); } Voir aussi downloadNetThing, goLoop(), Animation goLoop() Syntaxe -- Lingo syntax _movie.goLoop() // JavaScript syntax _movie.goLoop(); ADOBE DIRECTOR 11.0 358 Dictionnaire de script Description Méthode d’animation ; place la tête de lecture sur le repère précédent dans l’animation, correspondant soit au repère situé avant l’image en cours si cette dernière n’a pas de repère, soit au repère de l’image en cours si celle-ci en comporte un. Si aucun repère ne se trouve à gauche de la tête de lecture, la tête de lecture se place sur : • Le prochain repère à droite si l’image actuelle ne possède pas de repère. • L’image actuelle si celle-ci possède un repère. • L’image 1 si l’animation ne contient aucun repère. Paramètres Aucune. Exemple L’instruction suivante demande à l’animation d’effectuer une boucle entre l’image en cours et le repère précédent : -- Lingo syntax _movie.goLoop() // JavaScript syntax _movie.goLoop(); Voir aussi go(), goNext(), goPrevious(), Animation goNext() Syntaxe -- Lingo syntax _movie.goNext() // JavaScript syntax _movie.goNext(); Description Méthode d’animation ; place la tête de lecture sur le repère suivant dans l’animation. Si aucun repère ne se trouve à droite de la tête de lecture, celle-ci se place sur le dernier repère de l’animation ou sur l’image 1 si l’animation ne contient aucun repère. Paramètres Aucune. Exemple L’instruction suivante envoie la tête de lecture sur le repère suivant de l’animation : -- Lingo syntax _movie.goNext() // JavaScript syntax _movie.goNext(); ADOBE DIRECTOR 11.0 359 Dictionnaire de script Voir aussi go(), goLoop(), goPrevious(), Animation goPrevious() Syntaxe -- Lingo syntax _movie.goPrevious() // JavaScript syntax _movie.goPrevious(); Description Méthode d’animation ; place la tête de lecture sur le repère précédent dans l’animation. Ce repère est situé soit deux repères avant l’image en cours si cette dernière ne comporte pas de repère, soit juste avant l’image en cours si celle-ci comporte un repère. Si aucun repère ne se trouve à gauche de la tête de lecture, la tête de lecture se place sur un des éléments suivants : • Le prochain repère à droite si l’image actuelle ne possède pas de repère. • L’image actuelle si celle-ci possède un repère. • L’image 1 si l’animation ne contient aucun repère. Paramètres Aucune. Exemple L’instruction suivante envoie la tête de lecture sur le repère précédent dans l’animation : -- Lingo syntax _movie.goPrevious() // JavaScript syntax _movie.goPrevious(); Voir aussi go(), goLoop(), goNext(), Animation goToFrame() Syntaxe -- Lingo syntax spriteObjRef.goToFrame(frameNameOrNum) // JavaScript syntax spriteObjRef.goToFrame(frameNameOrNum); ADOBE DIRECTOR 11.0 360 Dictionnaire de script Description Commande ; lit une image-objet d’animation Flash à partir de l’image identifiée par le paramètre frameNumber. Vous pouvez identifier l’image par un nombre entier indiquant le numéro d’image ou par une chaîne indiquant le nom du libellé. L’utilisation de la commande goToFrame produit le même effet que la définition de la propriété frame d’une image-objet d’animation Flash. Exemple Le gestionnaire suivant passe à différents points d’une animation Flash dans la piste 5. Il accepte un paramètre indiquant l’image à laquelle passer. -- Lingo syntax on Navigate(whereTo) sprite(5).goToFrame(whereTo) end // JavaScript syntax function Navigate(whereTo) { sprite(5).goToFrame(whereTo); } gotoNetMovie Syntaxe gotoNetMovie URL gotoNetMovie (URL) Description Commande ; récupère et lit une nouvelle animation comportant du contenu Shockwave à partir d’un serveur HTTP ou FTP. L’exécution de l’animation actuelle continue jusqu’à ce que la nouvelle animation soit disponible. Seules les URL sont supportées comme paramètres valides. L’URL peut spécifier un nom de fichier ou un repère dans une animation. Les URL relatives fonctionnent si l’animation se trouve sur un serveur Internet, mais vous devez inclure l’extension avec le nom de fichier. Lorsque vous réalisez des tests sur un disque ou réseau local, les médias doivent se trouver dans un répertoire appelé dswmedia. Si une opération gotoNetMovie est en cours et que vous envoyez une seconde commande gotoNetMovie avant la fin de la première, la seconde commande annule la première. Paramètres URL Requis. Spécifie l’URL du contenu Shockwave à lire. Exemple Dans l’instruction suivante, l’URL indique un nom de fichier Director : gotoNetMovie "http://www.yourserver.com/movies/movie1.dcr" Dans l’instruction suivante, l’URL indique un repère dans un nom de fichier : gotoNetMovie "http://www.yourserver.com/movies/buttons.dcr#Contents" Dans l’instruction suivante, la commande gotoNetMovie est utilisée comme une fonction. Cette fonction renvoie l’identifiant réseau pour l’opération. ADOBE DIRECTOR 11.0 361 Dictionnaire de script myNetID = gotoNetMovie ("http://www.yourserver.com/movies/buttons.dcr#Contents") gotoNetPage Syntaxe gotoNetPage "URL", {"targetName"} Description Commande ; ouvre une animation comportant du contenu Shockwave ou un autre fichier MIME dans le navigateur. Seules les URL sont supportées comme paramètres valides. Les URL relatives fonctionnent si l’animation se trouve sur un serveur HTTP ou FTP. Dans l’environnement de création, la commande gotoNetPage lance le navigateur favori s’il est activé. Dans les projections, cette commande tente de lancer le navigateur favori, défini à l’aide de la boîte de dialogue des préférences réseau ou de la commande browserName. Si aucune commande n’a été utilisée pour définir le navigateur favori, la commande goToNetPage tente de trouver un navigateur sur l’ordinateur. Paramètres URL Requis. Spécifie l’URL de l’animation comportant du contenu Shockwave ou du fichier MIME à lire. targetName Facultatif. Paramètre HTML identifiant la fenêtre ou le cadre dans lequel la page est chargée. • Si targetName est une fenêtre ou un cadre dans le navigateur, la méthode gotoNetPage en remplace le contenu. • Si targetName n’est pas un cadre ou une fenêtre ouvert(e), goToNetPage ouvre une nouvelle fenêtre. L’utilisation de la chaîne "_new" provoque systématiquement l’ouverture d’une nouvelle fenêtre. • Si targetName est omis, gotoNetPage remplace la page en cours, où qu’elle se trouve. Exemple Le script suivant charge le fichier nouvellePage.html dans le cadre ou la fenêtre intitulé(e) frwin. S’il existe une fenêtre ou un cadre intitulé(e) frwin, cette fenêtre ou ce cadre est utilisé(e). Si la fenêtre frwin n’existe pas, une nouvelle fenêtre intitulée frwin est créée. on keyDown gotoNetPage "Newpage.html", "frwin" end Le gestionnaire suivant ouvre une nouvelle fenêtre, quelle que soit la fenêtre ouverte par le navigateur : on mouseUp gotoNetPage "Todays_News.html", "_new" end Voir aussi browserName(), netDone() group() Syntaxe member(whichCastmember).group(whichGroup) member(whichCastmember).group[index] ADOBE DIRECTOR 11.0 362 Dictionnaire de script Description Elément 3D ; nœud de l’univers 3D qui a un nom, une transformation, un parent et des enfants, mais aucune autre propriété. Chaque acteur 3D est associé à un groupe par défaut nommé Univers et qui ne peut pas être supprimé. La hiérarchie parente de tous les modèles, lumières, caméras et groupes qui existent dans l’univers 3D s’achève dans group("world"). Exemple L’instruction suivante indique que le quatrième groupe de l’acteur nouveauMartien est le groupe Direct01. -- Lingo put member("newAlien").group[4] // Javascript put member("newAlien").getPropRef("group",4) ; -- group("Direct01") Voir aussi newGroup, deleteGroup, child (3D), parent halt() Syntaxe -- Lingo syntax _movie.halt() // JavaScript syntax _movie.halt(); Description Méthode d’animation ; quitte le gestionnaire en cours ainsi que tout autre gestionnaire ayant appelé cette méthode et arrête l’animation pendant la phase de création ou quitte la projection pendant son exécution. Paramètres Aucune. Exemple L’instruction suivante vérifie si la quantité de mémoire disponible est inférieure à 50 Ko et, le cas échéant, quitte tous les gestionnaires qui l’ont appelée, puis arrête l’animation : -- Lingo syntax if (_system.freeBytes < (50*1024)) then _movie.halt() end if // JavaScript syntax if (_system.freeBytes < (50*1024)) { _movie.halt(); } Voir aussi Animation ADOBE DIRECTOR 11.0 363 Dictionnaire de script handler() Syntaxe scriptObject.handler(#handlerSymbol) Description Cette fonction renvoie la valeur TRUE si l’scriptObject donné contient un gestionnaire spécifié, et la valeur FALSE dans le cas contraire. L’objet script doit être un script parent, un objet enfant ou un comportement. Paramètres symHandler Requis. Spécifie le nom du gestionnaire. Exemple Le code suivant appelle un gestionnaire sur un objet, uniquement si ce gestionnaire existe : -- Lingo if spiderObject.handler(#pounce) = TRUE then spiderObject.pounce() end if // Javascript if (spiderObject.handler(symbol("pounce")) == true) { spiderObject.pounce(); } Voir aussi handlers(), new(), rawNew(), script() handlers() Syntaxe scriptObject.handlers() Description Cette fonction renvoie une liste linéaire des gestionnaires dans l’scriptObject donné. Chaque nom de gestionnaire est présenté sous forme de symbole dans la liste. Cette fonction est pratique pour le débogage des animations. Vous ne pouvez pas accéder directement aux gestionnaires d’un acteur script. Vous devez y accéder par l’intermédiaire de la propriété script de l’acteur. Paramètres Aucune. Exemple L’instruction suivante affiche la liste des gestionnaires de l’objet enfant voitureRouge dans la fenêtre Messages : put RedCar.handlers() -- [#accelerate, #turn, #stop] L’instruction suivante affiche la liste des gestionnaires de l’acteur script parent ScriptParentDeVoiture dans la fenêtre Messages : ADOBE DIRECTOR 11.0 364 Dictionnaire de script put member("CarParentScript").script.handlers() -- [#accelerate, #turn, #stop] Voir aussi handler(), script() hilite (commande) Syntaxe fieldChunkExpression.hilite() hilite fieldChunkExpression Description Commande ; sélectionne l’expression de sous-chaîne spécifiée dans l’image-objet champ, qui peut être n’importe quelle sous-chaîne que Lingo vous permet de définir, telle qu’un caractère, un mot ou une ligne. Sur le Mac, la couleur de surlignage est définie dans le tableau de bord Couleur. Paramètres Aucune. Exemple L’instruction suivante sélectionne le troisième mot dans l’acteur champ Commentaires, qui contient la chaîne Pensée du jour : -- Lingo member("Comments").word[4].hilite() // Javascript member("Comments").getPropRef("word",4).hilite() ; Voir aussi char...of, item...of, line...of, word...of, delete(), mouseChar, mouseLine, mouseWord, field, selection() (fonction), selEnd, selStart hitTest() Syntaxe -- Lingo syntax spriteObjRef.hitTest(point) // JavaScript syntax spriteObjRef.hitTest(point); Description Fonction ; indique la partie d’une animation Flash se trouvant directement sur un emplacement spécifique de la scène Director. L’emplacement de la scène Director est exprimé en valeur de points Director : par exemple, point(100,50). La fonction hitTest renvoie les valeurs suivantes : • #background : l’emplacement de scène spécifié se situe dans l’arrière-plan de l’image-objet d’animation Flash. • #normal : l’emplacement de scène spécifié se situe dans un objet rempli. ADOBE DIRECTOR 11.0 365 Dictionnaire de script • #button : l’emplacement de scène spécifié se situe dans la zone active d’un bouton. • #editText : l’emplacement de scène spécifié se situe dans un champ de texte modifiable Flash. Paramètres point Requis. Spécifie le point à tester. Exemple Le script d’image suivant vérifie si la souris se trouve au-dessus d’un bouton dans une image-objet animation Flash dans la piste 5 et, le cas échéant, le script définit un champ de texte utilisé pour afficher un message d’état : -- Lingo syntax on exitFrame if sprite(5).hitTest(_mouse.mouseLoc) = #button then member("Message Line").text = "Click here to play the movie." _movie.updatestage() else member("Message Line").text = "" end if _movie.go(_movie.frame) end // JavaScript syntax function exitFrame() { var hT = sprite(5).hitTest(_mouse.mouseLoc); if (hT.toString() == "#button") { member("Message Line").text = "Click here to play the movie."; _movie.updatestage(); } else { member("Message Line").text = ""; } _movie.go(_movie.frame) } HMStoFrames() Syntaxe HMStoFrames(hms, tempo, dropFrame, fractionalSeconds) Description Fonction ; convertit les animations mesurées en heures, minutes et secondes au nombre d’images équivalent ou convertit un nombre d’heures, minutes et secondes en temps si vous attribuez à l’argument tempo la valeur 1 (1 image = 1 seconde). Paramètres hms Requis. Expression de chaîne spécifiant le temps sous la forme sHH:MM:SS.FFD, où : s Un caractère est utilisé si le temps est inférieur à zéro ou un espace si le temps est supérieur ou égal à zéro. HH Heures. MM Minutes. ADOBE DIRECTOR 11.0 366 Dictionnaire de script SS Secondes. FF Indique une fraction de seconde si fractions présente la valeur TRUE ou des images si fractions présente la valeur FALSE. D Un d est utilisé si dropFrame présente la valeur TRUE , un espace est utilisé si dropFrame présente la valeur FALSE. tempo Requis. Spécifie la cadence en images par seconde. dropFrame Requis. Expression logique déterminant si l’image est compensée (TRUE) ou non (FALSE). Si la chaîne hms se termine par d, le temps est traité comme une image compensée, quelle que soit la valeur de l’argument compensé. fractionalSeconds Requis. Expression logique déterminant la signification des nombres après les secondes ; il peut s’agir de fractions de secondes arrondies au centième de seconde le plus proche (TRUE) ou du nombre d’images résiduelles (FALSE). Exemple L’instruction suivante détermine le nombre d’images dans une animation d’une minute, 30,1 secondes lorsque la cadence est de 30 images par seconde. Les arguments dropFrame et fractionalSeconds ne sont pas utilisés. put HMStoFrames(" 00:01:30.10 ", 30, FALSE, FALSE) -- 2710 L’instruction suivante convertit 600 secondes en minutes : put framesToHMS(600, 1,0,0) -- " 00:10:00.00 " L’instruction suivante convertit une heure et demie en secondes : put HMStoFrames("1:30:00", 1,0,0) -- 5400 Voir aussi framesToHMS() hold() Syntaxe -- Lingo syntax spriteObjRef.hitTest(point) // JavaScript syntax spriteObjRef.hitTest(point); Description Commande Flash ; arrête une image-objet animation Flash lue dans l’image actuelle, sans interrompre la lecture audio. Paramètres Aucune. ADOBE DIRECTOR 11.0 367 Dictionnaire de script Exemple Le script d’image suivant arrête la lecture des images-objets animation Flash dans les pistes 5 à 10 sans interrompre la lecture audio de ces pistes : -- Lingo syntax on enterFrame repeat with i = 5 to 10 sprite(i).hold() end repeat end // JavaScript syntax function enterFrame() { var i = 5; while (i < 11) { sprite(i).hold(); i++; } } Voir aussi playRate identity() Syntaxe member(whichCastmember).model(whichModel).transform.identity() member(whichCastmember).group(whichGroup).transform.identity() member(whichCastmember).camera(whichCamera).transform.identity() sprite(whichSprite).camera{(index)}.transform.identity() member(whichCastmember).light(whichLight).transform.identity() transformReference.identity() Description Commande 3D ; définit la transformation en tant que transformation d’identité, correspondant à transform(1.0000,0.0000,0.0000,0.0000, 0.0000,1.0000,0.0000,0.0000, 0.0000,0.0000,1.0000,0.0000, 0.0000,0.0000,0.0000,1.0000). La propriété position de la transformation d’identité est vector(0, 0, 0). La propriété rotation de la transformation d’identité est vector(0, 0, 0). La propriété scale de la transformation d’identité est vector(1, 1, 1). La transformation d’identité est relative au parent. Paramètres Aucune. Exemple L’instruction suivante fait de la transformation du modèle Boîte la transformation d’identité. -- Lingo member("3d world").model("Box").transform.identity() ADOBE DIRECTOR 11.0 368 Dictionnaire de script // Javascript member("3d world").getProp("model",1).transform.identity() Le script suivant suppose que le modèle Boîte est le premier modèle disponible. Voir aussi transform (propriété), getWorldTransform() idleLoadDone() Syntaxe -- Lingo syntax _movie.idleLoadDone(intLoadTag) // JavaScript syntax _movie.idleLoadDone(intLoadTag); Description Méthode d’animation ; indique si tous les acteurs présentant la balise spécifiée ont été chargés (TRUE) ou s’ils sont encore en attente de chargement (FALSE). Paramètres intLoadTag Requis. Nombre entier spécifiant la balise de chargement des acteurs à tester. Exemple L’instruction suivante vérifie si tous les acteurs dont la balise de chargement est 20 ont été chargés et, le cas échéant, lit l’animation Kiosque : -- Lingo syntax if (_movie.idleLoadDone(20)) then _movie.play(1, "Kiosk") end if // JavaScript syntax if (_movie.idleLoadDone(20)) { _movie.play(1, "Kiosk"); } Voir aussi idleHandlerPeriod, idleLoadMode, idleLoadPeriod, idleLoadTag, idleReadChunkSize, Animation ignoreWhiteSpace() Syntaxe XMLparserObject.ignoreWhiteSpace(trueOrFalse) Description Commande XML ; spécifie si l’analyseur doit ignorer ou conserver les espaces blancs dans les listes Lingo. Lorsque la commande ignoreWhiteSpace() présente la valeur TRUE (valeur par défaut), l’analyseur ignore les espaces blancs. Lorsque cette commande présente la valeur FALSE, l’analyseur conserve les espaces blancs et les traite comme des données réelles. ADOBE DIRECTOR 11.0 369 Dictionnaire de script Lorsqu’un élément possède des balises initiales et finales distinctes, telles que <exemple> </exemple>, les caractères de l’élément sont ignorés si (et uniquement si) il n’est composé que d’espaces blancs. En cas de présence d’un espace autre qu’un espace blanc ou si ignoreWhiteSpace() présente la valeur FALSE, un nœud CDATA contenant le même texte y compris l’espace blanc, est créé. Paramètres trueOrFalse Requis. Valeur spécifiant si l’analyseur doit ignorer l’espace blanc (TRUE) ou non (FALSE). Exemple Les instructions Lingo suivantes laissent la commande ignoreWhiteSpace() définie sur sa valeur par défaut de TRUE et convertissent le document XML donné en une liste. L’élément <exemple> ne comporte aucun enfant dans la liste. XMLtext = "<sample> </sample>" parserObj.parseString(XMLtext) theList = parserObj.makelist() put theList -- ["ROOT OF XML DOCUMENT": ["!ATTRIBUTES": [:], "sample": ["!ATTRIBUTES": [:]]]] Les instructions Lingo suivantes définissent ignoreWhiteSpace() sur la valeur FALSE et convertissent le document XML donné en une liste. L’élément <exemple> comporte à présent un enfant contenant un espace. XMLtext = "<sample> </sample>" parserObj.ignorewhitespace(FALSE) parserObj.parseString(XMLtext) theList = parserObj.makelist() put theList -- ["ROOT OF XML DOCUMENT": ["!ATTRIBUTES": [:], "sample": ["!ATTRIBUTES": [:], "!CHARDATA": " "]]] Les instructions Lingo suivantes laissent la commande ignoreWhiteSpace() définie sur sa valeur par défaut de TRUE et analysent le document XML donné. Il n’existe qu’un seul nœud enfant de la balise <exemple> et qu’un seul nœud enfant de la balise <inf>. XMLtext = "<sample> <sub> phrase 1 </sub></sample>" parserObj.parseString(XMLtext) theList = parserObj.makeList() put theList -- ["ROOT OF XML DOCUMENT": ["!ATTRIBUTES": [:], "sample": ["!ATTRIBUTES": [:], "sub": ["!ATTRIBUTES": [:], "!CHARDATA": " phrase 1 "]]]] Les instructions Lingo suivantes définissent ignoreWhiteSpace() sur la valeur FALSE et analysent le document XML donné. Il existe à présent deux nœuds enfants de la balise <exemple>, le premier étant un espace. XMLtext = "<sample> <sub> phrase 1 </sub></sample>" gparser.ignoreWhiteSpace(FALSE) gparser.parseString(XMLtext) theList = gparser.makeList() put theList -- ["ROOT OF XML DOCUMENT": ["!ATTRIBUTES": [:], "sample": ["!ATTRIBUTES": [:], "!CHARDATA": " ", "sub": ["!ATTRIBUTES": [:], "!CHARDATA": " phrase 1 "]]]] ilk() Syntaxe ilk(object) ADOBE DIRECTOR 11.0 370 Dictionnaire de script ilk(object, type) Description Fonction ; indique le type d’un objet. Le tableau suivant présente la valeur renvoyée pour chaque type d’objet reconnu par ilk() : Type d’objet ilk(objet) renvoie ilk(objet, type) renvoie 1 Exemple uniquement si le type = liste linéaire #list #list ou #linearlist ilk ([1,2,3]) liste de propriétés #proplist #list ou #proplist ilk ([#Alui: 1234, #Aelle: 7890]) entier #integer #integer ou #number ilk (333) valeur à virgule flottante #float #float ou #number ilk (123,456) chaîne #string #string ilk ("asdf") rect #rect #rect ou #list ilk (sprite(1).rect) point #point #point ou #list ilk (sprite(1).loc) couleur #color #color ilk (sprite(1).color) date #date #date ilk (the systemdate) symbole #symbol #symbol ilk (#bonjour) void #void #void ilk (void) image #picture #picture ilk (member (2).picture) instance de script parent #instance #object ilk (new (script "blabla")) instance d’Xtra #instance #object ilk (new (xtra "fileio")) acteur #member #object ou #member ilk (member 1) Xtra #xtra #object ou #xtra ilk (xtra "fileio") script #script #object ou #script ilk (script "blabla") castlib #castlib #object ou #castlib ilk (castlib 1) image-objet #sprite #object ou #sprite ilk (sprite 1) son #instance ou #sound (lorsque l’Xtra de contrôle audio est absent) #instance ou #sound ilk (sound "tralala") fenêtre #window #object ou #window ilk (the stage) médias #media #object ou #media ilk (member (2).media) temporisation #timeout #object ou #timeout ilk (timeOut("compteurIntervalle") ) image #image #object ou #image ilk ((the stage).image) ADOBE DIRECTOR 11.0 371 Dictionnaire de script Paramètres object Requis. Spécifie l’objet à tester. type Facultatif. Spécifie le type auquel object est comparé. Si l’objet est du type spécifié, la fonction ilk() renvoie la valeur TRUE. Si l’objet n’est pas du type spécifié, la fonction ilk() renvoie la valeur FALSE. Exemple L’instruction ilk suivante identifie le type de l’objet appelé Devis : Bids = [:] put ilk( Bids ) -- #proplist L’instruction ilk suivante teste si la variable Total est une liste et affiche le résultat dans la fenêtre Messages : Total = 2+2 put ilk( Total, #list ) -- 0 Dans ce cas précis, étant donné que la variable Total ne constitue pas une liste, la fenêtre Messages affiche 0, l’équivalent numérique de FALSE. L’exemple suivant teste une variable intitulée myVariable et vérifie qu’elle correspond à un objet de date avant de l’afficher dans la fenêtre Messages : myVariable = the systemDate if ilk(myVariable, #date) then put myVariable -- date( 1999, 2, 19 ) ilk (3D) Syntaxe ilk(object) ilk(object,type) object.ilk object.ilk(type) Description Fonction Lingo ; indique le type d’un objet. Le tableau suivant présente la valeur renvoyée pour chaque type d’objet 3D reconnu par ilk(). Le dictionnaire Lingo principal contient une liste des valeurs renvoyées pour les objets autres que 3D. Type d’objet ilk(objet) renvoie ilk(objet, type) uniquement si type = services de rendu #renderer #renderer ressource de modèle #modelResource, #plane, #box, #sphere, #cylinder, #particle, #mesh Identique à ilk(objet), à l’exception de #modelResource qui est équivalent aux ressources générées par un fichier *.w3d importé modèle #model #model mouvement #motion #motion ou #list ADOBE DIRECTOR 11.0 372 Dictionnaire de script Type d’objet ilk(objet) renvoie ilk(objet, type) uniquement si type = matériau #shader #shader ou #list texture #texture #texture ou #list groupe #group #group camera #camera #camera données de collision #collisiondata #collisiondata vecteur #vector #vector transformation #transform #transform Paramètres object Requis. Spécifie l’objet à tester. type Facultatif. Spécifie le type auquel object est comparé. Si l’objet est du type spécifié, la fonction ilk() renvoie la valeur TRUE. Si l’objet n’est pas du type spécifié, la fonction ilk() renvoie la valeur FALSE. Exemple L’instruction suivante indique que monObjet est un objet de mouvement. put MyObject.ilk -- #motion L’instruction suivante vérifie si monObjet est un objet de mouvement. La valeur renvoyée, 1, indique qu’il s’agit bien d’un tel objet. put MyObject.ilk(#motion) -- 1 Voir aussi tweenMode image() Syntaxe -- Lingo syntax image(intWidth, intHeight, intBitDepth) // JavaScript syntax image(intWidth, intHeight, intBitDepth); Description Fonction de niveau supérieur ; crée et renvoie une nouvelle image présentant les dimensions spécifiées. Si vous créez une image à l’aide de la fonction de niveau supérieur image(), cette nouvelle image constitue un jeu autonome de données d’image indépendant de toutes les autres images. Par conséquent, les modifications apportées à une autre image n’ont aucun effet sur la nouvelle image. Si vous faites référence à une image en définissant une variable comme étant égale à une image source, telle qu’un acteur ou l’image de la scène, cette variable contient une référence à l’image source. Par conséquent, toute modification apportée à l’image dans l’objet source ou dans la variable est reflétée dans l’autre image. ADOBE DIRECTOR 11.0 373 Dictionnaire de script Pour éviter que ceci se produise et pour créer une copie d’une image indépendante de l’image source, utilisez la méthode duplicate(). La méthode duplicate() renvoie une copie d’une image source qui hérite toutes les valeurs de l’image source, mais qui n’est pas liée à cette dernière. De cette façon, toute modification apportée à l’image source ou à la nouvelle copie de l’image source n’a aucun effet sur l’autre image. Si vous créez un objet image en faisant référence à un acteur, ce nouvel objet contient une référence à l’image de l’acteur. Toute modification de l’image est reflétée dans l’acteur et dans les images-objets créées à partir de cet acteur. Lorsque vous créez un objet image, son arrière-plan prend la couleur blanche par défaut (color(255, 255, 255)) et la couche alpha est complètement opaque (color(0, 0, 0)). La couleur de couche alpha avec une transparence de 100 % est le blanc (color(255, 255, 255)) , tandis que la couleur de couche alpha avec une opacité de 100 % est le noir (color(0, 0, 0)). Vous pouvez voir un exemple d’utilisation de la fonction image() dans une animation en consultant l’animation Imaging du dossier Learning/Lingo, lui-même situé dans le dossier de Director. Paramètres intWidth Requis. Nombre entier spécifiant la largeur de la nouvelle image. intHeight Requis. Nombre entier spécifiant la hauteur de la nouvelle image. intBitDepth Requis. Nombre entier spécifiant le codage binaire de la nouvelle image. Les valeurs possibles sont 1, 2, 4, 8, 16 ou 32. Exemple L’exemple suivant crée une image 8 bits de 200 pixels de large sur 200 pixels de haut. -- Lingo syntax objImage = image(200, 200, 8) // JavaScript syntax var objImage = image(200, 200, 8); L’exemple suivant crée une image en faisant référence à l’image de la scène. -- Lingo syntax objImage = _movie.stage.image // JavaScript syntax var objImage = _movie.stage.image; Voir aussi duplicate() (image), fill(), image (image) importFileInto() Syntaxe -- Lingo syntax memberObjRef.importFileInto(fileOrUrlString, propertyList) // JavaScript syntax memberObjRef.importFileInto(fileOrUrlString, propertyList); ADOBE DIRECTOR 11.0 374 Dictionnaire de script Description Méthode d’acteur ; remplace le contenu d’un acteur spécifié par un fichier spécifique. La méthode importFileInto() se révèle utile dans les cas suivants. • A la fin du développement d’une animation, utilisez-la pour intégrer des médias externes liés pour pouvoir les modifier pendant le projet. • Lors de la création d’un scénario en syntaxe Lingo ou JavaScript pendant la création de l’animation, utilisez-la pour affecter un contenu aux nouveaux acteurs. • Lors du téléchargement de fichiers à partir d’Internet, elle permet de télécharger le fichier à partir d’une URL spécifique et de définir le nom de fichier du média lié. Remarque : Pour importer un fichier à partir d’une URL, il est généralement plus judicieux d’utiliser preloadNetThing() pour télécharger le fichier sur un disque local avant d’importer le fichier depuis le disque local. L’utilisation de preloadNetThing() réduit également les risques de problèmes de téléchargement. • Utilisez cette méthode pour importer des documents RTF et HTML dans des acteurs texte en gardant le format et les liens intacts. L’utilisation de la méthode importFileInto() dans les projections peut consommer rapidement la mémoire disponible ; il est donc recommandé de réutiliser les mêmes acteurs pour les données importées. Dans Director et les projections, importFileInto() télécharge automatiquement le fichier. Dans Shockwave Player, appelez la méthode preloadNetThing() et attendez la fin du téléchargement avant d’utiliser importFileInto() avec le fichier. Paramètres fileOrUrlString Requis. Chaîne spécifiant le fichier destiné à remplacer le contenu de l’acteur. Le paramètre propertyList est facultatif et prend en charge les propriétés suivantes : #dither : 0 ; ne pas tramer (valeur par défaut) #dither : différent de zéro ; tramer #trimWhiteSpace : 0 ; ne pas supprimer l’espace blanc sur les bords extérieurs de l’image #trimWhiteSpace : différent de zéro ; supprimer l’espace blanc (valeur par défaut) #linked : 0 ; importer en tant qu’acteur interne (valeur par défaut) #linked : différent de zéro ; importer en tant qu’acteur lié #remapImageToStage : 0 ; utiliser le codage de l’image #remapImageToStage : différent de zéro ; convertir l’image en fonction du codage de la scène (valeur par défaut) Exemple Le gestionnaire suivant affecte une URL contenant un fichier GIF à la variable tempURL, puis utilise la commande importFileInto pour importer le fichier de l’URL dans un nouvel acteur bitmap : -- Lingo syntax on exitFrame tempURL = "http://www.dukeOfUrl.com/crown.gif" _movie.newMember(#bitmap).importFileInto(tempURL) end // JavaScript syntax ADOBE DIRECTOR 11.0 375 Dictionnaire de script function exitFrame() { var tempURL = "http://www.dukeOfUrl.com/crown.gif"; _movie.newMember("bitmap").importFileInto(tempURL); } L’instruction suivante remplace le contenu de l’acteur son Mémoire par le fichier audio Vent : -- Lingo syntax member("Memory").importFileInto("Wind.wav") // JavaScript syntax member("Memory").importFileInto("Wind.wav"); Les instructions suivantes téléchargent un fichier externe depuis une URL dans le dossier de Director, puis importent ce fichier dans l’acteur son Norma Desmond parle : -- Lingo syntax downLoadNetThing("http://www.cbDeMille.com/Talkies.AIF", _player.applicationPath & "Talkies.AIF") member("Norma Desmond Speaks").importFileInto(_player.applicationPath & "Talkies.AIF") // JavaScript syntax downLoadNetThing("http://www.cbDeMille.com/Talkies.AIF",_player.applicationPath + "Talkies.AIF"); member("Norma Desmond Speaks").importFileInto(_player.applicationPath +"Talkies.AIF"); Voir aussi downloadNetThing, fileName (fenêtre), Acteur, preloadNetThing() Initialize Syntaxe Initialize (MUIObject, initialPropertyList) Description Cette commande définit une boîte de dialogue générale à partir d'une instance de l'Xtra MUI. initialPropertyList est une liste de propriétés qui spécifie les emplacements à partir desquels Director obtient des définitions pour les attributs de la boîte de dialogue. • La liste de propriétés associée à la propriété #windowPropList est la liste qu'utilise Director pour définir les attributs de la boîte de dialogue globale. • La liste linéaire associée à la propriété #windowItemList est la liste qu'utilise Director pour définir les composants individuels. Chaque élément de la liste est une liste de propriétés définissant un composant. Exemple Cette instruction initialise une nouvelle boîte de dialogue générale créée à partir de MUIObject, qui est une instance de l'Xtra MUI. La liste aWindowPropList contient des définitions pour la boîte de dialogue globale. La liste aWindowItemList contient des définitions pour les composants individuels de la boîte de dialogue. -- Lingo Initialize(MUIObj, [#windowPropList:aWindowPropList, \ #windowItemList:aWindowItemList]) ADOBE DIRECTOR 11.0 376 Dictionnaire de script insertBackdrop Syntaxe sprite(whichSprite).camera{(index)}.insertBackdrop(index, texture, locWithinSprite, rotation) member(whichCastmember).camera(whichCamera).insertBackdrop(index, texture, locWithinSprite, rotation) Description Commande 3D de caméra ; ajoute un fond à la liste des fonds de la caméra à une position spécifiée dans la liste. Paramètres index Requis. Spécifie la position d’index à laquelle le fond est ajouté dans la liste des fonds de la caméra. texture Requis. Spécifie la texture du fond ajouté. locWithinSprite Requis. Emplacement 2D auquel le fond s’affiche dans l’image-objet 3D. Cet emplacement est mesuré à partir du coin supérieur gauche de l’image-objet. rotation Facultatif. Spécifie la rotation du fond ajouté. Exemple La première ligne de l’exemple suivant crée une texture nommée Cèdre. La deuxième ligne insère cette texture à la première position de la liste des fonds de la caméra de l’image-objet 5. Le fond est placé au point (300, 120), mesuré à partir du coin supérieur gauche de l’image-objet. La rotation est de 45 degrés. -- Lingo t1 = member("scene").texture("Cedar") sprite(5).camera.insertBackdrop(1, t1, point(300, 120), 45) // Javascript Var t1= member("scene").getProp("texture",1); Sprite(5).getPropRef("camera",1).insertBackDrop(1,t1,point(300,120),45); Voir aussi removeBackdrop, bevelDepth, overlay insertFrame() Syntaxe -- Lingo syntax _movie.insertFrame() // JavaScript syntax _movie.insertFrame(); Description Méthode d’animation ; duplique l’image en cours ainsi que son contenu. L’image copiée est insérée après l’image actuelle et devient alors l’image actuelle. Cette méthode n’est utilisable que lors d’une session d’enregistrement du scénario et remplit la même fonction que la méthode duplicateFrame(). ADOBE DIRECTOR 11.0 377 Dictionnaire de script Paramètres Aucune. Exemple Le gestionnaire suivant crée une image dans laquelle l’acteur transition Brouillard est affecté à la piste des transitions, suivi d’un jeu d’images vides. L’argument numberOfFrames définit ce nombre d’images. -- Lingo syntax on animBall(numberOfFrames) _movie.beginRecording() _movie.frameTransition = member("Fog").number _movie.go(_movie.frame + 1) repeat with i = 0 to numberOfFrames _movie.insertFrame() end repeat _movie.endRecording() end animBall // JavaScript syntax function animBall(numberOfFrames) { _movie.beginRecording(); _movie.frameTransition = member("Fog").number; _movie.go(_movie.frame + 1); for (var i = 0; i <= numberOfFrames; i++) { _movie.insertFrame(); } _movie.endRecording(); } Voir aussi duplicateFrame(), Animation insertOverlay Syntaxe sprite(whichSprite).camera{(index)}.insertOverlay(index, texture, locWithinSprite, rotation) member(whichCastmember).camera(whichCamera).insertOverlay(index, texture, locWithinSprite, rotation) Description Commande 3D de caméra ; ajoute un recouvrement à la liste des recouvrements de la caméra à une position spécifiée dans la liste. Paramètres index Requis. Spécifie la position d’index à laquelle le recouvrement est ajouté dans la liste des recouvrements de la caméra. texture Requis. Spécifie la texture du recouvrement ajouté. locWithinSprite Requis. Emplacement 2D auquel le recouvrement s’affiche dans l’image-objet 3D. Cet emplacement est mesuré à partir du coin supérieur gauche de l’image-objet. rotation Facultatif. Spécifie la rotation du recouvrement ajouté. ADOBE DIRECTOR 11.0 378 Dictionnaire de script Exemple La première ligne de l’exemple suivant crée une texture nommée Cèdre. La deuxième ligne insère cette texture à la première position de la liste des recouvrements de la caméra de l’image-objet 5. Le recouvrement est placé au point (300, 120), mesuré à partir du coin supérieur gauche de l’image-objet. La rotation est de 45 degrés. -- Lingo t1 = member("scene").texture("Cedar") sprite(5).camera.insertOverlay(1, t1, point(300, 120), 45) // Javascript Var t1=member("scene").getProp("texture",1); Sprite(5).getPropRef("camera",1).insertOverlay(1,t1,point(300,120),45); Voir aussi removeOverlay, overlay, bevelDepth inside() Syntaxe point.inside(rectangle) inside(point, rectangle) Description Fonction ; indique si un point spécifié se trouve à l’intérieur d’un rectangle spécifié (TRUE) ou à l’extérieur du rectangle (FALSE). Paramètres rectangle Requis. Spécifie le rectangle contenant le point à tester. Exemple L’instruction suivante indique si le point Centre se trouve à l’intérieur du rectangle Zone et affiche le résultat dans la fenêtre Messages : -- Lingo put Center.inside(Zone) // Javascript trace(Center. inside(Zone)); Voir aussi map(), mouseH, mouseV, point() installMenu Syntaxe installMenu whichCastMember ADOBE DIRECTOR 11.0 379 Dictionnaire de script Description Commande ; installe le menu défini dans l’acteur champ spécifié par whichCastMember. Ces menus personnalisés n’apparaissent que pendant la lecture de l’animation. Pour les supprimer, utilisez la commande installMenu sans argument ou avec la valeur 0 comme argument. Cette commande ne fonctionne pas avec les menus hiérarchiques. Pour plus de détails sur la définition d’éléments de menus dans un acteur champ, reportez-vous au mot-clé menu. Il est conseillé d’éviter la modification fréquente des menus, celle-ci affectant les ressources du système. Sous Windows, si le menu ne tient pas à l’écran, seule une partie de ce menu est affichée. Sur le Mac, il est possible de faire défiler les menus qui ne tiennent pas à l’écran. Remarque : Les menus ne sont pas disponibles dans Shockwave Player. Paramètres fieldMemberObjRef Facultatif. Spécifie l’acteur champ dans lequel un menu est installé. Exemple L’instruction suivante installe le menu défini dans l’acteur champ 37 : installMenu 37 L’instruction suivante installe le menu défini dans l’acteur champ Barre de menus : installMenu member "Menubar" L’instruction suivante désactive les menus installés par la commande installMenu : installMenu 0 Voir aussi menu integer() Syntaxe (numericExpression).integer integer(numericExpression) Description Fonction (Lingo uniquement) ; arrondit la valeur d’une expression au nombre entier le plus proche. Vous pouvez appliquer un nombre entier en tant que chaîne à l’aide de la fonction string(). En syntaxe JavaScript, utilisez la fonction parseInt(). Paramètres numericExpression Requis. Nombre à arrondir sous la forme d’un nombre entier. Exemple L’instruction suivante arrondit le nombre 3,75 au nombre entier le plus proche : put integer(3.75) -- 4 ADOBE DIRECTOR 11.0 380 Dictionnaire de script L’instruction suivante arrondit la valeur entre parenthèses. Cette opération permet d’obtenir une valeur utilisable pour la propriété d’image-objet locH qui requiert un nombre entier : sprite(1).locH = integer(0.333 * stageWidth) Voir aussi float(), string() integerP() Syntaxe expression.integerP (numericExpression).integerP integerP(expression) Description Fonction (Lingo uniquement) ; indique si une expression spécifiée peut être évaluée en tant que nombre entier (1 ou TRUE) ou non (0 ou FALSE). Le P de la fonction integerP signifie prédicat. Paramètres expression Requis. Expression à tester. Exemple L’instruction suivante vérifie si le chiffre 3 peut être évalué en tant que nombre entier et affiche 1 (TRUE) dans la fenêtre Messages : put(3).integerP -- 1 L’instruction suivante vérifie si le nombre 3 peut être évalué en tant qu’entier. Puisque le chiffre 3 est entouré de guillemets droits, il n’est pas considéré comme un entier et la valeur 0 (FALSE) s’affiche dans la fenêtre Messages : put("3").integerP -- 0 L’instruction suivante vérifie si la valeur numérique de la chaîne de l’acteur champ Saisie est un entier et, dans le cas contraire, affiche un message d’erreur : if field("Entry").value.integerP = FALSE then alert "Please enter an integer." Voir aussi floatP(), integer(), ilk(), objectP(), stringP(), symbolP() Interface() Syntaxe xtra("XtraName").Interface() Interface(xtra "XtraName") Description Fonction ; renvoie une chaîne délimitée par des retours chariot décrivant l’Xtra et fournissant une liste de ses méthodes. Cette fonction remplace la fonction mMessageList devenue obsolète. ADOBE DIRECTOR 11.0 381 Dictionnaire de script Paramètres Aucune. Exemple L’instruction suivante affiche les données produites par cette fonction utilisée avec l’Xtra QuickTime Asset dans la fenêtre Messages : -- Lingo put Xtra("QuickTimeSupport").Interface() // Javascript trace(xtra("QuickTimeSupport").Interface()); interpolate() Syntaxe transform1.interpolate(transform2,percentage) Description Méthode 3D transform ; renvoie une copie de transform1 créée par l’interpolation entre la position et la rotation de transform1 et la position et la rotation de transform2 en fonction du pourcentage spécifié. La transform1 d’origine n’est pas affectée. Pour interpoler transform1, utilisez interpolateTo(). Pour effectuer l’interpolation manuellement, multipliez la différence des deux nombres par le pourcentage. Par exemple, l’interpolation de 4 à 8 par 50 % donne 6. Exemple Dans l’exemple suivant, tBoîte est la transformation du modèle nommé Boîte et tSphère est la transformation du modèle nommé Sphère. La troisième ligne de l’exemple interpole une copie de la transformation de Boîte à michemin jusqu’à la transformation de Sphère. -- Lingo tBox = member("3d world").model("Box").transform tSphere = member("3d world").model("Sphere").transform tNew = tBox.interpolate(tSphere, 50) // Javascript var tBox = member("3d world").getPropRef("model",a).transform; // where a is the number index for the model "Box" var tSphere = member("3d world").getPropRef("model", i).transform; // where i is the number index for the model "Sphere" var tNew = tBox.interpolate(tSphere, 50); Voir aussi interpolateTo() interpolateTo() Syntaxe transform1.interpolateTo(transform2, percentage) ADOBE DIRECTOR 11.0 382 Dictionnaire de script Description Méthode 3D transform ; modifie transform1 en effectuant une interpolation entre la position et la rotation de transform1 et la position et la rotation d’une nouvelle transformation en fonction d’un pourcentage spécifié. La transform1 d’origine est modifiée. Pour interpoler une copie de transform1, utilisez la fonction interpolate(). Pour effectuer l’interpolation manuellement, multipliez la différence des deux nombres par le pourcentage. Par exemple, l’interpolation de 4 à 8 par 50 % donne 6. Paramètres transform2 Requis. Spécifie la transformation avec laquelle une transformation donnée est interpolée. percentage Requis. Spécifie le pourcentage de rotation de transform2. Exemple Dans l’exemple suivant, tBoîte est la transformation du modèle nommé Boîte et tSphère est la transformation du modèle nommé Sphère. La troisième ligne de l’exemple interpole la transformation de Boîte à mi-chemin jusqu’à la transformation de Sphère. -- Lingo tBox = member("3d world").model("Box").transform tSphere = member("3d world").model("Sphere").transform tBox.interpolateTo(tSphere, 50) // Javascript var tBox = member("3d world").getPropRef("model", i).transform; // where i the number index for the model "Box" var tSphere = member("3d world").getPropRef("model",j).transform; // where j is the number index for the model "Sphere" tBox.interpolateTo(tSphere, 50); Voir aussi interpolate() intersect() Syntaxe rectangle1. Intersect(rectangle2) intersect(rectangle1, rectangle2) Description Fonction ; détermine le rectangle formé par l’intersection de deux rectangles. Paramètres transform2 Requis. Spécifie le second rectangle du test d’intersection. Exemple L’instruction affecte la variable newRectangle au rectangle formé par l’intersection du rectangle Outils avec le rectangle Rampe : -- Lingo newRectangle = toolKit.intersect(Ramp) ADOBE DIRECTOR 11.0 383 Dictionnaire de script // Javascript newRectangle = toolKit.intersect(Ramp); Voir aussi map(), rect(), union() inverse() Syntaxe member(whichCastmember).model(whichModel).transform.inverse() member(whichCastmember).group(whichGroup).transform.inverse() member(whichCastmember).camera(whichCamera).transform.inverse() sprite(whichSprite).camera{(index)}.transform.inverse() member(whichCastmember).light(whichLight).transform.inverse() transformReference.inverse() Description Méthode 3D transform ; renvoie une copie de la transformation dont les propriétés de position et de rotation ont été inversées. Cette méthode ne change pas la transformation d’origine. Pour inverser la transformation d’origine, utilisez la fonction invert(). Paramètres Aucune. Exemple L’instruction suivante inverse une copie de la transformation du modèle Fauteuil. -- Lingo boxInv = member("3d world").model("Chair").transform.inverse() // Javascript var boxInv = member("3d world").getPropRef("model", a).transform.inverse(); // where a the number index for the model "Chair" Voir aussi invert() invert() Syntaxe member(whichCastmember).model(whichModel).transform.invert() member(whichCastmember).group(whichGroup).transform.invert() member(whichCastmember).camera(whichCamera).transform.invert() sprite(whichSprite).camera{(index)}.transform.invert() member(whichCastmember).light(whichLight).transform.invert() transformReference.invert() Description Méthode 3D transform ; inverse les propriétés de position et de rotation de la transformation. ADOBE DIRECTOR 11.0 384 Dictionnaire de script Cette méthode change la transformation d’origine. Pour inverser une copie de la transformation d’origine, utilisez la fonction inverse(). Paramètres Aucune. Exemple -- Lingo member("3d world").model("Box").transform.invert() // Javascript member("3d world").getPropRef("model", a).transform.invert(); // where a the number index for the model "Box" Voir aussi inverse() isBusy() Syntaxe -- Lingo syntax soundChannelObjRef.isBusy() // JavaScript syntax soundChannelObjRef.isBusy(); Description Méthode de piste audio ; détermine si un son est en cours de lecture (TRUE) ou non (FALSE) dans une piste audio. Assurez-vous que la tête de lecture a bougé avant d’utiliser la méthode isBusy() pour vérifier la piste audio. Si cette fonction continue de renvoyer la valeur FALSE après la lecture présumée d’un son, ajoutez la méthode updateStage() pour démarrer la lecture du son avant que la tête de lecture ne recommence à bouger. Cette méthode fonctionne avec les pistes audio occupées par des acteurs son réels. Les composants audio QuickTime, Flash et Shockwave Player gérant le son différemment, cette méthode ne fonctionne avec ces types de médias. Il est conseillé d’utiliser la propriété status d’une piste audio plutôt que la méthode isBusy(). La propriété status se révèle plus appropriée dans la plupart des cas. Paramètres Aucune. Exemple L’instruction suivante vérifie si un son est lu dans la piste audio 1 et, le cas échéant, effectue une lecture en boucle dans l’image. Cela permet au son d’être lu en entier avant que la tête de lecture ne passe à une autre image. -- Lingo syntax if (sound(1).isBusy()) then _movie.go(_movie.frame) end if // JavaScript syntax if (sound(1).isBusy()) { ADOBE DIRECTOR 11.0 385 Dictionnaire de script _movie.go(_movie.frame); } Voir aussi status, Piste audio isInWorld() Syntaxe member(whichCastmember).model(whichModel).isInWorld() member(whichCastmember).camera(whichCamera).isInWorld() member(whichCastmember).light(whichLight).isInWorld() member(whichCastmember).group(whichGroup).isInWorld() Description Commande 3D ; renvoie la valeur TRUE si la hiérarchie parente du modèle, de la caméra, de la lumière ou du groupe s’achève dans l’univers. Si la commande isInWorld présente la valeur TRUE, le modèle, la caméra, la lumière ou le groupe fonctionne dans l’univers 3D de l’acteur. Les modèles, caméras, lumières et groupes peuvent être enregistrés dans un acteur 3D mais ne peuvent pas être utilisés dans son univers 3D. Utilisez les commandes addToWorld et removeFromWorld pour ajouter et supprimer des modèles, des caméras, des lumières et des groupes de l’univers 3D de l’acteur. Paramètres Aucune. Exemple L’instruction suivante indique que le modèle Théière existe dans l’univers 3D de l’acteur scèneDeTable. --Lingo put member("TableScene").model("Teapot").isInWorld() // Javascript put member("TableScene").getPropRef("model", a).isInWorld() ; // where a is the member index for the Teapot model. -- 1 Voir aussi addToWorld, removeFromWorld, child (3D) isPastCuePoint() Syntaxe -- Lingo syntax spriteObjRef.isPastCuePoint(cuePointID) // JavaScript syntax spriteObjRef.isPastCuePoint(cuePointID); ADOBE DIRECTOR 11.0 386 Dictionnaire de script Description Fonction ; détermine si une piste d’image-objet ou une piste audio est passée par un point de repère spécifié dans ses médias. Cette fonction peut être utilisée avec les fichiers audio (WAV, AIFF, SND, SWA, AU), QuickTime ou Xtra supportant les points de repère. Remplacez spriteNum ou channelNum par une piste d’image-objet ou une piste audio. Les sons Shockwave Audio (SWA) peuvent apparaître sous forme d’images-objets dans les pistes d’images-objets, mais sont lus dans les pistes audio. Il est conseillé de faire référence aux images-objets audio SWA par le numéro de leur piste d’image-objet plutôt que par celui de leur piste audio. Remplacez cuePointID par une référence à un point de repère : • Si cuePointID est un entier, isPastCuePoint renvoie la valeur 1 si le point de repère a été dépassé et la valeur 0 dans le cas contraire. • Si cuePointID est un nom, isPastCuePoint renvoie le nombre de points de repère dépassés portant ce nom. Si la valeur spécifiée pour cuePointID n’existe pas dans l’image-objet ou le son, la fonction renvoie la valeur 0. Le nombre renvoyé par isPastCuePoint repose sur la position absolue de l’image-objet dans son média. Par exemple, lorsqu’un son dépasse le point de repère Principal, puis se met en boucle et dépasse de nouveau ce point de repère, isPastCuePoint renvoie 1 au lieu de 2. Lorsque le résultat de isPastCuePoint est traité comme un opérateur booléen, la fonction renvoie la valeur TRUE si un point identifié par cuePointID a été dépassé et la valeur FALSE dans le cas contraire. Paramètres cuePointID Requis. Chaîne ou nombre entier spécifiant le nom ou le numéro du point de repère spécifié. Exemple L’instruction suivante lit un son jusqu’au troisième passage sur le point de repère Fin du chœur : -- Lingo syntax if (sound(1).isPastCuePoint("Chorus End")=3) then sound(1).stop() end if // JavaScript syntax var ce = sound(1).isPastCuePoint("Chorus End"); if (ce = 3) { sound(1).stop(); } L’exemple suivant affiche des informations dans l’acteur Champ 2 concernant la lecture de la musique sur la piste audio 1. Si le point de repère apogée n’a pas encore été atteint, le texte de Champ 2 est « Début du morceau ». Sinon, le texte est Fin du morceau. --- Lingo syntax if not sound(1).isPastCuePoint("climax") then member("field 2").text = "This is the beginning of the piece." else member("field 2").text = "This is the end of the piece." end if // JavaScript syntax var cmx = sound(1).isPastCuePoint("climax"); if (cmx != 1) { member("field 2").text = "This is the beginning of the piece."; } else { ADOBE DIRECTOR 11.0 387 Dictionnaire de script member("field 2").text = "This is the end of the piece."; } ItemUpdate() Syntaxe ItemUpdate(MUIObject, itemNumber, itemInputPropList) Description Cette commande met à jour un composant dans une boîte de dialogue générale. Elle peut s'avérer utile dans le cas d'une mise à jour d'une boîte de dialogue qui répond aux actions de l'utilisateur, lorsque celle-ci est affichée. • itemNumber représente le numéro de l'élément mis à jour. • itemInputPropList représente la liste des nouvelles propriétés de l'élément. La commande ItemUpdate peut être utilisée pour de nombreuses applications, comme l'activation ou la désactivation de boutons, le changement des plages de valeurs d'une fenêtre contextuelle, la mise à jour de la position d'une glissière ou encore la mise à jour d'éléments de texte modifiables si l'utilisateur saisit une valeur incorrecte. Vous pouvez choisir de mettre à jour des éléments individuels d'une boîte de dialogue selon l'action effectuée par l'utilisateur, l'interaction avec celui-ci ou l'affichage de données sous-jacentes. Outre la propriété #value, vous pouvez mettre à jour toutes les autres propriétés d'un élément, excepté son type. Définissez la hauteur, la largeur, les propriétés locH et locV sur -1 pour conserver leurs valeurs actuelles. Exemple Ces instructions mettent à jour le composant de boîte de dialogue dont le numéro est itemNum. • La première instruction obtient les définitions du composant dans la liste globale des définitions d'élément. • Les deuxième et troisième instructions modifient le type du composant et les propriétés d'attribut. • La dernière instruction utilise la commande ItemUpdate pour mettre à jour les paramètres du composant. --Lingo set baseItemList = getAt ( theItemList, itemNum ) set the type of baseItemList = #IntegerSliderH set the attributes of baseItemList = [#valueRange :[#min:1, #max:8, #increment:1, #jump:1, #acceleration:1] ItemUpdate(MUIObj, itemNum, baseItemList) on smileyUpdate -- declare globals global smileyIndex, gMuiSmileDialObj, itemNumSmile, itemNumSlide, smileItemList -- validate dialog object if ( objectP ( gMuiSmileDialObj ) ) then -- get a list to put in new/updated values set baseItemList = duplicate ( getAt ( smileItemList,itemNumSmile ) ) -- metrics can be set to -1, this "keeps them the same" -- instead of updating. -- could also be set to a new value if you -- wanted to resize the item or relocate it. set the width of baseItemList = -1 -- keep previous set the height of baseItemList = -1 -- keep previous set the locH of baseItemList = -1 -- keep previous set the locV of baseItemList = -1 -- keep previous ADOBE DIRECTOR 11.0 388 Dictionnaire de script -- in this particular case, the value is -- the only thing that’s changing set the value of baseItemList = string(smileyIndex) -- member name -- tell the dialog to update the item number -- with the new item list ItemUpdate(gMuiSmileDialObj, itemNumSmile, baseItemList) end if end keyPressed() Syntaxe -- Lingo syntax _key.keyPressed({keyCodeOrCharacter}) // JavaScript syntax _key.keyPressed({keyCodeOrCharacter}); Description Méthode de touche ; renvoie la chaîne de caractères affectée à la dernière touche sélectionnée par l’utilisateur ou indique en option si une touche spécifiée a été pressée. Si le paramètre keyCodeOrCharacter est omis, cette méthode renvoie la chaîne de caractères affectée à la dernière touche sélectionnée. Si l’utilisateur n’a appuyé sur aucune touche, cette méthode renvoie une chaîne vide. Si le paramètre keyCodeOrCharacter est utilisé pour spécifier une touche, cette méthode renvoie la valeur TRUE si l’utilisateur appuie sur la touche indiquée ou la valeur FALSE dans le cas contraire. Cette méthode est mise à jour lorsque l’utilisateur appuie sur des touches dans une boucle repeat (Lingo) ou for (syntaxe JavaScript). Ceci constitue un avantage par rapport à la fonction key qui n’est pas mise à jour dans une boucle repeat ou for. Pour tester la correspondance des caractères des différentes touches sur des claviers distincts, utilisez l’animation Clavier et Lingo. Paramètres keyCodeOrCharacter Facultatif. Code de touche ou chaîne de caractères ASCII à tester. Exemple L’instruction suivante vérifie si l’utilisateur a appuyé sur la touche Entrée sous Windows ou sur la touche Retour du Mac et, le cas échéant, exécute le gestionnaire updateData : -- Lingo syntax if (_key.keyPressed(RETURN)) then updateData end if // JavaScript syntax if (_key.keyPressed(36)) { updateData(); } L’instruction suivante utilise le code de la touche a pour vérifier si elle est enfoncée et affiche le résultat dans la fenêtre Messages : ADOBE DIRECTOR 11.0 389 Dictionnaire de script -- Lingo syntax if (_key.keyPressed(0)) then put("The key is down") end if // JavaScript syntax if (_key.keyPressed(0)) { put("The key is down"); } L’instruction suivante utilise les chaînes ASCII pour vérifier si les touches a et b sont enfoncées et affiche le résultat dans la fenêtre Messages : -- Lingo syntax if (_key.keyPressed("a") and _key.keyPressed("b")) then put("Both keys are down") end if // JavaScript syntax if (_key.keyPressed("a") && _key.keyPressed("b")) { put("Both keys are down"); } Voir aussi Touche, key, keyCode label() Syntaxe -- Lingo syntax _movie.label(stringMarkerName) // JavaScript syntax _movie.label(stringMarkerName); Description Méthode d’animation ; indique l’image associée à un libellé de repère. Le paramètre stringMarkerName doit correspondre à un libellé figurant dans l’animation en cours. Dans le cas contraire, cette méthode renvoie la valeur 0. Paramètres stringMarkerName Requis. Chaîne spécifiant le nom du libellé de repère associé à une image. Exemple L’instruction suivante place la tête de lecture sur la dixième image après l’image intitulée Départ : -- Lingo syntax _movie.go(_movie.label("Start") + 10) // JavaScript syntax _movie.go(_movie.label("Start") + 10); Voir aussi frameLabel, go(), labelList, Animation ADOBE DIRECTOR 11.0 390 Dictionnaire de script last() Syntaxe the last chunk of ( chunkExpression ) the last chunk in (chunkExpression) Description Fonction ; identifie la dernière sous-chaîne d’une expression de sous-chaîne. Les expressions de sous-chaînes peuvent correspondre à tout caractère, mot, élément ou ligne extrait d’un conteneur de caractères. Les conteneurs peuvent être des acteurs champ, des variables contenant des chaînes, et les caractères, mots, lignes et plages spécifiés dans les conteneurs. Paramètres chunkExpression Requis. Spécifie l’expression de sous-chaîne contenant la dernière sous-chaîne. Exemple L’instruction suivante identifie le dernier mot de la chaîne « Adobe, la société multimédia » et affiche le résultat dans la fenêtre Messages : -- Lingo put the last word of "Adobe, the multimedia company" Le résultat est le mot company. L’instruction suivante identifie le dernier caractère de la chaîne « Adobe, la société multimédia » et affiche le résultat dans la fenêtre Messages : put last char("Adobe, the multimedia company") Le résultat est la lettre y. Voir aussi char...of, word...of lastClick() Syntaxe the lastClick Description Fonction ; renvoie le nombre de battements (1 battement = 1/60ème de seconde) écoulés depuis le dernier clic de la souris. Cette fonction peut être testée, mais pas définie. Paramètres Aucune. Exemple L’instruction suivante vérifie si 10 secondes se sont écoulées depuis le dernier clic de la souris et, le cas échéant, fait passer la tête de lecture sur le repère Pas de clic : if the lastClick > 10 * 60 then go to "No Click" ADOBE DIRECTOR 11.0 391 Dictionnaire de script Voir aussi lastEvent(), lastKey, lastRoll, milliseconds lastEvent() Syntaxe the lastEvent Description Fonction ; renvoie le nombre de battements (1 battement = 1/60ème de seconde) écoulés depuis la dernière fois où l’utilisateur a appuyé sur le bouton de la souris, a survolé un élément avec la souris ou a appuyé sur une touche. Paramètres Aucune. Exemple L’instruction suivante vérifie si 10 secondes se sont écoulées depuis la dernière fois où l’utilisateur a appuyé sur le bouton de la souris, a survolé un élément avec la souris ou a appuyé sur une touche. Si c’est le cas, la tête de lecture est placée sur le repère Aide : if the lastEvent > 10 * 60 then go to "Help" Voir aussi lastClick(), lastKey, lastRoll, milliseconds length() Syntaxe string.length length(string) Description Fonction ; renvoie le nombre de caractères de la chaîne spécifiée par string, y compris les espaces et les caractères de contrôle tels que Tabulation et Retour. Paramètres Aucune. Exemple L’instruction suivante affiche le nombre de caractères de la chaîne "Macro"&"media" : put ("Macro" & "media").length -- 10 L’instruction suivante vérifie si le contenu de l’acteur champ Nom de fichier contient plus de 31 caractères et, le cas échéant, affiche un message d’erreur : -- Lingo syntax if member("Filename").text.length > 31 then alert "That filename is too long." ADOBE DIRECTOR 11.0 392 Dictionnaire de script end if // JavaScript syntax if (member("Filename").text.length > 31) { _player.alert("That filename is too long."); } Voir aussi chars(), offset() (fonction de chaîne) light() Syntaxe member(whichCastmember).light(whichLight) member(whichCastmember).light[index] member(whichCastmember).light(whichLight).whichLightProperty member(whichCastmember).light[index].whichLightProperty Description Elément 3D ; objet à une position de vecteur à partir de laquelle la lumière émane. Pour obtenir la liste complète des propriétés et commandes de lumière, reportez-vous aux rubriques Utilisation de Director dans l’Aide de Director. Exemple L’exemple suivant indique les deux façons de faire référence à une lumière. La première ligne utilise une chaîne entre parenthèses et la seconde utilise un nombre entre crochets. La chaîne correspond au nom de la lumière et le nombre à la position de la lumière dans la liste des lumières de l’acteur. -- Lingo thisLight = member("3D World").light("spot01") thisLight = member("3D World").light[2] // Javascript thisLight = member("3D World").light[1]; Voir aussi newLight, deleteLight lineHeight() Syntaxe -- Lingo syntax memberObjRef.lineHeight(lineNumber) // JavaScript syntax memberObjRef.lineHeight(lineNumber); Description Fonction ; renvoie la hauteur, en pixels, d’une ligne spécifique d’un acteur champ spécifié. ADOBE DIRECTOR 11.0 393 Dictionnaire de script Paramètres lineNumber Requis. Nombre entier spécifiant la ligne à mesurer. Exemple L’instruction suivante détermine la hauteur, en pixels, de la première ligne de l’acteur champ Nouvelles du jour et affecte le résultat à la variable headline : --Lingo syntax headline = member("Today's News").lineHeight(1) // JavaScript syntax var headline = member("Today's News").lineHeight(1); linePosToLocV() Syntaxe -- Lingo syntax memberObjRef.linePosToLocV(lineNumber) // JavaScript syntax memberObjRef.linePosToLocV(lineNumber); Description Fonction ; renvoie la distance, en pixels, d’une ligne spécifique à partir du bord supérieur de l’acteur champ spécifié. Paramètres lineNumber Requis. Nombre entier spécifiant la ligne à mesurer. Exemple L’instruction suivante mesure la distance, en pixels, entre la deuxième ligne de l’acteur champ Nouvelles du jour et le bord supérieur de l’acteur, puis affecte le résultat à la variable startOfString : --Lingo syntax startOfString = member("Today's News").linePosToLocV(2) // JavaScript syntax var startOfString = member("Today's News").linePosToLocV(2); linkAs() Syntaxe castMember.linkAs() Description Fonction d’acteur script ; ouvre une boîte de dialogue d’enregistrement, permettant d’enregistrer le contenu du script dans un fichier externe. L’acteur script est alors lié à ce fichier. Les scripts liés sont importés dans l’animation lorsque vous les enregistrez en tant que projection ou qu’animation comportant du contenu Shockwave. Ceci diffère des autres médias liés, qui restent externes à l’animation, à moins que vous ne les importiez explicitement. ADOBE DIRECTOR 11.0 394 Dictionnaire de script Paramètres Aucune. Exemple L’instruction suivante, saisie dans la fenêtre Messages, ouvre une boîte de dialogue d’enregistrement, permettant d’enregistrer le script Mouvement aléatoire comme fichier externe : -- Lingo member("Random Motion").linkAs() importFileInto, linked // Javascript member("Random Motion").linkAs() ; list() Syntaxe -- Lingo syntax list() [] list(stringValue1, stringValue2, ...) [stringValue1, stringValue2, ...] // JavaScript syntax list(); list(stringValue1, stringValue2, ...); Description Fonction de niveau supérieur ; crée une liste linéaire. Lors de la création d’une liste à l’aide de la syntaxe list(), avec ou sans paramètres, l’index des valeurs de la liste commence par 1. Lors de la création d’une liste à l’aide de la syntaxe [], avec ou sans paramètres, l’index des valeurs de la liste commence par 0. La longueur maximale d’une ligne de script exécutable est de 256 caractères. La fonction list() ne permet pas de créer des listes volumineuses. Pour créer une liste incluant un important volume de données, indiquez ces données entre crochets ([]), insérez les données dans un champ, puis affectez le champ à une variable. Le contenu de cette variable correspondra à une liste de ces données. Paramètres strigValue1, stringValue2 ... Facultatif. Liste de chaînes spécifiant les valeurs initiales de la liste. Exemple L’instruction suivante associe la variable Designers à une liste linéaire contenant les noms Jean, Pierre et Marc : -- Lingo syntax designers = list("Gee", "Kayne", "Ohashi") -- using list() designers = ["Gee", "Kayne", "Ohashi"] -- using brackets // JavaScript syntax var designers = list("Gee", "Kayne", "Ohashi"); ADOBE DIRECTOR 11.0 395 Dictionnaire de script Voir aussi propList() listP() Syntaxe listP(item) Description Fonction ; indique si un élément spécifié est une liste, un rectangle ou un point (1 ou TRUE) ou non (0 ou FALSE). Paramètres item Requis. Spécifie l’élément à tester. Exemple L’instruction suivante vérifie si la liste contenue dans la variable designers est une liste, un rectangle ou un point et affiche le résultat dans la fenêtre Messages : put listP(designers) Le résultat est 1, équivalent numérique de TRUE. Voir aussi ilk(), objectP() loadFile() Syntaxe member(whichCastmember).loadFile(fileName {, overwrite, generateUniqueNames}) Description Commande d’acteur 3D ; importe les éléments d’un fichier *.w3d dans un acteur. La propriété state de l’acteur doit présenter la valeur -1 (erreur) ou 4 (chargé) avant l’utilisation de la commande loadFile. Paramètres fileName Requis. Spécifie le fichier *.w3d contenant les éléments à importer. overwrite Facultatif. Indique si les éléments du fichier *.w3d remplacent ceux de l’acteur (TRUE) ou s’ils sont ajoutés à ceux de l’acteur (FALSE). La valeur par défaut de overwrite est TRUE. generateUniqueNames Facultatif. Si ce paramètre présente la valeur TRUE, tout élément du fichier *.w3d portant le même nom qu’un élément correspondant de l’acteur est renommé. Si ce paramètre présente la valeur FALSE, les éléments de l’acteur sont remplacés par les éléments correspondants du même nom dans le fichier *.w3d. La valeur par défaut de generateUniqueNames est TRUE. ADOBE DIRECTOR 11.0 396 Dictionnaire de script Exemple L’instruction suivante importe le contenu du fichier Camion.w3d dans l’acteur Route. Le contenu de Camion.w3d est ajouté au contenu de Route. Si certains objets importés ont le même nom que des objets déjà présents dans Route, Director leur donne un nouveau nom. -- Lingo member("Roadway").loadFile("Truck.W3d", FALSE, TRUE) // Javascript member("Roadway").loadFile("Truck.W3d",false,true); L’instruction suivante importe le contenu du fichier Chevy.w3d dans l’acteur Route. Chevy.w3d se trouve dans un dossier Modèles, un niveau au-dessous de l’animation. Le contenu de Route est remplacé par celui de Chevy.w3d. Le troisième paramètre n’a aucune importance étant donné que le deuxième paramètre présente la valeur TRUE. -- Lingo member("Roadway").loadFile(the moviePath & "Models\Chevy.W3d", TRUE, TRUE) // Javascript member("Roadway").loadFile(_movie.Path + "Models\Chevy.W3d",true,true); Voir aussi state (3D) locToCharPos() Syntaxe -- Lingo syntax memberObjRef.locToCharPos(location) // JavaScript syntax memberObjRef.locToCharPos(location); Description Fonction ; renvoie le numéro du caractère d’un acteur champ spécifié occupant la position la plus proche d’un point dans le champ. La valeur 1 correspond au premier caractère de la chaîne, la valeur 2 au second caractère de cette chaîne, et ainsi de suite. Paramètres location Requis. Point dans l’acteur champ. La valeur du paramètre location est un point calculé par rapport au coin supérieur gauche de l’acteur champ. Exemple L’instruction suivante détermine le caractère le plus proche du point situé à 100 pixels sur la droite et à 100 pixels en dessous du coin supérieur gauche de l’acteur champ Nouvelles du jour. Elle affecte ensuite le résultat à la variable PageDesign. --Lingo syntax pageDesign = member("Today's News").locToCharPos(point(100, 100)) // JavaScript syntax var pageDesign = member("Today's News").locToCharPos(point(100, 100)); ADOBE DIRECTOR 11.0 397 Dictionnaire de script locVToLinePos() Syntaxe -- Lingo syntax memberObjRef.locVToLinePos(locV) // JavaScript syntax memberObjRef.locVToLinePos(locV); Description Fonction ; renvoie le numéro de la ligne de caractères apparaissant à une position verticale spécifiée. Paramètres locV Requis. Spécifie la position verticale de la ligne de caractères. Cette valeur représente le nombre de pixels à partir du haut de l’acteur champ et non depuis la partie de l’acteur champ affichée sur la scène. Exemple L’instruction suivante détermine la ligne de caractères apparaissant à 150 pixels du haut de l’acteur champ Nouvelles du jour et affecte le résultat à la variable pageBreak : --Lingo syntax pageBreak = member("Today's News").locVToLinePos(150) // JavaScript syntax var pageBreak = member("Today's News").locVToLinePos(150); log() Syntaxe log(number) Description Fonction mathématique (Lingo uniquement) ; calcule le logarithme naturel d’un nombre spécifié. En syntaxe JavaScript, utilisez la fonction log() d’un objet mathématique. Paramètres number Requis. Nombre dont le logarithme naturel est calculé. Ce nombre doit être une valeur décimale supérieure à 0. Exemple L’instruction suivante affecte le logarithme naturel de 10,5 à la variable Answer. -- Lingo Answer = log(10.5) // Javascript Answer = Math.log(10.5); Exemple L’instruction suivante calcule le logarithme naturel de la racine carrée de la valeur Nombre et en affecte le résultat à la variable Réponse : ADOBE DIRECTOR 11.0 398 Dictionnaire de script -- Lingo Answer = log(Number.sqrt) // Javascript Answer = Math.log(Math.sqrt(Number)); makeList() Syntaxe --Lingo syntax parserObject.makeList() // JavaScript syntax parserObject.makeList(); Description Fonction ; renvoie une liste de propriétés basée sur le document XML analysé à l’aide de parseString() ou de parseURL(). Paramètres Aucune. Exemple Le gestionnaire suivant analyse un document XML et renvoie la liste résultante : -- Lingo syntax on ConvertToList xmlString parserObject = new(xtra "xmlparser") errorCode = parserObject.parseString(xmlString) errorString = parserObject.getError() if voidP(errorString) then parsedList = parserObject.makeList() else alert "Sorry, there was an error" && errorString exit end if return parsedList end // JavaScript syntax function ConvertToList(xmlString) { parserObject = new Xtra("xmlparser"); // check syntax errorCode = parserObject.parseString(xmlString); errorString = parserObject.getError(); if (voidP(errorString)) { parsedList = parserObject.makeList(); } else { alert("Sorry, there was an error" + errorString); return false; } return parsedList; } Voir aussi makeSubList() ADOBE DIRECTOR 11.0 399 Dictionnaire de script makeScriptedSprite() Syntaxe -- Lingo syntax spriteChannelObjRef.makeScriptedSprite({memberObjRef, loc}) // JavaScript syntax spriteChannelObjRef.makeScriptedSprite({memberObjRef, loc}); Description Méthode de piste d’image-objet ; demande qu’une piste d’image-objet contrôlée par le scénario soit désormais contrôlée par un script et, en option, place une image-objet d’un acteur spécifié à un emplacement spécifique de la scène. Pour rendre au scénario le contrôle de la piste d’image-objet contrôlée par un script, appelez la méthode removeScriptedSprite(). Paramètres memberObjRef Facultatif. Référence à l’acteur à partir duquel une image-objet contrôlée par un script est créée. Lorsque ce paramètre est le seul spécifié, l’image-objet est placée au centre de la scène. loc Facultatif. Point spécifiant l’emplacement de la scène où l’image-objet contrôlée par un script est placée. Exemple L’instruction suivante crée une image-objet contrôlée par un script dans la piste d’image-objet 5 à partir de l’acteur champ cerf-volant, puis la place à un point spécifique de la scène : --- Lingo syntax channel(5).makeScriptedSprite(member("kite"), point(35, 70)) // JavaScript syntax channel(5).makeScriptedSprite(member("kite"), point(35, 70)); Voir aussi removeScriptedSprite(), Piste d’image-objet makeSubList() Syntaxe XMLnode.makeSubList() Description Fonction ; renvoie une liste de propriétés d’un nœud enfant de la même façon que makeList() renvoie la racine d’un document XML sous la forme d’une liste. Paramètres Aucune. Exemple Avec le code XML suivant : <e1> ADOBE DIRECTOR 11.0 400 Dictionnaire de script <tagName attr1="val1" attr2="val2"/> <e2> element 2</e2> <e3>element 3</e3> </e1> L’instruction suivante renvoie une liste de propriétés constituée du contenu du premier enfant de la balise <e1> : put gparser.child[ 1 ].child[ 1 ].makeSubList() -- ["tagName": ["!ATTRIBUTES": ["attr1": "val1", "attr2": "val2"]]] Voir aussi makeList() map() Syntaxe map(targetRect, sourceRect, destinationRect) map(targetPoint, sourceRect, destinationRect) Description Fonction ; permet de positionner et de dimensionner un rectangle ou un point en fonction du rapport existant entre un rectangle source et un rectangle cible. La relation de la valeur targetRect avec la valeur sourceRect contrôle la relation du résultat de la fonction avec destinationRect. Paramètres targetRect Requis. Rectangle cible de la relation. targetPoint Requis. Point cible de la relation. sourceRect Requis. Rectangle source de la relation. destinationRect Requis. Rectangle de destination. Exemple Dans le comportement suivant, toutes les images-objets ont déjà été définies comme déplaçables. L’image-objet 2b contient un petit bitmap. L’image-objet 1s est une image-objet de forme rectangulaire, suffisamment grande pour contenir facilement l’image-objet 2b. L’image-objet 4b est une version plus grande du bitmap compris dans l’imageobjet 2b. L’image-objet 3s est une version plus grande de la forme comprise dans l’image-objet 1s. Le déplacement des images-objets 2b ou 1s entraîne le déplacement de l’image-objet 4b. Lorsque vous faites glisser l’image-objet 2b, ses mouvements sont copiés par l’image-objet 4b. Lorsque vous faites glisser l’image-objet 1s, l’image-objet 4b se déplace dans la direction opposée. Le redimensionnement de l’image-objet 2b ou 1s produira des résultats intéressants. on exitFrame sprite(4b).rect = map(sprite(2b).rect, sprite(1s).rect, sprite(3s).rect) go the frame end lingo_map.dcr ADOBE DIRECTOR 11.0 401 Dictionnaire de script map (3D) Syntaxe member(whichCastmember).motion(whichMotion).map(whichOtherMotion {, boneName}) Description Commande de mouvement 3D ; plaque un mouvement spécifié sur le mouvement en cours, puis l’applique à un segment ainsi qu’à tous ses enfants. Cette commande remplace tout mouvement précédemment plaqué au segment spécifié et à ses enfants. Cette commande ne modifie pas la liste de lecture d’un modèle. Paramètres whichOtherMotion Requis. Chaîne spécifiant le nom du mouvement à plaquer. boneName Facultatif. Chaîne spécifiant le nom du segment auquel le mouvement plaqué est appliqué. Si ce paramètre est omis, le segment racine est utilisé. Exemple L’instruction suivante plaque le mouvement Plafond sur le mouvement Assis à partir du segment Cou. Le modèle s’assied et regarde le plafond simultanément. member("Restaurant").motion("SitDown").map("LookUp", "Neck") Voir aussi motion(), duration (3D), cloneMotionFromCastmember mapMemberToStage() Syntaxe sprite(whichSpriteNumber). mapMemberToStage(whichPointInMember) mapMemberToStage(sprite whichSpriteNumber, whichPointInMember) Description Fonction ; utilise l’image-objet et le point spécifiés pour renvoyer un point équivalent dans les dimensions de la scène. Cette fonction prend correctement en compte les transformations en cours de l’image-objet à l’aide de quad ou le rectangle si celui-ci n’est pas transformé. Elle est idéale pour déterminer si l’utilisateur a cliqué sur une zone spécifique d’un acteur, même si son image-objet sur la scène a été transformée de manière importante. Si le point de la scène spécifié ne se trouve pas à l’intérieur de l’image-objet, la valeur VOID est renvoyée. Paramètres whichPointInMember Requis. Point à partir duquel un point équivalent est renvoyé. Exemple L’instruction suivante utilise l’image-objet(1) et le point(10, 10) pour renvoyer un point équivalent situé dans les dimensions de la scène. -- Lingo sprite(1). mapMemberToStage(point(10,10)) // Javascript ADOBE DIRECTOR 11.0 402 Dictionnaire de script sprite(1). mapMemberToStage(point(10,10)) ; Voir aussi map(), mapStageToMember() mapStageToMember() Syntaxe sprite(whichSpriteNumber). mapStageToMember(whichPointOnStage) mapStageToMember(sprite whichSpriteNumber, whichPointOnStage) Description Fonction ; utilise l’image-objet et le point spécifiés pour renvoyer un point équivalent dans les dimensions de l’acteur. Cette fonction prend correctement en compte les éventuelles transformations en cours de l’image-objet à l’aide de quad ou le rectangle si celui-ci n’est pas transformé. Elle est idéale pour déterminer si l’utilisateur a cliqué sur une zone spécifique d’un acteur, même si son image-objet sur la scène a été transformée de manière importante. Si le point de la scène spécifié ne se trouve pas à l’intérieur de l’image-objet, cette fonction renvoie la valeur VOID. Paramètres whichPointOnStage Requis. Point à partir duquel un point équivalent est renvoyé. Voir aussi map(), mapMemberToStage() marker() Syntaxe -- Lingo syntax _movie.marker(markerNameOrNum) // JavaScript syntax _movie.marker(markerNameOrNum); Description Méthode d’animation ; renvoie le numéro d’image des repères situés avant ou après l’image en cours. Cette méthode est utile pour mettre en œuvre un bouton Suivant ou Précédent ou pour définir une boucle d’animation. Si le paramètre markerNameOrNum est un nombre entier, il peut correspondre à tout nombre entier positif ou négatif ou à la valeur 0. Par exemple : • marker(2) : renvoie le numéro d’image du deuxième repère après l’image en cours. • marker(1) : renvoie le numéro d’image du premier repère après l’image en cours. • marker(0) : renvoie le numéro de l’image en cours si celle-ci contient un repère ou, si elle n’en contient pas, le numéro d’image du repère précédent. ADOBE DIRECTOR 11.0 403 Dictionnaire de script • marker(-1) : renvoie le numéro d’image du premier repère précédant le repère (0). • marker(-2) : renvoie le numéro d’image du second repère précédant le repère (0). Si le paramètre markerNameOrNum est une chaîne, marker() renvoie le numéro de la première image dont le libellé de repère correspond à la chaîne. Paramètres markerNameOrNum Requis. Chaîne spécifiant un libellé de repère ou nombre entier spécifiant un numéro de repère. Exemple L’instruction suivante place la tête de lecture au début de l’image en cours si celle-ci contient un repère ; dans le cas contraire, elle place la tête de lecture au repère précédent : -- Lingo syntax _movie.go(_movie.marker(0)) // JavaScript syntax _movie.go(_movie.marker(0)); L’instruction suivante attribue à la variable nextMarker la valeur du repère suivant dans le scénario : -- Lingo syntax nextMarker = _movie.marker(1) // JavaScript syntax nextMarker = _movie.marker(1); Voir aussi frame, frameLabel, go(), label(), markerList, Animation matrixAddition() Syntaxe <Matrix> matrixAddition(matrix1, matrix2) Description Fonction globale ; additionne deux matrices et renvoie le résultat sous la forme d’une matrice. matrice1 et matrice2 doivent avoir la même dimension. Paramètres matrix1 Requis. Première matrice. matrix2 Requis. Seconde matrice. Exemple L’extrait de code suivant crée deux matrices, puis les additionne à l’aide de la méthode matrixAddition(). --Lingo mat1 = newMatrix(2, 2, [1,2,3,4]) mat2 = newMatrix(2, 2, [5,6,7,8]) mat3 = matrixAddition(mat1, mat2) put(mat3.getVal(2,2)) -- 12.0000 //Java Script ADOBE DIRECTOR 11.0 404 Dictionnaire de script mat1 = newMatrix(2, 2, list(1,2,3,4)); mat2 = newMatrix(2, 2, list(5,6,7,8)); mat3 = matrixAddition(mat1, mat2); put(mat3.getVal(2,2)); // 12.0000 Voir aussi getVal(), setVal(), numRows(), numColumns(), matrixMultiply(), matrixMultiplyScalar(), matrixTranspose(), newMatrix() matrixMultiply() Syntaxe <Matrix> matrixMultiply(matrix1, matrix2) Description Fonction globale ; multiplie deux matrices et renvoie le résultat sous la forme d’une matrice. Le nombre de colonnes de matrice1 doit être identique au nombre de lignes de matrice2. Paramètres matrix1 Requis. Première matrice. matrix2 Requis. Seconde matrice. Exemple L’extrait de code suivant crée deux matrices, puis les multiplie à l’aide de la méthode matrixMultiply(). --Lingo mat1 = newMatrix(2, 2, [1,2,3,4]) mat2 = newMatrix(2, 2, [5,6,7,8]) mat3 = matrixMultiply(mat1, mat2) put(mat3.getVal(2,2)) -- 50.0000 //Java Script mat1 = newMatrix(2, 2, list(1,2,3,4)); mat2 = newMatrix(2, 2, list(5,6,7,8)); mat3 = matrixMultiply(mat1, mat2); put(mat3.getVal(2,2)); // 50.0000 Voir aussi getVal(), setVal(), numRows(), numColumns(), matrixAddition(), matrixMultiplyScalar(), matrixTranspose(), newMatrix() matrixMultiplyScalar() Syntaxe <Matrix> matrixMultiplyScalar(matrix, scalarMultiplier) ADOBE DIRECTOR 11.0 405 Dictionnaire de script Description Fonction globale ; multiplie chaque élément de la matrice par une valeur scalaire donnée et renvoie le résultat sous la forme d’une matrice. Paramètres matrix Requis. Matrice impliquée dans la multiplication scalaire. scalarMultiplier Requis. Valeur scalaire par laquelle chaque matrice doit être multipliée. Exemple L’extrait de code suivant crée deux matrices, puis les multiplie à l’aide de la méthode matrixMultiplyScalar(). --Lingo mat1 = newMatrix(2, 2, [1,2,3,4]) mat2 = matrixMultiplyScalar(mat1, 10) put(mat2.getVal(2,2)) -- 40.0000 //Java Script mat1 = newMatrix(2, 2, list(1,2,3,4)); mat2 = matrixMultiplyScalar(mat1, 10); put(mat2.getVal(2,2)); // 40.0000 Voir aussi getVal(), setVal(), numRows(), numColumns(), matrixAddition(), matrixMultiply(), matrixTranspose(), newMatrix() matrixTranspose() Syntaxe <Matrix> matrixTranspose(matrix) Description Fonction globale ; calcule la transposée d’une matrice donnée et renvoie le résultat sous la forme d’une autre matrice. Paramètres matrice Requis. Matrice à transposer. Exemple L’extrait de code suivant crée une matrice, puis la transpose à l’aide de la méthode matrixTranspose(). --Lingo mat1 = newMatrix(2, 2, [1,2,3,4]) mat2 = matrixTranspose(mat1) put(mat1.getVal(1,2)) put(mat2.getVal(1,2)) -- 2.0000 -- 3.0000 //Java Script mat1 = newMatrix(2, 2, list(1,2,3,4)); mat2 = matrixTranspose(mat1); put(mat1.getVal(1,2)); ADOBE DIRECTOR 11.0 406 Di