Packageflash.display
Classepublic class DisplayObjectContainer
HéritageDisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Sous-classes Loader, Sprite, Stage

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe DisplayObjectContainer est la classe de base de tous les objets susceptibles de servir de conteneurs d’objet d'affichage dans la liste d’affichage. Celle-ci gère tous les objets affichés dans Flash Player. La classe DisplayObjectContainer permet d’organiser les objets d’affichage dans la liste d’affichage. Chaque objet DisplayObjectContainer possède sa propre liste d’enfants, qui organise l’ordre Z des objets. L’ordre z correspond à l’ordre d’empilement du premier plan vers l’arrière-plan qui détermine l’objet dessiné au premier plan, l’objet dessiné derrière lui, etc.

DisplayObject est une classe de base abstraite. De ce fait, il est impossible de l’appeler directement. Appeler new DisplayObject() renvoie une exception ArgumentError.

La classe DisplayObjectContainer est une classe de base abstraite destinée à tous les objets pouvant contenir des objets enfants. Il est impossible de l'instancier directement. Appeler le constructeur new DisplayObjectContainer() renvoie une exception ArgumentError.

Pour plus d’informations, consultez le chapitre « Programmation de l’affichage » du manuel Programmation d’ActionScript 3.0.

Consulter les exemples

Voir aussi

flash.display.DisplayObject
Classes d'affichage de base
Utilisation des conteneurs d'objets d'affichage


Propriétés publiques
 PropriétéDéfini par
 InheritedaccessibilityProperties : AccessibilityProperties
Options d’accessibilité actuelles de l’objet d’affichage.
DisplayObject
 Inheritedalpha : Number
Indique la valeur de transparence alpha de l'objet spécifié.
DisplayObject
 InheritedblendMode : String
Valeur de la classe BlendMode qui spécifie le mode de fondu à utiliser.
DisplayObject
 InheritedcacheAsBitmap : Boolean
Si true est défini, Flash Player place en mémoire cache une version bitmap interne de l’objet d'affichage.
DisplayObject
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
 InheritedcontextMenu : ContextMenu
Spécifie le menu contextuel associé à l’objet.
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
Spécifie si l’objet reçoit les événements doubleClick.
InteractiveObject
 Inheritedfilters : Array
Tableau indexé contenant tous les objets filtre actuellement associés à l’objet d’affichage.
DisplayObject
 InheritedfocusRect : Object
Spécifie si l’objet affiche un rectangle de focus.
InteractiveObject
 Inheritedheight : Number
Indique la hauteur de l'objet d’affichage, en pixels.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[lecture-seule] Renvoie un objet LoaderInfo qui contient des informations relatives au chargement du fichier auquel appartient cet objet d’affichage.
DisplayObject
 Inheritedmask : DisplayObject
L’objet d’affichage appelant est masqué par l’objet mask spécifié.
DisplayObject
  mouseChildren : Boolean
Détermine si les enfants de l’objet prennent ou non en charge la souris.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Spécifie si l’objet reçoit les messages souris.
InteractiveObject
 InheritedmouseX : Number
[lecture-seule] Indique la coordonnée x de la position de la souris, en pixels.
DisplayObject
 InheritedmouseY : Number
[lecture-seule] Indique la coordonnée y de la position de la souris, en pixels.
DisplayObject
 Inheritedname : String
Indique le nom d’occurrence de DisplayObject.
DisplayObject
  numChildren : int
[lecture-seule] Renvoie le nombre d'enfants de l’objet.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Indique si l’objet d’affichage est opaque avec une couleur d'arrière-plan spécifique.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[lecture-seule] Indique l’objet DisplayObjectContainer qui contient l’objet d’affichage.
DisplayObject
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
 Inheritedroot : DisplayObject
[lecture-seule] Pour un objet d’affichage résidant dans un fichier SWF chargé, la propriété root correspond à l’objet d’affichage de premier niveau dans la partie de la structure arborescente de la liste d’affichage représentée par ce fichier.
DisplayObject
 Inheritedrotation : Number
Indique la rotation de l'occurrence de DisplayObject, en degrés, à partir de son orientation d'origine.
DisplayObject
 Inheritedscale9Grid : Rectangle
Grille de mise à l’échelle en vigueur.
DisplayObject
 InheritedscaleX : Number
Indique le redimensionnement horizontal (percentage) de l'objet tel qu'il est appliqué à partir du point d'alignement.
DisplayObject
 InheritedscaleY : Number
Indique le redimensionnement vertical (pourcentage) de l’objet tel qu’il est appliqué à partir du point d’alignement.
DisplayObject
 InheritedscrollRect : Rectangle
Cadre de délimitation du défilement de l’objet d’affichage.
DisplayObject
 Inheritedstage : Stage
[lecture-seule] Scène de l’objet d’affichage.
DisplayObject
  tabChildren : Boolean
Détermine si les enfants de l’objet prennent ou non en charge la tabulation.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Indique si cet objet est spécifié dans l’ordre de tabulation.
InteractiveObject
 InheritedtabIndex : int
Spécifie l'ordre de tabulation des objets dans un fichier SWF.
InteractiveObject
  textSnapshot : TextSnapshot
[lecture-seule] Renvoie un objet TextSnapshot pour l’occurrence de DisplayObjectContainer.
DisplayObjectContainer
 Inheritedtransform : Transform
