Pakiet | flash.display |
Klasa | public class DisplayObjectContainer |
Dziedziczenie | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Podklasy | Loader, Sprite, Stage, TextLine |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Klasa DisplayObject jest klasą abstrakcyjną, dlatego nie jest możliwe jej bezpośrednie wywołanie. Wywoływanie metody new DisplayObject()
powoduje zgłoszenie wyjątku ArgumentError
.
new DisplayObjectContainer()
powoduje zgłoszenie wyjątku ArgumentError
.
Więcej informacji na ten temat zawiera rozdział dotyczący programowania wyświetlania w publikacji ActionScript 3.0 — Podręcznik dla programistów.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Bieżąca implementacja dostępności (AccessibilityImplementation) dla tego wystąpienia klasy InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Bieżące opcje dostępności tego obiektu wyświetlanego. | DisplayObject | ||
alpha : Number
Wartość przezroczystości alfa określonego obiektu. | DisplayObject | ||
blendMode : String
Wartość z klasy BlendMode określająca, jakiego trybu mieszania należy użyć. | DisplayObject | ||
blendShader : Shader [tylko do zapisu]
Ustawia moduł cieniujący, który jest używany do mieszania pierwszego planu oraz tła. | DisplayObject | ||
cacheAsBitmap : Boolean
Jeśli ustawiono wartość true, środowisko wykonawcze Flash buforuje wewnętrzną reprezentację bitmapy obiektu wyświetlanego. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
W przypadku wartości innej niż null ten obiekt Matrix definiuje sposób renderowania obiektu wyświetlanego, gdy cacheAsBitmap jest ustawione na true. | DisplayObject | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
contextMenu : NativeMenu
Określa menu kontekstowe tego obiektu. | InteractiveObject | ||
doubleClickEnabled : Boolean
Określa, czy ten obiekt reaguje na zdarzenia doubleClick (dwukrotne kliknięcia). | InteractiveObject | ||
filters : Array
Indeksowana tablica zawierająca wszystkie filtry aktualnie skojarzone z obiektem wyświetlanym. | DisplayObject | ||
focusRect : Object
Określa, czy z tym obiektem skojarzono ramkę aktywności. | InteractiveObject | ||
height : Number
Wysokość obiektu ekranowego w pikselach. | DisplayObject | ||
loaderInfo : LoaderInfo [tylko do odczytu]
Zwraca obiekt LoaderInfo zawierający informacje o ładowaniu pliku, do którego należy ten obiekt wyświetlany. | DisplayObject | ||
mask : DisplayObject
Wywoływany obiekt wyświetlany jest maskowany przez określony obiekt maski. | DisplayObject | ||
metaData : Object
Pobiera obiekt metadanych wystąpienia klasy DisplayObject, jeśli metadane są przechowywane razem z tym wystąpieniem klasy DisplayObject w pliku SWF, korzystając ze znacznika PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Określa, czy elementy potomne obiektu obsługują mysz lub inne urządzenie wejściowe użytkownika. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Określa, czy ten obiekt odbiera komunikaty z myszy lub innego urządzenia wejściowego użytkownika. | InteractiveObject | ||
mouseX : Number [tylko do odczytu]
Określa współrzędną x myszy lub urządzenia wejściowego użytkownika w pikselach. | DisplayObject | ||
mouseY : Number [tylko do odczytu]
Określa współrzędną y myszy lub urządzenia wejściowego użytkownika w pikselach. | DisplayObject | ||
name : String
Nazwa instancji obiektu DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Określa, czy klawiatura wirtualna (klawiatura programowa wyświetlana na ekranie) powinna być wyświetlana, gdy to wystąpienie klasy InteractiveObject staje się aktywne. | InteractiveObject | ||
numChildren : int [tylko do odczytu]
Zwraca liczbę elementów potomnych tego obiektu. | DisplayObjectContainer | ||
opaqueBackground : Object
Określa, czy przy konkretnym kolorze tła obiekt wyświetlany jest nieprzejrzysty. | DisplayObject | ||
parent : DisplayObjectContainer [tylko do odczytu]
Odnosi się do obiektu DisplayObjectContainer, który zawiera obiekt wyświetlany. | DisplayObject | ||
root : DisplayObject [tylko do odczytu]
Dla obiektu wyświetlanego w załadowanym pliku SWF główną właściwość stanowi obiekt wyświetlany na samym szczycie na liście wyświetlania w postaci struktury drzewa, którą reprezentuje plik SWF. | DisplayObject | ||
rotation : Number
Określa wielkość obrotu instancji obiektu DisplayObject (w kątach). | DisplayObject | ||
rotationX : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi x — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
rotationY : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi y — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
rotationZ : Number
Wskazuje kąt obrotu (w stopniach) instancji DisplayObject wokół osi z — od pozycji początkowej względem nadrzędnego kontenera 3D. | DisplayObject | ||
scale9Grid : Rectangle
Aktualnie stosowana siatka skalowania. | DisplayObject | ||
scaleX : Number
Wskazuje skalę poziomą (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scaleY : Number
Wskazuje skalę pionową (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scaleZ : Number
Wskazuje skalę głębokości (procent) obiektu względem punktu odniesienia. | DisplayObject | ||
scrollRect : Rectangle
Granice obszaru przewijania obiektu wyświetlanego. | DisplayObject | ||
softKeyboard : String
Steruje wyglądem klawiatury programowej. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definiuje obszar, który powinien pozostać na ekranie po wyświetleniu klawiatury programowej (niedostępna w systemie iOS). | InteractiveObject | ||
stage : Stage [tylko do odczytu]
Stół montażowy obiektu wyświetlanego. | DisplayObject | ||
tabChildren : Boolean
Określa, czy elementy potomne tego obiektu mają reagować na klawisz Tab. | DisplayObjectContainer | ||
tabEnabled : Boolean
Określa, czy do tego obiektu można przejść za pomocą klawisza Tab. | InteractiveObject | ||
tabIndex : int
Określa kolejność uaktywniania obiektów (z pliku SWF) za pomocą klawisza Tab. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [tylko do odczytu]
Zwraca obiekt TextSnapshot dla tego wystąpienia klasy DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Obiekt z właściwościami dotyczącymi matrycy obiektu wyświetlanego, transformacji kolorów oraz granic pikseli. | DisplayObject | ||
visible : Boolean
Decyduje, czy obiekt wyświetlany jest widoczny, czy nie. | DisplayObject | ||
width : Number
Szerokość obiektu ekranowego w pikselach. | DisplayObject | ||
x : Number
Oznacza współrzędną x instancji obiektu DisplayObject w lokalnym układzie współrzędnych nadrzędnego obiektu DisplayObjectContainer. | DisplayObject | ||
y : Number
Oznacza współrzędną y instancji obiektu DisplayObject w lokalnym układzie współrzędnych nadrzędnego obiektu DisplayObjectContainer. | DisplayObject | ||
z : Number
Wskazuje współrzędną wzdłuż osi Z instancji DisplayObject względem nadrzędnego kontenera 3D. | DisplayObject |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Wywołanie nowego konstruktora DisplayObjectContainer() skutkuje wyjątkiem ArgumentError. | DisplayObjectContainer | ||
Dodaje potomne wystąpienie klasy DisplayObject do tego wystąpienia klasy DisplayObjectContainer. | DisplayObjectContainer | ||
Dodaje potomne wystąpienie klasy DisplayObject do tego wystąpienia klasy DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wskazuje, czy ograniczenia ze względów bezpieczeństwa będą powodowały pomijanie obiektów wyświetlanych na liście uzyskanej poprzez wywołanie metody DisplayObjectContainer.getObjectsUnderPoint() z określonym punktem. | DisplayObjectContainer | ||
Decyduje o tym, czy określony obiekt ekranowy jest potomkiem instancji obiektu DisplayObjectContainer, czy też sam jest taką instancją. | DisplayObjectContainer | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Zwraca prostokąt definiujący obszar obiektu wyświetlanego (w układzie współrzędnych obiektu targetCoordinateSpace). | DisplayObject | ||
Zwraca instancję podrzędnego obiektu wyświetlanego o podanym indeksie. | DisplayObjectContainer | ||
Zwraca instancję podrzędnego obiektu wyświetlanego o podanej nazwie. | DisplayObjectContainer | ||
Zwraca indeks podrzędnej instancji DisplayObject. | DisplayObjectContainer | ||
Zwraca tablicę obiektów, które leżą poniżej określonego punktu i są obiektami podrzędnymi tej instancji obiektu DisplayObjectContainer. | DisplayObjectContainer | ||
Zwraca prostokąt definiujący granice obiektu wyświetlanego w układzie współrzędnych określonych przez parametr targetCoordinateSpace (z wyłączeniem konturów kształtów). | DisplayObject | ||
Konwertuje obiekt punktowy ze współrzędnych obiektu Stage (globalne) do współrzędnych obiektu wyświetlanego (lokalne). | DisplayObject | ||
Konwertuje punkt dwuwymiarowy ze współrzędnych stołu wymiarowego (globalnych) na współrzędne trójwymiarowego obiektu wyświetlanego (lokalne). | DisplayObject | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wyznacza prostokąt ograniczający obiekt wyświetlany w celu sprawdzenia, czy zachodzi on lub przecina się z prostokątem ograniczającym obiektu wyświetlanego obj. | DisplayObject | ||
Analizuje obiekt wyświetlany w celu ustalenia czy nakłada się on lub przecina punkt określony przez parametry x i y. | DisplayObject | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Konwertuje punkt trójwymiarowy trójwymiarowego obiektu wyświetlanego (lokalnego) na punkt dwuwymiarowy we współrzędnych stołu montażowego (globalnych). | DisplayObject | ||
Konwertuje obiekt punktowy ze współrzędnych obiektu wyświetlanego (lokalne) do współrzędnych obiektu Stage (globalne). | DisplayObject | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa określoną instancję obiektu podrzędnego DisplayObject z listy obiektów podrzędnych instancji DisplayObjectContainer. | DisplayObjectContainer | ||
Usuwa obiekt potomny DisplayObject o podanym indeksie z listy elementów potomnych obiektu DisplayObjectContainer. | DisplayObjectContainer | ||
Powoduje usunięcie wszystkich wystąpień potomnych klasy DisplayObject z listy obiektów potomnych wystąpień klasy DisplayObjectContainer. | DisplayObjectContainer | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Powoduje uniesienie klawiatury wirtualnej. | InteractiveObject | ||
Zmienia położenie istniejącego elementu potomnego w kontenerze obiektów ekranowych. | DisplayObjectContainer | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Rekurencyjnie zatrzymuje wykonywanie osi czasu wszystkich obiektów MovieClip, dla których ten obiekt jest obiektem głównym. | DisplayObjectContainer | ||
Zamienia kolejność dwóch określonych obiektów podrzędnych. | DisplayObjectContainer | ||
Zamienia miejscami na liście dwa różne obiekty potomne o podanych indeksach. | DisplayObjectContainer | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
mouseChildren | właściwość |
mouseChildren:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Określa, czy elementy podrzędne obiektu obsługują mysz lub inne urządzenie wejściowe użytkownika. Jeśli obiekt obsługuje takie urządzenia, użytkownik może wchodzić z nim w interakcje za pomocą myszy lub innego urządzenia wejściowego. Wartością domyślną jest true
.
Właściwość ta jest pomocna przy utworzeniu przycisku z instancją klasy Sprite (zamiast wykorzystania klasy SimpleButton). Przy wykorzystaniu instancji Sprite w celu utworzenia przycisku możliwa jest dekoracja przycisku przez zastosowanie metody addChild()
w celu dodania innych instancji Sprite. Proces ten może wywołać nieoczekiwane zachowanie ze zdarzeniami myszy, ponieważ dodawane instancje Sprite jako elementy podrzędne mogą stać się obiektami docelowymi zdarzeń myszy, zamiast planowanych obiektów nadrzędnych. W celu zapewnienia, iż obiektami docelowymi zdarzeń myszy będą obiekty nadrzędne, należy ustawić właściwość mouseChildren
instancji nadrzędnej na wartość false
.
Ustawienie tej właściwości nie powoduje wywołania żadnego zdarzenia. Konieczne jest zastosowanie metody addEventListener()
w celu utworzenia interaktywnej funkcjonalności.
Implementacja
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz przedstawia jak ustawienie właściwości mouseChildren
na wartość false
powoduje, iż celem zdarzenia mouseClick
staje się obiekt container
, a nie jego obiekty podrzędne:
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 | właściwość |
numChildren:int
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca liczbę elementów potomnych tego obiektu.
Implementacja
public function get numChildren():int
Przykład ( Sposób korzystania z tego przykładu )
container1
i container2
. Sprite jest typem kontenera obiektów wyświetlania. Przykład ilustruje wywołanie metody addChild()
w celu ustalenia hierarchii wyświetlania: container1
jest elementem potomnym obiektu container2
, zaś dwa inne obiekty wyświetlania circle1
i circle2
są elementami potomnymi obiektu container1
. Wywołania do metody trace()
ukazują liczbę elementów potomnych dla każdego obiektu. Należy zauważyć, iż elementy wnucząt nie są zawierane w wyliczeniu numChildren
:
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
tabChildren | właściwość |
tabChildren:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Określa, czy obiekty podrzędne tego obiektu mają reagować na klawisz Tab. Włącza lub wyłącza przechodzenie klawiszem Tab między elementami podrzędnymi obiektu. Wartością domyślną jest true
.
Uwaga: Nie należy korzystać z właściwości tabChildren
w środowisku Flex. Należy zamiast tego skorzystać z właściwości mx.core.UIComponent.hasFocusableChildren
.
Implementacja
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
Zgłasza
IllegalOperationError — Wywoływanie tej właściwości obiektu Stage powoduje zgłoszenie wyjątku. Obiekt Stage nie implementuje tej właściwości.
|
Przykład ( Sposób korzystania z tego przykładu )
container1
oraz dodanie dwóch obiektów wyświetlanych circle1
i circle 2
do jego listy obiektów podrzędnych. W przykładzie tym właściwość tabChildren ma wartość false
dla obiektów podrzędnych, dzięki czemu możliwe jest zdefiniowanie własnej sekwencji wyboru klawiszem Tab przy wykorzystaniu właściwości tabIndex
.
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = false; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabIndex = 1; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabIndex = 0; container.addChild(circle1); container.addChild(circle2);
textSnapshot | właściwość |
textSnapshot:flash.text:TextSnapshot
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Zwraca obiekt TextSnapshot dla tego wystąpienia klasy DisplayObjectContainer.
Implementacja
public function get textSnapshot():flash.text:TextSnapshot
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | Konstruktor |
public function DisplayObjectContainer()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływanie konstruktora new DisplayObjectContainer()
powoduje zgłoszenie wyjątku ArgumentError
. Jednakże możliwe jest wywołanie konstruktorów następujących podklas obiektu DisplayObjectContainer:
new Loader()
new Sprite()
new MovieClip()
addChild | () | metoda |
public function addChild(child:DisplayObject):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dodaje potomne wystąpienie klasy DisplayObject do tego wystąpienia klasy DisplayObjectContainer. Obiekt podrzędny jest dodawany na przód (szczyt) pozostałych obiektów podrzędnych w tej instancji DisplayObjectContainer. (W celu dodania obiektu podrzędnego na określony indeks należy wykorzystać metodę addChildAt()
).
Dodanie obiektu potomnego, który ma już element macierzysty w postaci innego kontenera obiektów ekranowych, spowoduje usunięcie tego obiektu z listy elementów potomnych tego innego kontenera obiektów ekranowych.
Uwaga: Polecenie stage.addChild()
może powodować problemy w opublikowanych plikach SWF, a w szczególności problemy z zabezpieczeniami i konflikty z innymi załadowanymi plikami SWF. W danej instancji środowiska wykonawczego Flash istnieje tylko jeden stół montażowy, niezależnie od tego, ile plików SWF jest załadowanych do środowiska. Dlatego co do zasady nie należy nigdy dodawać obiektów bezpośrednio do stołu montażowego. Jedynym obiektem, jaki powinien zawierać stół montażowy, jest obiekt główny hierarchii. Należy utworzyć obiekt DisplayObjectContainer, który będzie zawierał wszystkie elementy listy wyświetlania. Następnie w razie potrzeby należy dodać tę instancję klasy DisplayObjectContainer do stołu montażowego.
Parametry
child:DisplayObject — Instancja DisplayObject do dodania jako element podrzędny tej instancji DisplayObjectContainer.
|
DisplayObject — Instancja DisplayObject, która jest przekazywana w parametrze child .
|
Zdarzenia
added: — Wywoływane, gdy obiekt ekranowy jest dodawany do listy wyświetlania.
|
Zgłasza
ArgumentError — Zgłasza wyjątek, jeżeli obiekt podrzędny jest jaki sam jak obiekt nadrzędny. Również zgłasza wyjątek, jeżeli element wywołujący jest obiektem podrzędnym (lub starszym) dodawanego obiektu podrzędnego.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container1
i container2
. Sprite jest typem kontenera obiektów wyświetlania. Przykład ilustruje wywołanie metody addChild()
w celu ustalenia hierarchii wyświetlania: container1
jest elementem potomnym obiektu container2
, zaś dwa inne obiekty wyświetlania circle1
i circle2
są elementami potomnymi obiektu container1
. Wywołania do metody trace()
ukazują liczbę elementów potomnych dla każdego obiektu. Należy zauważyć, iż elementy wnucząt nie są zawierane w wyliczeniu numChildren
:
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
addChildAt | () | metoda |
public function addChildAt(child:DisplayObject, index:int):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dodaje instancję obiektu podrzędnego DisplayObject do tej instancji obiektu DisplayObjectContainer. Obiekt podrzędny jest dodawany na następnym określonym indeksie. Indeks równy 0 reprezentuje tył (dół) listy wyświetlania dla tego obiektu DisplayObjectContainer.
Trzy obiekty wyświetlane o etykietach a, b i c znajdują się odpowiednio na indeksach 0, 2 i 1, co widać na poniższym przykładzie:
W przypadku dodania obiektu podrzędnego, który jako obiekt nadrzędny posiada już inny kontener obiektów wyświetlanych, jest on usuwany z listy obiektów podrzędnych tego kontenera.
Parametry
child:DisplayObject — Instancja DisplayObject do dodania jako element podrzędny tej instancji DisplayObjectContainer.
| |
index:int — Pozycja w indeksie, do której dodawany jest element podrzędny. Jeżeli zostanie określona pozycja w indeksie, która jest obecnie zajęta, wówczas obiekt podrzędny istniejący na tej pozycji i wszystkich powyższych jest przesuwany o jedną pozycję w górę na liście obiektów podrzędnych.
|
DisplayObject — Instancja DisplayObject, która jest przekazywana w parametrze child .
|
Zdarzenia
added: — Wywoływane, gdy obiekt ekranowy jest dodawany do listy wyświetlania.
|
Zgłasza
RangeError — Zgłasza wyjątek, jeżeli indeks nie istnieje na liście obiektów podrzędnych.
| |
ArgumentError — Zgłasza wyjątek, jeżeli obiekt podrzędny jest jaki sam jak obiekt nadrzędny. Również zgłasza wyjątek, jeżeli element wywołujący jest obiektem podrzędnym (lub starszym) dodawanego obiektu podrzędnego.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie obiektów wyświetlania circle1
do jego listy wyświetlania. Następnie poprzez wywołanie metody container.addChildAt(circle2, 0)
dodaje obiekt circle2
na indeks zerowy (tył) i przesuwa obiekt circle1
na indeks 1:
import flash.display.Sprite; var container:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); var circle2:Sprite = new Sprite(); container.addChild(circle1); container.addChildAt(circle2, 0); trace(container.getChildAt(0) == circle2); // true trace(container.getChildAt(1) == circle1); // true
areInaccessibleObjectsUnderPoint | () | metoda |
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wskazuje, czy ograniczenia ze względów bezpieczeństwa mogą spowodować pominięcie obiektów wyświetlanych z listy zwróconej przy wywołaniu metody DisplayObjectContainer.getObjectsUnderPoint()
z określonym punktem point
. Domyślnie zawartość jednej domeny nie może mieć dostępu do obiektów innej domeny, chyba że zostało to dozwolone poprzez wywołanie metody Security.allowDomain()
. Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w witrynie Flash Player Developer Center: Bezpieczeństwo.
Parametr point
jest określony w układzie współrzędnych obiektu Stage, który może różnić się względem układu współrzędnych kontenera obiektów wyświetlanych (chyba że jest nim obiekt Stage). Możliwe jest zastosowanie metod globalToLocal()
i localToGlobal()
w celu konwersji punktów pomiędzy dwoma układami współrzędnych.
Parametry
point:Point — Punkt, wokół którego ma odbywać się przeszukiwanie.
|
Boolean — Wartość true , jeżeli punkt zawiera podrzędne obiekty wyświetlane z ograniczeniami ze względów bezpieczeństwa.
|
Powiązane elementy interfejsu API
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
Przykład ( Sposób korzystania z tego przykładu )
container
. Następny blok kodu wykorzystuje obiekt Loader w celu załadowania pliku JPEG o nazwie "test.jpg" ze zdalnego serwera plików. Należy zauważyć, iż właściwość checkPolicyFile
obiektu LoaderContext, wykorzystana jako parametr metody load()
, jest ustawiona na wartość false
. Po załadowaniu pliku kod wywołuje metodę loaded()
, która wywołuje metodę container.areInaccessibleObjectsUnderPoint()
zwracającą wartość true
, ponieważ przyjęte zostało, iż załadowana wartość pochodzi z niedostępnej domeny:
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 | () | metoda |
public function contains(child:DisplayObject):Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Decyduje o tym, czy określony obiekt wyświetlany jest obiektem podrzędnym instancji obiektu DisplayObjectContainer, czy też sam jest taką instancją. Przeszukiwanie obejmuje całą listę wyświetlania, włącznie z tą instancją DisplayObjectContainer. Obiekty wnucząt i prawnucząt (itd.) zwracają wartość true
.
Parametry
child:DisplayObject — Obiekt potomny do przetestowania.
|
Boolean — Wartość true jeżeli obiekt child jest elementem potomnym obiektu DisplayObjectContainer lub samego kontenera; wartość false w innym przypadku.
|
Przykład ( Sposób korzystania z tego przykładu )
contains()
:
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); var sprite4:Sprite = new Sprite(); sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite1.contains(sprite1)); // true trace(sprite1.contains(sprite2)); // true trace(sprite1.contains(sprite3)); // true trace(sprite1.contains(sprite4)); // false
getChildAt | () | metoda |
public function getChildAt(index:int):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca wystąpienie potomnego obiektu ekranowego o podanym indeksie.
Parametry
index:int — Indeks obiektu podrzędnego.
|
DisplayObject — Obiekt potomny znajdujący się na określonym indeksie.
|
Zgłasza
RangeError — Zgłasza wyjątek, jeżeli indeks nie istnieje na liście obiektów potomnych.
| |
SecurityError — Ten potomny obiekt ekranowy należy do obszaru izolowanego, do którego użytkownik nie ma dostępu. Można uniknąć tej sytuacji poprzez wywołanie metody Security.allowDomain() przez film potomny.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie trzech obiektów wyświetlanych do listy obiektów podrzędnych obiektu container
. Wówczas wywołania do metody getChildAt()
ukazują położenia obiektów podrzędnych:
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 | () | metoda |
public function getChildByName(name:String):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca instancję podrzędnego obiektu wyświetlanego o podanej nazwie. Jeżeli więcej niż jeden podrzędny obiekt wyświetlany nosi tę określoną nazwę, metoda zwraca pierwszy obiekt z listy obiektów podrzędnych.
Metoda getChildAt()
jest szybsza niż metoda getChildByName()
. Metoda getChildAt()
uzyskuje dostęp do obiektu podrzędnego wprost z buforowanej tablicy, zaś metoda getChildByName()
musi w tym celu przejść przez powiązaną listę.
Parametry
name:String — Zwracana nazwa obiektu podrzędnego.
|
DisplayObject — Podrzędny obiekt wyświetlany o określonej nazwie.
|
Zgłasza
SecurityError — Ten podrzędny obiekt wyświetlany należy do obszaru izolowanego, do którego użytkownik nie ma dostępu. Można uniknąć tej sytuacji przez wywołanie metody Security.allowDomain() w filmie potomnym.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie dwóch potomnych obiektów ekranowych do jego listy wyświetlania. Następnie kod wywołuje metody getChildByName()
i getChildIndex()
w celu zwrócenia indeksu elementu potomnego obiektu container
o właściwości name "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getChildIndex | () | metoda |
public function getChildIndex(child:DisplayObject):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca indeks instancji child
DisplayObject.
Parametry
child:DisplayObject — Instancja DisplayObject do identyfikacji.
|
int — Indeks podrzędnego obiektu wyświetlanego do identyfikacji.
|
Zgłasza
ArgumentError — Zgłasza wyjątek, jeżeli parametr potomny nie jest elementem potomnym tego obiektu.
|
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie dwóch potomnych obiektów ekranowych do jego listy wyświetlania. Następnie kod wywołuje metody getChildByName()
i getChildIndex()
w celu zwrócenia indeksu elementu potomnego obiektu container
o właściwości name "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getObjectsUnderPoint | () | metoda |
public function getObjectsUnderPoint(point:Point):Array
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca tablicę obiektów, które leżą poniżej określonego punktu i są obiektami podrzędnymi tej instancji obiektu DisplayObjectContainer. Obiekty niedostępne ze względów bezpieczeństwa są pominięte w zwróconej tablicy. W celu określenia, czy ograniczenia ze względów bezpieczeństwa mają wpływ na zwracaną tablicę, należy wywołać metodę areInaccessibleObjectsUnderPoint()
.
Parametr point
jest określony w układzie współrzędnych obiektu Stage, który może różnić się względem układu współrzędnych kontenera obiektów wyświetlanych (chyba że jest nim obiekt Stage). Możliwe jest zastosowanie metod globalToLocal()
i localToGlobal()
w celu konwersji punktów pomiędzy dwoma układami współrzędnych.
Parametry
point:Point — Punkt, wokół którego ma odbywać się przeszukiwanie.
|
Array — Tablica obiektów leżących poniżej określonego punktu i będących obiektami podrzędnymi (bezpośrednio lub pośrednio) tej instancji klasy DisplayObjectContainer.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie do niego dwóch częściowo nachodzących na siebie podrzędnych obiektów wyświetlanych. Następnie kod wywołuje metodę getObjectsUnderPoint()
dwukrotnie — za pierwszym razem wykorzystując punkt zetknięcia tylko z jednym obiektem, a potem w punkcie nałożenia obiektów — natomiast parametr length
zwróconej tablicy przedstawia liczbę obiektów w każdym punkcie kontenera.
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 | () | metoda |
public function removeChild(child:DisplayObject):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Usuwa określoną instancję child
DisplayObject z listy obiektów podrzędnych instancji DisplayObjectContainer. Właściwość parent
usuniętego obiektu podrzędnego jest ustawiona na wartość null
, zaś obiekt jest usuwany jako element zbędny, jeżeli nie ma do niego innych odwołań. Indeksy dowolnych obiektów wyświetlanych znajdujących się ponad obiektem podrzędnym w obiekcie DisplayObjectContainer są zmniejszane o 1.
Proces czyszczenia pamięci ponownie przydziela niewykorzystane miejsce w pamięci. Jeżeli zmienna lub obiekt nie są już aktywnie używane lub aktywnie przechowywane, wówczas proces czyszczenia pamięci zwalnia zajmowaną przez nie pamięć, o ile nie istnieją odwołania do nich.
Parametry
child:DisplayObject — Instancja DisplayObject do usunięcia.
|
DisplayObject — Wystąpienie klasy DisplayObject, które jest przekazywane w parametrze child .
|
Zgłasza
ArgumentError — Zgłasza wyjątek, jeżeli parametr potomny nie jest elementem potomnym tego obiektu.
|
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie dwóch podrzędnych obiektów wyświetlanych do jego listy wyświetlania. Detektor zdarzeń jest dodawany do obiektu o nazwie container
, tak że w momencie kliknięcia jego obiektu podrzędnego przez użytkownika metoda removeChild()
usuwa obiekt podrzędny z listy obiektów podrzędnych kontenera.
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 | () | metoda |
public function removeChildAt(index:int):DisplayObject
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Usuwa obiekt potomny DisplayObject z określonej pozycji index
z listy obiektów potomnych instancji DisplayObjectContainer. Właściwość parent
usuniętego obiektu potomnego jest ustawiona na wartość null
, zaś obiekt jest usuwany jako element zbędny, jeżeli nie ma do niego innych odwołań. Indeksy dowolnych obiektów wyświetlanych znajdujących się ponad obiektem podrzędnym w obiekcie DisplayObjectContainer są zmniejszane o 1.
Proces czyszczenia pamięci ponownie przydziela niewykorzystane miejsce w pamięci. Jeżeli zmienna lub obiekt nie są już aktywnie używane lub aktywnie przechowywane, wówczas proces czyszczenia pamięci zwalnia zajmowaną przez nie pamięć, o ile nie istnieją odwołania do nich.
Parametry
index:int — Indeks obiektów podrzędnych obiektu DisplayObject do usunięcia.
|
DisplayObject — Instancja DisplayObject, która została usunięta.
|
Zgłasza
SecurityError — Podrzędny obiekt wyświetlany należy do obszaru izolowanego, do którego obiekt wywołujący nie ma dostępu. Można uniknąć tej sytuacji poprzez wywołanie metody Security.allowDomain() przez film macierzysty.
| |
RangeError — Zgłasza wyjątek, jeżeli indeks nie istnieje na liście obiektów potomnych.
|
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie dwóch podrzędnych obiektów wyświetlanych do jego listy wyświetlania. Następnie kod ilustruje, iż w momencie wywołania metody removeChildAt()
w celu usunięcia obiektu podrzędnego na najniższym indeksie (0), każdy inny obiekt podrzędny na liście przesuwa się o jedną pozycję w dół:
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 | () | metoda |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.0, Flash Player 11 |
Powoduje usunięcie wszystkich obiektów DisplayObject o właściwości child
z listy obiektów potomnych wystąpienia klasy DisplayObjectContainer. Dla właściwości parent
usuniętych obiektów potomnych zostaje ustawiona wartość null
, zaś obiekty są usuwane jako elementy zbędne, jeżeli nie ma do nich innych odniesień.
Proces czyszczenia pamięci ponownie przydziela niewykorzystane miejsce w pamięci. Jeżeli zmienna lub obiekt nie są już aktywnie używane lub aktywnie przechowywane, wówczas proces czyszczenia pamięci zwalnia zajmowaną przez nie pamięć, o ile nie istnieją odwołania do nich.
Parametry
beginIndex:int (default = 0 ) — Pozycja początkowa. Wartość mniejsza niż 0 powoduje wygenerowanie wyjątku RangeError .
| |
endIndex:int (default = 0x7fffffff ) — Pozycja końcowa. Wartość mniejsza niż 0 powoduje wygenerowanie wyjątku RangeError .
|
Zgłasza
RangeError — Generowany, gdy pozycja beginIndex lub endIndex nie istnieje na liście elementów potomnych.
|
setChildIndex | () | metoda |
public function setChildIndex(child:DisplayObject, index:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zmienia położenie istniejącego potomka w kontenerze obiektu ekranowego. Ma to wpływ na warstwowanie obiektów podrzędnych. Trzy obiekty wyświetlane o etykietach a, b i c znajdują się odpowiednio na indeksach 0, 1 i 2, co widać na poniższym przykładzie:
Przy wykorzystaniu metody setChildIndex()
i określeniu indeksu, który jest już zajęty, jedynymi pozycjami ulegającymi zmianie są stara i nowa pozycja obiektu wyświetlanego. Wszystkie inne pozycje pozostają bez zmian. Jeżeli obiekt podrzędny jest przesunięty na index NIŻSZY niż obecny, wówczas wszystkie obiekty w przestrzeni zmiany pozycji ZWIĘKSZAJĄ swoje odwołanie indeksowe o 1. Jeżeli obiekt potomny jest przesunięty na index WYŻSZY niż obecny, wówczas wszystkie obiekty w przestrzeni zmiany pozycji ZMNIEJSZAJĄ swoje odwołanie indeksowe o 1. Przykładowo jeżeli kontener obiektów wyświetlania nosi nazwę container
(z poprzedniego przykładu), wówczas możliwa jest zamiana pozycji obiektów wyświetlania nazwanych a i b poprzez wywołanie następującego kodu:
container.setChildIndex(container.getChildAt(1), 0);
Kod ten skutkuje ułożeniem obiektów w sposób przedstawiony poniżej:
Parametry
child:DisplayObject — Potomna instancja DisplayObject, dla której zachodzi potrzeba zmiany numeru indeksu.
| |
index:int — Wynikający numer indeksu child obiektu wyświetlania.
|
Zgłasza
RangeError — Zgłasza wyjątek, jeżeli indeks nie istnieje na liście obiektów podrzędnych.
| |
ArgumentError — Zgłasza wyjątek, jeżeli parametr podrzędny nie jest elementem podrzędnym tego obiektu.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie do niego trzech częściowo nachodzących na siebie podrzędnych obiektów wyświetlanych. W momencie kliknięcia dowolnego z tych obiektów przez użytkownika metoda clicked()
wywołuje metodę setChildIndex()
w celu przesunięcia klikniętego obiektu na szczytową pozycję listy obiektów podrzędnych obiektu container
:
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(100, 40, 40); circle2.addEventListener(MouseEvent.CLICK, clicked); var circle3:Sprite = new Sprite(); circle3.graphics.beginFill(0x0000FF); circle3.graphics.drawCircle(70, 80, 40); circle3.addEventListener(MouseEvent.CLICK, clicked); container.addChild(circle1); container.addChild(circle2); container.addChild(circle3); addChild(container); function clicked(event:MouseEvent):void { var circle:Sprite = Sprite(event.target); var topPosition:uint = container.numChildren - 1; container.setChildIndex(circle, topPosition); }
stopAllMovieClips | () | metoda |
public function stopAllMovieClips():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3.8, Flash Player 11.8 |
Rekurencyjnie zatrzymuje wykonywanie osi czasu wszystkich obiektów MovieClip, dla których ten obiekt jest obiektem głównym.
Potomne obiekty ekranowe należące do obszaru izolowanego, do którego wykonywany kod nie ma dostępu, są ignorowane.
Uwaga: Nie zostanie zatrzymane strumieniowe odtwarzanie multimediów sterowane obiektem NetStream.
swapChildren | () | metoda |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zamienia kolejność dwóch określonych obiektów podrzędnych. Wszelkie pozostałe obiekty potomne w kontenerze obiektów ekranowych pozostają na tych samych indeksach.
Parametry
child1:DisplayObject — Pierwszy obiekt podrzędny.
| |
child2:DisplayObject — Drugi obiekt podrzędny.
|
Zgłasza
ArgumentError — Zgłasza wyjątek, jeżeli dowolny z parametrów podrzędnych nie jest elementem podrzędnym tego obiektu.
|
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie do niego dwóch potomnych obiektów wyświetlania, a następnie efekt wywołania metody swapChildrenAt()
:
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 | () | metoda |
public function swapChildrenAt(index1:int, index2:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zamienia miejscami na liście dwa różne obiekty podrzędne o podanych indeksach. Wszelkie pozostałe obiekty podrzędne w kontenerze obiektów wyświetlanych pozostają na tych samych indeksach.
Parametry
index1:int — Pozycja w indeksie pierwszego obiektu potomnego.
| |
index2:int — Pozycja w indeksie drugiego obiektu podrzędnego.
|
Zgłasza
RangeError — Jeżeli żaden z indeksów nie istnieje na liście obiektów podrzędnych.
|
Przykład ( Sposób korzystania z tego przykładu )
container
oraz dodanie do niego trzech potomnych obiektów wyświetlania, a następnie sposób, w jaki wywołanie metody swapChildrenAt()
zmienia kolejność w liście kontenera obiektów wyświetlania:
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
w celu utworzenia kolejno pięciu pomarańczowych kwadratów. Zadanie to jest realizowane przez wykonanie następujących kroków:
- Konstruktor wywołuje metodę
configureAssets()
. - Metoda
configureAssets()
tworzy obiekty Spritechild
orazlastChild
. - Pętla
for
tworzy pięć pomarańczowych kwadratów oraz umieszcza je jeden obok drugiego. - Za każdym razem, gdy tworzony jest obiekt CustomSprite, jego konstruktor wywołuje metodę
draw()
dla obiektuCustomSprite
, która tworzy kwadrat 50 x 50 pikseli poprzez wywołanie metodbeginFill()
,drawRect()
iendFill()
klasy Graphics. MetodaaddChild()
dodaje każdy z tych kwadratów do listy wyświetlania.
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, 12:06 PM Z