Paket | flash.display |
Klasse | public class DisplayObjectContainer |
Vererbung | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Unterklassen | Loader, Sprite, Stage, TextLine |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
new DisplayObjectContainer()
wird eine ArgumentError
-Ausnahme ausgelöst.
Weitere Informationen finden Sie im Kapitel „Programmierung von Anzeigeobjekten“ des ActionScript 3.0 Entwicklerhandbuchs.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Die aktuelle Eingabehilfenimplementierung (AccessibilityImplementation) für diese InteractiveObject-Instanz. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Die aktuellen Optionen für Eingabehilfen zur Barrierefreiheit dieses Anzeigeobjekts. | DisplayObject | ||
alpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an. | DisplayObject | ||
blendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll. | DisplayObject | ||
blendShader : Shader [Nur Schreiben]
Legt einen Shader fest, der für das Mischen von Vordergrund und Hintergrund verwendet wird. | DisplayObject | ||
cacheAsBitmap : Boolean
Wird diese Eigenschaft auf „true“ gesetzt, speichern Flash-Laufzeitumgebungen eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Bei einem Nicht-Null-Wert definiert dieses Matrix-Objekt, wie ein Anzeigeobjekt dargestellt wird, wenn cacheAsBitmap auf „true“ gesetzt ist. | DisplayObject | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
contextMenu : NativeMenu
Gibt das diesem Objekt zugeordnete Kontextmenü an. | InteractiveObject | ||
doubleClickEnabled : Boolean
Gibt an, ob das Objekt doubleClick-Ereignisse empfängt. | InteractiveObject | ||
filters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält. | DisplayObject | ||
focusRect : Object
Gibt an, ob für dieses Objekt ein Fokusrechteck angezeigt wird. | InteractiveObject | ||
height : Number
Gibt die Höhe des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
loaderInfo : LoaderInfo [schreibgeschützt]
Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört. | DisplayObject | ||
mask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert. | DisplayObject | ||
metaData : Object
Bezieht das Metadatenobjekt der DisplayObject-Instanz, wenn Metadaten neben der Instanz dieses DisplayObject in der SWF-Datei durch ein PlaceObject4-Tag gespeichert wurden. | DisplayObject | ||
mouseChildren : Boolean
Bestimmt, ob die untergeordneten Elemente des Objekts maus- oder benutzereingabegerätfähig sind oder nicht. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Gibt an, ob dieses Objekt Meldungen von der Maus oder einem anderen Benutzereingabegerät empfängt. | InteractiveObject | ||
mouseX : Number [schreibgeschützt]
Gibt die x-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
mouseY : Number [schreibgeschützt]
Gibt die y-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
name : String
Gibt den Instanznamen des Anzeigeobjekts an. | DisplayObject | ||
needsSoftKeyboard : Boolean
Gibt an, ob eine virtuelle Tastatur (Bildschirmtastatur) angezeigt wird, wenn diese InteractiveObject-Instanz den Fokus erhält. | InteractiveObject | ||
numChildren : int [schreibgeschützt]
Liefert die Anzahl der Objekte, die diesem Objekt untergeordnet sind. | DisplayObjectContainer | ||
opaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist. | DisplayObject | ||
parent : DisplayObjectContainer [schreibgeschützt]
Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält. | DisplayObject | ||
root : DisplayObject [schreibgeschützt]
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 | ||
rotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an. | DisplayObject | ||
rotationX : Number
Gibt die x-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationY : Number
Gibt die y-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationZ : Number
Gibt die Drehung der z-Achse der DisplayObject-Instanz in Grad an, ausgehend von ihrer ursprünglichen Ausrichtung relativ zum übergeordneten 3D-Container. | DisplayObject | ||
scale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster. | DisplayObject | ||
scaleX : Number
Gibt die horizontale Skalierung (Prozentwert) des Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleY : Number
Gibt die vertikale Skalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleZ : Number
Gibt die Tiefenskalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt. | DisplayObject | ||
softKeyboard : String
Steuert das Erscheinungsbild der Bildschirmtastatur. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definiert einen Bereich, der auf dem Bildschirm sichtbar bleiben soll, wenn eine virtuelle Tastatur angezeigt wird (nicht unter iOS verfügbar). | InteractiveObject | ||
stage : Stage [schreibgeschützt]
Die Bühne des Anzeigeobjekts. | DisplayObject | ||
tabChildren : Boolean
Bestimmt, ob die dem Objekt untergeordneten Objekte per Tabulatortaste aktivierbar sind. | DisplayObjectContainer | ||
tabEnabled : Boolean
Gibt an, ob sich dieses Objekt in der Tabulatorreihenfolge befindet. | InteractiveObject | ||
tabIndex : int
Gibt die Tabulatorreihenfolge von Objekten in einer SWF-Datei an. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [schreibgeschützt]
Liefert ein TextSnapshot-Objekt für diese DisplayObjectContainer-Instanz. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören. | DisplayObject | ||
visible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht. | DisplayObject | ||
width : Number
Gibt die Breite des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
x : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
y : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
z : Number
Gibt die z-Koordinatenposition an der z-Achse der DisplayObject-Instanz relativ zum übergeordneten 3D-Container an. | DisplayObject |
Methode | Definiert 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 | ||
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 | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
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 | ||
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 | ||
Konvertiert das point-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Konvertiert einen zweidimensionale Punkt von den (globalen) Bühnenkoordinaten in die dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Untersucht den Begrenzungsrahmen des Anzeigeobjekts, um festzustellen, ob er sich mit dem Begrenzungsrahmen des obj-Anzeigeobjekts überschneidet. | DisplayObject | ||
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter „x“ und „y“ festgelegten Punkt überdeckt oder schneidet. | DisplayObject | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Konvertiert einen dreidimensionalen Punkt der dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts in einen zweidimensionalen Punkt der (globalen) Bühnenkoordinaten. | DisplayObject | ||
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten. | DisplayObject | ||
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 | ||
Entfernt alle untergeordneten DisplayObject-Instanzen aus der Liste der untergeordneten Elemente der DisplayObjectContainer-Instanz. | DisplayObjectContainer | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Blendet eine virtuelle Tastatur ein. | InteractiveObject | ||
Ändert die Position eines vorhandenen untergeordneten Objekts im Anzeigeobjekt-Container. | DisplayObjectContainer | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Stoppt rekursiv die Ausführung von allen Movieclips, die auf diesem Objekt gerootet sind. | DisplayObjectContainer | ||
Kehrt die z-Reihenfolge (von vorne nach hinten) der beiden angegebenen untergeordneten Objekte um. | DisplayObjectContainer | ||
Kehrt die z-Reihenfolge (von vorne nach hinten) der untergeordneten Objekte an den beiden angegebenen Indexpositionen in der Child-Liste um. | DisplayObjectContainer | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
mouseChildren | Eigenschaft |
mouseChildren:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bestimmt, ob die untergeordneten Elemente des Objekts maus- oder benutzereingabegerätfähig sind oder nicht. Wenn ein Objekt aktiviert ist, kann ein Benutzer damit interagieren, indem er eine Maus oder ein anderes Benutzereingabegerät 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
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 }
numChildren | Eigenschaft |
numChildren:int
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Liefert die Anzahl der Objekte, die diesem Objekt untergeordnet sind.
Implementierung
public function get numChildren():int
Beispiel ( Verwendung dieses Beispiels )
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
tabChildren | Eigenschaft |
tabChildren:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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
.
Hinweis: Verwenden Sie die tabChildren
-Eigenschaft nicht in Flex. Verwenden Sie stattdessen die mx.core.UIComponent.hasFocusableChildren
-Eigenschaft.
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 ( Verwendung dieses Beispiels )
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);
textSnapshot | Eigenschaft |
textSnapshot:flash.text:TextSnapshot
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Liefert ein TextSnapshot-Objekt für diese DisplayObjectContainer-Instanz.
Implementierung
public function get textSnapshot():flash.text:TextSnapshot
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | Konstruktor |
public function DisplayObjectContainer()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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:
new Loader()
new Sprite()
new MovieClip()
addChild | () | Methode |
public function addChild(child:DisplayObject):DisplayObject
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 Anzeigeobjektcontainer untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.
Hinweis: Der Befehl stage.addChild()
kann mit einer veröffentlichten SWF-Datei Probleme verursachen, darunter Sicherheitsprobleme und Konflikte mit anderen geladenen SWF-Dateien. In einer Flash-Laufzeitinstanz gibt es immer nur eine Bühne, unabhängig davon, wie viele SWF-Dateien Sie in die Laufzeitumgebung laden. Im Allgemeinen sollten Objekte deshalb gar nicht direkt zur Bühne hinzugefügt werden. Das einzige Objekt, dass die Bühne enthalten sollte, ist das Stammobjekt. Erstellen Sie einen DisplayObjectContainer, um alle Elemente der Anzeigeliste aufzunehmen. Falls erforderlich, fügen Sie diese DisplayObjectContainer-Instanz dann der Bühne hinzu.
Parameter
child:DisplayObject — Die DisplayObject-Instanz, die der DisplayObjectContainer-Instanz untergeordnet werden soll.
|
DisplayObject — Die DisplayObject-Instanz, die Sie im Parameter child übergeben.
|
Ereignisse
added: — 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.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 Anzeigeobjektcontainer 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.
|
DisplayObject — Die DisplayObject-Instanz, die Sie im Parameter child übergeben.
|
Ereignisse
added: — 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.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
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.
|
Boolean — true , wenn der Punkt untergeordnete Anzeigeobjekte mit Sicherheitseinschränkungen enthält.
|
Verwandte API-Elemente
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
Beispiel ( Verwendung dieses Beispiels )
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."); }
contains | () | Methode |
public function contains(child:DisplayObject):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
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 ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die untergeordnete Anzeigeobjektinstanz zurück, die sich an der angegebenen Indexposition befindet.
Parameter
index:int — Die Indexposition des untergeordneten Objekts.
|
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.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
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.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Indexposition einer child
-DisplayObject-Instanz zurück.
Parameter
child:DisplayObject — Die DisplayObject-Instanz, die identifiziert werden soll.
|
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 ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
|
Array — Ein Array an Objekten, die unter dem angegebenen Punkt liegen und dieser DisplayObjectContainer-Instanz untergeordnet sind (auch über mehrere Unterordnungsstufen hinweg).
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
container
erstellt, dem dann zwei überlappende untergeordnete Anzeigeobjekte hinzugefügt werden. Der Code ruft getObjectsUnderPoint()
zweimal 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 zurückgegebenen 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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Parameter
child:DisplayObject — Die zu entfernende DisplayObject-Instanz.
|
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 ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Parameter
index:int — Die Child-Indexposition des zu entfernenden Anzeigeobjekts.
|
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 ( Verwendung dieses Beispiels )
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
removeChildren | () | Methode |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 3.0, Flash Player 11 |
Entfernt alle untergeordneten
DisplayObject-Instanzen aus der Liste der untergeordneten Elemente der DisplayObjectContainer-Instanz. Die parent
-Eigenschaft der entfernten untergeordneten Objekte wird auf null
gesetzt, und die Objekte werden vom Garbagekollektor entfernt, wenn keine anderen Verweise auf die untergeordneten Objekte existieren.
Der Garbage Collector weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Parameter
beginIndex:int (default = 0 ) — Die Anfangsposition. Ein Wert, der kleiner als 0 ist, gibt einen RangeError aus.
| |
endIndex:int (default = 0x7fffffff ) — Die Endposition. Ein Wert, der kleiner als 0 ist, gibt einen RangeError aus.
|
Auslöser
RangeError — Gibt einen Fehler aus, wenn die Positionen beginIndex oder endIndex nicht in der Liste der untergeordneten Elemente vorhanden sind.
|
setChildIndex | () | Methode |
public function setChildIndex(child:DisplayObject, index:int):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ä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 bereits belegte Indexposition angeben, werden nur die Positionen zwischen der alten und der neuen Position des Anzeigeobjekts geändert. Alle anderen Positionen bleiben unverändert. Wenn ein untergeordnetes Objekt an eine NIEDRIGERE Indexposition als bisher verschoben wird, werden alle dazwischen liegenden untergeordneten Objekte für den Indexverweis um 1 ERHÖHT. Wenn ein untergeordnetes Objekt an eine HÖHERE Indexposition als bisher verschoben wird, werden alle dazwischen liegenden untergeordneten Objekte für den Indexverweis um 1 VERRINGERT. 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.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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); }
stopAllMovieClips | () | Methode |
public function stopAllMovieClips():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 3.8, Flash Player 11.8 |
Stoppt rekursiv die Ausführung von allen Movieclips, die auf diesem Objekt gerootet sind.
Die untergeordneten Objekte, die zu einer Sandbox gehören, zu der der ausführende Code keinen Zugriff hat, werden ignoriert.
Hinweis: Das Streaming der Medienwiedergabe, die über ein NetStream-Objekt gesteuert wird, wird nicht beendet.
swapChildren | () | Methode |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ein Indix in der Child-Liste nicht existiert.
|
Beispiel ( Verwendung dieses Beispiels )
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
DisplayObjectContainerExample
verwendet, um nacheinander fünf orangefarbene Quadrate zu erstellen. Dies wird in den folgenden Schritten erreicht:
- Der Konstruktor ruft die
configureAssets()
-Methode auf. - Die
configureAssets()
-Methode erstelltchild
- undlastChild
-Sprite-Objekte. - Eine
for
-Schleife erstellt die fünf orangefarbenen Quadrate und ordnet sie nacheinander an. - Immer wenn ein CustomSprite-Objekt erstellt wird, ruft der dazugehörige Konstruktor die
draw()
-Methode desCustomSprite
-Objekts auf. Die Methode erstellt ein Quadrat der Größe 50 x 50 Pixel, indem sie die MethodenbeginFill()
,drawRect()
undendFill()
der Graphics-Klasse aufruft. DieaddChild()
-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(); } }
Tue Jun 12 2018, 10:04 AM Z