Objet dont les propriétés se rapportent à la matrice, à la transformation des couleurs et aux limites des pixels d’un objet d’affichage.
DisplayObject
 Inheritedvisible : Boolean
Indique si l’objet d’affichage est visible ou non.
DisplayObject
 Inheritedwidth : Number
Indique la largeur de l'objet d’affichage, en pixels.
DisplayObject
 Inheritedx : Number
Indique la coordonnée x de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent.
DisplayObject
 Inheritedy : Number
Indique la coordonnée y de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent.
DisplayObject
Méthodes publiques
 MéthodeDéfini par
  
L'appel du constructeur DisplayObjectContainer() renvoie une exception ArgumentError.
DisplayObjectContainer
  
Ajoute une occurrence enfant de DisplayObject à cette occurrence de DisplayObjectContainer.
DisplayObjectContainer
  
Ajoute une occurrence enfant de DisplayObject à cette occurrence de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
Indique si les restrictions de sécurité entraîneraient l’omission des objets d’affichage de la liste renvoyée en appelant la méthode DisplayObjectContainer.getObjectsUnderPoint() avec le point « point » spécifié.
DisplayObjectContainer
  
Détermine si l’objet d'affichage spécifié est un enfant de l’occurrence de DisplayObjectContainer ou l’occurrence en tant que telle.
DisplayObjectContainer
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Renvoie un rectangle qui définit la zone de l’objet d’affichage relativement au système de coordonnées de l’objet targetCoordinateSpace.
DisplayObject
  
Renvoie l’occurrence enfant de l’objet d’affichage associée à l’index spécifié.
DisplayObjectContainer
  
Renvoie l’objet d’affichage enfant portant le nom spécifié.
DisplayObjectContainer
  
Renvoie la position d’index d’une occurrence enfant de DisplayObject.
DisplayObjectContainer
  
Renvoie un tableau d’objets de niveau inférieur au point spécifié et qui sont les enfants (ou les petits-enfants, etc.) de l’occurrence de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Renvoie un rectangle qui définit les limites de l’objet d’affichage, en se basant sur le système de coordonnées défini par le paramètre targetCoordinateSpace, moins tout trait appliqué aux formes.
DisplayObject
 Inherited
Convertit l'objet point des coordonnées de scène (globales) vers les coordonnées de l’objet d’affichage (locales).
DisplayObject
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Evalue l’objet d’affichage pour savoir s'il recouvre ou recoupe l’objet d'affichage obj.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Evalue l’objet d’affichage pour savoir s'il recouvre ou recoupe le point spécifié par les paramètres x et y.
DisplayObject
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Convertit l'objet point des coordonnées de l’objet d’affichage (locales) vers les coordonnées de la scène (globales).
DisplayObject
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Supprime l’occurrence enfant de DisplayObject spécifiée de la liste d’enfants de l’occurrence de DisplayObjectContainer.
DisplayObjectContainer
  
Supprime une occurrence enfant de DisplayObject de la position d’index spécifiée dans la liste d’enfants de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
  
Modifie la position d’un enfant existant dans le conteneur d’objet d'affichage.
DisplayObjectContainer
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Intervertit l'ordre z (ordre d’empilement du premier plan vers l’arrière-plan) des deux objets enfants spécifiés.
DisplayObjectContainer
  
