Objets de l'API JavaScript



Cette section résume les objets disponibles dans l'API JavaScript de Flash et décrit leur utilisation. Toutes les commandes JavaScript habituelles sont également disponibles avec l'API JavaScript.

Le tableau suivant décrit brièvement chacun des objets de l'API JavaScript. Les objets apparaissent par ordre alphabétique.

Objet

Description

Objet actionsPanel

L'objet actionsPanel représente le panneau Actions actuellement affiché.

Objet BitmapInstance

L'objet BitmapInstance est une sous-classe de l’objet Instance et représente un bitmap dans une image.

Objet BitmapItem

L'objet BitmapItem fait référence à une image bitmap dans la bibliothèque d’un document. L’objet BitmapItem est une sous-classe de l’objet Item.

Objet CompiledClipInstance

L’objet CompiledClipInstance est une sous-classe de l’objet Instance.

Objet compilerErrors

L’objet compilerErrors représente le panneau Erreurs de compilation. Il s'agit d'une propriété de l’objet flash (fl.compilerErrors).

Objet ComponentInstance

L’objet ComponentInstance est une sous-classe de l’objet SymbolInstance et représente un composant dans une image.

Objet componentsPanel

L’objet componentsPanel, qui représente le panneau Composants, est une propriété de l’objet flash (fl.componentsPanel).

Objet Contour

L'objet Contour représente un tracé fermé en tirets marquant les limites d’une forme.

Objet Document

L’objet Document représente la scène.

Objet drawingLayer

L’objet drawingLayer est accessible en JavaScript sous forme d’un enfant de l’objet flash.

Objet Edge

L’objet Edge représente les limites d’une forme sur la scène.

Objet Element

Tout ce qui apparaît sur la scène est du type Element.

Objet Fill

L’objet Fill contient toutes les propriétés du paramètre de couleur de remplissage du panneau Outils ou de la forme sélectionnée.

Objet Filter

L'objet Filter contient toutes les propriétés de tous les filtres.

Objet flash (fl)

L’objet flash représente l’application Flash.

Objet FLfile

L’objet FLfile permet de créer des extensions Flash capables d’accéder aux dossiers et fichiers locaux, de les modifier et de les supprimer.

Objet folderItem

L’objet folderItem est une sous-classe de l’objet Item.

Objet fontItem

L’objet fontItem est une sous-classe de l’objet Item.

Objet Frame

L’objet Frame représente les images du calque.

Objet halfEdge

Côté dirigé du bord d’un objet Shape.

Objet Instance

L’objet Instance est une sous-classe de l’objet Element.

Objet Item

L’objet Item est une classe de base abstraite.

Objet Layer

L’objet Layer représente un calque dans le scénario.

Objet library

L’objet library représente le panneau Bibliothèque.

Objet Math

L'objet Math est disponible sous forme de propriété en lecture seule de l'objet flash (fl.Math).

Objet Matrix

L’objet Matrix représente une matrice de transformation.

Objet outputPanel

L’objet outputPanel représente le panneau Sortie, qui affiche des informations facilitant le débogage, par exemple les erreurs de syntaxe. Il s'agit d'une propriété de l’objet flash (fl.outputPanel).

Objet Oval

L'objet Oval est une forme tracée à l'aide de l'outil Ovale. Pour savoir si un élément est un objet Oval, utilisez shape.isOvalObject.

Objet Parameter

Le type d’objet Parameter figure dans le tableau screen.parameters (qui correspond à la fenêtre de l’inspecteur Propriétés dans l’environnement de programmation Flash) ou dans le tableau componentInstance.parameters (qui correspond au composant inspecteur Propriétés dans l’environnement de programmation).

Objet Path

L’objet Path définit une séquence de segments de ligne (droite, courbe ou les deux), qui est particulièrement destinée à la création d’outils extensibles.

Objet presetItem

L'objet presetItem représente un élément (présélection ou dossier) du panneau Présélections de mouvement.

Objet presetPanel

L'objet presetPanel représente le panneau Présélections de mouvement (Fenêtre > Présélections de mouvement). Il s'agit d'une propriété de l'objet flash (fl.presetPanel).

Objet Rectangle

L'objet Rectangle est une forme tracée à l'aide de l'outil Rectangle. Pour savoir si un élément est un objet Rectangle, utilisez shape.isRectangleObject.

Objet Screen

L’objet Screen représente un seul écran dans une diapositive ou un formulaire.

Objet ScreenOutline

L’objet ScreenOutline représente le groupe d’écrans d’une diapositive ou d’un formulaire.

Objet Shape

L’objet Shape est une sous-classe de l’objet Element. L’objet Shape autorise un contrôle plus précis que les API de dessin pour la manipulation ou la création de formes géométriques sur la scène.

