Retrouvez gratuitement la notice de l'appareil FLASH ADOBE au format PDF.
Téléchargez la notice de votre Logiciel multimédia au format PDF gratuitement ! Retrouvez votre notice FLASH - ADOBE et reprennez votre appareil électronique en main. Sur cette page sont publiés tous les documents nécessaires à l'utilisation de votre appareil FLASH de la marque ADOBE.
Ce document suppose également que vous connaissez la syntaxe JavaScript ou ActionScript et les concepts de base de la programmation (fonctions, paramètres et types de données).
L’API Flash JavaScript permet d’écrire des scripts destinés à effectuer plusieurs actions dans l’environnement de développement Flash (pendant que l’utilisateur exécute le programme Flash). Cette fonctionnalité est différente du langage ActionScript qui permet d’écrire des scripts destinés à effectuer des actions dans l’environnement Flash Player (pendant la lecture d’un fichier SWF). Elle diffère également des commandes JavaScript utilisables sur les pages qui s’affichent dans un navigateur Web. Grâce à l’utilisation de l’API JavaScript, vous écrivez des scripts d’application Flash qui permettent de simplifier le processus de programmation. Par exemple, vous pouvez écrire des scripts pour automatiser des tâches répétitives ou ajouter des outils personnalisés au panneau Outils. L’API JavaScript de Flash a été conçue sur le même modèle que les API JavaScript d’Adobe® Dreamweaver® et d’Adobe® Fireworks® (elles-mêmes basées sur l’API JavaScript de Netscape). L’API JavaScript de Flash repose sur un modèle d’objet document (DOM, Document Object Model) qui permet d’accéder aux documents Flash à l’aide d’objets créés en JavaScript. Elle comporte tous les éléments de l’API JavaScript de Netscape, ainsi que le DOM de Flash. Les objets qui sont ajoutés, ainsi que leurs méthodes et propriétés, sont décrits dans le présent document. Vous pouvez utiliser tous les éléments du langage JavaScript natif dans un script Flash, mais seuls les éléments dont l’utilisation est logique dans le contexte d’un document Flash prendront effet. L’API JavaScript contient également un certain nombre de méthodes qui permettent d’implémenter des extensions par une combinaison de code JavaScript et C personnalisé. Pour plus d’informations, voir la section « Extensibilité de niveau C » à la page 557. L’interpréteur JavaScript de Flash est la version 1.6 du moteur SpiderMonkey de Mozilla, disponible sur Internet à l’adresse suivante : www.mozilla.org/js/spidermonkey/. SpiderMonkey, l’une des deux implémentations de référence du langage JavaScript développé par Mozilla.org, est intégré au navigateur Mozilla. SpiderMonkey implémente le langage JavaScript de base tel qu’il est défini par la spécification ECMAScript (ECMA262) édition 3 et est conforme à tous les niveaux à celle-ci. Seuls les objets hôte propres au navigateur (qui ne figurent pas dans la spécification ECMA-262) ne sont pas pris en charge. De même, de nombreux guides de référence JavaScript établissent une distinction entre le langage JavaScript de base et le langage JavaScript côté client (associé au navigateur). Seul le langage JavaScript de base s’applique à l’interpréteur Flash JavaScript.
Le fichier de commandes est alors enregistré dans le dossier Commands avec l’extension JSFL (voir « Enregistrement des fichiers JSFL » à la page 2). Vous pouvez ensuite l’ouvrir et le modifier comme tout autre fichier script. Le panneau Historique fournit lui aussi d’autres options utiles. Vous pouvez copier les commandes sélectionnées dans le Presse-papiers et visualiser les commandes JavaScript qui sont générées lors de l’utilisation de Flash. Pour copier des commandes dans le Presse-papiers à partir du panneau Historique : 1 Sélectionnez une ou plusieurs commandes dans le panneau Historique. 2 Effectuez l’une des opérations suivantes :
• Dans le menu du panneau, sélectionnez Copier ces étapes. Pour visualiser les commandes JavaScript dans le panneau Historique : • Dans le menu du panneau, choisissez Affichage > JavaScript dans le panneau.
Si vous modifiez un script dans le dossier Commands, il est immédiatement disponible dans Flash. Si vous modifiez un script pour un outil extensible, fermez et redémarrez Flash, ou utilisez la commande fl.reloadTools(). Toutefois, si vous avez utilisé un script pour ajouter un outil extensible au panneau Outils puis que vous modifiez ce script, supprimez l’outil du panneau Outils puis ajoutez-le de nouveau, ou fermez Flash et redémarrez-le, pour que l’outil modifié soit disponible. Pour être accessibles à partir de l’environnement de programmation, les fichiers de commandes et d’outils peuvent être stockés en deux endroits différents.
Commands qui se trouve à l’emplacement suivant : Système d’exploitation
Il existe plusieurs manières d’exécuter des scripts. Les plus courantes sont développées dans la section ci-dessous. Pour exécuter un script affiché ou en cours de modification : • Cliquez du bouton droit (touche Commande sous Macintosh) et choisissez Exécuter le script.
Pour exécuter un script stocké dans le dossier Commands, effectuez l’une des actions suivantes : • Dans l’environnement de programmation, choisissez Commandes > Nom du script.
Raccourcis clavier, puis choisissez Commandes du menu dessin dans la liste déroulante Commandes. Développez le noeud Commandes de l’arborescence afin d’afficher la liste des scripts disponibles. Pour exécuter un script de commandes qui ne réside pas dans le dossier Commands, effectuez l’une des actions suivantes : • Dans l’environnement de programmation, choisissez Commandes > Exécuter une commande, puis sélectionnez le script à exécuter.
• Dans le système de fichiers, double-cliquez sur le fichier de script. Pour ajouter dans le panneau Outils un élément implémenté dans un fichier JSFL : 1 Copiez le fichier JSFL de cet outil (ainsi que les éventuels autres fichiers associés) dans le dossier Tools (voir « Enregistrement des fichiers JSFL » à la page 2). 2 Choisissez Edition > Personnaliser le panneau Outils (Windows) ou Flash > Personnaliser le panneau Outils
3 Ajoutez le nouvel outil à la liste des outils disponibles. 4 Cliquez sur OK.
MMExecute() n’est exécutée que dans le contexte d’un élément d’interface utilisateur personnalisé, par exemple comme composant de l’inspecteur Propriétés, ou dans un panneau SWF au sein de l’environnement de programmation. Même si elles sont appelées par ActionScript, les commandes API JavaScript sont inopérantes dans Flash Player ou hors de l’environnement de programmation. Pour lancer une commande à partir d’un script ActionScript : • Employez la syntaxe suivante (vous pouvez concaténer plusieurs commandes en une seule chaîne) : MMExecute(Javascript command string);
Pour exécuter un script à partir de la ligne de commande de Windows : • Utilisez la syntaxe suivante (en ajoutant les informations requises concernant le chemin d’accès) : "flash.exe" myTestFile.jsfl
• Utilisez la syntaxe suivante (en ajoutant les informations requises concernant le chemin d’accès) :
Si vous n’avez encore jamais utilisé l’API JavaScript, vous pouvez passer directement à la section « Objets de l’API JavaScript » à la page 8.
L'objet suivant est une nouveauté de Flash CS6 :
Les méthodes et propriétés suivantes des objets existants constituent une nouveauté dans Flash Pro CS6 :
• Flash. Pour plus d’informations, voir les sections Objet FLfile et Objet flash (fl). La référence à l’objet flash peut être flash ou fl. Par exemple, pour fermer tous les fichiers FLA ouverts, vous pouvez utiliser l’une des instructions suivantes : flash.closeAll(); fl.closeAll();
Objet Pour plus d’informations, voir la section Objet Document. Ainsi, pour vous référer au premier document ouvert, vous pouvez utiliser l’instruction flash.documents[0] ou fl.documents[0]. Il s’agit du premier document Flash qui a été ouvert dans l’environnement de programmation au cours de la session actuelle. Lors de la fermeture du premier document, les index des autres documents ouverts sont décrémentés. Pour connaître l’index d’un document particulier, utilisez flash.findDocumentIndex(nomDuDocument) ou fl.findDocumentIndex(nomDuDocument). Voir fl.findDocumentIndex().
Voir fl.getDocumentDOM(). Cette dernière est la syntaxe utilisée dans la plupart des exemples de ce guide. Pour trouver un document particulier dans le tableau fl.documents, créez une boucle qui testera la propriété document.name de chaque document. Voir fl.documents et document.name.
élément de ce tableau est un objet Item : fl.getDocumentDOM().library.items
Sauf indication contraire, les méthodes affectent la sélection ou l’élément qui a le focus. Par exemple, le script cidessous double la taille de la sélection actuelle, car aucun objet précis n’est spécifié : fl.getDocumentDOM().scaleSelection(2, 2);
Dans certains cas, il est possible de référencer un objet en spécifiant une propriété de son objet parent. Par exemple, la propriété document.timelines contient un tableau d’objets Timeline. Ces propriétés sont indiquées dans l’arborescence ci-dessous. Certains objets sont des sous-classes (et non pas des enfants) d’autres objets. Un objet qui est une sous-classe d’un autre possède ses propres méthodes et/ou propriétés, outre les méthodes et propriétés de l’objet parent dont il est dérivé (superclasse). Dans la hiérarchie des objets, les sous-classes sont au même niveau que leur superclasse. Par exemple, l’objet Item est une superclasse de l’objet BitmapItem. Ces relations sont indiquées dans l’arborescence ci-dessous :
« Exemples d’implémentation » ci-dessus). Ce script affiche des informations sur les contours de la forme dans le panneau Sortie. Pour installer et exécuter le script Shape : 1 Copiez le fichier Shape.jsfl dans le dossier Configuration/Commands (voir « Enregistrement des fichiers JSFL » à la page 2). 2 Dans un document Flash (fichier FLA), sélectionnez un objet shape. 3 Sélectionnez Commandes > Forme pour exécuter le script.
Un exemple de script d’API JavaScript nommé filtersGetSet.jsfl est disponible dans le dossier ExtendingFlash/filtersGetSet (voir " Exemples d’implémentation " ci-dessus). Ce script ajoute des filtres à un objet sélectionné et affiche des informations sur les filtres en cours d’ajout dans le panneau Sortie. Pour installer et exécuter le script filtersGetSet : 1 Copiez le fichier filtersGetSet.jsfl dans le dossier Configuration/Commands (voir « Enregistrement des fichiers JSFL » à la page 2). 2 Dans un document Flash (fichier FLA), sélectionnez un objet de type texte, clip ou bouton.
Exemple du panneau de tracé de bitmap Les fichiers nommés TraceBitmap.fla et TraceBitmap.swf se trouvent dans le dossier ExtendingFlash/TraceBitmapPanel (voir « Exemples d’implémentation » ci-dessus). Ces fichiers illustrent la manière de concevoir et créer un panneau pour contrôler les fonctions de Flash. Ils montrent également l’emploi de la fonction MMExecute() pour appeler des commandes JavaScript depuis un script ActionScript. Pour exécuter l’exemple TraceBitmap : 1 Si Flash est en cours d’exécution, fermez-le. 2 Copiez le fichier TraceBitmap.swf dans le dossier WindowSWF, un sous-dossier du dossier Configuration (voir
CS5\langue\Configuration\WindowSWF. 3 Démarrez Flash. L’image est convertie en un groupe de formes.
« Exemples d’implémentation » ci-dessus). Pour plus d’informations sur le développement des DLL, voir la section « Extensibilité de niveau C » à la page 557.
Cette section décrit les fonctions et les méthodes de niveau supérieur disponibles lorsque vous utilisez l’API JavaScript d’Adobe Flash. Pour plus d’informations sur l’emplacement de stockage des fichiers de l’API JavaScript, voir la section « Enregistrement des fichiers JSFL » à la page 2. Méthodes globales Vous pouvez appeler les méthodes suivantes à partir de tout script de l’API JavaScript : alert() confirm() prompt()
Les fonctions suivantes sont disponibles dans les scripts qui créent des outils extensibles : activate() configureTool() deactivate() keyDown() keyUp() mouseDoubleClick() mouseDown() mouseMove() mouseUp() notifySettingsChanged() setCursor()
Exemple L’exemple suivant affiche le message «Sort data?» (Trier les données ?) dans une boîte de dialogue d’alerte. confirm("Sort data?");
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
L’exemple suivant affiche un message dans le panneau Sortie lorsque l’outil extensible est actif et que l’utilisateur modifie ses options dans l’inspecteur Propriétés. function notifySettingsChanged() { var theTool = fl.tools.activeTool; var newValue = theTool.myProp; }
Exemple L’exemple suivant invite l’utilisateur à taper son nom d’utilisateur. Si l’utilisateur saisit un nom et clique sur OK, ce nom s’affiche dans le panneau Sortie.
L’exemple suivant affiche la classe attribuée à la variable myVar si le curseur est placé après l’instruction varmyVar:ActivityEvent; dans le panneau Actions. // Place the following code in the Actions panel, // and position the cursor somewhere after the end of the line var myVar:ActivityEvent; L’exemple suivant affiche le texte présent dans le panneau Actions.
L’exemple suivant affiche le texte actuellement sélectionné dans le panneau Actions. Si aucun texte n’est sélectionné, l’intégralité du texte contenu dans le panneau Actions est affiché. if (fl.actionsPanel.hasSelection()) { var apText = fl.actionsPanel.getSelectedText(); } else { var apText = fl.actionsPanel.getText(); } fl.trace(apText); "#RRGGBB". La longueur du tableau est celle de la table de couleurs.
Méthode permettant de créer des effets de bitmap en extrayant les bits du bitmap, en les manipulant et en les renvoyant à Flash. Exemple Le code suivant crée une référence à l’objet sélectionné, teste s’il est de type bitmap, et lit la hauteur, la largeur et la profondeur de couleurs du bitmap : var isBitmap = fl.getDocumentDOM().selection[0].instanceType; if(isBitmap == "bitmap"){ var bits = fl.getDocumentDOM().selection[0].getBits(); fl.trace("height = " + bits.height); fl.trace("width = " + bits.width); fl.trace("depth = " + bits.depth); }
Description Méthode qui exporte l’élément spécifié dans un fichier PNG ou JPG. Exemple En supposant que le premier élément de la bibliothèque soit un élément bitmap, le code suivant l’exporte sous forme de fichier JPG : var imageFileURL = "file:///C|/exportTest/out.jpg"; var libItem = fl.getDocumentDOM().library.items[0]; libItem.exportToFile(imageFileURL);
L’exemple suivant montre comment récupérer et définir la propriété forceSimple : // Query if the children of the object are accessible. var areChildrenAccessible = fl.getDocumentDOM().selection[0].forceSimple; // Allow the children of the object to be accessible. fl.getDocumentDOM().selection[0].forceSimple = false; Erreurs de compilation est enregistré en codage UTF-8 et intègre des caractères marqueurs d’ordre d’octets au début du texte. La valeur par défaut est false. Valeur renvoyée Aucune. Description Méthode qui enregistre le contenu du panneau Erreurs de compilation dans un fichier texte local. Outre toutes les propriétés de l’Objet SymbolInstance, l’objet ComponentInstance possède les propriétés suivantes : Propriété
Vous pouvez utiliser les propriétés suivantes avec l’objet Contour : Propriété
Dernière mise à jour le 25/7/2012
La valeur par défaut est false. Ce paramètre est facultatif.
L’exemple suivant ajoute un nouveau profil de publication avec un nom par défaut, puis affiche le nom du profil dans le panneau Sortie : fl.getDocumentDOM().addNewPublishProfile(); fl.outputPanel.trace(fl.getDocumentDOM().currentPublishProfile);
coin supérieur gauche (exemple : left:0,top:0 représente le coin supérieur gauche de la scène), et les valeurs right et bottom indiquent l’emplacement du coin inférieur droit. De ce fait, la largeur du rectangle correspond à l’écart entre left et right, et sa hauteur à l’écart entre top et bottom. En d’autres termes, les limites du rectangle ne correspondent pas toutes aux valeurs indiquées dans l’inspecteur Propriétés. Les valeurs left et top correspondent respectivement aux valeurs X et Y de l’inspecteur Propriétés. Toutefois, les valeurs right et bottom ne correspondent pas aux valeurs L et H de l’inspecteur Propriétés. Par exemple, supposons un rectangle possédant les limites suivantes : {left:10,top:10,right:50,bottom:100}
X = 10, Y = 10, W = 40, H = 90 roundness Valeur entière comprise entre 0 et 999 qui représente le niveau d’arrondi des angles. La valeur est
Méthode qui ajoute une nouvelle séquence (Objet Timeline) après la séquence actuellement sélectionnée, puis fait de cette nouvelle séquence la séquence sélectionnée. Si le nom de séquence indiqué existe déjà, la séquence n’est pas ajoutée et la méthode renvoie une erreur. Exemple L’exemple suivant ajoute une nouvelle séquence nommée myScene après la séquence actuelle dans le document actif. La variable success est définie sur true après la création de la séquence, sur false dans le cas contraire. var success = fl.getDocumentDOM().addNewScene("myScene");
panneau Outils bascule sur l’outil Texte. Par conséquent, si vous ne voulez pas changer d’outil, transmettez une valeur pour text. Valeur renvoyée Aucune. Dernière mise à jour le 25/7/2012
L’exemple suivant affiche dans le panneau Sortie l’état du menu Modifier les symboles et ses fonctionnalités : fl.trace("fl.getDocumentDOM().canEditSymbol() returns: " + fl.getDocumentDOM().canEditSymbol());
L’exemple suivant copie la sélection actuelle du document dans le Presse-papiers : fl.getDocumentDOM().clipCopy();
L’exemple suivant colle le contenu du Presse-papiers à sa place dans le document actif : fl.getDocumentDOM().clipPaste(true);
Les exemples suivants créent un symbole de clip avec le nom spécifié, un symbole de bouton avec le nom spécifié, et un symbole de clip avec un nom par défaut : newMc = fl.getDocumentDOM().convertToSymbol("movie clip", "mcSymbolName", "top left"); newButton = fl.getDocumentDOM().convertToSymbol("button", "btnSymbolName", "bottom right"); newClipWithDefaultName = fl.getDocumentDOM().convertToSymbol("movie clip", "", "top left");
de débogage ne démarre pas et la fenêtre .swf ne s’ouvre pas en cas d’erreurs du compilateur. Les erreurs du compilateur n’annulent pas la commande. Exemple L’exemple suivant ouvre le document en cours en mode de débogage, mais abandonne l’opération en cas d’erreurs du compilateur : fl.getDocumentDOM().debugMovie(1);
Méthode qui recherche dans le document des données persistantes ayant le nom spécifié. Exemple L’exemple suivant recherche dans le document des données persistantes ayant le nom "myData" : var hasData = fl.getDocumentDOM().documentHasData("myData");
est utilisé. Ce paramètre est facultatif. Valeur renvoyée Nombre entier qui est l’index du nouveau profil dans la liste des profils. Renvoie -1 s’il est impossible de dupliquer le profil. Description Méthode qui duplique le profil actuellement actif et donne le focus à ce duplicata. Exemple L’exemple suivant duplique le profil actuellement actif et affiche l’index du nouveau profil dans le panneau Sortie : fl.trace(fl.getDocumentDOM().duplicatePublishProfile("dup profile"));
L’exemple suivant met Flash en mode Modifier dans une nouvelle fenêtre pour le symbole sélectionné : fl.getDocumentDOM().enterEditMode('newWindow');
L’exemple suivant exporte la totalité du scénario dans une séquence PNG numérotée qui commence par le nom de fichier « myTest.png » : fl.getDocumentDOM().exportInstanceToPNGSequence("file:///c|/tests/mytest.png");
Méthode qui exporte le document sous forme d’un ou plusieurs fichiers PNG. Si fileURI est spécifié et que le fichier existe déjà, il est écrasé sans avertissement.
Settings/utilisateur/Desktop sur le lecteur C : fl.getDocumentDOM().exportPublishProfile('file:///C|/Documents and Settings/username/Desktop/profile.xml');
L’exemple suivant définit le chemin de bibliothèque externe du document sur "." et "../mySWCLibrary" : var myDocument = fl.getDocumentDOM(); myDocument.externalLibraryPath = ".;../mySWCLibrary"; fl.trace(myDocument.externalLibraryPath);
Dernière mise à jour le 25/7/2012
Méthode qui renvoie une chaîne indiquant le mode de fondu pour les objets sélectionnés. Exemple L’exemple suivant affiche le nom du mode de fusion dans le panneau Sortie : fl.trace(fl.getDocumentDom().getBlendMode());
Méthode qui récupère l’objet Fill (remplissage) de la forme sélectionnée ou, selon le paramètre, du panneau Outils et de l’inspecteur Propriétés. Exemple L’exemple suivant récupère l’objet Fill (remplissage) de la sélection, puis change la couleur de la sélection en blanc : var fill = fl.getDocumentDOM().getCustomFill(); fill.color = '#FFFFFF'; fill.style = "solid"; fl.getDocumentDOM().setCustomFill(fill);
Renvoie l’objet Stroke de la forme sélectionnée ou, selon le paramètre, du panneau Outils et de l’inspecteur Propriétés. Exemple L’exemple suivant renvoie les paramètres de trait actuels de la sélection et définit l’épaisseur de trait sur 2 : var stroke = fl.getDocumentDOM().getCustomStroke("selection"); stroke.thickness = 2; fl.getDocumentDOM().setCustomStroke(stroke);
L’exemple suivant ajoute une valeur entière de 12 au document actif et appelle cette méthode pour afficher la valeur dans le panneau Sortie : fl.getDocumentDOM().addDataToDocument("myData", "integer", 12); fl.trace(fl.getDocumentDOM().getDataFromDocument("myData"));
L’exemple suivant récupère le nom (name) de la propriété Element de la sélection : // elementName = the instance name of the selected object. var elementName = fl.getDocumentDOM().getElementProperty("name");
L’exemple suivant récupère la taille des champs de texte sélectionnés : fl.getDocumentDOM().getElementTextAttr("size");
L’exemple suivant affiche la chaîne des paramètres XML pour le document actif : fl.trace(fl.getDocumentDOM().getMobileSettings()); //traces a string like the following"<? xml version="1.0" encoding="UTF-16" standalone="no" ?><mobileSettings> <contentType id="standalonePlayer" name="Standalone Player"/> Pour déterminer la version d’ActionScript visée dans le fichier spécifié, utilisez document.asVersion. Exemple L’exemple suivant illustre le ciblage des versions du lecteur spécifiées pour le document actif, puis la récupération de ces valeurs :
Si plusieurs champs de texte sont sélectionnés, une concaténation de toutes les chaînes est renvoyée. Exemple L’exemple suivant récupère le contenu des champs de texte sélectionnés : fl.getDocumentDOM().getTextString();
Remarque : les points de transformation sont définis par rapport à différents emplacements, en fonction du type d’élément sélectionné. Pour plus d’informations, voir la méthode document.setTransformationPoint(). Exemple L’exemple suivant récupère l’emplacement du point de transformation de la sélection. La propriété transPoint.x donne la coordonnée x du point de transformation. La propriété transPoint.y donne la coordonnée y du point de transformation. var transPoint = fl.getDocumentDOM().getTransformationPoint();
L’exemple suivant importe le profil contenu dans le fichier profile.xml et affiche son index dans la liste des profils : alert(fl.getDocumentDOM().importPublishProfile('file:///C|/Documents and Settings/janeUser/Desktop/profile.xml'));
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
est activée, false si elle ne l’est pas. Valeur renvoyée Aucune. Description Méthode qui effectue un double-clic de souris à l’aide de l’outil Sélection. Dernière mise à jour le 25/7/2012
Pour plus d’informations sur les sélections, voir les sections document.setSelectionRect(), document.mouseClick(), document.mouseDblClk() et Objet Element. Exemple L’exemple suivant déplace l’élément sélectionné de 62 pixels vers la droite et 84 pixels vers le bas : fl.getDocumentDOM().moveSelectionBy({x:62, y:84});
Enregistrez le document avant d’exécuter ce script. Dans l’exemple, le fichier est nommé test.fla et est enregistré dans le dossier Mes documents sur un ordinateur Windows. var filePath = flash.documents[0].path; fl.trace(filePath); // displays C:\Documents and Settings\<user name>\My Documents\test.fla
L’exemple suivant redéfinit les propriétés de l’objet Rectangle du document actif sur les valeurs par défaut : fl.getDocumentDOM().resetRectangleObject();
L’exemple suivant effectue une rotation de 45° de la sélection autour de son point de transformation : fl.getDocumentDOM().rotateSelection(45);
Méthode qui enregistre le document à son emplacement par défaut. Cette méthode est l’équivalent de l’option de menu Fichier > Enregistrer. Pour donner un autre nom au fichier (au lieu de l’enregistrer avec un nom identique), utilisez fl.saveDocument(). Remarque : si le fichier est nouveau et qu’il n’a été ni enregistré ni modifié, ou s’il existe et n’a pas été modifié depuis son dernier enregistrement, cette méthode n’a aucun effet et la valeur false est renvoyée. Pour permettre l’enregistrement d’un fichier qui n’a pas été enregistré ni modifié, utilisez document.saveAndCompact() ou fl.saveDocumentAs(). Exemple L’exemple suivant enregistre le document actif à son emplacement par défaut : fl.getDocumentDOM().save();
Enregistrer et compresser. Remarque : si le fichier n’a jamais été enregistré, cette méthode renvoie true même si l’utilisateur annule la boîte de dialogue Enregistrer sous. Pour déterminer précisément si le fichier a été enregistré ou non, utilisez fl.saveDocumentAs(). Exemple L’exemple suivant enregistre et compresse le document actif : fl.getDocumentDOM().saveAndCompact();
• Sélectionnez manuellement des objets sur la scène. • Utilisez l’une des méthodes de sélection, telles que document.setSelectionRect(), document.setSelectionBounds(), document.mouseClick(), document.mouseDblClk() ou document.selectAll().
• Utilisez l’une des méthodes de l’Objet Timeline pour sélectionner une ou plusieurs images, telles que timeline.getSelectedFrames(), timeline.setSelectedFrames() ou timeline.selectAllFrames().
Dernière mise à jour le 25/7/2012
Méthode qui modifie la couleur de remplissage de la sélection avec la couleur spécifiée. Pour plus d’informations sur la modification de la couleur de remplissage dans le panneau Outils et l’inspecteur Propriétés, voir la méthode document.setCustomFill().
Avant d’être enregistré, le code XML transmis dans strMetadata fait l’objet d’une validation et est susceptible d’être réécrit. S’il est impossible de les valider comme XML standard ou si elles enfreignent des règles spécifiques, les métadonnées XML ne sont pas appliquées et la méthode renvoie false. (Si la valeur false est renvoyée, il n’est pas possible d’obtenir plus d’informations sur l’erreur.) Remarque : même si la méthode renvoie true, il est possible que le code XML appliqué ne soit pas exactement identique à la chaîne transmise. Pour extraire la valeur exacte du code XML, appelez document.getMetadata(). Les métadonnées sont au format RDF qui est conforme à la spécification XMP. Pour plus d’informations sur RDF et XMP, voir les ressources suivantes :
• La spécification RDF à l’adresse www.w3.org/TR/1999/REC-rdf-syntax-19990222/ • La page d’accueil de XMP à l’adresse www.adobe.com/products/xmp/ Exemple Les exemples suivants illustrent diverses méthodes autorisées de représentation de données identiques. Dans tous les cas de figure, à l’exception du deuxième, si les données étaient transmises à Document.setMetadata(), elles ne seraient pas réécrites (mis à part la suppression des sauts de ligne). Dans le premier exemple, les métadonnées sont imbriquées dans les balises, les différents schémas étant placés dans des balises rdf:Description distinctes :
Méthode qui définit la version de Flash Player ciblée par le document spécifié. Il s’agit de la même valeur que celle qui a été définie dans la boîte de dialogue Paramètres de publication. Exemple L’exemple suivant cible Flash Player 6 comme version de lecteur pour le document actif : fl.getDocumentDOM().setPlayerVersion("6");
(true) ou non (false) lors de la sélection d’un objet. La valeur par défaut est false. Valeur renvoyée Aucune. L’exemple suivant déplace la sélection aux coordonnées 10, 20 et la redimensionne à 100 sur 200 pixels : var l = 10; var t = 20; fl.getDocumentDOM().setSelectionBounds({left:l, top:t, right:(100+l), bottom:(200+t)});
(true) ou non (false) lors de la sélection d’un objet. La valeur par défaut est false. Valeur renvoyée Aucune. Si une valeur est transmise pour bContactSensitiveSelection, elle n’est valide que pour cette méthode et n’affecte pas le mode de sélection Activer au contact du document (voir fl.contactSensitiveSelection). Remarque : la répétition de setSelectionRect() à l’aide du panneau ou de l’élément de menu Historique répète l’étape qui précède l’opération setSelectionRect(). Exemple Dans l’exemple suivant, la seconde sélection remplace la première : fl.getDocumentDOM().setSelectionRect({left:1, top:1, right:200, bottom:200}); fl.getDocumentDOM().setSelectionRect({left:364.0, top:203.0, right:508.0, bottom:434.0}, true);
Valeur booléenne, true si la taille d’au moins un champ de texte est modifiée, false dans le cas contraire. Description Méthode qui modifie le rectangle de délimitation de l’élément texte sélectionné en lui donnant la taille spécifiée. Cette méthode provoque un reformatage du texte dans le nouveau rectangle ; l’élément texte n’est ni mis à l’échelle ni transformé. Les valeurs transmises dans boundingRectangle sont utilisées comme suit :
L’exemple suivant sélectionne le texte du 6e au 25e caractère : fl.document.setTextSelection(5, 25);
• Symboles : transformationPoint est défini par rapport au point d’alignement du symbole (0,0 est situé au point d’alignement).
L’exemple suivant définit la valeur de la variable isSilent sur la valeur de la propriété silent : var isSilent = fl.getDocumentDOM().silent;
Dernière mise à jour le 25/7/2012
Sinon, la méthode utilise les limites des objets sélectionnés. La valeur par défaut est false. Ce paramètre est facultatif.
Aucune. L’exemple suivant combine toutes les formes sélectionnées dans un objet de dessin : fl.getDocumentDOM().union();
Polygone, le point (0,0) se trouve sur le point d’alignement du symbole. Toutefois, l’objet drawingLayer attend des valeurs situées dans l’espace du document. Donc, si vous tracez une ligne à partir des coordonnées (0,0) avec drawingLayer, ces coordonnées seront relatives au coin supérieur gauche de la scène. La propriété viewMatrix permet de passer de l’espace de l’objet modifié à l’espace du document. Exemple L’exemple suivant récupère la valeur de la propriété viewMatrix : var mat = fl.getDocumentDOM().viewMatrix;
Dernière mise à jour le 25/7/2012
à l’espace du dessin, pas aux images dans le scénario.) Par exemple, lorsque l’utilisateur trace un rectangle, il peut avoir un aperçu du contour de cette forme pendant qu’il déplace sa souris. Si vous souhaitez que ce contour reste visible lorsque l’utilisateur relâche le bouton de sa souris, donnez au paramètre persistentDraw la valeur true. Valeur renvoyée Aucune. Description Méthode qui active le mode Dessin de Flash. Le mode dessin est utilisé pour les tracés temporaires avec le bouton de la souris enfoncé. En général, cette méthode n’est utilisée que lors de la création d’outils extensibles. Méthode qui récupère un objet point situé à l’emplacement du point de contrôle spécifié du bord. Exemple L’exemple suivant stocke dans la variable pt le premier point de contrôle de la forme spécifiée : var shape = fl.getDocumentDOM().selection[0]; var pt = shape.edges[0].getControl(0);
Dernière mise à jour le 25/7/2012
L’exemple suivant lit le point de transformation pour le troisième élément de la neuvième image du premier calque dans le document. La propriété transPoint.x donne la coordonnée x du point de transformation. La propriété transPoint.y donne la coordonnée y du point de transformation. var transPoint = fl.getDocumentDOM().getTimeline().layers[0].frames[8].elements[2].getTransformationPoint();
L’exemple suivant illustre le changement de valeur de cette propriété lorsqu’un élément est déplacé : // Select an element on the Stage and then run this script. var sel = fl.getDocumentDOM().selection[0]; fl.trace("Left (before) = " + sel.left); fl.getDocumentDOM().moveSelectionBy({x:100, y:0}); fl.trace("Left (after) = " + sel.left);
Valeur renvoyée Aucune. • Le point de transformation des objets de dessin, des objets de type primitif et des groupes est calculé par rapport au centre de l’élément ou du groupe, et non par rapport à la scène.
Cette méthode déplace le point de transformation, mais ne déplace pas l’élément A l’inverse, les propriétés element.transformX et element.transformY déplacent l’élément. Exemple L’exemple suivant définit sur 100, 200 le point de transformation du troisième élément sur la scène : fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[2].setTransformationPoint({x: 100, y:200});
Dernière mise à jour le 25/7/2012
Résumé des propriétés L’objet Filter gère les propriétés suivantes : Propriété
} L’exemple suivant définit la valeur blurX sur 30 et la valeur blurY sur 20 pour les filtres Flou sur les objets sélectionnés :
L’exemple suivant définit une teinte de 120 pour les filtres de réglage de la couleur sur les objets sélectionnés :
L’exemple suivant définit l’intensité sur 50 pour les filtres de rayonnement sur les objets sélectionnés :
Vous pouvez utiliser les propriétés suivantes avec l’objet flash :
Entier qui définit les préférences de limite de taille du cache mémoire.
être le cas avec mouseMove) et que la fonction demande un certain temps pour s’exécuter, votre application peut se bloquer ou éventuellement devenir instable et générer des erreurs. Exemple L’exemple suivant affiche un message dans le panneau Sortie à la fermeture d’un document : myFunction = function () { fl.trace('document was closed'); } var eventID = fl.addEventListener("documentClosed", myFunction);
Dernière mise à jour le 25/7/2012
omis, une chaîne par défaut est utilisée. Ce paramètre est facultatif. previewArea Paramètre facultatif qui est ignoré par Flash et Fireworks, et uniquement destiné à la compatibilité avec
Remarque : le titre de la boîte de dialogue est toujours « Rechercher un dossier ». Utilisez le paramètre description pour ajouter sous le titre des informations dans la zone de description, par exemple « Sélectionnez un dossier » ou « Sélectionnez le chemin contenant le profil à importer ». Exemple L’exemple suivant permet à l’utilisateur de sélectionner un dossier, puis affiche la liste des fichiers qu’il contient : var folderURI = fl.browseForFolderURL("Select a folder."); var folderContents = FLfile.listFolder(folderURI);
pas invité à enregistrer le document si celui-ci contient des modifications non enregistrées. Le fichier est simplement fermé et les changements ignorés. Si bPromptToSaveChanges prend la valeur true et si le document contient des modifications non enregistrées, l’utilisateur en est averti par la boîte de dialogue d’enregistrement standard avec les boutons Oui et Non. La valeur par défaut est true. Ce paramètre est facultatif. Valeur renvoyée Aucune. Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
Pour chaque fichier spécifié, l’exemple suivant affiche dans le panneau Sortie la valeur true si le fichier existe, false dans le cas contraire.
Il se peut que plusieurs documents du même nom soient ouverts (s’ils se trouvent dans des dossiers différents). Exemple L’exemple suivant affiche, dans le panneau Sortie, des informations sur la position d’index de tous les fichiers appelés test.fla : var filename = "test.fla" var docIndex = fl.findDocumentIndex(filename); for (var index in docIndex) fl.trace(filename + " is open at index " + docIndex[index]);
Vous pouvez également accéder aux méthodes et aux propriétés des valeurs layer et timeline ; il s’agit respectivement des équivalents de l’Objet Layer et de l’Objet Timeline. Description Méthode qui expose les éléments d’un document dont les noms d’occurrences correspondent à un texte particulier. Remarque : dans certains cas, cette méthode ne fonctionne que si elle est exécutée en tant que commande issue d’un fichier FLA, et non pendant l’affichage ou la modification du fichier JSFL. Exemple L’exemple suivant recherche les éléments nommés « instance01 » dans le document actuel.
Vous pouvez également accéder aux méthodes et aux propriétés des valeurs layer et timeline ; il s’agit respectivement des équivalents de l’Objet Layer et de l’Objet Timeline. Le deuxième et le troisième exemple de la section Exemples montrent comment accéder à ces propriétés. Description Méthode qui expose des éléments d’un type particulier dans un document. Remarque : dans certains cas, cette méthode ne fonctionne que si elle est exécutée en tant que commande issue d’un fichier FLA, et non pendant l’affichage ou la modification du fichier JSFL. Exemple L’exemple suivant recherche des champs de texte dans le document actif, puis modifie leur contenu :
Dernière mise à jour le 25/7/2012
Document.asVersion. maxASVersion Version ActionScript maximale prise en charge par le document. stageWidth La largeur par défaut de la scène, exprimée en pixels, pour la cible donnée. Par exemple, pour l'iPhone la taille par défaut est de 320 x 480 pixels. Pour Android, la taille par défaut est de 480 x 800. stageHeight La hauteur par défaut de la scène, exprimée en pixels, pour la cible donnée. Par exemple, pour l'iPhone
Exemple L’exemple suivant suit les propriétés de tous les objets du tableau installedPlayers sur la fenêtre de sortie : var arr = fl.installedPlayers; for (var i in arr) fl.trace("name: " + arr[i].name + " version: " + arr[i].version + " minASVersion: " + arr[i].minASVersion + " maxASVersion: " + arr[i].maxASVersion + " stageWidth: " + arr[i].stageWidth + " stageHeight: " + arr[i].stageHeight + " ");
Exemple Le code suivant affiche « true » dans le panneau Sortie si la police Times est installée. fl.trace(fl.isFontInstalled("Times"));
Chaîne qui est l’adresse URL convertie. Description Méthode qui convertit une adresse URL avec séquences d’échappement Unicode en une URL en UTF-8 ou MBCS. Il est conseillé d’appeler cette méthode si la chaîne doit être utilisée dans ActionScript pour accéder à une ressource externe. De plus, il est nécessaire de l’utiliser pour manipuler des caractères multi-octets. Exemple L’exemple suivant convertit une URL en UTF-8 pour permettre à Flash Player de la charger : var url = MMExecute( "fl.mapPlayerURL(" + myURL + ", false);" ); mc.loadMovie( url);
Dernière mise à jour le 25/7/2012
Méthode qui ouvre dans une nouvelle fenêtre de document un document Flash (FLA) à modifier et active cette fenêtre. Pour l’utilisateur, l’effet est identique au choix de l’option de menu Fichier > Ouvrir et à la sélection d’un fichier. Si le fichier spécifié est déjà ouvert, la fenêtre qui contient ce document passe au premier plan. La fenêtre qui contient le fichier spécifié devient le document actuellement sélectionné.
Le code suivant définit la taille maximale des entrées du cache de publication pouvant être stockées en mémoire sur 100 kilo-octets : fl.publishCacheMemoryEntrySizeLimit = 100
Dernière mise à jour le 25/7/2012
Valeur booléenne, true en cas de rétablissement réussi, false dans le cas contraire. Description Méthode qui restaure la dernière version enregistrée du document FLA spécifié. Contrairement à l’option de menu Fichier > Rétablir, cette méthode n’affiche pas de boîte de dialogue demandant à l’utilisateur de confirmer l’opération. Voir aussi document.revert() et document.canRevert(). Exemple L’exemple suivant rétablit la dernière version enregistrée du document FLA actuel ; les éventuelles modifications effectuées depuis le dernier enregistrement sont perdues. fl.revertDocument(fl.getDocumentDOM());
} for (i=0; i<2; i++) { fl.trace("in for loop i=" + i); } fl.trace("end of for loop"); L’exemple suivant enregistre tous les documents ouverts qui ont été précédemment enregistrés et modifiés depuis leur dernier enregistrement : fl.saveAll();
Si le fichier n’a jamais été enregistré, ou s’il n’a pas été modifié depuis son dernier enregistrement, il n’est pas enregistré et la valeur false est renvoyée. Pour permettre la sauvegarde d’un fichier qui n’a pas été enregistré, ni modifié, utilisez fl.saveDocumentAs(). Description Méthode qui enregistre le document spécifié sous forme de fichier FLA. Exemple L’exemple suivant enregistre le document actif et deux autres documents spécifiés : Méthode qui affiche la boîte de dialogue Enregistrer sous pour le document spécifié. Exemple L’exemple suivant invite l’utilisateur à enregistrer le document spécifié, puis affiche un message d’alerte qui indique si le document a été enregistré : alert(fl.saveDocumentAs(fl.documents[1]));
Fenêtre > Dupliquer la fenêtre), la fenêtre active la plus récente est sélectionnée. Exemple L’exemple suivant montre deux façons d’activer un document spécifié : fl.setActiveWindow(fl.documents[0]); var theIndex = fl.findDocumentIndex("myFile.fla"); fl.setActiveWindow(fl.documents[theIndex]);
Exemple L’exemple suivant active un point d’arrêt à la ligne 10 du fichier AS situé à l’emplacement C:\AS\breakpointTest.as : fl.toggleBreakPoint("file:///C|/AS/breakpointTest.as", 10, 1);
Pour envoyer une ligne vide, utilisez fl.trace("") ou fl.trace("\n"). Vous pouvez utiliser cette dernière commande en ligne si vous intégrez \n à la chaîne message. Exemple L’exemple suivant affiche plusieurs lignes de texte dans le panneau Sortie : fl.outputPanel.clear(); fl.trace("Hello World!!!"); var myPet = "cat"; fl.trace("\nI have a " + myPet); fl.trace(""); fl.trace("I love my " + myPet); fl.trace("Do you have a " + myPet +"?");
FLfile.createFolder("file:///C|/Program Files/MyApp/config"); Dernière mise à jour le 25/7/2012
Les caractères de cette chaîne représentent les attributs sous la forme suivante :
L’exemple suivant affiche dans le panneau Sortie, dans un format lisible par l’opérateur, la date à laquelle un fichier a été créé : // Make sure the specified file exists. var file1Date = FLfile.getCreationDateObj("file:///c|/temp/file1.txt"); fl.trace(file1Date); Dernière mise à jour le 25/7/2012
L’exemple suivant affiche dans le panneau Sortie, dans un format lisible par l’opérateur, la date de la dernière modification d’un fichier : // Make sure the specified file exists. var file1Date = FLfile.getModificationDateObj("file:///c|/temp/file1.txt"); trace(file1Date);
Exemple L’exemple suivant stocke la taille du fichier mydata.txt dans la variable fileSize : var URL = "file:///c|/temp/mydata.txt"; var fileSize = FLfile.getSize(URL);
Les valeurs suivantes sont possibles pour strAttrs :
Exemples L’exemple suivant met le fichier mydata.txt en lecture seule et caché. Il n’a aucun effet sur l’attribut d’archivage. var URI = "file:///c|/temp/mydata.txt"; if (FLfile.exists(URI)) { FLfile.setAttributes(URI, "RH"); } Méthode qui convertit un nom de fichier exprimé sous la forme fichier:/// URI en un format propre à la plate-forme. Exemple L’exemple suivant convertit le format file:/// URI en un format spécifique à la plate-forme : var dir =(fl.configDirectory); var URI = FLfile.platformPathToURI(dir); fl.trace(URI == fl.configURI); // displays "true"
Valeur booléenne, true si l’opération a réussi, ou false dans le cas contraire. Description Méthode qui écrit la chaîne spécifiée dans le fichier spécifié (au format UTF-8). Si le fichier désigné n’existe pas, il est créé automatiquement. Toutefois, le dossier dans lequel vous placez le fichier doit exister avant l’emploi de cette méthode. Pour créer des dossiers, utilisez FLfile.createFolder(). Exemple L’exemple suivant tente d’écrire la chaîne "xxx" dans le fichier mydata.txt, et affiche un message d’alerte si l’écriture a réussi. Il tente ensuite d’écrire la chaîne "aaa" dans le même fichier et affiche un second message d’alerte si l’écriture a réussi. Après l’exécution de ce script, le fichier mydata.txt ne contiendra que le texte "xxxaaa". var URI = "file:///c|/temp/mydata.txt"; if (FLfile.write(URI, "xxx")) { alert("Wrote xxx to " + URI); } if (FLfile.write(URI, "aaa", "append")) { alert("Appended aaa to " + fileURI); } En supposant que le premier élément de la bibliothèque est une police, le code suivant incorpore les caractères a, b et c. fl.getDocumentDOM().library.items[0].embeddedCharacters = "abc";
Remarque : les numéros de plage correspondent au fichier FontEmbedding/UnicodeTables.xml trouvé dans le dossier de configuration. Exemple En supposant que le premier élément de la bibliothèque est une police, le code suivant incorpore les plages identifiées par les entiers 1, 3 et 7. fl.getDocumentDOM().library.items[0].embedRanges = "1|3|7";
Certaines langues substituent dynamiquement les glyphes au fur et à mesure que vous tapez (par exemple, le thailandais, l’arabe, l’hébreu et le grec). Si vous préparez ou que vous entrez du texte dans ces types de langue, définissez cette propriété sur true.
En supposant que le premier élément de la bibliothèque soit un élément Font, le code suivant affiche le nom de la police de périphérique actuellement associée à cet élément, puis le définit sur Times : fl.outputPanel.clear(); var theItem = fl.getDocumentDOM().library.items[0]; fl.trace(theItem.font); theItem.font = "Times"; // depending on your system, the following may display something like "Times-Roman" fl.trace(theItem.font); Chaîne qui spécifie si un son joint directement à une image (frame.soundLibraryItem) doit être lu un certain nombre de fois ou en boucle infinie.
(frame.soundLibraryItem), tel qu’il est stocké dans la bibliothèque.
Dernière mise à jour le 25/7/2012
Si vous souhaitez spécifier une valeur pour frame.motionTweenOrientToPath, définissez cette propriété sur "none". Exemple Voir frame.motionTweenRotateTimes.
Dernière mise à jour le 25/7/2012
Si vous affectez la valeur "shape", l’objet à interpoler doit être une forme. L’interpolation sera effectuée entre la forme dans l’image-clé actuelle et la forme dans la prochaine image-clé. Exemple L’exemple suivant spécifie que l’objet est une interpolation de mouvement. L’interpolation doit donc être effectuée entre son emplacement dans l’image-clé actuelle et son emplacement dans l’image-clé suivante : fl.getDocumentDOM().getTimeline().layers[0].frames[0].tweenType = "motion";
Résumé des méthodes L’objet HalfEdge gère les méthodes suivantes : Méthode
Exemple L’exemple suivant enregistre dans la variable nextHalfEdge le demi-contour suivant du contour spécifié : var shape = fl.getDocumentDOM().selection[0]; var hEdge = shape.edges[0].getHalfEdge( 0 ); var nextHalfEdge = hEdge.getNext();
L’exemple suivant modifie le symbole sélectionné pour qu’il référence le premier élément de la bibliothèque : fl.getDocumentDOM().selection[0].libraryItem = fl.getDocumentDOM().library.items[0];
type. Par exemple, si type est "integer", la valeur des données doit être un entier, etc. Valeur renvoyée Aucune. Méthode qui récupère la valeur des données spécifiées.
Méthode qui détermine si l’élément de bibliothèque comporte les données indiquées. Exemple L’exemple suivant affiche un message dans le panneau Sortie si le premier élément de la bibliothèque contient des données nommées myData : if (fl.getDocumentDOM().library.items[0].hasData("myData")){ fl.trace("Yep, it's there!"); }
Lorsque vous définissez cette valeur, aucune des vérifications prévues par la boîte de dialogue Liaison n’est effectuée, et aucune erreur n’est renvoyée si Flash est dans l’incapacité de définir la valeur de la classe de base sur celle qui est spécifiée. Par exemple, le fait de définir cette valeur dans la boîte de dialogue Liaison oblige le processus de vérification à contrôler la présence de la classe de base dans le chemin d’accès de classe du fichier FLA. Il s’assure qu’ActionScript 3.0 est choisi dans l’onglet Flash de la boîte de dialogue Paramètres de publication, etc. Ces vérifications ne sont pas effectuées lorsque vous définissez cette propriété dans un script. Exemple Les lignes de code suivantes illustrent plusieurs façons d’utiliser cette propriété : // sets the library item base class to "Sprite" fl.getDocumentDOM().library.items[0].linkageBaseClass = "flash.display.Sprite"; // sets the library item base class to the default for that item type fl.getDocumentDOM().library.items[0].linkageBaseClass = ""; L’exemple suivant spécifie que le nom de classe ActionScript 2.0 associé au premier élément de la bibliothèque est myClass : fl.getDocumentDOM().library.items[0].linkageClassName = "myClass";
Dernière mise à jour le 25/7/2012
L’exemple suivant spécifie que la chaîne my_mc sera utilisée pour identifier l’élément de bibliothèque au moment de le lier au fichier SWF vers lequel il sera exporté :
Dernière mise à jour le 25/7/2012
Les méthodes suivantes sont disponibles avec l’objet library : Méthode
Valeur booléenne : true si l’élément est bien ajouté au document, false en cas d’échec. Description Méthode qui ajoute l’élément actif ou un élément spécifié à la scène, à l’emplacement spécifié. Exemple L’exemple suivant ajoute l’élément sélectionné ou un élément spécifié sur la scène, à la position (3,60). fl.getDocumentDOM().library.addItemToDocument({x:3, y:60});
Dernière mise à jour le 25/7/2012
Ce paramètre est facultatif. Valeur renvoyée Valeur booléenne : true si l’élément spécifié existe et peut être modifié, false dans le cas contraire. Description Méthode qui ouvre l’élément sélectionné ou un élément spécifié en mode de modification. Exemple L’exemple suivant ouvre pour modification l’élément circle, qui se trouve dans le dossier test de la bibliothèque : fl.getDocumentDOM().library.editItem("test/circle");
Méthode qui renvoie l’index (de base zéro) de l’élément dans la bibliothèque. L’index de la bibliothèque possède une seule dimension, si bien que les dossiers font partie de l’indexation. Il est possible d’utiliser les chemins d’accès des dossiers pour spécifier un élément imbriqué. Exemple L’exemple suivant enregistre dans la variable sqIndex la valeur d’index (de base zéro) de l’élément de bibliothèque "square" qui se trouve dans le dossier "test", puis affiche cette valeur dans une boîte de dialogue : var sqIndex = fl.getDocumentDOM().library.findItemIndex("test/square"); alert(sqIndex);
Disponibilité Méthode qui récupère la propriété de l’élément sélectionné.
Méthode qui récupère le type de l’objet sélectionné ou spécifié par son chemin d’accès à la bibliothèque. Exemple L’exemple suivant affiche dans une boîte de dialogue le type de l’élément Symbol_1, qui se trouve dans le dossier Folder_1/Folder_2 : alert(fl.getDocumentDOM().library.getItemType("Folder_1/Folder_2/Symbol_1"));
L’identificateur de liaison de ce clip doit être défini sur la même valeur que le paramètre linkageName transmis à cette méthode. Exemple L’exemple suivant ajoute à la bibliothèque le fichier SWF ayant la valeur MyMovie pour la propriété linkageName, sous forme d’un clip compilé nommé Intro : fl.getDocumentDOM().library.importEmbeddedSWF("MyMovie", swfData, "Intro");
Méthode qui vérifie l’existence de l’élément spécifié dans la bibliothèque. Exemple L’exemple suivant affiche true ou false dans une boîte de dialogue, selon que l’élément Symbol_1 existe ou non dans le dossier Folder_1 de la bibliothèque : alert(fl.getDocumentDOM().library.itemExists('Folder_1/Symbol_1'));
actuellement sélectionnés sont déplacés. Ce paramètre est facultatif. bReplace Valeur booléenne. S’il existe déjà un élément du même nom, le fait de spécifier true pour le paramètre bReplace remplace l’élément existant par l’élément déplacé. Si la valeur de ce paramètre est false, le nom de l’élément déplacé est modifié pour être unique. La valeur par défaut est false. Ce paramètre est facultatif.
Valeur booléenne : true si l’élément est bien déplacé, false en cas d’échec. Description Méthode qui déplace l’élément sélectionné ou un élément de bibliothèque spécifié dans un dossier spécifié. Si le paramètre folderPath est vide, les éléments sont déplacés vers le niveau supérieur. Exemple L’exemple suivant déplace l’élément Symbol_1 dans le dossier new en remplacement de l’élément qui porte déjà ce nom dans ce dossier : fl.getDocumentDOM().library.moveToFolder("new", "Symbol_1", true);
Valeur booléenne : true si le dossier est bien créé, false en cas d’échec. Description Méthode qui crée un nouveau dossier ayant le nom spécifié (ou le nom par défaut "untitled folder #") si le paramètre folderName n’est pas transmis) dans le dossier sélectionné. Exemple L’exemple suivant crée deux nouveaux dossiers de bibliothèque. Le deuxième est un sous-dossier du premier : fl.getDocumentDOM().library.newFolder("first/second");
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
L’exemple suivant enregistre dans la variable elt l’objet sélectionné, assigne cette matrice à la variable mat, puis enregistre son inverse dans la variable inv : var elt = fl.getDocumentDOM().selection[0]; var mat = elt.matrix; var inv = fl.Math.invertMatrix( mat );
UTF-8, avec des caractères d’ordre d’octet au début du texte. La valeur par défaut est false.
Aucune. Cette méthode s’avère pratique pour le traitement par lots. Vous pouvez par exemple créer un fichier JSFL regroupant plusieurs composants compilés. Comme toute éventuelle erreur de compilation sera affichée dans le panneau Sortie, vous pouvez utiliser cette méthode pour enregistrer les erreurs dans un fichier texte, qui sera automatiquement analysé par le système de compilation utilisé. Exemple L’exemple suivant enregistre le contenu du panneau Sortie dans le fichier batch.log, qui réside dans le dossier /tests, et écrase son contenu le cas échéant : fl.outputPanel.save("file:///c|/tests/batch.log");
Disponibilité Pour envoyer une ligne vide, utilisez outputPanel.trace("") ou outputPanel.trace("\n"). Vous pouvez utiliser cette dernière commande en ligne si vous intégrez \n à la chaîne message. Exemple L’exemple suivant affiche plusieurs lignes de texte dans le panneau Sortie : fl.outputPanel.clear(); fl.outputPanel.trace("Hello World!!!"); var myPet = "cat"; fl.outputPanel.trace("\nI have a " + myPet); fl.outputPanel.trace(""); fl.outputPanel.trace("I love my " + myPet); fl.outputPanel.trace("Do you have a " + myPet +"?");
Chaîne spécifiant la valeur de l’élément à insérer. Chaîne spécifiant le type de l’élément à insérer.
Aucune. Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
La valeur par défaut est false. Ce paramètre est facultatif.
Aucune. Description Résumé des propriétés L’objet presetItem gère les propriétés suivantes : Propriété
Méthode qui, si une seule interpolation de mouvement est actuellement sélectionnée sur la scène, ajoute ce mouvement dans le panneau Présélections de mouvement, dans le dossier spécifié avec le nom spécifié. Le chemin spécifié dans namePath doit exister dans le panneau. S’il existe une présélection correspondant à namePath, cette méthode n’a aucun effet et renvoie false. Si vous ne transmettez pas de valeur pour namePath, l’élément est ajouté au dossier Présélections personnalisées avec le nom « Présélection personnalisée n », où n est incrémenté à chaque ajout d’un élément de cette manière. Exemple En supposant qu’une seule interpolation de mouvement soit sélectionnée sur la scène, le code suivant ajoute une présélection nommée Bouncing Ball dans le dossier Présélections personnalisées : fl.presetPanel.addNewItem("Custom Presets/Bouncing Ball");
Dernière mise à jour le 25/7/2012
L’élément doit être une interpolation de mouvement, un symbole ou un élément pouvant être converti en symbole. Si l’élément est une interpolation de mouvement, son mouvement actuel est remplacé par la présélection sélectionnée sans demander la confirmation de l’utilisateur. Cette méthode échoue dans les cas suivants :
• Vous ne transmettez pas de valeur pour presetPath et aucune présélection n’est sélectionnée. • Vous ne transmettez pas de valeur pour presetPath et plusieurs présélections sont sélectionnées. • L’élément sélectionné sur la scène n’est pas un symbole et ne peut pas être converti en symbole. Exemple L’exemple suivant applique la présélection aDribble à l’élément actuellement sélectionné sur la scène : var result = fl.presetPanel.applyPreset("Custom Presets/Bounces/aDribble"); fl.trace(result);
Valeur booléenne, true si le ou les dossiers ont bien été supprimés, false dans le cas contraire. Description Méthode qui supprime le dossier spécifié et tous ses sous-dossiers de l’arborescence de dossiers du panneau Présélections de mouvement. Toutes les présélections situées dans ces dossiers sont également supprimées. Les dossiers situés dans le dossier Présélections par défaut ne peuvent pas être supprimés. Si vous ne transmettez pas de valeur pour folderPath, tous les dossiers actuellement sélectionnés sont supprimés. Remarque : les dossiers sont supprimés sans demander la confirmation de l’utilisateur et l’action ne peut pas être annulée.
Valeur booléenne, true si le ou les éléments ont bien été supprimés, false dans le cas contraire. Description Méthode qui supprime la présélection spécifiée du panneau Présélections de mouvement. Si vous ne transmettez pas de valeur pour namePath, toutes les présélections actuellement sélectionnées sont supprimées. Les éléments du dossier Présélections par défaut ne peuvent pas être supprimés. Remarque : les éléments sont supprimés sans demander la confirmation de l’utilisateur et l’action ne peut pas être annulée. Exemple Le code suivant supprime une présélection nommée aDribble du dossier Présélections personnalisées : fl.presetPanel.deleteItem("Custom Presets/aDribble");
Valeur booléenne, true si la présélection a bien été exportée, false dans le cas contraire.
Si vous ne spécifiez pas de nom de fichier dans fileURI (c’est-à-dire, si le dernier caractère de fileURI est une barre oblique (/)), le fichier exporté est enregistré sous le nom de la présélection exportée. Si vous ne spécifiez pas de valeur pour namePath, la présélection actuellement sélectionnée est exportée. Voir l’exemple ci-dessous. Exemple L’exemple suivant montre quels fichiers sont créés lorsque des paramètres différents sont transmis à cette méthode, et indique si le fichier spécifié a bien été créé. Avant d’exécuter cet exemple, sélectionnez la présélection fly-in-left (entrée rapide-gauche) dans le dossier Présélections par défaut et créez le dossier My Presets (Mes présélections) sur le disque. //Exports fly-in-left to C:\My Presets\fly-in-left.xml fl.presetPanel.exportItem("file:///C|/My Presets/"); //Exports fly-in-left to C:\My Presets\myFavoritePreset.xml fl.presetPanel.exportItem("file:///C|/My Presets/myFavoritePreset.xml"); • Vous n’avez pas transmis de valeur pour presetName et plusieurs présélections sont sélectionnées. • La valeur que vous avez transmis pour presetName ne correspond pas à aucun élément du panneau.
Le chemin spécifié dans namePath doit exister dans le panneau. Pour créer des fichiers XML pouvant être importés, utilisez presetPanel.exportItem(). Si vous ne transmettez pas de valeur pour namePath, la présélection importée est placée dans le dossier Présélections personnalisées et nommée comme le fichier importé (sans l’extension XML). Exemple L’exemple suivant importe une présélection dans le dossier Custom Presets/Pulse (Présélections personnalisées/Pulsation), et la nomme fastPulse. fl.presetPanel.importItem("file:///C|/My Presets/thePulsePreset.xml", "Custom Presets/Pulse/fastPulse");
Exemple Dans l’exemple suivant, les éléments actuellement sélectionnés sont déplacés vers le dossier Custom Presets/Bouncing (Présélections personnalisées/Rebond). La présélection Fast Bounce (Rebond rapide) est ensuite déplacée vers le même dossier : fl.presetPanel.moveToFolder("Custom Presets/Bouncing"); fl.presetPanel.moveToFolder("Custom Presets/Bouncing" , "Custom Presets/Fast Bounce");
Description Méthode qui crée un dossier dans l’arborescence de dossiers du panneau Présélections de mouvement. Cette méthode ne permet de créer qu’un seul nouveau niveau de dossiers. C’est-à-dire que si vous transmettez « Présélections personnalisées/Mon premier dossier/Mon second dossier » pour folderPath, « Présélections personnalisées/Mon premier dossier » doit exister dans l’arborescence. Si vous ne transmettez pas de valeur pour folderPath, un dossier nommé « Dossier sans nom n » est créé au premier niveau sous « Présélections personnalisées », où n est incrémenté à chaque ajout d’un dossier de cette manière. Remarque : vous ne pouvez pas ajouter de dossiers dans le dossier Présélections par défaut. Exemple L’exemple suivant ajoute un dossier nommé Bouncing (Rebond) au-dessous du dossier Custom Presets (Présélections personnalisées) : fl.presetPanel.newFolder("Custom Presets/Bouncing");
Pour définir cette valeur, utilisez document.setRectangleObjectProperty().
Pour définir cette valeur, utilisez document.setRectangleObjectProperty(). Voir aussi document.setRectangleObjectProperty(), RectangleObject.bottomLeftRadius, RectangleObject.lockFlag, RectangleObject.topLeftRadius, RectangleObject.topRightRadius
Voir aussi document.setRectangleObjectProperty(), RectangleObject.bottomLeftRadius, RectangleObject.bottomRightRadius, RectangleObject.topLeftRadius, RectangleObject.topRightRadius RectangleObject.lockFlag est false). Pour définir cette valeur, utilisez document.setRectangleObjectProperty(). Voir aussi document.setRectangleObjectProperty(), RectangleObject.bottomLeftRadius, RectangleObject.bottomRightRadius, RectangleObject.lockFlag, RectangleObject.topRightRadius
Voir aussi document.setRectangleObjectProperty(), RectangleObject.bottomLeftRadius, RectangleObject.bottomRightRadius, RectangleObject.lockFlag, RectangleObject.topLeftRadius
Résumé des méthodes Outre celles de l’objet Element, l’objet Shape gère les méthodes suivantes : Méthode
L’exemple suivant affiche les valeurs x et y de chaque point de la courbe cubique du premier contour de la sélection : var var var for
Le code suivant affiche le nombre de segments cubiques de chaque objet de dessin du groupe actuellement sélectionné : var shapesArray = fl.getDocumentDOM().selection[0].members; for (i=0; i<shapesArray.length; i++) { fl.trace(shapesArray[i].numCubicSegments); }
Exemple L’exemple suivant affiche la valeur de la propriété bitRate dans le panneau Sortie si l’élément spécifié possède le type de compression MP3 : alert(fl.getDocumentDOM().library.items[0].bitRate);
L’exemple suivant affiche le nombre de bits de transfert dans le panneau Sortie si l’élément actuellement sélectionné dans la bibliothèque possède le type de compression ADPCM : alert(fl.getDocumentDOM().library.items[0].bits);
également essayer de l’exporter au format WAV ; si la fonction renvoie la valeur false, essayez alors de l’exporter au format MP3.) Exemple En supposant que le premier élément de la bibliothèque soit un élément audio, le code suivant l’exporte sous forme de fichier WAV :
Dernière mise à jour le 25/7/2012
L’exemple suivant définit sur Best la qualité de lecture d’un élément de la bibliothèque si cet élément possède le type de compression MP3 : fl.getDocumentDOM().library.items[0].quality = "Best";
Dernière mise à jour le 25/7/2012
Flash CS3, la propriété breakAtCorners a été déconseillée en faveur destroke.joinType.) D’autres propriétés peuvent être définies, selon la valeur de la propriété stroke.style. Résumé des propriétés Les propriétés suivantes sont disponibles pour l’objet Stroke : Propriété
Dernière mise à jour le 25/7/2012
• Si cette propriété a la valeur dotted, la propriété supplémentaire dotSpace est présente.
SWF est disponible ; voir « Exemple du panneau de tracé de bitmap » à la page 15. Le tableau des panneaux Window SWF enregistrés est stocké dans la propriété fl.swfPanels. Résumé des méthodes L’objet swfPanel gère la méthode suivante : Méthode
Exemple L’exemple suivant décrit l’utilisation de code ActionScript et JavaScript pour la création d’un panneau Window SWF et la communication avec ce dernier depuis l’environnement de programmation. 1 Créez un fichier FLA ActionScript 3.0 et définissez sa couleur sur gris clair et sa taille sur 400 pixels de large et 250
2 Placez un champ de texte dynamique au centre de la scène, définissez son nom d’occurrence sur myTextField et
3 Définissez les autres propriétés de champs de texte de la façon suivante :
• 355 pixels de large et 46 pixels de haut • Police Times New Roman, 28 points, rouge 1 Détachez le panneau Projet de façon à ce qu’il soit un panneau flottant. 2 Ouvrez la boîte de dialogue Créer un fichier à partir du panneau Projet et cliquez sur la scène. 3 Appuyez plusieurs fois sur la touche Tabulation pour vous assurer que le panneau Projet ne possède pas le focus. 4 Exécutez le script suivant à partir du menu Commandes (placez un fichier JSFL contenant le code ci-dessous dans
Dernière mise à jour le 25/7/2012
L’exemple suivant donne au premier symbole de la première image du premier calque du scénario la valeur Traiter comme élément de menu, dans la mesure où ce symbole est un bouton : fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0].buttonTracking = "menu";
« symbolInstance.bitmapRenderMode » à la page 442 à la place de cette propriété. Exemple L’exemple suivant active la mise en cache des bitmaps à l’exécution pour le premier élément de la première image du premier calque : fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0].cacheAsBitmap = true;
L’exemple suivant soustrait la valeur 100 du paramètre alpha de l’occurrence de symbole sélectionnée : fl.getDocumentDOM().selection[0].colorAlphaAmount = -100;
Cette propriété est uniquement disponible pour les objets MovieClip. Exemple L’exemple suivant vérifie que les enfants de l’objet sont accessibles ; si la valeur renvoyée est false, les enfants de l’objet sont accessibles : var areChildrenAccessible = fl.getDocumentDOM().selection[0].forceSimple;
L’exemple suivant définit le premier symbole de la première image du premier calque du scénario sur single frame (affichage d’une seule image spécifiée dans le scénario graphique), dans la mesure où ce symbole est un graphique : fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0].loop = 'single frame';
Disponibilité L’exemple suivant enregistre dans la variable theShortcut la valeur de la touche de raccourci de l’objet dans le panneau Accessibilité : var theShortcut = fl.getDocumentDOM().selection[0].shortcut;
L’exemple suivant vérifie que l’objet est accessible ; si la valeur renvoyée est false, l’objet est accessible : var isSilent = fl.getDocumentDOM().selection[0].silent;
L’exemple suivant donne le comportement de symbole graphique au premier symbole de la première image du premier calque du scénario du document actif : fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0].symbolType = "graphic";
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
L’exemple suivant affiche la valeur de la propriété sourceFilePath dans le panneau Sortie : fl.trace(fl.getDocumentDOM().library.items[0].sourceFilePath);
Pour définir les propriétés génériques du champ de texte sélectionné, utilisez document.setElementProperty(). L’exemple suivant définit sur 50 la valeur x du point d’alignement du champ de texte sélectionné : fl.getDocumentDOM().setElementProperty("x", 50);
Outre celles de l’objet Element, l’objet Text possède les méthodes suivantes : Méthode
Elle est disponible uniquement avec les champs de texte dynamiques ou de saisie, et déclenche un avertissement avec un autre type de champ de texte. Remarque : à partir de Flash Professional CS5, l’incorporation de polices est gérée au niveau du document en non plus au niveau de l’objet de texte. Utilisez la propriété « fontItem.embeddedCharacters » à la page 289 plutôt que la propriété text.embeddedCharacters. Exemple L’exemple suivant suppose que le premier ou l’unique élément dans la sélection actuelle est un objet de texte classique et définit la propriété embeddedCharacters sur abc : fl.getDocumentDOM().selection[0].embeddedCharacters = "abc";
L’exemple suivant suppose que le premier ou l’unique élément dans la sélection actuelle est un objet de texte classique et définit la propriété embedRanges sur "1|3|7" : var doc = fl.getDocumentDOM(); doc.selection[0].embedRanges = "1|3|7";
Remarque : à partir de Flash Professional CS5, l’incorporation de polices est gérée au niveau du document en non plus au niveau de l’objet de texte. Utilisez la propriété « fontItem.embedVariantGlyphs » à la page 290 plutôt que la propriété text.embedVariantGlyphs. Dans Flash Professional CS5, la propriété text.embedVariantGlyphs n’a plus aucun effet, car Flash incorpore toujours les variantes de glyphes pour le texte TLF et ne les incorpore jamais pour le texte classique. Exemple L’exemple suivant active les variantes de glyphes pour qu’elles soient intégrées dans l’objet Text sélectionné : fl.getDocumentDOM().selection[0].embedVariantGlyphs = true;
Valeur de la propriété
Dernière mise à jour le 25/7/2012
Chaîne de texte de la plage spécifiée. Description Méthode qui récupère la plage de texte spécifiée. Si vous omettez les paramètres facultatifs startIndex et endIndex, la méthode renvoie tout le texte. Si seul le paramètre startIndex est transmis, la méthode renvoie la chaîne qui commence à cet index et se termine à la fin du champ. Si vous spécifiez à la fois startIndex et endIndex, la méthode renvoie la chaîne comprise entre startIndex et le caractère précédant endIndex. Exemple L’exemple suivant récupère le texte compris entre le cinquième caractère et la fin de la sélection : var myText = fl.getDocumentDOM().selection[0].getTextString(4); fl.trace(myText);
L’exemple suivant donne à la propriété renderAsHTML la valeur true : fl.getDocumentDOM().selection[0].renderAsHTML = true;
L’exemple suivant donne à la propriété scrollable la valeur false : fl.getDocumentDOM().selection[0].scrollable = false;
L’exemple suivant donne à la propriété selectable la valeur true : fl.getDocumentDOM().selection[0].selectable = true;
L’exemple suivant définit le début de la sous-sélection de texte sur le sixième caractère : fl.getDocumentDOM().selection[0].selectionStart = 5;
Barbara, puis met ces caractères en vert gras : fl.getDocumentDOM().selection[0].selectionStart = 11; fl.getDocumentDOM().selection[0].selectionEnd = 18; var s = fl.getDocumentDOM().selection[0].selectionStart; var e = fl.getDocumentDOM().selection[0].selectionEnd; fl.getDocumentDOM().setElementTextAttr('bold', true, s, e); fl.getDocumentDOM().setElementTextAttr("fillColor", "#00ff00", s, e);
L’exemple suivant définit le nom de la variable du champ de texte sélectionné sur firstName : fl.getDocumentDOM().selection[0].variableName = "firstName";
Dernière mise à jour le 25/7/2012
Outre celles de l’objet Text, l’objet TextRun fournit les propriétés suivantes : Propriété
Si vous travaillez sur les images en utilisant les méthodes et les propriétés de l’objet Timeline, n’oubliez pas que l’index des images est de base zéro et n’est donc pas égal au numéro de l’image dans la séquence d’images du scénario. Autrement dit, l’image n°1 possède l’index 0. Résumé des méthodes Les méthodes suivantes sont disponibles pour l’objet Timeline : Méthode
Les paramètres suivants sont disponibles avec l’objet Timeline : Propriété
(n’oubliez pas que les valeurs d’index diffèrent des valeurs de numéro d’image) : fl.getDocumentDOM().getTimeline().convertToBlankKeyframes(1, 9);
Exemple L’exemple suivant copie le mouvement à partir de l’image ou des images sélectionnées : fl.getDocumentDOM().getTimeline().copyMotion();
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
(n’oubliez pas que les valeurs d’index diffèrent des valeurs de numéro d’image): fl.getDocumentDOM().getTimeline().cutFrames(1, 9);
Dernière mise à jour le 25/7/2012
Méthode qui recherche le nom du calque spécifié dans un tableau d’index. Le tableau des calques possède une seule dimension, si bien que les dossiers font partie de l’index principal. Exemple L’exemple suivant affiche dans le panneau Sortie la valeur d’index de tous les calques nommés Layer 7 : var layerIndex = fl.getDocumentDOM().getTimeline().findLayerIndex("Layer 7"); fl.trace(layerIndex);
Dernière mise à jour le 25/7/2012
L’exemple suivant récupère le nom de la première image du calque supérieur du document actif, et affiche ce nom dans le panneau Sortie : fl.getDocumentDOM().getTimeline().currentLayer = 0; fl.getDocumentDOM().getTimeline().setSelectedFrames(0, 0, true); var frameName = fl.getDocumentDOM().getTimeline().getFrameProperty("name"); fl.trace(frameName);
Méthode qui récupère la valeur de la propriété spécifiée pour les calques sélectionnés. Exemple L’exemple suivant récupère le nom du calque supérieur du document actif, et l’affiche dans le panneau Sortie : fl.getDocumentDOM().getTimeline().currentLayer = 0; var layerName = fl.getDocumentDOM().getTimeline().getLayerProperty("name"); fl.trace(layerName);
Si le calque supérieur est le calque actif, l’exemple suivant affiche 0,5,10,0,20,25 dans le panneau Sortie : var timeline = fl.getDocumentDOM().getTimeline(); timeline.setSelectedFrames(5,10); timeline.setSelectedFrames(20,25,false); var theSelectedFrames = timeline.getSelectedFrames(); fl.trace(theSelectedFrames);
L’exemple suivant insère une image-clé vide au niveau de l’image sélectionnée (ou au niveau de la tête de lecture si aucune image n’est sélectionnée) : fl.getDocumentDOM().getTimeline().insertBlankKeyframe();
images au niveau de la sélection actuelle dans le calque actif. Ce paramètre est facultatif. bAllLayers Valeur booléenne. Si elle est true (valeur par défaut), la méthode insère dans tous les calques le nombre
• Si aucune image n’est sélectionnée, la méthode en insère une dans tous les calques, au niveau de l’image active. Si des paramètres sont spécifiés, cette méthode fonctionne comme suit :
(frameIndex) ; la valeur de bAllLayers détermine si les images sont ajoutées au calque actif seulement ou à tous les calques. Si l’image spécifiée ou l’image sélectionnée est une image normale, l’image est insérée au niveau de celle-ci. Par exemple, pour une plage de 10 images numérotées de 1 à 10, si vous sélectionnez l’image 5 (ou si vous transmettez la valeur 4 pour le paramètre frameIndex), cette méthode ajoute une image à l’image 5, et la longueur de la plage devient 11 images. Si l’image 5 est sélectionnée et s’il s’agit d’une image-clé, cette méthode insère une image au niveau de l’image 6, que l’image suivante soit également une image-clé ou non. Exemple L’exemple suivant insère une ou plusieurs images (selon l’étendue de la sélection) au niveau de la sélection actuelle dans le calque actif : fl.getDocumentDOM().getTimeline().insertFrames();
L’exemple suivant insère une image-clé au niveau de la tête de lecture ou de l’image sélectionnée : fl.getDocumentDOM().getTimeline().insertKeyframe();
Cette plage s’étend jusqu’à endFrameIndex non compris. Si seul le paramètre startFrameIndex est transmis, la valeur de endFrameIndex prend par défaut la valeur de startFrameIndex. Ce paramètre est facultatif.
L’exemple suivant colle les images dans le Presse-papiers à partir de l’image 2 et jusqu’à l’image 10 non comprise (n’oubliez pas que les valeurs d’index diffèrent des valeurs de numéro d’image) : fl.getDocumentDOM().getTimeline().pasteFrames(1, 9);
Dernière mise à jour le 25/7/2012
de l’Objet Frame. startFrameIndex Index de base zéro qui spécifie le numéro de l’image de début à modifier. Si le paramètre
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
Remarque : ces méthodes ne sont utilisées que lors de la création d’outils extensibles. Méthode
Résumé des méthodes Les méthodes suivantes sont disponibles avec l’objet Tools : Méthode
Dernière mise à jour le 25/7/2012
Dernière mise à jour le 25/7/2012
Vous pouvez utiliser les méthodes suivantes avec l’objet Vertex : Méthode
Il est possible de créer un fichier dialog.xml et de l’appeler à partir de l’API JavaScript avec la méthode document.xmlPanel(). Pour récupérer un objet représentant la boîte de dialogue XMLUI en cours, utilisez fl.xmlui. Résumé des méthodes Les méthodes suivantes sont disponibles avec l’objet XMLUI : Méthode
L’exemple suivant renvoie la valeur de la propriété nommée URL : fl.xmlui.get("URL");
Dernière mise à jour le 25/7/2012
Pour implémenter l’extensibilité, les fonctions sont définies en C, puis regroupées dans une DLL ou une bibliothèque partagée qui est ensuite enregistrée dans le répertoire approprié. Ces fonctions peuvent alors être appelées en JavaScript à l’aide de l’API JavaScript d’Adobe Flash. Par exemple, il est possible de définir en C une fonction effectuant des calculs complexes beaucoup plus rapidement qu’en JavaScript, ou de créer des outils ou des effets très sophistiqués. Ce mécanisme d’extensibilité est un sous-ensemble de l’API d’Adobe Dreamweaver CS3. Si vous connaissez déjà cette API, les fonctions de l’API du mécanisme d’extensibilité de niveau C ne vous sembleront pas vraiment étrangères. Toutefois, cette API diffère de l’API de Dreamweaver sur certains points :
• Toutes les déclarations qui sont de type wchar_t et char dans l’API de Dreamweaver sont implémentées comme déclarations unsigned short dans celle-ci, afin d’assurer la prise en charge d’Unicode pour le transfert de chaînes.
« Intégration de fonctions en C » à la page 557).
1 Définir des fonctions en langage C ou C++. 2 Regrouper ces fonctions dans une DLL (Windows) ou une bibliothèque partagée (Macintosh). 3 Enregistrer le fichier de la DLL ou de la bibliothèque à l’emplacement approprié :
CS5.5\langue\Configuration\External Libraries
• Lors de l’appel de la fonction en C, pour transmettre les arguments passés de JavaScript en C • Avant le retour de la fonction C, pour transmettre la valeur renvoyée Pour accomplir ces tâches, l’interpréteur définit plusieurs types de données et expose une API. Les définitions des types de données et des fonctions présentées dans cette section apparaissent dans le fichier mm_jsapi.h. Pour permettre à votre bibliothèque de fonctionner correctement, vous devez indiquer en "include" le fichier mm_jsapi.h au début de chaque fichier de votre bibliothèque, à l’aide de la ligne suivante : #include "mm_jsapi.h"
MM_Environment. Pour obtenir le fichier mm_jsapi.h, vous pouvez l’extraire du fichier d’exemple ZIP ou SIT (voir « Exemple d’implémentation d’une DLL » à la page 561) ou copier le code ci-dessous dans un fichier nommé mm_jsapi.h : #ifndef _MM_JSAPI_H_ #define _MM_JSAPI_H_ • Enregistrez le fichier Sample.jsfl dans le répertoire Configuration/Commands (voir « Enregistrement des fichiers JSFL » à la page 2).
La suite de cette section présente le développement de l’exemple. Dans ce cas précis, la DLL ne contient qu’une fonction, qui additionne deux chiffres. Le code C est présenté dans l’exemple suivant : // Source code in C // Save the DLL or shared library with the name "Sample". #include <windows.h> Un pointeur sur ce type de données opaque est transmis à la fonction de niveau C. Certaines fonctions de l’API acceptent ce pointeur parmi leurs arguments.
• Le pointeur argv pointe sur un tableau de structures jsval. La longueur du tableau correspond au nombre d’éléments défini par argc.
La fonction renvoie la valeur JS_TRUE si elle s’exécute correctement, et JS_FALSE dans le cas contraire. Si la fonction renvoie JS_FALSE, l’exécution du script est interrompue et un message d’erreur s’affiche.
Utilisation En règle générale, cette fonction est appelée depuis la fonction MM_Init(), que Flash appelle au démarrage. Arguments unsigned short *name, JSNativecall, unsigned int nargs
• L’argument call est un pointeur vers une fonction de niveau C. La fonction doit renvoyer une valeur JSBool qui indique son succès ou son échec.
Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec. Un pointeur vers une chaîne terminée par un octet nul en cas de succès, ou la valeur null en cas d’échec. La routine appelante ne doit pas libérer cette chaîne à la fin de son exécution.
Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
• L’argument sz est la taille de la chaîne, en octets. Si la valeur de sz est 0, la longueur de la chaîne terminée par un octet de valeur nulle est calculée automatiquement.
Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
• L’argument vp est un pointeur vers la structure jsval dans laquelle le contenu du double doit être copié. Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
• L’argument vp est la valeur JavaScript. Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
Structure JSVal qui contient l’entier transmis en tant qu’argument à la fonction.
• L’argument v est un pointeur facultatif vers les structures jsval à stocker dans le tableau. Si la valeur renvoyée n’est pas null, v est un tableau qui contient des éléments length. Si la valeur renvoyée est null, le contenu initial de l’objet tableau est non défini (undefined). Il peut être défini à l’aide de la fonction JS_SetElement(). Valeur renvoyée Un pointeur vers un nouvel objet tableau, ou la valeur null en cas d’échec.
• L’argument idx est un index d’entiers dans le tableau. Le premier élément est l’index 0 et le dernier, l’index (length 1). • L’argument vp est un pointeur vers une structure jsval dans laquelle le contenu de la structure jsval du tableau doit être copié. Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
• L’argument idx est un index d’entiers dans le tableau. Le premier élément est l’index 0 et le dernier, l’index (length 1). • L’argument vp est un pointeur vers une structure jsval dont le contenu doit être copié dans la structure jsval du tableau. Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.
• L’argument script est une chaîne qui contient du code JavaScript. Si la taille de la chaîne n’est pas spécifiée (voir l’argument sz), la chaîne doit se terminer par un octet de valeur nulle.
Valeur renvoyée Valeur booléenne : JS_TRUE indique le succès de l’opération ; JS_FALSE indique son échec.