Paketflash.display
Klassepublic class DisplayObjectContainer
VererbungDisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Unterklassen Loader, Sprite, Stage

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die DisplayObjectContainer-Klasse ist die Basisklasse für alle Objekte, die in der Anzeigeliste als Anzeigeobjekt-Container eingesetzt werden können. Die Anzeigeliste verwaltet alle Objekte, die in Flash Player angezeigt werden. Um die Anzeigeobjekte innerhalb der Anzeigeliste anzuordnen, verwenden Sie die DisplayObjectContainer-Klasse. Jedes DisplayObjectContainer-Objekt besitzt seine eigene Child-Liste zum Organisieren der z-Reihenfolge der Objekte. Die z-Reihenfolge ist die Anordnung von vorne nach hinten und bestimmt, welches Objekt im Vordergrund angezeigt wird, welches dahinter usw.

DisplayObject ist eine abstrakte Basisklasse. Daher können Sie DisplayObject nicht direkt aufrufen. Durch das Aufrufen von new DisplayObject() wird eine ArgumentError-Ausnahme ausgelöst.

Die DisplayObjectContainer-Klasse ist eine abstrakte Basisklasse für alle Objekte, denen andere Objekte untergeordnet werden können. Sie kann nicht direkt instanziiert werden. Beim Aufrufen des Konstruktors new DisplayObjectContainer() wird eine ArgumentError-Ausnahme ausgelöst.

Weitere Informationen finden Sie im Kapitel "Programmierung von Anzeigeobjekten" des Handbuchs Programmieren mit ActionScript 3.0.

Beispiele anzeigen

Siehe auch

flash.display.DisplayObject
Hauptanzeigeklassen
Verwenden von Anzeigeobjektcontainern


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 InheritedaccessibilityProperties : AccessibilityProperties
Die aktuellen Eingabehilfenoptionen für dieses Anzeigeobjekt.
DisplayObject
 Inheritedalpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an.
DisplayObject
 InheritedblendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll.
DisplayObject
 InheritedcacheAsBitmap : Boolean
Wird diese Eigenschaft auf "true" gesetzt, speichert Flash Player eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache.
DisplayObject
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
 InheritedcontextMenu : ContextMenu
Gibt das diesem Objekt zugeordnete Kontextmenü an.
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
Gibt an, ob das Objekt doubleClick-Ereignisse empfängt.
InteractiveObject
 Inheritedfilters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält.
DisplayObject
 InheritedfocusRect : Object
Gibt an, ob für dieses Objekt ein Fokus-Rechteck angezeigt wird.
InteractiveObject
 Inheritedheight : Number
Gibt die Höhe des Anzeigeobjekts in Pixel an.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[read-only] Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört.
DisplayObject
 Inheritedmask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert.
DisplayObject
  mouseChildren : Boolean
Bestimmt, ob die dem Objekt untergeordneten Objekte per Maus aktivierbar sind.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Gibt an, ob dieses Objekt Meldungen von der Maus empfängt.
InteractiveObject
 InheritedmouseX : Number
[read-only] Gibt die x-Koordinate der Mausposition in Pixel an.
DisplayObject
 InheritedmouseY : Number
[read-only] Gibt die y-Koordinate der Mausposition in Pixel an.
DisplayObject
 Inheritedname : String
Gibt den Instanznamen des Anzeigeobjekts an.
DisplayObject
  numChildren : int
[read-only] Liefert die Anzahl der Objekte, die diesem Objekt untergeordnet sind.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält.
DisplayObject
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
 Inheritedroot : DisplayObject
[read-only] Bei einem Anzeigeobjekt in einer geladenen SWF-Datei ist die root-Eigenschaft das oberste Anzeigeobjekt in dem Teil der Baumstruktur der Anzeigeliste, der diese SWF-Datei repräsentiert.
DisplayObject
 Inheritedrotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an.
DisplayObject
 Inheritedscale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster.
DisplayObject
 InheritedscaleX : Number
Gibt die horizontale Skalierung (percentage) des Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscaleY : Number
Gibt die vertikale Skalierung (percentage) eines Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt.
DisplayObject
 Inheritedstage : Stage
[read-only] Die Bühne des Anzeigeobjekts.
DisplayObject
  tabChildren : Boolean
Bestimmt, ob die dem Objekt untergeordneten Objekte per Tabulatortaste aktivierbar sind.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Gibt an, ob sich dieses Objekt in der Tabulatorreihenfolge befindet.
InteractiveObject
 InheritedtabIndex : int