Objet SoundItem

L’objet SoundItem est une sous-classe de l’objet Item. Il représente un élément de bibliothèque qui est utilisé pour créer un son.

Objet Stroke

L’objet Stroke contient tous les paramètres d’un trait, y compris les paramètres personnalisés.

Objet swfPanel

L’objet swfPanel représente un panneau Windows SWF. Les panneaux Windows SWF sont des fichiers SWF qui implémentent des applications exécutables dans l’environnement de programmation Flash. Le tableau d'objets swfPanel est une propriété de l'objet flash (fl.swfPanels).

Objet SymbolInstance

L’objet SymbolInstance est une sous-classe de l’objet Instance et représente un symbole dans une image.

Objet SymbolItem

L’objet SymbolItem est une sous-classe de l’objet Item.

Objet Text

L’objet Text représente un élément de texte unique dans un document.

Objet TextAttrs

L’objet TextAttrs contient toutes les propriétés de texte pouvant être appliquées à une sous-sélection. Cet objet est une sous-classe de l’objet Texte.

Objet TextRun

L’objet TextRun représente un flux de caractères dont les attributs correspondent à toutes les propriétés de l’objet TextAttrs.

Objet Timeline

L’objet Timeline représente le scénario Flash, qui est accessible, pour le document actuel, à l’aide de fl.getDocumentDOM().getTimeline().

Objet ToolObj

L'objet toolObj représente un outil individuel dans le panneau Outils.

Objet Tools

L’objet Tools est accessible à partir de l’objet flash (fl.tools).

Objet Vertex

L’objet Vertex est la partie de la structure des données d’une forme qui contient les coordonnées.

Objet VideoItem

L’objet VideoItem est une sous-classe de l’objet Item.

Objet XMLUI

L’objet XMLUI permet de lire et définir les propriétés d’une boîte de dialogue XMLUI, et d’en accepter ou d'en annuler une.

Modèle d'objet document (DOM) de Flash

Le DOM de l'API JavaScript de Flash se compose d’un ensemble de fonctions de haut niveau (voir Fonctions et méthodes de haut niveau) et de deux objets de haut niveau : FLfile et flash (fl). La disponibilité de chaque objet dans les scripts est assurée, puisqu'il existe dès l'ouverture de l'environnement de programmation de Flash. Pour plus d'informations, consultez 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();

L’objet flash contient les objets enfant suivants :

Objet

Accès

Objet actionsPanel

Utilisez fl.actionsPanel pour accéder à l'objet actionsPanel. Cet objet correspond au panneau Actions de l’environnement de programmation Flash.

Objet compilerErrors

Utilisez fl.compilerErrors pour accéder à l'objet compilerErrors. Cet objet correspond au panneau Erreurs de compilation dans l'environnement de programmation Flash.

Objet componentsPanel

Utilisez fl.componentsPanel pour accéder à l'objet componentsPanel. Cet objet correspond au panneau Composants de l'environnement de programmation Flash.

Objet Document

Utilisez fl.documents pour récupérer dans un tableau la liste de tous les documents ouverts ; utilisez fl.documents[index] pour accéder à un document particulier ; et utilisez fl.getDocumentDOM() pour accéder au document actif (celui qui a le focus).

Objet drawingLayer

Utilisez fl.drawingLayer pour accéder à l'objet drawingLayer.

Objet Math

Utilisez fl.Math pour accéder à l'objet Math.

Objet outputPanel

Utilisez fl.outputPanel pour accéder à l'objet outputPanel. Cet objet correspond au panneau Sortie de l’environnement de programmation Flash.

Objet presetPanel

Utilisez fl.presetPanel pour accéder à l'objet presetPanel. Cet objet correspond au panneau Présélections de mouvement (Fenêtre > Présélections de mouvement).

Objet swfPanel

Utilisez fl.swfPanels pour accéder à un tableau d'objets swfPanel. Ces objets correspondent aux panneaux Window SWF.

Objet Tools

Utilisez fl.tools pour accéder à un tableau d'objets Tools.

Objet XMLUI

Utilisez fl.xmlui pour accéder à un objet de l’interface utilisateur XML (XMLUI). L'objet XMLUI permet de lire et définir les propriétés d'une boîte de dialogue de XMLUI.

Objet Document

La propriété fl.documents est l’une des plus importantes de l’objet de haut niveau flash. Cette propriété contient un tableau d'objets Document, représentant chacun l'un des fichiers FLA actuellement ouverts dans l'environnement de programmation. Les propriétés de chaque objet Document représentent la plupart des éléments que peut contenir un fichier FLA. Une grande partie du DOM est donc composée d'objets et de propriétés enfant de l'objet Document. Pour plus d'informations, consultez 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().