swapChildrenAt(index1:int, index2:int):void
Intervertit l'ordre z (ordre d’empilement du premier plan vers l’arrière-plan) des objets enfants aux deux positions d’index spécifiées dans la liste d’enfants.
DisplayObjectContainer
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif.EventDispatcher
 Inherited Distribué lorsqu’un objet d’affichage est ajouté à la liste d’affichage.DisplayObject
 Inherited Envoyé lorsqu'un objet d'affichage est ajouté dans la liste d'affichage de la scène, directement ou par l'intermédiaire d'une arborescence secondaire qui contient l'objet d'affichage.DisplayObject
 Inherited Distribué lorsque l’utilisateur appuie sur le bouton principal de son périphérique de pointage et le relâche sur la même occurrence de InteractiveObject.InteractiveObject
 Inherited Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif.EventDispatcher
 Inherited Distribué lorsque l'utilisateur appuie sur le bouton principal d'un périphérique de pointage et le relâche deux fois de suite sur la même occurrence d'InteractiveObject si l'indicateur doubleClickEnabled de cet objet est réglé sur true.InteractiveObject
 Inherited Distribué lorsque la tête de lecture est placée sur une nouvelle image.DisplayObject
 Inherited Distribué après la prise de focus par un objet d'affichage.InteractiveObject
 Inherited Distribué après la perte de focus par un objet d'affichage.InteractiveObject
 Inherited Distribué lorsque l’utilisateur appuie sur une touche.InteractiveObject
 Inherited Distribué lorsque l’utilisateur tente de déplacer le focus à l’aide du clavier.InteractiveObject
 Inherited Distribué lorsque l’utilisateur relâche une touche.InteractiveObject
 Inherited Distribué lorsque l’utilisateur appuie à l’aide du bouton du périphérique de pointage sur une occurrence de InteractiveObject dans la fenêtre Flash Player.InteractiveObject
 Inherited Distribué lorsque l’utilisateur tente de déplacer le focus à l’aide d’un périphérique de pointage.InteractiveObject
 Inherited Distribué lorsque l’utilisateur déplace le périphérique de pointage placé sur une occurrence de InteractiveObject.InteractiveObject
 Inherited Distribué lorsque l’utilisateur éloigne un périphérique de pointage d’une occurrence de InteractiveObject.InteractiveObject
 Inherited Distribué lorsque l’utilisateur déplace un périphérique de pointage sur une occurrence de InteractiveObject dans la fenêtre Flash Player.InteractiveObject
 Inherited Distribué lorsque l’utilisateur relâche le bouton du périphérique de pointage sur une occurrence de InteractiveObject dans la fenêtre Flash Player.InteractiveObject
 Inherited Distribué lorsque l’utilisateur fait tourner la molette de la souris sur une occurrence de InteractiveObject dans la fenêtre Flash Player.InteractiveObject
 Inherited Distribué lorsqu’un objet d’affichage est sur le point d’être supprimé de la liste d’affichage.DisplayObject
 Inherited Envoyé lorsqu'un objet d'affichage est sur le point d'être supprimé de la liste d'affichage de la scène, directement ou par l'intermédiaire de la suppression d'une arborescence secondaire qui contient l'objet d'affichage.DisplayObject
 Inherited Distribué lorsque la liste d’affichage est sur le point d’être mise à jour et rendue.DisplayObject
 Inherited Distribué lorsque l’utilisateur éloigne un périphérique de pointage d’une occurrence de InteractiveObject.InteractiveObject
 Inherited Distribué lorsque l’utilisateur place un périphérique de pointage sur une occurrence de InteractiveObject.InteractiveObject
 Inherited Distribué lorsque la valeur de l’indicateur tabChildren de l’objet change.InteractiveObject
 Inherited Distribué lorsque l’indicateur tabEnabled de l’objet change.InteractiveObject
 Inherited Distribué lorsque la valeur de la propriété tabIndex de l’objet change.InteractiveObject
Détails des propriétés
mouseChildrenpropriété
mouseChildren:Boolean  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Détermine si les enfants de l’objet prennent ou non en charge la souris. Si tel est le cas, un utilisateur peut le manipuler à l’aide de la souris. La valeur par défaut est true.

Cette propriété s’avère utile lorsque vous créez un bouton avec une occurrence de la classe Sprite (au lieu d’utiliser la classe SimpleButton). Si vous utilisez une occurrence de Sprite pour créer un bouton, vous pouvez le décorer à l’aide de la méthode addChild() pour ajouter d'autres occurrences de Sprite. Ce processus risque d’associer un comportement imprévu aux événements de souris, car les occurrences de Sprite ajoutées en tant qu’enfants peuvent devenir l’objet cible d’un événement de souris alors que vous vous attendiez à ce que ce dernier corresponde à l’occurrence parent. Pour vous assurer que l’occurrence parent serve d’objet cible pour les événements de souris, vous pouvez régler la propriété mouseChildren de l’occurrence parent sur false.

Définir cette propriété ne distribue aucun événement. La méthode addEventListener() vous permet de créer une fonctionnalité interactive.


Implémentation
    public function get mouseChildren():Boolean
    public function set mouseChildren(value:Boolean):void

Voir aussi


Exemple

L'exemple suivant définit un objet Sprite (un type de conteneur d'objet d'affichage) appelé container et indique que lorsque vous définissez sa propriété mouseChildren sur false, la cible de l'événementmouseClick devient l'objet container et non pas l'un de ses objets enfant :
import flash.display.Sprite;
import flash.events.MouseEvent;

var container:Sprite = new Sprite();
container.name = "container";
addChild(container);

var circle:Sprite = new Sprite();
circle.name = "circle";
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(40, 40, 40);

container.addChild(circle);

container.mouseChildren = false;

container.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    trace(event.target.name); // container
}
numChildrenpropriété 
numChildren:int  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie le nombre d'enfants de l’objet.


Implémentation
    public function get numChildren():int

Voir aussi


Exemple

L'exemple suivant définit deux objets Sprite appelés container1 et container2. Un Sprite est un type de conteneur d'objet d'affichage. L'exemple appelle la méthode addChild() pour configurer la hiérarchie d'affichage : container1 est un enfant de container2, tandis que deux autres objets d'affichage, circle1 et circle2 sont des enfants de container1. Les appels à la méthode trace() affichent le nombre d'enfants de chaque objet. Tenez compte du fait que les petits-enfants ne sont pas inclus dans le décompte de numChildren :
import flash.display.Sprite;

var container1:Sprite = new Sprite();
var container2:Sprite = new Sprite();

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x00CCFF);
circle2.graphics.drawCircle(80, 40, 40);

container2.addChild(container1);
container1.addChild(circle1);
container1.addChild(circle2);

trace(container1.numChildren); // 2
trace(container2.numChildren); // 1
trace(circle1.numChildren); // 0
trace(circle2.numChildren); // 0
tabChildrenpropriété 
tabChildren:Boolean  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Détermine si les enfants de l’objet prennent ou non en charge la tabulation. Active ou désactive la sélection des enfants de l'objet avec la touche de tabulation. La valeur par défaut est true.