Gibt die Tabulatorreihenfolge von Objekten in einer SWF-Datei an.
InteractiveObject
  textSnapshot : TextSnapshot
[read-only] Liefert ein TextSnapshot-Objekt für diese DisplayObjectContainer-Instanz.
DisplayObjectContainer
 Inheritedtransform : Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören.
DisplayObject
 Inheritedvisible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht.
DisplayObject
 Inheritedwidth : Number
Gibt die Breite des Anzeigeobjekts in Pixel an.
DisplayObject
 Inheritedx : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
 Inheritedy : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
Öffentliche Methoden
 MethodeDefiniert von
  
Durch das Aufrufen des Konstruktors "new DisplayObjectContainer()" wird eine ArgumentError-Ausnahme ausgelöst.
DisplayObjectContainer
  
Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu.
DisplayObjectContainer
  
Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
Gibt an, ob aufgrund der Sicherheitseinschränkungen irgendwelche Anzeigeobjekte aus der Liste ausgeschlossen werden, die beim Aufrufen der DisplayObjectContainer.getObjectsUnderPoint()-Methode mit dem angegebenen point-Punkt zurückgegeben wird.
DisplayObjectContainer
  
Ermittelt, ob das angegebene Anzeigeobjekt der DisplayObjectContainer-Instanz oder der Instanz selbst untergeordnet ist.
DisplayObjectContainer
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.
DisplayObject
  
Gibt die untergeordnete Anzeigeobjektinstanz zurück, die sich an der angegebenen Indexposition befindet.
DisplayObjectContainer
  
Gibt das untergeordnete Anzeigeobjekt für den angegebenen Namen zurück.
DisplayObjectContainer
  
Gibt die Indexposition einer untergeordneten DisplayObject-Instanz zurück.
DisplayObjectContainer
  
Gibt ein Array an Objekten zurück, die unter dem angegebenen Punkt liegen und dieser DisplayObjectContainer-Instanz untergeordnet sind (auch über mehrere Unterordnungsstufen hinweg).
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das die Begrenzung des Anzeigeobjekts (ohne etwaige Striche oder Formen) definiert, und zwar aufgrund des vom Parameter "targetCoordinateSpace" definierten Koordinatensystems.
DisplayObject
 Inherited
Konvertiert das point-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts.
DisplayObject
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Wertet das Anzeigeobjekt aus, um festzustellen, ob es das Anzeigeobjekt "obj" überdeckt oder schneidet.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter "x" und "y" festgelegten Punkt überdeckt oder schneidet.
DisplayObject
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten.
DisplayObject
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
Entfernt die angegebene untergeordnete DisplayObject-Instanz aus der Child-Liste der DisplayObjectContainer-Instanz.
DisplayObjectContainer
  
Entfernt ein untergeordnetes Anzeigeobjekt aus der angegebenen Indexposition in der Child-Liste des Anzeigeobjekt-Containers.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
Ändert die Position eines vorhandenen untergeordneten Objekts im Anzeigeobjekt-Container.
DisplayObjectContainer
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
Kehrt die z-Reihenfolge (von vorne nach hinten) der beiden angegebenen untergeordneten Objekte um.
DisplayObjectContainer
  