Pour accéder au document qui a le focus, utilisez l'instruction flash.getDocumentDOM() ou fl.getDocumentDOM(). 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.

Vous pouvez accéder à tous les objets du DOM qui ne figurent pas dans la liste ci-dessus (voir Modèle d'objet document (DOM) de Flash) à l’aide de l’objet Document. Par exemple, pour accéder à la bibliothèque d’un document, utilisez la propriété document.library, qui renvoie un objet library :

fl.getDocumentDOM().library

Pour accéder au tableau des éléments présents dans la bibliothèque, utilisez la propriété library.items ; chaque élément de ce tableau est un objet Item :

fl.getDocumentDOM().library.items

Pour accéder à un élément spécifique de la bibliothèque, indiquez un membre du tableau library.items :

fl.getDocumentDOM().library.items[0]

Autrement dit, l’objet Item est un enfant de l’objet library, qui est lui-même un enfant de l’objet Document. Pour plus d'informations, consultez les sections document.library, Objet library, library.itemslibrary.items et Objet Item.

Désignation de la cible d’une action

Sauf indication contraire, les méthodes affectent la sélection ou l'élément qui a le focus. Par exemple, le script ci-dessous double la taille de la sélection actuelle, car aucun objet précis n'est spécifié :

fl.getDocumentDOM().scaleSelection(2, 2); 

Il peut être nécessaire de définir comme cible d’une action l’élément actuellement sélectionné dans le document Flash. Pour ce faire, utilisez le tableau renvoyé par la propriété document.selection (voir document.selection). Le premier élément de ce tableau représente l'élément actuellement sélectionné, comme le montre l'exemple ci-dessous :

var accDescription = fl.getDocumentDOM().selection[0].description; 

Le script ci-dessous double la taille du premier élément de la scène contenu dans le tableau d’éléments, et non pas l’élément sélectionné :

var element = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0]; 
if (element) { 
    element.width = element.width*2; 
    element.height = element.height*2; 
} 

Il est également possible de parcourir en boucle la liste de tous les éléments de la scène pour augmenter leur largeur et leur hauteur d’un pourcentage spécifique, comme dans l’exemple suivant :

var elementArray = 
    fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements; 
    for (var i=0; i < elementArray.length; i++) { 
        var offset = 10; 
        elementArray[i].width += offset; 
        elementArray[i].height += offset; 
    }

Résumé de la structure du DOM

La liste suivante présente la structure arborescente du DOM. Les chiffres qui apparaissent au début de chaque ligne représentent le niveau de chaque objet. Par exemple, un objet précédé de « 03 » est un enfant de l'objet de niveau « 02 » qui le précède immédiatement, et celui-ci est lui-même un enfant de l'objet de niveau « 01 » qui le précède.

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 :

01 Top-Level Functions and Methods 
01 FLfile object 
01 flash object (fl) 
  02 compilerErrors object 
  02 componentsPanel object 
  02 Document object (fl.documents array) 
    03 Filter object 
    03 Matrix object 
    03 Fill object 
    03 Stroke object 
    03 library object 
      04 Item object (library.items array) 
      04 BitmapItem object(subclass of Item object) 
      04 folderItem object (subclass of Item object) 
      04 fontItem object (subclass of Item object) 
      04 SoundItem object (subclass of Item object) 
      04 SymbolItem object (subclass of Item object) 
      04 VideoItem object (subclass of Item object) 
    03 Timeline object (document.timelines array) 
      04 Layer object (timeline.layers array) 
        05 Frame object (layer.frames array) 
          06 Element object (frame.elements array) 
            07 Matrix object (element.matrix) 
          06 Instance object (abstract class, subclass of Element object) 
          06 BitmapInstance object (subclass of Instance object) 
          06 CompiledClipInstance object (subclass of Instance object) 
          06 ComponentInstance object (subclass of SymbolInstance object) 
            07 Parameter object (componentInstance.parameters array) 
          06 SymbolInstance object (subclass of Instance object) 
          06 Text object (subclass of Element object) 
            07 TextRun object (text.textRuns array) 
              08 TextAttrs object (textRun.textAttrs array) 
          06 Shape object (subclass of Element object) 
            07 Oval object 
            07 Rectangle object 
            07 Contour object (shape.contours array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
            07 Edge object (shape.edges array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
            07 Vertex object(shape.vertices array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
    03 ScreenOutline object 
      04 Screen object (screenOutline.screens array) 
        05 Parameter object (screen.parameters array) 
  02 drawingLayer object 
    03 Path object 
      04 Contour object 
  02 Math object 
  02 outputPanel object 
  02 presetPanel object 
    03 presetItem object(presetPanel.items array) 
  02 swfPanel object 
  02 Tools object (fl.tools array) 
    03 ToolObj object (tools.toolObjs array) 
  02 XMLUI object