Implémentation
    public function get tabChildren():Boolean
    public function set tabChildren(value:Boolean):void

Lance
IllegalOperationError — Le fait d'appeler cette propriété à partir de l’objet Stage renvoie une exception, car il ne met pas en œuvre cette propriété.

Exemple

L'exemple suivant crée un conteneur d'objet d'affichage, container1, et ajoute deux objets d'affichage circle1 et circle2 à sa liste d'affichage. Cet exemple définit tabChildren sur false pour les enfants de façon à pouvoir gérer son propre ordre de tabulation à l'aide de la propriété tabIndex :
import flash.display.Sprite;

var container:Sprite = new Sprite();
container.tabChildren = false;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.tabIndex = 1;

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x00CCFF);
circle2.graphics.drawCircle(120, 40, 40);
circle2.tabIndex = 0;

container.addChild(circle1);
container.addChild(circle2);
Pour afficher les résultats de cet exemple, compilez et exécutez le fichier. Lorsque vous cliquez sur l'un de ces cercles, vous pouvez appuyer sur la touche de tabulation pour déplacer le focus vers un autre objet d'affichage (indiqué par un rectangle jaune de sélection).
textSnapshotpropriété 
textSnapshot:TextSnapshot  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie un objet TextSnapshot pour l’occurrence de DisplayObjectContainer.


Implémentation
    public function get textSnapshot():TextSnapshot

Voir aussi


Exemple

L'exemple suivant fonctionne uniquement dans l'environnement de programmation Flash. Flex ne permet pas d'ajouter du texte statique à un fichier. Pour préparer le fichier Flash dans cet exemple, ajoutez un ou plusieurs champs texte statiques dans la première image d'un clip. Ensuite, insérez le script suivant dans la première image et exécutez le fichier. Ceci renvoie le texte statique que vous avez ajouté :
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
Détails du constructeur
DisplayObjectContainer()Constructeur
public function DisplayObjectContainer()

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

L'appel du constructeur new DisplayObjectContainer() renvoie une exception ArgumentError. Vous pouvez cependant appeler des constructeurs pour les sous-classes suivantes de DisplayObjectContainer :

Détails des méthodes
addChild()méthode
public function addChild(child:DisplayObject):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Ajoute une occurrence enfant de DisplayObject à cette occurrence de DisplayObjectContainer. L’enfant est ajouté devant (par-dessus) tous les autres enfants dans cette occurrence de DisplayObjectContainer. (Pour ajouter un enfant à une position d’index spécifique, utilisez la méthode addChildAt().)

Si vous ajoutez un objet enfant qui possède déjà un autre conteneur d’objet d'affichage en tant que parent, il est supprimé de la liste des enfants du premier conteneur d'objet d'affichage.

Paramètres

child:DisplayObject — Occurrence de DisplayObject à ajouter en tant qu’enfant de cette occurrence de DisplayObjectContainer.

Valeur renvoyée
DisplayObject — Occurrence de DisplayObject que vous transmettez au paramètre child.

Evénements
added:Event — Distribué lorsqu’un objet d’affichage est ajouté à la liste d’affichage.

Lance
ArgumentError — Renvoie une exception si l’enfant et le parent sont identiques. Renvoie également une exception si l'appelant est un enfant (ou petit-enfant, etc.) de l'enfant qui est en cours d'ajout.

Voir aussi


Exemple

L'exemple suivant définit deux objets Sprite appelés container1 et container2. Un Sprite est un type de conteneur d'objet d'affichage. L'exemple appelle la méthode addChild() pour configurer la hiérarchie d'affichage : container1 est un enfant de container2, tandis que deux autres objets d'affichage, circle1 et circle2 sont des enfants de container1. Les appels à la méthode trace() affichent le nombre d'enfants de chaque objet. Tenez compte du fait que les petits-enfants ne sont pas inclus dans le décompte de numChildren :
import flash.display.Sprite;

var container1:Sprite = new Sprite();
var container2:Sprite = new Sprite();

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x00CCFF);
circle2.graphics.drawCircle(80, 40, 40);

container2.addChild(container1);
container1.addChild(circle1);
container1.addChild(circle2);

trace(container1.numChildren); // 2
trace(container2.numChildren); // 1
trace(circle1.numChildren); // 0
trace(circle2.numChildren); // 0
addChildAt()méthode 
public function addChildAt(child:DisplayObject, index:int):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Ajoute une occurrence enfant de DisplayObject à cette occurrence de DisplayObjectContainer. L’enfant est placé à la position d’index spécifiée. La position d’index 0 représente la fin (le bas) de la liste d'affichage pour cet objet DisplayObjectContainer.

Ainsi, l’exemple suivant illustre trois objets d'affichage appelés a, b et c, qui occupent respectivement les positions d’index 0, 2 et 1 :

Si vous ajoutez un objet enfant qui possède déjà un autre conteneur d’objet d'affichage en tant que parent, il est supprimé de la liste des enfants du premier conteneur d'objet d'affichage.

Paramètres

child:DisplayObject — Occurrence de DisplayObject à ajouter en tant qu’enfant de cette occurrence de DisplayObjectContainer.
 
index:int — Position d’index à laquelle est ajouté l’enfant. Si vous spécifiez une position d’index actuellement occupée, l’objet enfant associé à cette position et toutes les positions de niveau supérieur sont décalés d’une position vers le haut dans la liste d’enfants.