swapChildrenAt(index1:int, index2:int):void
Kehrt die z-Reihenfolge (von vorne nach hinten) der untergeordneten Objekte an den beiden angegebenen Indexpositionen in der Child-Liste um.
DisplayObjectContainer
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 EreignisÜbersicht Definiert von
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird.DisplayObject
 Inherited Wird ausgelöst, wenn ein Anzeigeobjekt der Anzeigeliste für die Bühne hinzugefügt wird. Dies erfolgt entweder direkt oder über das Hinzufügen einer Unterstruktur, die das Anzeigeobjekt enthält.DisplayObject
 Inherited Wird ausgelöst, wenn ein Benutzer die Haupttaste des Zeigegeräts über derselben InteractiveObject-Instanz drückt und wieder loslässt.InteractiveObject
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird.EventDispatcher
 Inherited Wird ausgelöst, wenn der Benutzer die Haupttaste des Zeigegeräts zweimal schnell hintereinander über dem gleichen InteractiveObject-Objekt drückt und das doubleClickEnabled-Flag des Objekts "true" lautet.InteractiveObject
 Inherited Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht.DisplayObject
 Inherited Wird ausgelöst, nachdem ein Anzeigeobjekt den Fokus erhalten hat.InteractiveObject
 Inherited Wird ausgelöst, nachdem ein Anzeigeobjekt den Fokus verloren hat.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer eine Taste drückt.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer versucht, den Fokus mithilfe der Tastatur zu ändern.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer eine Taste loslässt.InteractiveObject
 Inherited Wird ausgelöst, wenn im Flash Player-Fenster die Taste des Zeigegeräts über einer InteractiveObject-Instanz gedrückt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer versucht, den Fokus mithilfe eines Zeigegeräts zu ändern.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät bewegt, whrend es sich auf einer InteractiveObject-Instanz befindet.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät von einer InteractiveObject-Instanz wegbewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn das Zeigegerät im Flash Player-Fenster über eine InteractiveObject-Instanz bewegt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn im Flash Player-Fenster die Taste des Zeigegeräts über einer InteractiveObject-Instanz losgelassen wird.InteractiveObject
 Inherited Wird ausgelöst, wenn ein Mausrad im Flash Player-Fenster über einer InteractiveObject-Instanz betätigt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn ein Objekt aus der Anzeigeliste entfernt werden soll.DisplayObject
 Inherited Wird ausgelöst, wenn ein Anzeigeobjekt aus der Anzeigeliste entfernt werden soll. Dies erfolgt entweder direkt oder über das Entfernen einer Unterstruktur, die das Anzeigeobjekt enthält.DisplayObject
 Inherited Wird ausgelöst, wenn die Anzeigeliste aktualisiert und neu gezeichnet werden soll.DisplayObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät von einer InteractiveObject-Instanz wegbewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät auf eine InteractiveObject-Instanz bewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn sich der Wert des tabChildren-Flags des Objekts ändert.InteractiveObject
 Inherited Wird ausgelöst, wenn sich das tabEnabled-Flag des Objekts ändert.InteractiveObject
 Inherited Wird ausgelöst, wenn sich der Wert der tabIndex-Eigenschaft des Objekts ändert.InteractiveObject
Eigenschaftsdetail
mouseChildrenEigenschaft
mouseChildren:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Bestimmt, ob die dem Objekt untergeordneten Objekte per Maus aktivierbar sind. Ist ein Objekt per Maus aktivierbar, kann ein Benutzer damit in Interaktion treten, indem er eine Maus verwendet. Der Standardwert lautet true.

Diese Eigenschaft ist praktisch, wenn Sie eine Schaltfläche mit einer Instanz der Sprite-Klasse (anstelle der SimpleButton-Klasse) erstellen. Wenn Sie zum Erstellen einer Schaltfläche eine Sprite-Instanz verwenden, können Sie die Schaltfläche ausrüsten und mithilfe der addChild()-Methode zusätzliche Sprite-Instanzen hinzufügen. Dieser Vorgang kann zu unerwarteten Verhaltensweisen bei Mausereignissen führen, da die untergeordneten Sprite-Instanzen zum Zielobjekt eines Mausereignisses werden können, wenn eigentlich die übergeordnete Instanz des Zielobjekts erwartet wird. Um sicherzustellen, dass die übergeordnete Instanz als Zielobjekt für Mausereignisse dient, können Sie die mouseChildren-Eigenschaft der übergeordneten Instanz auf false setzen.

Durch das Festlegen dieser Eigenschaft wird kein Ereignis ausgelöst. Um interaktive Funktionalität zu erzielen, müssen Sie die addEventListener()-Methode verwenden.


Implementierung
    public function get mouseChildren():Boolean
    public function set mouseChildren(value:Boolean):void

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Sprite-Objekt (eine Art von Anzeigeobjekt-Container) mit dem Namen container eingerichtet. Daran wird gezeigt, dass, wenn Sie dessen mouseChildren-Eigenschaft auf false setzen, das Ziel eines mouseClick-Ereignisses das container-Objekt ist, anstatt eines der untergeordneten Objekte:
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
}
numChildrenEigenschaft 
numChildren:int  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Liefert die Anzahl der Objekte, die diesem Objekt untergeordnet sind.


Implementierung
    public function get numChildren():int

Siehe auch


Beispiel

Im folgenden Beispiel werden zwei Sprite-Objekte mit den Namen container1 und container2 festgelegt. Bei einem Sprite-Objekt handelt es sich um eine Art von Anzeigeobjekt-Container. Das Beispiel ruft die addChild()-Methode auf, um die Anzeigehierarchie festzulegen: container1 ist ein untergeordnetes Objekt von container2. Zwei andere Anzeigeobjekte, circle1 und circle2, sind untergeordnete Objekte von container1. Die Aufrufe der trace()-Methode zeigen für die einzelnen Objekte jeweils die Anzahl der untergeordneten Objekte an. Dabei ist zu beachten, dass untergeordnete Objekte der Ebenen darunter für die numChildren-Anzahl nicht berücksichtigt werden:
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
tabChildrenEigenschaft 
tabChildren:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Bestimmt, ob die dem Objekt untergeordneten Objekte per Tabulatortaste aktivierbar sind. Aktiviert oder deaktiviert die Möglichkeit zur Auswahl von untergeordneten Objekten mithilfe der Tabulatortaste. Der Standardwert lautet true.


