Paket | flash.display |
Klass | public class DisplayObjectContainer |
Arv | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Underklasser | Loader, Sprite, Stage, TextLine |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject är en abstrakt basklass och du kan därför inte anropa DisplayObject direkt. Anrop av new DisplayObject()
ger ett ArgumentError
-undantag.
ny DisplayObjectContainer()
-konstruktor ger ett ArgumentError
-undantag.
Ytterligare information finns i kapitlet ”Visningsprogrammering” i boken Utvecklarhandbok för Adobe ActionScript 3.0.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Den aktuella hjälpmedelsimplementeringen (AccessibilityImplementation) för den här InteractiveObject-instansen. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
De nuvarande hjälpmedelsalternativen för det här visningsobjektet. | DisplayObject | ||
alpha : Number
Anger det angivna objektets alfagenomskinlighetsvärde. | DisplayObject | ||
blendMode : String
Ett värde från klassen BlendMode som anger vilket blandningsläge som ska användas. | DisplayObject | ||
blendShader : Shader [lässkyddad]
Ställer in en skuggning som används för blandning av förgrund och bakgrund. | DisplayObject | ||
cacheAsBitmap : Boolean
Om det är true, sparar Flash-miljöerna en intern bitmappsrepresentation av visningsobjektet i cache-minnet. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Om detta inte är null definierar det här Matrix-objektet hur ett visningsobjekt återges när cacheAsBitmap har värdet true. | DisplayObject | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
contextMenu : NativeMenu
Anger vilken snabbmeny som är associerad med det här objektet. | InteractiveObject | ||
doubleClickEnabled : Boolean
Anger om det här objektet tar emot doubleClick-händelser. | InteractiveObject | ||
filters : Array
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet. | DisplayObject | ||
focusRect : Object
Anger om det här objektet visar en fokusram. | InteractiveObject | ||
height : Number
Anger visningsobjektets höjd i pixlar. | DisplayObject | ||
loaderInfo : LoaderInfo [skrivskyddad]
Returnerar ett LoaderInfo-objekt som innehåller information om hur filen som visningsobjektet tillhör ska läsas in. | DisplayObject | ||
mask : DisplayObject
Det anropande visningsobjektet maskeras av det angivna visningsobjektet. | DisplayObject | ||
metaData : Object
Erhåller metadataobjektet för instansen DisplayObject om metadata har lagrats tillsammans med instansen för detta DisplayObject i SWF-filen via en PlaceObject4-tagg. | DisplayObject | ||
mouseChildren : Boolean
Avgör om objektets underordnade objekt är aktiverade för en mus eller annan användarindataenhet (eller inte). | DisplayObjectContainer | ||
mouseEnabled : Boolean
Anger om det här objektet tar emot musmeddelanden eller annan indata från användaren. | InteractiveObject | ||
mouseX : Number [skrivskyddad]
Anger x-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
mouseY : Number [skrivskyddad]
Anger y-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
name : String
Anger instansnamnet för DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Anger om ett virtuellt tangentbord (t.ex. ett skärmtangentbord) ska visas när den här InteractiveObject-instansen är i fokus. | InteractiveObject | ||
numChildren : int [skrivskyddad]
Returnerar antalet underordnade objekt det här objektet har. | DisplayObjectContainer | ||
opaqueBackground : Object
Anger om visningsobjektet är ogenomskinligt med en viss bakgrundsfärg. | DisplayObject | ||
parent : DisplayObjectContainer [skrivskyddad]
Anger DisplayObjectContainer-objektet som innehåller visningsobjektet. | DisplayObject | ||
root : DisplayObject [skrivskyddad]
För ett visningsobjekt i en inläst SWF-fil är rotegenskapen det översta visningsobjektet i den del av visningslistans trädstruktur som representeras av den SWF-filen. | DisplayObject | ||
rotation : Number
Anger DisplayObject-instansens rotation i grader från den ursprungliga orienteringen. | DisplayObject | ||
rotationX : Number
Anger x-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
rotationY : Number
Anger y-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
rotationZ : Number
Anger z-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
scale9Grid : Rectangle
Det skalningsrutnät som används för närvarande. | DisplayObject | ||
scaleX : Number
Anger vågrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleY : Number
Anger lodrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleZ : Number
Anger djupskala (procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scrollRect : Rectangle
Visningsobjektets gränser för rullningsrektangeln. | DisplayObject | ||
softKeyboard : String
Kontrollerar utseendet på skärmtangentbordet. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definierar det område som ska behållas på skärmen när skärmtangentbordet visas (ej tillgängligt på iOS). | InteractiveObject | ||
stage : Stage [skrivskyddad]
Visningsobjektets scen. | DisplayObject | ||
tabChildren : Boolean
Avgör om objektets underordnade objekt är tabbaktiverade. | DisplayObjectContainer | ||
tabEnabled : Boolean
Anger om det här objektet inkluderas i tabbordningen. | InteractiveObject | ||
tabIndex : int
Anger tabbordningen för objekt i en SWF-fil. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [skrivskyddad]
Returnerar ett TextSnapshot-objekt för den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Ett objekt med egenskaper som gäller ett visningsobjekts matris, färgomformning och pixelgränser. | DisplayObject | ||
visible : Boolean
Om visingsobjektet är synligt eller inte. | DisplayObject | ||
width : Number
Anger visningsobjektets bredd i pixlar. | DisplayObject | ||
x : Number
Anger x-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
y : Number
Anger y-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
z : Number
Anger z-koordinatens position längs DisplayObject-instansens z-axel i förhållande till den överordnade 3D-behållaren. | DisplayObject |
Metod | Definieras med | ||
---|---|---|---|
Anrop till konstruktorn DisplayObjectContainer() ger ett ArgumentError-undantag. | DisplayObjectContainer | ||
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Anger om säkerhetsrestriktionerna kan göra att visningsobjekt utelämnas från listan som returneras när metoden DisplayObjectContainer.getObjectsUnderPoint() anropas med den angivna punkten. | DisplayObjectContainer | ||
Avgör om det angivna visningsobjektet är underordnat DisplayObjectContainer-instansen eller själva instansen. | DisplayObjectContainer | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Returnerar en rektangel som definierar visningsområdets område i relation till targetCoordinateSpace-objektets koordinatsystem. | DisplayObject | ||
Returnerar den underordnade visningsobjektsinstansen som finns vid det angivna indexvärdet. | DisplayObjectContainer | ||
Returnerar det underordnade visningsobjektet som har ett visst namn. | DisplayObjectContainer | ||
Returnerar indexpositionen för en underordnad DisplayObject-instans. | DisplayObjectContainer | ||
Returnerar en array med objekt som ligger under den angivna punkten och är underordnade (eller indirekt underordnade) den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Returnerar en rektangel som definierar visningsområdets gräns, baserat på koordinatsystemet som definieras av targetCoordinateSpace-parametern, exklusive eventuella linjer i former. | DisplayObject | ||
Konverterar punktobjektet från scenens (globala) koordinater till visningsobjektets (lokala) koordinater. | DisplayObject | ||
Konverterar en tvådimensionell punkt från scenens (globala) koordinater till ett tredimensionellt visningsobjekts (lokala) koordinater. | DisplayObject | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Utvärderar begränsningsramen för visningsobjektet för att kontrollera om den överlappar eller korsar begränsningsramen för obj-visningsobjektet. | DisplayObject | ||
Utvärderar visningsobjektet för att avgöra om det överlappar eller korsar den punkt som anges av x- och y-parametrarna. | DisplayObject | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Konverterar en tredimensionell punkt för det tredimensionella visningsobjektets (lokala) koordinater till en tvådimensionell punkt i scenens (globala) koordinater. | DisplayObject | ||
Konverterar punktobjektet från visningsobjektets (lokala) koordinater till scenens (globala) koordinater. | DisplayObject | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort den angivna underordnade DisplayObject-instansen från listan med underordnade för DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Tar bort ett underordnat DisplayObject från den angivna indexpositionen i den underordnade listan i DisplayObjectContainer. | DisplayObjectContainer | ||
Tar bort alla child-DisplayObject-instanser från listan med underordnade för DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Visar ett virtuellt tangentbord. | InteractiveObject | ||
Ändrar positionen för ett befintligt underordnat objekt i behållaren för visningsobjekt. | DisplayObjectContainer | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Stoppar rekursivt tidslinjekörning av alla filmklipp vars rot är detta objekt. | DisplayObjectContainer | ||
Byter z-ordningen (framifrån och bakåt-ordning) för de två underordnade objekten. | DisplayObjectContainer | ||
Byter z-ordningen (framifrån och bakåt-ordning) för underordnade objekt vid de två angivna indexpositionerna i listan med underordnade objekt. | DisplayObjectContainer | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
mouseChildren | egenskap |
mouseChildren:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avgör om objektets underordnade objekt är aktiverade för en mus eller annan användarindataenhet (eller inte). Om ett objekt är aktiverat kan användaren interagera med det via en mus eller annan användarindataenhet. Standardvärdet är true
.
Denna egenskap är användbar när du skapar en knapp med en Sprite-klassinstans (i stället för att använda SimpleButton-klassen). När du använder en Sprite-instans för att skapa en knapp kan du välja att dekorera knappen genom att använda addChild()
-metoden för att lägga till ytterligare Sprite-instanser. Denna process kan leda till oväntat beteende med mushändelser eftersom de Sprite-instanser du lägger till som underordnade kan bli målobjektet för en mushändelse när du förväntar dig att den överordnade instansen ska vara målobjektet. För att säkerställa att den överordnade instansen används som målobjekt för mushändelser kan du sätta mouseChildren
-egenskapen för den överordnade instansen till false
.
Ingen händelse skickas när denna egenskap sätts. Du måste använda addEventListener()
-metoden för att skapa interaktiv funktionalitet.
Implementering
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och visar att när du sätter dess mouseChildren
-egenskap till false
så blir målet för en mouseClick
-händelse container
-objektet och inte något av dess underordnade objekt:
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 | egenskap |
numChildren:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar antalet underordnade objekt det här objektet har.
Implementering
public function get numChildren():int
Exempel ( Så här använder du exemplet )
container1
och container2
. En Sprite är en typ av visningsobjektbehållare. Exemplet anropar addChild()
-metoden för att sätta upp visningshierarkin: container1
är underordnad till container2
och två andra visningsobjekt, circle1
och circle2
, är underordnade till container1
. Anropen till trace()
-metoden visar antalet underordnade för varje objekt. Observera att indirekt underordnade inte ingår i numChildren
-värdet:
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 | egenskap |
tabChildren:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avgör om objektets underordnade objekt är tabbaktiverade. Aktiverar eller inaktiverar tabbar för objektets underordnade. Standardvärdet är true
.
Obs! Använd inte egenskapen tabChildren
med Flex. Använd egenskapen mx.core.UIComponent.hasFocusableChildren
i stället.
Implementering
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
Utlöser
IllegalOperationError — Anrop av denna egenskap hos Stage-objektet ger ett undantag. Stage-objektet implementerar inte denna egenskap.
|
Exempel ( Så här använder du exemplet )
container1
-visningsobjektbehållare och lägger till två visningsobjekt, circle1
och circle2
, till listan över underordnade. Exemplet sätter tabChildren till false
för de underordnade för att kunna administrera sin egen tabbordning med 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 | egenskap |
textSnapshot:flash.text:TextSnapshot
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Returnerar ett TextSnapshot-objekt för den här DisplayObjectContainer-instansen.
Implementering
public function get textSnapshot():flash.text:TextSnapshot
Relaterade API-element
Exempel ( Så här använder du exemplet )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | Konstruktor |
public function DisplayObjectContainer()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anrop till konstruktorn new DisplayObjectContainer()
ger ett ArgumentError
-undantag. Du kan emellertid anropa konstruktorer för följande underklasser till DisplayObjectContainer:
new Loader()
new Sprite()
new MovieClip()
addChild | () | metod |
public function addChild(child:DisplayObject):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. Den underordnade läggs till framför (över) alla andra underordnade i denna DisplayObjectContainer-instans. (För att lägga till en underordnad till en specifik indexposition använder man addChildAt()
-metoden.)
Om du lägger till ett underordnat objekt som redan har en annan visningsobjektbehållare som överordnad tas objektet bort från det andra visningsobjektets lista med underordnade.
Obs! Kommandot stage.addChild()
kan orsaka problem med en publicerad SWF-fil, bl.a. säkerhetsproblem och konflikter med andra inlästa SWF-filer. Det finns bara en scen i en Flash-miljöinstans, oavsett hur många SWF-filer som läses in till miljön. Objekt bör därför egentligen aldrig läggas till direkt på scenen. Det enda objekt som bör finnas på scenen är rotobjektet. Skapa ett DisplayObjectContainer-objekt som ska innehålla alla objekt i visningslistan. Om det behövs lägger du därefter till den DisplayObjectContainer-instansen på scenen.
Parametrar
child:DisplayObject — Den DisplayObject-instans som ska läggas till som underordnad till denna DisplayObjectContainer-instans.
|
DisplayObject — Den DisplayObject-instans som du skickar i child -parametern.
|
Händelser
added: — Skickas när ett visningsobjekt läggs till i visningslistan.
|
Utlöser
ArgumentError — Reagerar om underordnad och överordnad är samma. Reagerar också om den anropande är underordnad (eller indirekt underordnad, etc.) till den underordnade som läggs till.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container1
och container2
. En Sprite är en typ av visningsobjektbehållare. Exemplet anropar addChild()
-metoden för att sätta upp visningshierarkin: container1
är underordnad till container2
och två andra visningsobjekt, circle1
och circle2
, är underordnade till container1
. Anropen till trace()
-metoden visar antalet underordnade för varje objekt. Observera att indirekt underordnade inte ingår i numChildren
-värdet:
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 | () | metod |
public function addChildAt(child:DisplayObject, index:int):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. Den underordnade läggs till i den specificerade indexpositionen. Ett indexvärde på 0 står för visningslistans baksida (botten) för detta DisplayObjectContainer-objekt.
I följande exempel visas tre visningsobjekt, betecknade a, b och c, i indexpositionerna 0, 2 och 1:
Om du lägger till ett underordnat objekt som redan har en annan visningsobjektbehållare som överordnad tas objektet bort från det andra visningsobjektets lista med underordnade.
Parametrar
child:DisplayObject — Den DisplayObject-instans som ska läggas till som underordnad till denna DisplayObjectContainer-instans.
| |
index:int — Den indexposition som den underordnade läggs till till. Om du specificerar en indexposition som är upptagen flyttas det underordnade objektet i den positionen, och alla högre positioner, upp ett steg i listan med underordnade.
|
DisplayObject — Den DisplayObject-instans som du skickar i child -parametern.
|
Händelser
added: — Skickas när ett visningsobjekt läggs till i visningslistan.
|
Utlöser
RangeError — Reagerar om indexpositionen inte finns i listan med underordnade.
| |
ArgumentError — Reagerar om underordnad och överordnad är samma. Reagerar också om den anropande är underordnad (eller indirekt underordnad, etc.) till den underordnade som läggs till.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
-visningsobjektbehållare och lägger till visningsobjekt circle1
till sin visningslista. Genom att anropa container.addChildAt(circle2, 0)
lägger den sedan till circle2
-objektet till indexposition noll (baksidan) och flyttar circle1
-objektet till indexposition 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 | () | metod |
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om säkerhetsrestriktionerna kan göra att visningsobjekt utelämnas från listan som returneras när DisplayObjectContainer.getObjectsUnderPoint()
-metoden anropas med den angivna point
-punkten. Normalt kan innehåll från en domän inte komma åt objekt från en annan domän, om de inte får tillstånd att göra det via ett anrop till metoden Security.allowDomain()
. Mer information om säkerhet finns i avsnittet Security på Flash Player Developer Center.
point
-parametern återfinns i scenens koordinatområde, som kan skilja sig från visningsobjektbehållarens koordinatområde (om visningsobjektbehållaren inte är scenen). Du kan använda globalToLocal()
- och localToGlobal()
-metoderna för att konvertera punkter mellan dessa koordinatområden.
Parametrar
point:Point — Den punkt sökningen ska göras under.
|
Boolean — true om punkten innehåller underordnade visningsobjekt med säkerhetsbegränsningar.
|
Relaterade API-element
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
Exempel ( Så här använder du exemplet )
container
. Nästa kodblock använder ett Loader-objekt för att läsa in en JPEG-fil med namnet "test.jpg" från en fjärrfilserver. Observera att checkPolicyFile
-egenskapen för det LoaderContext-objekt som används som en parameter i load()
-metoden satts till false
. När filen har laddats anropar koden loaded()
-metoden, som i sin tur anropar container.areInaccessibleObjectsUnderPoint()
, som returnerar värdet true
eftersom det inlästa innehållet antas komma från en oåtkomlig domän:
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 | () | metod |
public function contains(child:DisplayObject):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avgör om det angivna visningsobjektet är underordnat DisplayObjectContainer-instansen eller själva instansen. Sökningen omfattar hela visningslistan, inklusive denna DisplayObjectContainer-instans. Indirekta underordnade, indirekt indirekt underordnade, och så vidare, returnerar alla true
.
Parametrar
child:DisplayObject — Det underordnade objekt som ska testas.
|
Boolean — true om child -objektet är underordnat DisplayObjectContainer eller själva behållaren. Annars false .
|
Exempel ( Så här använder du exemplet )
contains()
-metoden:
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 | () | metod |
public function getChildAt(index:int):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar den underordnade visningsobjektsinstansen som finns vid det angivna indexvärdet.
Parametrar
index:int — Det underordnade objektets indexposition.
|
DisplayObject — Det underordnade visningsobjektet i den specificerade indexpositionen.
|
Utlöser
RangeError — Reagerar om indexet inte finns i listan med underordnade.
| |
SecurityError — Detta underordnade visningsobjekt tillhör en sandlåda som du inte har tillgång till. Du kan undvika denna situation genom att låta den underordnade filmen anropa Security.allowDomain() -metoden.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och sedan läggs tre visningsobjekt till till listan med underordnade för container
-objektet. Anropen till getChildAt()
-metoden avslöjar sedan positionerna för de underordnade objekten:
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 | () | metod |
public function getChildByName(name:String):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar det underordnade visningsobjektet som har ett visst namn. Om mer än ett underordnat objekt har det angivna namnet returnerar metoden det första objektet i listan med underordnade.
getChildAt()
-metoden är snabbare än getChildByName()
-metoden. getChildAt()
-metoden hittar en underordnad i en cache-lagrad array, under det att getChildByName()
-metoden måste gå igenom en länkad lista för att hitta en underordnad.
Parametrar
name:String — Namnet på den underordnade som ska returneras.
|
DisplayObject — Det underordnade visningsobjektet med det specificerade namnet.
|
Utlöser
SecurityError — Detta underordnade visningsobjekt tillhör en sandlåda som du inte har tillgång till. Du kan undvika denna situation genom att låta den underordnade filmen anropa Security.allowDomain() -metoden.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och sedan läggs två underordnade visningsobjekt till till behållaren. Sedan anropar koden getChildByName()
- och getChildIndex()
-metoderna för att ta fram indexpositionen för den underordnade till det container
-objekt som har namnet "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 | () | metod |
public function getChildIndex(child:DisplayObject):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar indexpositionen för en child
-DisplayObject-instans.
Parametrar
child:DisplayObject — Den DisplayObject-instans som ska identifieras.
|
int — Indexpositionen för det underordnade visningsobjekt som ska identifieras.
|
Utlöser
ArgumentError — Reagerar om den underordnade parametern inte är underordnad detta objekt.
|
Exempel ( Så här använder du exemplet )
container
och sedan läggs två underordnade visningsobjekt till till behållaren. Sedan anropar koden getChildByName()
- och getChildIndex()
-metoderna för att ta fram indexpositionen för den underordnade till det container
-objekt som har namnet "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 | () | metod |
public function getObjectsUnderPoint(point:Point):Array
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en array med objekt som ligger under den angivna punkten och är underordnade (eller indirekt underordnade) den här DisplayObjectContainer-instansen. Eventuella underordnade objekt som inte går att nå av säkerhetsskäl är inte med i den returnerade arrayen. Anropa areInaccessibleObjectsUnderPoint()
-metoden för att ta reda på om denna säkerhetsbegränsning påverkar den returnerade arrayen.
point
-parametern återfinns i scenens koordinatområde, som kan skilja sig från visningsobjektbehållarens koordinatområde (om visningsobjektbehållaren inte är scenen). Du kan använda globalToLocal()
- och localToGlobal()
-metoderna för att konvertera punkter mellan dessa koordinatområden.
Parametrar
point:Point — Den punkt sökningen ska göras under.
|
Array — En array med objekt som ligger under den angivna punkten och är underordnade (eller indirekt underordnade) den här DisplayObjectContainer-instansen.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och sedan läggs två visningsobjekt till till behållaren. Sedan anropar koden getObjectsUnderPoint()
två gånger — först med en punkt som endast är i kontakt med ett objekt, och därefter med en punkt där objekten överlappar — och längden
på den returnerade arrayen visar antalet objekt i varje punkt i behållaren:
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 | () | metod |
public function removeChild(child:DisplayObject):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tar bort den angivna child
-DisplayObject-instansen från listan med underordnade för DisplayObjectContainer-instansen. Den borttagna underordnades parent
-egenskap sätts till null
och objektet skräpsamlas om det inte finns några andra referenser till den underordnade. Indexpositionerna för eventuella visningsobjekt över det det underordnade i DisplayObjectContainer stegas ner med 1.
Skräpinsamlaren allokerar om oanvänt minnesutrymme. När en variabel eller ett objekt inte längre aktivt refereras till, eller sparas någonstans, sveper skräpinsamlaren igenom och torkar bort det minnesutrymme som den/det förut använde, om det inte finns någon referens till den/det.
Parametrar
child:DisplayObject — Den DisplayObject-instans som ska tas bort.
|
DisplayObject — Den DisplayObject-instans som du skickar i child -parametern.
|
Utlöser
ArgumentError — Reagerar om den underordnade parametern inte är underordnad detta objekt.
|
Exempel ( Så här använder du exemplet )
container
och sedan läggs två underordnade visningsobjekt till till behållaren. En händelseavlyssnare läggs till till container
-objektet så att removeChild()
-metod tar bort det underordnade objekt som klickas från behållarens lista med underordnade när användaren klickar på ett underordnat objekt i behållaren:
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 | () | metod |
public function removeChildAt(index:int):DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tar bort ett underordnat DisplayObject från den angivna index
-positionen i den underordnade listan i DisplayObjectContainer. Den borttagna underordnades parent
-egenskap sätts till null
och objektet skräpsamlas om det inte finns några andra referenser till den underordnade. Indexpositionerna för eventuella visningsobjekt över det det underordnade i DisplayObjectContainer stegas ner med 1.
Skräpinsamlaren allokerar om oanvänt minnesutrymme. När en variabel eller ett objekt inte längre aktivt refereras till, eller sparas någonstans, sveper skräpinsamlaren igenom och torkar bort det minnesutrymme som den/det förut använde, om det inte finns någon referens till den/det.
Parametrar
index:int — Det underordnade indexet för det DisplayObject som ska tas bort.
|
DisplayObject — Den DisplayObject-instans som togs bort.
|
Utlöser
SecurityError — Detta underordnade visningsobjekt tillhör en sandlåda som det anropande objektet inte har tillgång till. Du kan undvika denna situation genom att låta den underordnade filmen anropa Security.allowDomain() -metoden.
| |
RangeError — Reagerar om indexet inte finns i listan med underordnade.
|
Exempel ( Så här använder du exemplet )
container
och sedan läggs två underordnade visningsobjekt till till behållaren. Sedan visar koden att när du anropar removeChildAt()
-metoden för att ta bort den underordnade i den understa indexpositionen (0) så flyttas eventuella andra underordnade objekt i listan ner en position:
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 | () | metod |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 3.0, Flash Player 11 |
Tar bort alla child
-DisplayObject-instanser från listan med den underordnade DisplayObjectContainer-instansen. Den borttagna underordnades parent
-egenskap sätts till null
och objektet skräpsamlas om det inte finns några andra referenser till den underordnade.
Skräpinsamlaren allokerar om oanvänt minnesutrymme. När en variabel eller ett objekt inte längre aktivt refereras till, eller sparas någonstans, sveper skräpinsamlaren igenom och torkar bort det minnesutrymme som den/det förut använde, om det inte finns någon referens till den/det.
Parametrar
beginIndex:int (default = 0 ) — Startpositionen. Ett värde som är mindre än 0 genererar RangeError .
| |
endIndex:int (default = 0x7fffffff ) — Slutpositionen. Ett värde som är mindre än 0 genererar RangeError .
|
Utlöser
RangeError — Genereras om beginIndex - eller endIndex -positionerna inte finns i den underordnade listan.
|
setChildIndex | () | metod |
public function setChildIndex(child:DisplayObject, index:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ändrar positionen för ett befintligt underordnat objekt i behållaren för visningsobjekt. Detta påverkar skiktningen av underordnade objekt. I följande exempel visas tre visningsobjekt, betecknade a, b och c, i indexpositionerna 0, 1 och 2:
När du använder setChildIndex()
-metoden och anger en index-position som redan är upptagen, är de enda positioner som kan ändras de som ligger mellan visningsobjektets tidigare och nya position. Alla andra förblir desamma. Om en underordnad flyttas till ett index som är LÄGRE än dess nuvarande index kommer alla underordnade emellan att ÖKA med 1 i sin indexreferens. Om en underordnad flyttas till ett index som är HÖGRE än dess nuvarande index kommer alla underordnade emellan att MINSKA med 1 i sin indexreferens. Om visningsobjektbehållaren i föregående exempel exempelvis har namnet container
så kan du växla positionerna för de visningsobjekt som är betecknade a och b genom att anropa följande kod:
container.setChildIndex(container.getChildAt(1), 0);
Denna kod leder till följande objektordning:
Parametrar
child:DisplayObject — Den underordnade DisplayObject-instans som du vill ändra indexnumret för.
| |
index:int — Det resulterande indexnumret för child -visningsobjektet.
|
Utlöser
RangeError — Reagerar om indexet inte finns i listan med underordnade.
| |
ArgumentError — Reagerar om den underordnade parametern inte är underordnad detta objekt.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och sedan läggs tre något överlappande underordnade visningsobjekt till till behållaren. När användaren klickar på något av dessa objekt så anropar clicked()
-metoden setChildIndex()
-metoden för att flytta det klickade objektet till den översta positionen i listan med underordnade för container
-objektet:
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 | () | metod |
public function stopAllMovieClips():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 3.8, Flash Player 11.8 |
Stoppar rekursivt tidslinjekörning av alla filmklipp vars rot är detta objekt.
Underordnade visningsobjekt som tillhör en sandlåda som körningskoden inte har tillgång till ignoreras.
Obs! Direktuppspelande media som styrs via ett NetStream-objekt stoppas inte.
swapChildren | () | metod |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Byter z-ordningen (framifrån och bakåt-ordning) för de två underordnade objekten. Samtliga övriga underordnade objekt i visningsobjektbehållaren blir kvar i samma indexpositioner.
Parametrar
child1:DisplayObject — Det första underordnade objektet.
| |
child2:DisplayObject — Det andra underordnade objektet.
|
Utlöser
ArgumentError — Reagerar om en av de underordnade parametrarna inte är underordnad detta objekt.
|
Exempel ( Så här använder du exemplet )
container
och lägger sedan in två underordnade visningsobjekt i behållaren och visar effekten av ett anrop till swapChildren()
-metoden:
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 | () | metod |
public function swapChildrenAt(index1:int, index2:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Byter z-ordningen (framifrån och bakåt-ordning) för underordnade objekt vid de två angivna indexpositionerna i listan med underordnade objekt. Samtliga övriga underordnade objekt i visningsobjektbehållaren blir kvar i samma indexpositioner.
Parametrar
index1:int — Det första underordnade objektets indexposition.
| |
index2:int — Det andra underordnade objektets indexposition.
|
Utlöser
RangeError — Om ett av indexen inte finns i listan med underordnade.
|
Exempel ( Så här använder du exemplet )
container
och lägger sedan in tre underordnade visningsobjekt i behållaren och visar hur ett anrop till swapChildrenAt()
-metoden ordnar om listan med underordnade för visningsobjektbehållaren:
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
för att skapa fem orange på varandra följande fyrkanter. Detta genomförs med följande steg:
- Konstruktorn anropar
configureAssets()
-metoden. configureAssets()
-metoden skaparchild
- ochlastChild
-Sprite-objekt.- En
for
-slinga skapar de fem fyrkanterna och placerar dem efter varandra. - Varje gång ett CustomSprite-objekt skapas anropar dess konstruktor
draw()
-metoden förCustomSprite
-objektet, vilket skapar en ruta på 50 x 50 pixlar genom att anropabeginFill()
-,drawRect()
- ochendFill()
-metoderna för Graphics-klassen.addChild()
-metoden lägger till varje fyrkant till visningslistan.
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, 01:40 PM Z