Valeur renvoyée
DisplayObject — Occurrence de DisplayObject que vous transmettez au paramètre child.

Evénements
added:Event — Distribué lorsqu’un objet d’affichage est ajouté à la liste d’affichage.

Lance
RangeError — Renvoie une exception si la position d’index n’existe pas dans la liste d’enfants.
 
ArgumentError — Renvoie une exception si l’enfant et le parent sont identiques. Renvoie également une exception si l'appelant est un enfant (ou petit-enfant, etc.) de l'enfant qui est en cours d'ajout.

Voir aussi


Exemple

L'exemple suivant crée un conteneur d'objet d'affichage, container, et ajoute un objet d'affichage circle1 à sa liste d'affichage. Ensuite, en appelant container.addChildAt(circle2, 0), il ajoute l'objet circle2 à la position d'index zéro (arrière) et déplace l'objet circle1 vers la position d'index 1 :
import flash.display.Sprite;

var container:Sprite = new Sprite();

var circle1:Sprite = new Sprite();
var circle2:Sprite = new Sprite();

container.addChild(circle1);
container.addChildAt(circle2, 0);

trace(container.getChildAt(0) == circle2); // true
trace(container.getChildAt(1) == circle1); // true
areInaccessibleObjectsUnderPoint()méthode 
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Indique si les restrictions de sécurité entraîneraient l’omission des objets d’affichage de la liste renvoyée en appelant la méthode DisplayObjectContainer.getObjectsUnderPoint() avec le point point spécifié. Par défaut, le contenu d’un domaine ne peut pas accéder aux objets d'un autre domaine, à moins d'y être autorisé par un appel de la méthode Security.allowDomain().

Pour plus d'informations, consultez les références suivantes :

Le paramètre point est exprimé dans l’espace de coordonnées de la scène, qui risque d’être différent de l’espace de coordonnées du conteneur d’objet d'affichage (à moins que ce dernier ne corresponde à la scène). Vous pouvez utiliser les méthodes globalToLocal() et localToGlobal() pour passer d’un espace de coordonnées à l’autre.

Paramètres

point:Point — Le point sous lequel sont extraits les objets.

Valeur renvoyée
Booleantrue si le point contient des objets d’affichage enfant associés à des restrictions de sécurité.

Voir aussi


Exemple

Le code suivant crée un conteneur d'objet d'affichage appelé container. Le bloc de code suivant a recours à un objet Loader pour charger un fichier JPEG appelé « test.jpg » à partir d'un serveur de fichiers distant. Tenez compte du fait que la propriété checkPolicyFile de l'objet LoaderContext utilisé en tant que paramètre dans la méthode load() est défini sur false. Une fois le fichier chargé, le code appelle la méthode loaded(), qui en retour appelle container.areInaccessibleObjectsUnderPoint(), qui renvoie la valeur true car le contenu chargé est considéré comme provenant d'un domaine inaccessible :
import flash.display.Sprite;
import flash.display.Loader;
import flash.system.LoaderContext;
import flash.net.URLRequest;
import flash.events.Event;
import flash.geom.Point;

var container:Sprite = new Sprite();

var urlReq:URLRequest = new URLRequest("http://localhost/RemoteFile.swf");
var ldr:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = false;
ldr.load(urlReq, context);

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound);

function loaded(event:Event):void {
    var pt:Point = new Point(1, 1);
    trace(container.areInaccessibleObjectsUnderPoint(pt)); // true
}

function urlNotFound(event:Event):void {
    trace("The URL was not found."); 
}
Cet exemple suppose que le fichier SWF produit par ce code est chargé à partir d'un domaine différent de celui du fichier JPEG, et que le fichier JPEG chargé occupe le point (1, 1).
contains()méthode 
public function contains(child:DisplayObject):Boolean

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Détermine si l’objet d'affichage spécifié est un enfant de l’occurrence de DisplayObjectContainer ou l’occurrence en tant que telle. La recherche comprend la liste d’affichage entière, y compris cette occurrence de DisplayObjectContainer. Les petits-enfants, les arrière-petits-enfants, et ainsi de suite renvoient chacun la valeur true.

Paramètres

child:DisplayObject — L’objet enfant à tester.

Valeur renvoyée
Boolean — Renvoie true si l’objet child est un enfant de l’occurrence de DisplayObjectContainer ou le conteneur en tant que tel, false dans tous les autres cas.

Exemple

L'exemple suivant définit plusieurs objets Sprite et en ajoute une partie à la liste d'enfants des autres. (Un objet Sprite est un type de conteneur d'objet d'affichage.) La relation entre les différents objets s'affiche en appelant la méthode contains() :
import flash.display.Sprite;

var sprite1:Sprite = new Sprite();
var sprite2:Sprite = new Sprite();
var sprite3:Sprite = new Sprite();
var sprite4:Sprite = new Sprite();

sprite1.addChild(sprite2);
sprite2.addChild(sprite3);

trace(sprite1.contains(sprite1)); // true
trace(sprite1.contains(sprite2)); // true
trace(sprite1.contains(sprite3)); // true
trace(sprite1.contains(sprite4)); // false
getChildAt()méthode 
public function getChildAt(index:int):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie l’occurrence enfant de l’objet d’affichage associée à l’index spécifié.