Implementierung
    public function get tabChildren():Boolean
    public function set tabChildren(value:Boolean):void

Auslöser
IllegalOperationError — Beim Aufrufen dieser Eigenschaft für das Stage-Objekt wird eine Ausnahme ausgelöst. Das Stage-Objekt hat diese Eigenschaft nicht implementiert.

Beispiel

Im folgenden Beispiel wird ein container1-Anzeigeobjekt-Container erstellt, und der dazugehörigen Anzeigeliste werden zwei Anzeigeobjekte hinzugefügt, circle1 and circle2. Im Beispiel wird "tabChildren" für die untergeordneten Objekte auf false gesetzt, damit mithilfe von tabIndex eine eigene Tabulatorreihenfolge verwaltet werden kann:
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);
Kompilieren Sie die Datei, und führen Sie sie aus, um die Ergebnisse dieses Beispiels anzuzeigen. Wenn Sie auf einen der Kreise klicken, können Sie die Tabulatortaste drücken, um den Fokus für die Anzeigeobjekte zu wechseln (wird durch ein gelbes Hervorhebungsrechteck angezeigt).
textSnapshotEigenschaft 
textSnapshot:TextSnapshot  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Liefert ein TextSnapshot-Objekt für diese DisplayObjectContainer-Instanz.


Implementierung
    public function get textSnapshot():TextSnapshot

Siehe auch


Beispiel

Das folgende Beispiel funktioniert nur in der Authoring-Umgebung von Flash. Flex enthält keine Möglichkeit zum Hinzufügen von statischem Text zu einer Datei. Fügen Sie dem ersten Bild eines Films ein oder mehrere Felder mit statischem Text hinzu, um die Flash-Datei für dieses Beispiel vorzubereiten. Fügen Sie dann das folgende Skript in das erste Bild ein, und führen Sie die Datei aus. Es wird der statische Text ausgegeben, den Sie hinzugefügt haben:
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
Konstruktordetail
DisplayObjectContainer()Konstruktor
public function DisplayObjectContainer()

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Durch das Aufrufen des Konstruktors new DisplayObjectContainer() wird eine ArgumentError-Ausnahme ausgelöst. Sie können jedoch Konstruktoren für die folgenden Unterklassen von "DisplayObjectContainer" aufrufen:

Methodendetail
addChild()Methode
public function addChild(child:DisplayObject):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu. Die untergeordnete Instanz wird allen anderen untergeordneten Objekten dieser DisplayObjectContainer-Instanz an der ersten Position (also oben) hinzugefügt. (Um ein untergeordnetes Objekt an einer bestimmten Indexposition hinzuzufügen, verwenden Sie die addChildAt()-Methode.)

Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjekt-Container untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.

Parameter

child:DisplayObject — Die DisplayObject-Instanz, die der DisplayObjectContainer-Instanz untergeordnet werden soll.

Rückgabewerte
DisplayObject — Die DisplayObject-Instanz, die Sie im Parameter child übergeben.

Ereignisse
added:Event — Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird.

Auslöser
ArgumentError — Wird ausgelöst, wenn das untergeordnete Objekt mit dem übergeordneten Objekt identisch ist. Wird auch ausgelöst, wenn es sich beim Aufrufer um ein untergeordnetes Objekt (oder ein noch weiter untergeordnetes Objekt usw.) des hinzugefügten untergeordneten Objekts handelt.

Siehe auch


Beispiel

Im folgenden Beispiel werden zwei Sprite-Objekte mit den Namen container1 und container2 festgelegt. Bei einem Sprite-Objekt handelt es sich um eine Art von Anzeigeobjekt-Container. Das Beispiel ruft die addChild()-Methode auf, um die Anzeigehierarchie festzulegen: container1 ist ein untergeordnetes Objekt von container2. Zwei andere Anzeigeobjekte, circle1 und circle2, sind untergeordnete Objekte von container1. Die Aufrufe der trace()-Methode zeigen für die einzelnen Objekte jeweils die Anzahl der untergeordneten Objekte an. Dabei ist zu beachten, dass untergeordnete Objekte der Ebenen darunter für die numChildren-Anzahl nicht berücksichtigt werden:
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()Methode 
public function addChildAt(child:DisplayObject, index:int):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu. Das untergeordnete Objekt wird an der angegebenen Indexposition eingefügt. Die Indexposition 0 bezeichnet das hintere (untere) Ende der Anzeigeliste für dieses DisplayObjectContainer-Objekt.