Paramètres

index:int — Position d'index de l’objet enfant.

Valeur renvoyée
DisplayObject — L’objet d'affichage enfant qui occupe la position d’index spécifiée.

Lance
RangeError — Renvoie une exception si l’index n’existe pas dans la liste d’enfants.
 
SecurityError — Cet objet d'affichage enfant appartient à un sandbox auquel vous n’avez pas accès. Pour éviter ce cas de figure, faites en sorte que l'animation enfant appelle la méthode Security.allowDomain().

Voir aussi


Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute trois objets d'affichage enfant à la liste d'enfants de l'objet container. Les appels à la méthode getChildAt() révèlent ensuite les positions des objets enfant :
import flash.display.Sprite;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
var sprite2:Sprite = new Sprite();
var sprite3:Sprite = new Sprite();

container.addChild(sprite1);
container.addChild(sprite2);
container.addChildAt(sprite3, 0);

trace(container.getChildAt(0) == sprite3); // true
trace(container.getChildAt(1) == sprite1); // true
trace(container.getChildAt(2) == sprite2); // true
getChildByName()méthode 
public function getChildByName(name:String):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie l’objet d’affichage enfant portant le nom spécifié. Si plusieurs objets d’affichage enfant portent le nom spécifié, la méthode renvoie le premier objet de la liste d’enfants.

La méthode getChildAt() est plus rapide que la méthode getChildByName(). La méthode getChildAt() accède à un enfant à partir d’un tableau en mémoire cache, tandis que la méthode getChildByName() doit parcourir une liste liée pour accéder à l’enfant.

Paramètres

name:String — Nom de l’enfant à renvoyer.

Valeur renvoyée
DisplayObject — Objet d'affichage enfant portant le nom spécifié.

Lance
SecurityError — Cet objet d'affichage enfant appartient à un sandbox auquel vous n’avez pas accès. Pour éviter ce cas de figure, faites en sorte que l'animation enfant appelle la méthode Security.allowDomain().

Voir aussi


Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute deux objets d'affichage enfant au conteneur. Ensuite, le code appelle les méthodes getChildByName() et getChildIndex() pour renvoyer la position d'index de l'enfant de l'objet container avec le paramètre name "sprite1".
import flash.display.Sprite;
import flash.display.DisplayObject;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";

container.addChild(sprite1);
container.addChild(sprite2);

var target:DisplayObject = container.getChildByName("sprite1"); 
trace(container.getChildIndex(target)); // 0
getChildIndex()méthode 
public function getChildIndex(child:DisplayObject):int

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie la position d’index d’une occurrence child de DisplayObject.

Paramètres

child:DisplayObject — Occurrence de DisplayObject à identifier.

Valeur renvoyée
int — Position d'index de l’objet d'affichage enfant à identifier.

Lance
ArgumentError — Renvoie une exception si le paramètre enfant n’est pas un enfant de cet objet.

Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute deux objets d'affichage enfant au conteneur. Ensuite, le code appelle les méthodes getChildByName() et getChildIndex() pour renvoyer la position d'index de l'enfant de l'objet container avec le paramètre name "sprite1".
import flash.display.Sprite;
import flash.display.DisplayObject;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";

container.addChild(sprite1);
container.addChild(sprite2);

var target:DisplayObject = container.getChildByName("sprite1"); 
trace(container.getChildIndex(target)); // 0
getObjectsUnderPoint()méthode 
public function getObjectsUnderPoint(point:Point):Array

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie un tableau d’objets de niveau inférieur au point spécifié et qui sont les enfants (ou les petits-enfants, etc.) de l’occurrence de DisplayObjectContainer. Tout objet enfant auquel il est impossible d’accéder pour des raisons de sécurité est omis du tableau renvoyé. Pour vérifier si cette restriction de sécurité affecte le tableau renvoyé, appelez la méthode areInaccessibleObjectsUnderPoint().

Le paramètre point est exprimé dans l’espace de coordonnées de la scène, qui risque d’être différent de l’espace de coordonnées du conteneur d’objet d'affichage (à moins que ce dernier ne corresponde à la scène). Vous pouvez utiliser les méthodes globalToLocal() et localToGlobal() pour passer d’un espace de coordonnées à l’autre.

Paramètres

point:Point — Le point sous lequel sont extraits les objets.

Valeur renvoyée
Array — Tableau d’objets de niveau inférieur au point spécifié et qui sont les enfants (ou les petits-enfants, etc.) de cette occurrence de DisplayObjectContainer.

Voir aussi


Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute deux objets d'affichage enfant qui se chevauchent au conteneur. Ensuite le code appelle deux fois getObjectsUnderPoint(). Une première fois avec un point qui ne touche qu'un seul objet, puis à l'aide d'un point où les objets se chevauchent. Enfin, le paramètre length du tableau renvoyé affiche le nombre d'objets de tous les points du conteneur :
import flash.display.Sprite;
import flash.geom.Point;

var container:Sprite = new Sprite();

var square1:Sprite = new Sprite();
square1.graphics.beginFill(0xFFCC00);
square1.graphics.drawRect(0, 0, 40, 40);