Das folgende Beispiel enthält z. B. drei Anzeigeobjekte mit der Bezeichnung a, b und c jeweils an den Indexpositionen 0, 1 und 2:

Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjekt-Container untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.

Parameter

child:DisplayObject — Die DisplayObject-Instanz, die der DisplayObjectContainer-Instanz untergeordnet werden soll.
 
index:int — Die Indexposition, an der die untergeordnete Instanz hinzugefügt wird. Wenn Sie eine gerade besetzte Indexposition angeben, werden das untergeordnete Objekt an dieser Stelle sowie alle darüber liegenden Positionen innerhalb der Child-Liste um eine Position nach oben verschoben.

Rückgabewerte
DisplayObject — Die DisplayObject-Instanz, die Sie im Parameter child übergeben.

Ereignisse
added:Event — Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird.

Auslöser
RangeError — Wird ausgelöst, wenn die Indexposition in der untergeordneten Liste nicht existiert.
 
ArgumentError — Wird ausgelöst, wenn das untergeordnete Objekt mit dem übergeordneten Objekt identisch ist. Wird auch ausgelöst, wenn es sich beim Aufrufer um ein untergeordnetes Objekt (oder ein noch weiter untergeordnetes Objekt usw.) des hinzugefügten untergeordneten Objekts handelt.

Siehe auch


Beispiel

Im folgenden Beispiel wird ein container-Anzeigeobjekt-Container erstellt und der dazugehörigen Anzeigeliste ein circle1-Objekt eines Anzeigeobjekts hinzugefügt. Durch das Aufrufen von container.addChildAt(circle2, 0) wird anschließend das circle2-Objekt an Indexposition null (im Hintergrund) hinzugefügt und das circle1-Objekt an Indexposition 1 verschoben:
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()Methode 
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt an, ob aufgrund der Sicherheitseinschränkungen irgendwelche Anzeigeobjekte aus der Liste ausgeschlossen werden, die beim Aufrufen der DisplayObjectContainer.getObjectsUnderPoint()-Methode mit dem angegebenen point-Punkt zurückgegeben wird. Standardmäßig können Inhalte aus der Domäne nicht auf Objekte aus einer anderen Domäne zugreifen, wenn ihnen dies nicht durch den Aufruf der Security.allowDomain()-Methode ausdrücklich erlaubt worden ist.

Weitere Informationen finden Sie in den folgenden Abschnitten:

Der Parameter point befindet sich im Koordinatenraum der Bühne, der vom Koordinatenraum des Anzeigeobjekt-Containers abweichen kann (wenn der Anzeigeobjekt-Container nicht gerade die Bühne selbst ist). Mithilfe der Methoden globalToLocal() und localToGlobal() können Sie Punkte zwischen diesen Koordinatenräumen konvertieren.

Parameter

point:Point — Der Punkt, unter dem nachgeschaut werden soll.

Rückgabewerte
Booleantrue, wenn der Punkt untergeordnete Anzeigeobjekte mit Sicherheitseinschränkungen enthält.

Siehe auch


Beispiel

Der folgende Code erstellt einen Anzeigeobjekt-Container mit dem Namen container. Im nächste Codeblock wird ein Loader-Objekt verwendet, um eine JPEG-Datei mit dem Namen "test.jpg" von einem Remote-Server zu laden. Beachten Sie, dass die checkPolicyFile-Eigenschaft des LoaderContext-Objekts, die in der load()-Methode als Parameter verwendet wird, auf false gesetzt ist. Nachdem die Datei geladen wurde, ruft der Code die loaded()-Methode auf, die wiederum container.areInaccessibleObjectsUnderPoint() aufruft, sodass der Wert true zurückgegeben wird, da angenommen wird, dass der Inhalt aus einer unzugänglichen Domäne stammt:
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."); 
}
Bei diesem Beispiel wird außerdem angenommen, dass die von diesem Code erzeugte SWF-Datei aus einer anderen Domäne als die der JPEG-Datei geladen wird und dass die geladene JPEG-Datei den Punkt (1, 1) einnimmt.
contains()Methode 
public function contains(child:DisplayObject):Boolean

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Ermittelt, ob das angegebene Anzeigeobjekt der DisplayObjectContainer-Instanz oder der Instanz selbst untergeordnet ist. Die Suche umfasst die gesamte Anzeigeliste einschließlich dieser DisplayObjectContainer-Instanz. Für Objekte, die über mehrere Ebenen hinweg untergeordnet sind, wird der Wert true zurückgegeben.