var square2:Sprite = new Sprite();
square2.graphics.beginFill(0x00CCFF);
square2.graphics.drawRect(20, 0, 30, 40);

container.addChild(square1);
container.addChild(square2);

var pt:Point = new Point(10, 20);
var objects:Array = container.getObjectsUnderPoint(pt); 
trace(objects.length); // 1

pt = new Point(35, 20);
objects = container.getObjectsUnderPoint(pt);
trace(objects.length);  // 2
removeChild()méthode 
public function removeChild(child:DisplayObject):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Supprime l’occurrence child de DisplayObject spécifiée de la liste d’enfants de l’occurrence de DisplayObjectContainer. La propriété parent de l’enfant supprimé est réglée sur null et l’objet est nettoyé s’il n’existe aucune autre référence à l’enfant. Les positions d’index de tout objet d'affichage placé au-dessus de l’enfant dans DisplayObjectContainer sont diminuées d’une unité.

Le nettoyeur de mémoire correspond au processus de réaffectation de l’espace mémoire inutilisé par Flash Player. Lorsqu'une variable ou un objet n'est plus référencé ou stocké de façon active, le nettoyeur de mémoire vide toutes ses références en mémoire qui ne sont plus utilisées.

Paramètres

child:DisplayObject — Occurrence de DisplayObject à supprimer.

Valeur renvoyée
DisplayObject — Occurrence de DisplayObject que vous transmettez au paramètre child.

Lance
ArgumentError — Renvoie une exception si le paramètre enfant n’est pas un enfant de cet objet.

Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute deux objets d'affichage enfant au conteneur. Un écouteur d'événements est ajouté à l'objet container, de façon à ce que lorsque l'utilisateur clique sur une objet enfant du conteneur, la méthode removeChild() l'enfant sur lequel l'utilisateur a cliqué dans la liste d'enfants du conteneur :
 
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.MouseEvent;

var container:Sprite = new Sprite();
addChild(container);

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x00CCFF);
circle2.graphics.drawCircle(120, 40, 40);

container.addChild(circle1);
container.addChild(circle2);

container.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    container.removeChild(DisplayObject(event.target)); 
}
removeChildAt()méthode 
public function removeChildAt(index:int):DisplayObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Supprime une occurrence enfant de DisplayObject de la position d’index spécifiée dans la liste d’enfants de DisplayObjectContainer. La propriété parent de l’enfant supprimé est réglée sur null et l’objet est nettoyé s’il n’existe aucune autre référence à l’enfant. Les positions d’index de tout objet d'affichage placé au-dessus de l’enfant dans DisplayObjectContainer sont diminuées d’une unité.

Le nettoyeur de mémoire correspond au processus de réaffectation de l’espace mémoire inutilisé par Flash Player. Lorsqu'une variable ou un objet n'est plus référencé ou stocké de façon active, le nettoyeur de mémoire vide toutes ses références en mémoire qui ne sont plus utilisées.

Paramètres

index:int — Index enfant de l’occurrence de DisplayObject à supprimer.

Valeur renvoyée
DisplayObject — Occurrence de DisplayObject supprimée.

Lance
SecurityError — Cet objet d'affichage enfant appartient à un sandbox auquel l’objet appelant n’a pas accès. Pour éviter ce cas de figure, faites en sorte que l'animation enfant appelle la méthode Security.allowDomain().
 
RangeError — Renvoie une exception si l’index n’existe pas dans la liste d’enfants.

Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute deux objets d'affichage enfant au conteneur. Vous pouvez ensuite constater que lorsque le code appelle la méthode removeChildAt() pour supprimer l'enfant à la position d'index la plus basse (0), tout autre objet enfant descend d'un niveau dans la liste :
import flash.display.Sprite;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";

container.addChild(sprite1);
container.addChild(sprite2);

trace(container.numChildren) // 2
container.removeChildAt(0); 
trace(container.numChildren) // 1
trace(container.getChildAt(0).name); // sprite2
setChildIndex()méthode 
public function setChildIndex(child:DisplayObject, index:int):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Modifie la position d’un enfant existant dans le conteneur d’objet d'affichage. L’ordre des objets enfants est alors affecté. Ainsi, l’exemple suivant illustre trois objets d'affichage appelés a, b et c, qui occupent respectivement les positions d’index 0, 1 et 2 :

Si vous utilisez la méthode setChildIndex() et que vous spécifiez une position d'index déjà occupée, l'enfant associée à cette position et tous les objets de niveau supérieur sont décalés d’une position vers le haut dans la liste d’enfants. Par exemple, si le conteneur d’objet d'affichage de l’exemple précédent s’appelle container, vous pouvez permuter la position des objets d'affichage a et b en appelant le code suivant :

container.setChildIndex(container.getChildAt(1), 0);

Ce code entraîne la réorganisation suivante des objets :

Paramètres

child:DisplayObject — Occurrence enfant de DisplayObject dont vous voulez modifier le numéro d’index.
 
index:int — Nouveau numéro d’index de l’objet d'affichage child.


Lance
RangeError — Renvoie une exception si l’index n’existe pas dans la liste d’enfants.
 
ArgumentError — Renvoie une exception si le paramètre enfant n’est pas un enfant de cet objet.