Parameter

child:DisplayObject — Das zu prüfende untergeordnete Objekt.

Rückgabewerte
Boolean — Ist auf true eingestellt, wenn das child-Objekt ein untergeordnetes Objekt der DisplayObjectContainer-Instanz oder des Containers selbst ist. Andernfalls ist false eingestellt.

Beispiel

Im folgenden Beispiel werden einige Sprite-Objekte eingerichtet und in einigen Fällen der Child-Liste von anderen Objekten hinzugefügt. (Bei einem Sprite-Objekt handelt es sich um eine Art von Anzeigeobjekt-Container.) Die Beziehung zwischen verschiedenen Objekten wird angezeigt, indem die contains()-Methode aufgerufen wird:
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()Methode 
public function getChildAt(index:int):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die untergeordnete Anzeigeobjektinstanz zurück, die sich an der angegebenen Indexposition befindet.

Parameter

index:int — Die Indexposition des untergeordneten Objekts.

Rückgabewerte
DisplayObject — Das untergeordnete Anzeigeobjekt an der angegebenen Indexposition.

Auslöser
RangeError — Wird ausgelöst, wenn der Index in der Child-Liste nicht existiert.
 
SecurityError — Das untergeordnete Anzeigeobjekt ist Teil einer Sicherheits-Sandbox, auf die Sie keinen Zugriff haben. Sie können diese Situation vermeiden, indem Sie im untergeordneten Film die Security.allowDomain()-Methode aufrufen.

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, und der Child-Liste des container-Objekts werden dann drei Anzeigeobjekte hinzugefügt. Die Aufrufe der getChildAt()-Methode zeigen für die einzelnen untergeordneten Objekte jeweils die Position an:
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()Methode 
public function getChildByName(name:String):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt das untergeordnete Anzeigeobjekt für den angegebenen Namen zurück. Wenn mehrere untergeordnete Anzeigeobjekte den angegebenen Namen aufweisen, gibt die Methode das erste Objekt in der Child-Liste zurück.

Die getChildAt()-Methode ist schneller als die getChildByName()-Methode. Die getChildAt()-Methode greift über ein zwischengespeichertes Array auf ein untergeordnetes Objekt zu, während die getChildByName()-Methode eine verknüpfte Liste durchlaufen muss, um auf ein untergeordnetes Objekt zuzugreifen.

Parameter

name:String — Der Name des untergeordneten Objekts, das zurückgegeben werden soll.

Rückgabewerte
DisplayObject — Das untergeordnete Anzeigeobjekt für den angegebenen Namen.

Auslöser
SecurityError — Das untergeordnete Anzeigeobjekt ist Teil einer Sicherheits-Sandbox, auf die Sie keinen Zugriff haben. Sie können diese Situation vermeiden, indem Sie den untergeordneten Film die Security.allowDomain()-Methode aufrufen lassen.

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann zwei untergeordnete Anzeigeobjekte hinzugefügt werden. Der Code ruft anschließend die Methoden getChildByName() und getChildIndex() auf, um die Indexposition für das untergeordnete Objekt des container-Objekts zurückzugeben, für das name "sprite1" gilt.
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()Methode 
public function getChildIndex(child:DisplayObject):int

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die Indexposition einer child-DisplayObject-Instanz zurück.

Parameter

child:DisplayObject — Die DisplayObject-Instanz, die identifiziert werden soll.

Rückgabewerte
int — Die Indexposition des untergeordneten Anzeigeobjekts, das identifiziert werden soll.

Auslöser
ArgumentError — Wird ausgelöst, wenn der child-Parameter kein untergeordnetes Objekt dieses Objekts ist.

Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann zwei untergeordnete Anzeigeobjekte hinzugefügt werden. Der Code ruft anschließend die Methoden getChildByName() und getChildIndex() auf, um die Indexposition für das untergeordnete Objekt des container-Objekts zurückzugeben, für das name "sprite1" gilt.
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()Methode 
public function getObjectsUnderPoint(point:Point):Array

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt ein Array an Objekten zurück, die unter dem angegebenen Punkt liegen und dieser DisplayObjectContainer-Instanz untergeordnet sind (auch über mehrere Unterordnungsstufen hinweg). Untergeordnete Objekte, die aus Sicherheitsgründen nicht zugänglich sind, sind in dem zurückgegebenen Array ausgelassen. Um festzustellen, ob sich diese Sicherheitseinschränkung auf das zurückgegebene Array auswirkt, rufen Sie die areInaccessibleObjectsUnderPoint()-Methode auf.