Voir aussi


Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute trois objets d'affichage enfant, qui se chevauchent légèrement, au conteneur. Lorsque l'utilisateur clique sur l'un de ces objets, la méthode clicked() appelle la méthode setChildIndex() pour déplacer l'objet cliqué vers la position la plus haute de la liste enfant de l'objet container :
import flash.display.Sprite;
import flash.events.MouseEvent;

var container:Sprite = new Sprite();
addChild(container);

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.addEventListener(MouseEvent.CLICK, clicked);
 
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x00FF00);
circle2.graphics.drawCircle(100, 40, 40);
circle2.addEventListener(MouseEvent.CLICK, clicked);
 
var circle3:Sprite = new Sprite();
circle3.graphics.beginFill(0x0000FF);
circle3.graphics.drawCircle(70, 80, 40);
circle3.addEventListener(MouseEvent.CLICK, clicked);
 
container.addChild(circle1);
container.addChild(circle2);
container.addChild(circle3);
addChild(container);
 
function clicked(event:MouseEvent):void {
    var circle:Sprite = Sprite(event.target);
    var topPosition:uint = container.numChildren - 1;
    container.setChildIndex(circle, topPosition);
}
swapChildren()méthode 
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Intervertit l'ordre z (ordre d’empilement du premier plan vers l’arrière-plan) des deux objets enfants spécifiés. Tous les autres objets enfants du conteneur d’objet d'affichage conservent leur position d'index.

Paramètres

child1:DisplayObject — Premier objet enfant.
 
child2:DisplayObject — Second objet enfant.


Lance
ArgumentError — Renvoie une exception si l’un des deux paramètres enfant n’est pas un enfant de cet objet.

Exemple

L'exemple suivant crée un conteneur d'objets d'affichage appelé container, puis ajoute deux objets d'affichage enfant au conteneur et enfin, indique l'effet d'un appel à la méthode swapChildren() :
import flash.display.Sprite;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";

container.addChild(sprite1);
container.addChild(sprite2);

trace(container.getChildAt(0).name); // sprite1
trace(container.getChildAt(1).name); // sprite2

container.swapChildren(sprite1, sprite2);

trace(container.getChildAt(0).name); // sprite2
trace(container.getChildAt(1).name); // sprite1
swapChildrenAt()méthode 
public function swapChildrenAt(index1:int, index2:int):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Intervertit l'ordre z (ordre d’empilement du premier plan vers l’arrière-plan) des objets enfants aux deux positions d’index spécifiées dans la liste d’enfants. Tous les autres objets enfants du conteneur d’objet d'affichage conservent leur position d'index.

Paramètres

index1:int — Position d'index du premier objet enfant.
 
index2:int — Position d'index du second objet enfant.


Lance
RangeError — Si l’un ou l’autre des index n’existe pas dans la liste d’enfants.

Exemple

L'exemple suivant crée un conteneur d'objet d'affichage appelé container, puis ajoute trois objets d'affichage enfant au conteneur et enfin indique comment un appel à la méthode swapChildrenAt() modifie l'ordre de la liste d'enfants du conteneur de l'objet d'affichage :
import flash.display.Sprite;

var container:Sprite = new Sprite();

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";
var sprite3:Sprite = new Sprite();
sprite3.name = "sprite3";

container.addChild(sprite1);
container.addChild(sprite2);
container.addChild(sprite3);

trace(container.getChildAt(0).name); // sprite1
trace(container.getChildAt(1).name); // sprite2
trace(container.getChildAt(2).name); // sprite3

container.swapChildrenAt(0, 2);

trace(container.getChildAt(0).name); // sprite3
trace(container.getChildAt(1).name); // sprite2
trace(container.getChildAt(2).name); // sprite1
Exemples Utilisation des exemples
DisplayObjectContainerExample.as

L'exemple suivant exploite la classe DisplayObjectContainerExample pour créer cinq carrés oranges les uns à la suite des autres. Pour ce faire, procédez comme suit :
  1. Le constructeur appelle la méthode configureAssets().
  2. La méthode configureAssets() crée des objets Sprite child et lastChild.
  3. Une boucle for crée les cinq carrés oranges et les place les uns à la suite des autres.
  4. Lorsqu'un objet CustomSprite est créé, son constructeur appelle la méthode draw() de l'objet CustomSprite, qui crée un carré de 50 x 50 pixels en appelant les méthodes beginFill(), drawRect() et endFill() de la classe Graphics. La méthode addChild() place les carrés ainsi créé dans la liste d'affichage.

package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;

    public class DisplayObjectContainerExample extends Sprite {
        private var gutter:uint     = 5;
        private var childCount:uint = 5;

        public function DisplayObjectContainerExample() {
            configureAssets();
        }

        private function configureAssets():void {
            var child:Sprite = new CustomSprite();
            var lastChild:Sprite = child;
            for (var i:uint = 1; i <= childCount; i++) {
                child = new CustomSprite();
                child.x = lastChild.x + lastChild.width + gutter;
                addChild(child);
                lastChild = child;
            }
        }
    }
}

import flash.display.Sprite;

class CustomSprite extends Sprite {
    private var size:uint = 50;
    private var bgColor:uint = 0xFFCC00;

    public function CustomSprite() {
        draw(size, size);
    }

    private function draw(w:uint, h:uint):void {
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, w, h);
        graphics.endFill();
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html