Der Parameter point befindet sich im Koordinatenraum der Bühne, der vom Koordinatenraum des Anzeigeobjekt-Containers abweichen kann (wenn der Anzeigeobjekt-Container nicht gerade die Bühne selbst ist). Mithilfe der Methoden globalToLocal() und localToGlobal() können Sie Punkte zwischen diesen Koordinatenräumen konvertieren.

Parameter

point:Point — Der Punkt, unter dem nachgeschaut werden soll.

Rückgabewerte
Array — Ein Array an Objekten, die unter dem angegebenen Punkt liegen und dieser DisplayObjectContainer-Instanz untergeordnet sind (auch über mehrere Unterordnungsstufen hinweg).

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann zwei überlappende untergeordnete Anzeigeobjekte hinzugefügt werden. Der Code ruft zweimal getObjectsUnderPoint() auf (zuerst unter Verwendung eines Punkts, der nur ein Objekt berührt, und dann mit einem Punkt, an dem die Objekte überlappen), und der length-Wert des return-Arrays zeigt die Anzahl an Objekten für die einzelnen Punkte des Containers an:
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()Methode 
public function removeChild(child:DisplayObject):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Entfernt die angegebene child-DisplayObject-Instanz aus der Child-Liste der DisplayObjectContainer-Instanz. Die parent-Eigenschaft des entfernten untergeordneten Objekts wird auf null gesetzt, und das Objekt wird vom Garbage Collector entfernt, wenn keine anderen Verweise auf das untergeordnete Objekt existieren. Die Indexpositionen von Anzeigeobjekten über dem untergeordneten Objekt im Anzeigeobjekt-Container werden um jeweils 1 herabgesetzt.

Der Garbage Collector ist der Vorgang, durch den Flash Player nicht genutzten Arbeitsspeicher wieder freigibt. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbage Collector entfernt, und der belegte Arbeitsspeicher wird bereinigt.

Parameter

child:DisplayObject — Die zu entfernende DisplayObject-Instanz.

Rückgabewerte
DisplayObject — Die DisplayObject-Instanz, die Sie im Parameter child übergeben.

Auslöser
ArgumentError — Wird ausgelöst, wenn der child-Parameter kein untergeordnetes Objekt dieses Objekts ist.

Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann zwei untergeordnete Anzeigeobjekte hinzugefügt werden. Dem container-Objekt wird ein Ereignis-Listener hinzugefügt, damit beim Klicken auf das untergeordnete Objekt des Containers durch Benutzer die removeChild()-Methode verwendet wird, um das untergeordnete Objekt zu entfernen, auf das über die Child-Liste des Containers geklickt wurde:
 
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()Methode 
public function removeChildAt(index:int):DisplayObject

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Entfernt ein untergeordnetes Anzeigeobjekt aus der angegebenen index-Position in der Child-Liste des Anzeigeobjekt-Containers. Die parent-Eigenschaft des entfernten untergeordneten Objekts wird auf null gesetzt, und das Objekt wird vom Garbage Collector entfernt, wenn keine anderen Verweise auf das untergeordnete Objekt existieren. Die Indexpositionen von Anzeigeobjekten über dem untergeordneten Objekt im Anzeigeobjekt-Container werden um jeweils 1 herabgesetzt.

Der Garbage Collector ist der Vorgang, durch den Flash Player nicht genutzten Arbeitsspeicher wieder freigibt. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbage Collector entfernt, und der belegte Arbeitsspeicher wird bereinigt.

Parameter

index:int — Der Child-Index des zu entfernenden Anzeigeobjekts.

Rückgabewerte
DisplayObject — Die entfernte DisplayObject-Instanz.

Auslöser
SecurityError — Das untergeordnete Anzeigeobjekt ist Teil einer Sicherheits-Sandbox, auf die das aufrufende Objekt keinen Zugriff hat. Sie können diese Situation vermeiden, indem Sie den untergeordneten Film die Security.allowDomain()-Methode aufrufen lassen.
 
RangeError — Wird ausgelöst, wenn der Index in der Child-Liste nicht existiert.

Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann zwei untergeordnete Anzeigeobjekte hinzugefügt werden. Der Code zeigt, dass beim Aufrufen der removeChildAt()-Methode zum Entfernen des untergeordneten Objekts an der untersten Indexposition (0) alle anderen untergeordneten Objekte der Liste um eine Position nach unten verschoben werden:
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()Methode 
public function setChildIndex(child:DisplayObject, index:int):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Ändert die Position eines vorhandenen untergeordneten Objekts im Anzeigeobjekt-Container. Dies wirkt sich auf die Anordnung der untergeordneten Objekte aus. Das folgende Beispiel enthält z. B. drei Anzeigeobjekte mit der Bezeichnung a, b und c jeweils an den Indexpositionen 0, 1 und 2:

Wenn Sie die setChildIndex()-Methode verwenden und eine Indexposition angeben, die bereits belegt ist, werden das untergeordnete Objekt an dieser Position sowie alle darüber liegenden Positionen innerhalb der Child-Liste um eine Position nach oben verschoben. Wenn der Anzeigeobjekt-Container im vorigen Beispiel z. B. den Namen container hat, können Sie die Position der Anzeigeobjekte mit den Bezeichnungen a und b austauschen, indem Sie den folgenden Code aufrufen:

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

Dieser Code führt zur folgenden Objektanordnung:

Parameter

child:DisplayObject — Die child-DisplayObject-Instanz, deren Indexnummer Sie ändern möchten.
 
index:int — Die resultierende Indexnummer für das child-Anzeigeobjekt.


Auslöser
RangeError — Wird ausgelöst, wenn der Index in der Child-Liste nicht existiert.
 
ArgumentError — Wird ausgelöst, wenn der child-Parameter kein untergeordnetes Objekt dieses Objekts ist.

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt, dem dann drei leicht überlappende untergeordnete Anzeigeobjekte hinzugefügt werden. Wenn Benutzer auf eines dieser Objekte klicken, ruft die clicked()-Methode die setChildIndex()-Methode auf, um das entsprechende Objekt in der Child-Liste des container-Objekts an die oberste Position zu verschieben:
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()Methode 
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Kehrt die z-Reihenfolge (von vorne nach hinten) der beiden angegebenen untergeordneten Objekte um. Alle anderen untergeordneten Objekte im Anzeigeobjekt-Container bleiben auf derselben Indexposition.

Parameter

child1:DisplayObject — Das erste untergeordnete Objekt.
 
child2:DisplayObject — Das zweite untergeordnete Objekt.


Auslöser
ArgumentError — Wird ausgelöst, wenn keiner der beiden child-Parameter diesem Objekt untergeordnet ist.

Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt. Im nächsten Schritt werden dem Container dann zwei untergeordnete Anzeigeobjekte hinzugefügt, und es wird gezeigt, wie sich das Aufrufen der swapChildren()-Methode auswirkt:
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()Methode 
public function swapChildrenAt(index1:int, index2:int):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Kehrt die z-Reihenfolge (von vorne nach hinten) der untergeordneten Objekte an den beiden angegebenen Indexpositionen in der Child-Liste um. Alle anderen untergeordneten Objekte im Anzeigeobjekt-Container bleiben auf derselben Indexposition.

Parameter

index1:int — Die Indexposition des ersten untergeordneten Objekts.
 
index2:int — Die Indexposition des zweiten untergeordneten Objekts.


Auslöser
RangeError — Wenn beide Indizes in der Child-Liste nicht existieren.

Beispiel

Im folgenden Beispiel wird ein Anzeigeobjekt-Container mit dem Namen container erstellt. Im nächsten Schritt werden dem Container dann drei untergeordnete Anzeigeobjekte hinzugefügt, und es wird gezeigt, wie das Aufrufen der swapChildrenAt()-Methode eine neue Anordnung der Child-Liste des Anzeigeobjekt-Containers durchführt.
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
Beispiele Verwendung von Beispielen
DisplayObjectContainerExample.as

Im folgenden Beispiel wird die Klasse DisplayObjectContainerExample verwendet, um nacheinander fünf orangefarbene Quadrate zu erstellen. Dies wird in den folgenden Schritten erreicht:
  1. Der Konstruktor ruft die configureAssets()-Methode auf.
  2. Die configureAssets()-Methode erstellt child- und lastChild-Sprite-Objekte.
  3. Eine for-Schleife erstellt die fünf orangefarbenen Quadrate und ordnet sie nacheinander an.
  4. Immer wenn ein CustomSprite-Objekt erstellt wird, ruft der dazugehörige Konstruktor die draw()-Methode des CustomSprite-Objekts auf. Die Methode erstellt ein Quadrat der Größe 50 x 50 Pixel, indem sie die Methoden beginFill(), drawRect() und endFill() der Graphics-Klasse aufruft. Die addChild()-Methode fügt die einzelnen Quadrate der Anzeigeliste hinzu.

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();
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html