Paket | flash.display |
Klass | public class DisplayObject |
Arv | DisplayObject EventDispatcher Object |
Implementerar | IBitmapDrawable |
Underklasser | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Klass DisplayObject stöder sådana grundfunktioner som ett objekts x- och y-position och mer avancerade egenskaper för objektet såsom dess transformationsmatris.
DisplayObject är en abstrakt basklass och du kan därför inte anropa DisplayObject direkt. Anrop av new DisplayObject()
ger ett ArgumentError
-undantag.
Alla visningsobjekt ärver från klass DisplayObject.
Själva DisplayObject-klassen innehåller inga API:er föråtergivning av underhåll på skärmen. Om du vill skapa en anpassad underklass till klass DisplayObject måste du därför utöka en av dess underklasser som har API:er för återgivning av innehåll på skärmen, exempelvis klass Shape, Sprite, Bitmap, SimpleButton, TextField eller MovieClip.
Klassen DisplayObject innehåller flera utsända händelser. I vanliga fall är målet för varje särskild händelse en viss DisplayObject-instans. Till exempel är målet för en added
-händelse den specifika DisplayObject-instans som lagts till i visningslistan. Med ett enda mål begränsas placeringen av händelseavlyssnare till det målet, och i vissa fall målets indirekta överordnade på visningslistan. För utsända händelser är målet däremot inte en specifik DisplayObject-instans, utan alla DisplayObject-instanser, inklusive de som inte finns i visningslistan. Detta innebär att du kan lägga till en avlyssnare till vilken DisplayObject-instans som helst för att avlyssna utsända händelser. Utöver de utsända händelser som finns i med i klassen DisplayObjects händelsetabell, ärver klassen DisplayObject även två utsända händelser av klassen EventDispatcher: activate
och deactivate
.
En del av de egenskaper som tidigare använts i ActionScript 1.0 och 2.0 MovieClip, i klasserna TextField och Button (såsom _alpha
, _height
, _name
, _width
, _x
, _y
med flera) har motsvarigheter i ActionScript 3.0:s DisplayObject-klass, som döpts om så att de inte längre börjar med understrykningsstrecker (_).
Ytterligare information finns i kapitlet ”Visningsprogrammering” i boken Utvecklarhandbok för Adobe ActionScript 3.0.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
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 | ||
filters : Array
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet. | DisplayObject | ||
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 | ||
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 | ||
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 | ||
stage : Stage [skrivskyddad]
Visningsobjektets scen. | DisplayObject | ||
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 | ||
---|---|---|---|
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 | ||
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 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 en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
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 |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
Skickas när ett visningsobjekt läggs till i visningslistan. | DisplayObject | |||
Skickas när ett visningsobjekt läggs till i scenens visningslista, antingen direkt eller genom tillägg av ett underträd som innehåller visningsobjektet. | DisplayObject | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
[utsändningshändelse] Skickas när spelhuvudet går in i en ny bildruta. | DisplayObject | |||
[utsändningshändelse] Skickas när spelhuvudet stänger den aktuella bildrutan. | DisplayObject | |||
[utsändningshändelse] Skickas efter att konstruktorerna för bildrutevisningsobjekt har körts men innan bildruteskript har körts. | DisplayObject | |||
Skickas när ett visningsobjekt ska tas bort från visningslistan. | DisplayObject | |||
Skickas när ett visningsobjekt ska tas bort från visningslistan, antingen direkt eller genom borttagning av ett underträd som innehåller visningsobjektet. | DisplayObject | |||
[utsändningshändelse] Skickas när visningslistan ska uppdateras och återges. | DisplayObject |
accessibilityProperties | egenskap |
accessibilityProperties:AccessibilityProperties
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
De nuvarande hjälpmedelsalternativen för det här visningsobjektet. Om du ändrar egenskapen accessibilityProperties
eller något av fälten i accessibilityProperties
måste du anropa Accessibility.updateProperties()
-metoden för att dina ändringar ska börja gälla.
Obs: För ett objekt som skapas i redigeringsmiljön för Flash är värdet för accessibilityProperties
inlagt på basis av eventuell information du skrev in i hjälpmedelspanelen för objektet i fråga.
Implementering
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
import flash.text.TextField; import flash.accessibility.AccessibilityProperties; import flash.accessibility.Accessibility; import flash.system.Capabilities; var tf:TextField = new TextField(); tf.text = "hello"; var accessProps:AccessibilityProperties = new AccessibilityProperties(); accessProps.name = "Greeting"; tf.accessibilityProperties = accessProps; if (Capabilities.hasAccessibility) { Accessibility.updateProperties(); } trace(tf.accessibilityProperties.name); // Greeting
alpha | egenskap |
alpha:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger det angivna objektets alfagenomskinlighetsvärde. Giltiga värden är 0 (helt genomskinlig) till 1 (helt ogenomskinlig). Standardvärdet är 1. Visningsobjekt med alpha
satt till 0 är aktiva trots att de är osynliga.
Implementering
public function get alpha():Number
public function set alpha(value:Number):void
Exempel ( Så här använder du exemplet )
alpha
för en sprite till 50 % när musen rullar över spriten:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.alpha = 0.5; } function restoreObject(event:MouseEvent):void { event.target.alpha = 1.0; }
blendMode | egenskap |
blendMode:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ett värde från klassen BlendMode som anger vilket blandningsläge som ska användas. En bitmapp kan ritas internt på två olika sätt. Om du har ett blend-mod aktiverat, eller en extern urklippsmask, ritas bitmappen genom tillägg av en bitmappfylld fyrkantform till vektorrenderaren. Om du försöker sätta denna egenskap till ett ogiltigt värde sätter Flash-miljöerna värdet till BlendMode.NORMAL
.
blendMode
-egenskapen påverkar varje pixel i visningsobjektet. Varje pixel består av tre beståndsfärger (röd, grön och blå) och varje beståndsfärg har ett värde mellan 0x00 och 0xFF. Flash Player eller Adobe AIR jämför varje beståndsfärg i en pixel i filmklippet med motsvarande färg för pixeln i bakgrunden. Om blendMode
till exempel är inställt på BlendMode.LIGHTEN
jämför Flash Player eller Adobe AIR det röda värdet för visningsobjektet med det röda värdet för bakgrunden. Den ljusaste av de två färgerna används som värde för den röda komponenten i den färg som visas.
I följande tabell beskrivs blendMode
-inställningarna: Klass BlendMode definierar strängvärden du kan använda. Bilderna i tabellen visar blendMode
-värden som tillämpas på ett runt visningsobjekt (2) som placerats över ett annat visningsobjekt (1) på skärmen.
BlendMode-konstant | Illustration | Beskrivning |
---|---|---|
BlendMode.NORMAL | Visningsobjektet visas framför bakgrunden. Pixelvärdet för visningsobjektet åsidosätter värdena för bakgrunden. Bakgrunden syns där bakgrunden är genomskinlig. | |
BlendMode.LAYER | Framtvingar en genomskinlighetsgrupp för visningsobjektet. Det innebär att visningsobjektet förkomponeras i en tillfällig buffert innan det behandlas vidare. Detta görs automatiskt om visningsobjektet förcachats med bitmappscachning eller om visningsobjektet är en visningsobjektsbehållare med minst ett underordnat objekt med en annan blendMode -inställning än BlendMode.NORMAL . Stöds inte vid GPU-återgivning.
| |
BlendMode.MULTIPLY | Multiplicerar värdena för visningsobjektets beståndsfärger med bakgrundsfärgens färger och normaliserar sedan genom division med 0xFF, vilket ger mörkare färger. Inställningen används oftast för skuggning och för djupeffekter.
Om en beståndsfärg (till exempel röd) i både en pixel i visningsobjektet och motsvarande färg för pixeln i bakgrunden har värdet 0x88 blir det multiplicerade resultatet 0x4840. Division med 0xFF ger värdet 0x48 för beståndsfärgen. Det är en nyans som är mörkare än färgen på visningsobjektet eller färgen på bakgrunden. | |
BlendMode.SCREEN | Multiplicerar komplementfärgen (motsatsfärgen) för visningsobjektets färg med komplementfärgen för bakgrundsfärgen, vilket ger en blekningseffekt. Inställningen används oftast för högdagrar eller för att ta bort svarta områden i visningsobjektet. | |
BlendMode.LIGHTEN | Väljer de ljusare av visningsobjektets beståndsfärger och bakgrundens beståndsfärger (färgerna med högst värden). Inställningen används normalt när element läggs ovanpå varandra.
Om visningsobjektet till exempel har en pixel med RGB-värdet 0xFFCC33, och bakgrundspixeln har RGB-värdet 0xDDF800, blir det resulterande RGB-värdet för pixeln som visas 0xFFF833 (eftersom 0xFF > 0xDD, 0xCC < 0xF8, och 0x33 > 0x00 = 33). Stöds inte vid GPU-återgivning. | |
BlendMode.DARKEN | Väljer de ljusare av visningsobjektets beståndsfärger och bakgrundens beståndsfärger (färgerna med lägst värden). Inställningen används normalt när element läggs ovanpå varandra.
Om visningsobjektet till exempel har en pixel med RGB-värdet 0xFFCC33, och bakgrundspixeln har RGB-värdet 0xDDF800, blir det resulterande RGB-värdet för pixeln som visas 0xDDCC00 (eftersom 0xFF > 0xDD, 0xCC < 0xF8, och 0x33 > 0x00 = 33). Stöds inte vid GPU-återgivning. | |
BlendMode.DIFFERENCE | Jämför visningsobjektets beståndsfärger med bakgrundens beståndsfärger och subtraherar de mörkare värdena för de två beståndsfärgerna från de ljusare värdena. Inställningen används normalt för livfullare färger.
Om visningsobjektet till exempel har en pixel med ett RGB-värde på 0xFFCC33 och bakgrundspixeln har ett RGB-värde på 0xDDF800, blir det resulterande RGB-värdet för pixeln 0x222C33 (eftersom 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C och 0x33 - 0x00 = 0x33). | |
BlendMode.ADD | Adderar värdena för visningsobjektets beståndsfärger och värdena för bakgrundens beståndsfärger, med taket 0xFF. Inställningen används normalt för animering av en blixtupplösning mellan två objekt.
Om visningsobjektet till exempel har en pixel med ett RGB-värde på 0xAAA633 och bakgrundspixeln har ett RGB-värde på 0xDD2200, blir det resulterande RGB-värdet för pixeln 0xFFC833 (eftersom 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 och 0x33 + 0x00 = 0x33). | |
BlendMode.SUBTRACT | Subtraherar värdena för visningsobjektets beståndsfärger från värdena för bakgrundens beståndsfärger, med golvet 0. Inställningen används oftast för att animera en mörknande upplösning mellan två objekt.
Om visningsobjektet till exempel har en pixel med ett RGB-värde på 0xAA2233 och bakgrundspixeln har ett RGB-värde på 0xDDA600, blir det resulterande RGB-värdet för pixeln 0x338400 (eftersom 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 och 0x00 - 0x33 < 0x00). | |
BlendMode.INVERT | Inverterar bakgrunden. | |
BlendMode.ALPHA | Tillämpar alfavärdet för varje pixel i visningsobjektet på bakgrunden. Det kräver att blendMode -inställningen för det överordnade visningsobjektet sätts till BlendMode.LAYER . I illustrationen har exempelvis det överordnade visningsobjektet, som är en vit bakgrund, blendMode = BlendMode.LAYER . Stöds inte vid GPU-återgivning. | |
BlendMode.ERASE | Raderar bakgrunden baserat på visningsobjektets alfavärde. Det kräver att blendMode -inställningen för det överordnade visningsobjektet sätts till BlendMode.LAYER . I illustrationen har exempelvis det överordnade visningsobjektet, som är en vit bakgrund, blendMode = BlendMode.LAYER . Stöds inte vid GPU-återgivning. | |
BlendMode.OVERLAY | Justerar färgen för varje pixel baserat på hur mörk bakgrunden är. Om bakgrunden är ljusare än 50 % grå kommer visningsobjektets och bakgrundens färger att rastreras, vilket ger en ljusare färg. Om bakgrunden är mörkare än 50 % grå kommer färgerna att multipliceras, vilket ger en mörkare färg. Inställningen används oftast för skuggeffekter. Stöds inte vid GPU-återgivning. | |
BlendMode.HARDLIGHT | Justerar färgen för varje pixel baserat på hur mörkt visningsobjektet är. Om visningsobjektet är ljusare än 50 % grå rastreras visningsobjektets och bakgrundens färger, vilket ger en ljusare färg. Om visningsobjektet är mörkare än 50 % grå kommer färgerna att multipliceras, vilket ger en mörkare färg. Inställningen används oftast för skuggeffekter. Stöds inte vid GPU-återgivning. | |
BlendMode.SHADER | Ej tillämpligt | Justerar färgen med hjälp av en anpassad skuggningsrutin. Skuggningen som används är angiven som den Shader-instans som är tilldelad blendShader -egenskapen. Om du anger blendShader -egenskapen för ett visningsobjekt som en Shader-instans, anges visningsobjektets blendMode -egenskap som BlendMode.SHADER automatiskt. Om blendMode -egenskapen anges som BlendMode.SHADER och blendShader -egenskapen inte har angetts först, kommer blendMode -egenskapen att anges som BlendMode.NORMAL . Stöds inte vid GPU-återgivning. |
Implementering
public function get blendMode():String
public function set blendMode(value:String):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
BlendMode.SUBTRACT
när pekaren rullas över cirkeln:
import flash.display.Sprite; import flash.display.BlendMode; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF88CC); square.graphics.drawRect(0, 0, 80, 80); addChild(square); var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.blendMode = BlendMode.SUBTRACT; } function restoreObject(event:MouseEvent):void { event.target.blendMode = BlendMode.NORMAL; }
blendShader | egenskap |
blendShader:Shader
[lässkyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Ställer in en skuggning som används för blandning av förgrund och bakgrund. När blendMode
-egenskapen är angiven som BlendMode.SHADER
används angiven Shader för att skapa utdata i blandningsläge för visningsobjektet.
Om du anger blendShader
-egenskapen för ett visningsobjekt som en Shader-instans, anges visningsobjektets blendMode
-egenskap som BlendMode.SHADER
automatiskt. Om blendShader
-egenskapen ställs in (vilket anger blendMode
-egenskapen som BlendMode.SHADER
) och värdet för blendMode
-egenskapen sedan ändras, kan blandningsläget återställas så att blandningsskuggningen används. Det gör du genom att ange blendMode
-egenskapen som BlendMode.SHADER
. blendShader
-egenskapen måste inte ställas in igen förutom när du ska ändra den skuggning som används för blandningsläget.
Den Shader som är tilldelad blendShader
-egenskapen måste ange minst två image4
-inmatningar. Inmatningarna måste inte anges i kod med hjälp av det associerade ShaderInput-objektets input
-egenskaper. Bakgrundens visningsobjekt används automatiskt som den första inmatningen (inmatning med index
0). Förgrundens visningsobjekt används som den andra inmatningen (inmatning med index
1). En skuggning som används som blandningsskuggning kan ange fler än två inmatningar. I så fall måste ytterligare inmatningar anges genom att ställa in dess input
-egenskap för ShaderInput-instansen.
När du tilldelar en Shader-instans till den här egenskapen kopieras skuggningen internt. Blandningsåtgärden använder den interna kopian och inte en referens till den ursprungliga skuggningen. Ändringar som görs i skuggningen, t.ex. ändring av parametervärde, inmatning eller bytekod, används inte i den kopierade skuggning som används för blandningsläget.
Implementering
public function set blendShader(value:Shader):void
Utlöser
ArgumentError — När skuggningsutdatatypen inte är kompatibel med den här åtgärden (skuggningen måste ange pixel4 -utdata).
| |
ArgumentError — När skuggningen anger färre än två bildinmatningar eller om de första två inmatningarna inte är image4 -inmatningar.
| |
ArgumentError — När skuggningen anger en bildinmatning som inte är tillhandahållen.
| |
ArgumentError — När en ByteArray eller Vektor.<Number>-instans används som en inmatning och egenskaperna width och height är inte angivna för ShaderInput, eller också överensstämmer inte de angivna värdena med mängden data i inmatningsobjektet. Mer information finns under ShaderInput.input -egenskapen.
|
Relaterade API-element
cacheAsBitmap | egenskap |
cacheAsBitmap:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Om det är true
sparar Flash-miljöerna en intern bitmappsrepresentation av visningsobjektet i cache-minnet. Detta cachesparande kan förbättra prestanda för visningsobjekt som innehåller komplexa vektorer.
Alla vektordata för ett visningsobjekt som har en cachelagrad bitmapp ritas i bitmappen i stället för på huvudscenen. Om cacheAsBitmapMatrix
är null eller inte stöds kopieras bitmappen till huvudskärmen som ej utsträckta, ej roterade pixlar som fästs mot närmaste pixelgräns. pixlar mappas 1-till-1 med det överordnade objektet. Om gränserna för bitmappen ändras, skapas den om i stället för att sträckas ut.
Om cacheAsBitmapMatrix
inte är null och om det stöds, ritas objektet som en bitmapp utanför skärmen med hjälp av matrisen, och det utsträckta och/eller roterade resultatet som återges används för att rita objektet på huvudscenen.
Ingen intern bitmapp skapas om inte egenskapen cacheAsBitmap
är inställd på true
.
När du har satt egenskapen cacheAsBitmap
till true
ändras återgivningen inte men visningsobjektet utför pixelfästning automatiskt. Animeringshastigheten kan vara avsevärt mycket högre, beroende på hur komplexa vektorer som används.
Egenskapen cacheAsBitmap
sätts automatiskt till true
varje gång du tillämpar ett filter på ett visningsobjekt (när dess filter
-array inte är tom) och om ett visningsobjekt har filtret tillämpat på sig rapporteras cacheAsBitmap
som true
för det visningsobjektet, även om du sätter egenskapen till false
. Om du rensar alla filter för ett visningsobjekt ändras inställningen för cacheAsBitmap
till vad den senast ställts in på.
Ett visningsobjekt använder inte en bitmapp, även om egenskapen cacheAsBitmap
är inställd på true
. Knappen återges i stället från vektordata i följande fall:
- Bitmappen är för stor. I AIR 1.5 och Flash Player 10 är maxstorleken för en bitmappsbild 8 191 pixlar i bredd och höjd, och det totala antalet pixlar får inte överskrida 16 777 215 pixlar. (Om en bitmappsbild är 8 191 pixlar bred kan den därför bara vara 2 048 pixlar hög.) I Flash Player 9 och tidigare är begränsningen 2 880 pixlar hög och 2 880 pixlar bred.
- Bitmappen kan ej tilldelas (slut på minnet).
Egenskapen cacheAsBitmap
är bäst att använda med filmklipp som i huvudsak har statiskt innehåll och som inte skalas eller roterar ofta. Med sådana filmklipp kan cacheAsBitmap
leda till prestandaförbättringar när filmklippet translateras (när dess x- och y-position ändras).
Implementering
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
cacheAsBitmap
, som sätts till true
när filtret tillämpas:
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
cacheAsBitmapMatrix | egenskap |
cacheAsBitmapMatrix:Matrix
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.0 |
Om detta inte är null definierar det här Matrix-objektet hur ett visningsobjekt återges när cacheAsBitmap
har värdet true
. Programmet använder den här matrisen som en omformningsmatris som används för att återge bitmappversionen av visningsobjektet.
Stöd för AIR-profiler: Den här funktionen stöds på mobilenheter, men inte på operativsystem för datorer. Begränsat stöd på enheter med AIR for TV. Omformningar som stöds på enheter med AIR for TV inkluderar skalning och översättning, men inte rotation och skevning. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
När cacheAsBitmapMatrix
har angetts bevarar programmet en cache-lagrad bitmappsbild genom olika 2D-omformningar, bl.a. förflyttning, rotation och skalning. Om maskinvaruacceleration används i programmet kommer objektet att lagras i videominnet som en textur. Detta gör att GPU:n kan tillämpa de omformningar som stöds på ett objekt. Omformningarna utförs snabbare med GPU:n än med CPU:n.
Om du vill använda maskinvaruacceleration anger du Återgivning som GPU på fliken Allmänt i dialogrutan iPhone-inställningar i Flash Professional CS5. Du kan också ange egenskapen renderMode
som gpu
i programbeskrivningsfilen. Tänk på att enheter med AIR for TV automatiskt använder maskinvaruacceleration, om det är tillgängligt.
Följande kod skickar till exempel en icke-omformad bitmapprepresentation av visningsobjektet till grafikprocessorn:
matrix:Matrix = new Matrix(); // creates an identity matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Vanligtvis räcker identitetsmatrisen (new Matrix()
). Men du kan också använda en annan matris, till exempel en nedskalad matris, för att överföra en annan bitmapp till grafikprocessorn. I följande exempel används till exempel en cacheAsBitmapMatrix
-matris som skalats med 0,5 på x- och y-axlarna. Det bitmappobjekt som används av grafikprocessorn är mindre, men grafikprocessorn anpassar dess storlek så att den matchar egenskapen transform.matrix för visningsobjektet:
matrix:Matrix = new Matrix(); // creates an identity matrix matrix.scale(0.5, 0.5); // scales the matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
I allmänhet bör du välja en matris som omformar visningsobjektet till den storlek som det har i programmet. Om programmet till exempel visar bitmappversionen av en sprite nedskalat med hälften, bör du använda en matris som skalar ned med hälften. Om programmet ska visas en sprite i större storlek än den aktuella använder du en matris som skalar upp med den faktorn.
Obs! Egenskapen cacheAsBitmapMatrix
är lämplig för 2D-omformningar. Om du behöver tillämpa omformningar i 3D kan du göra detta genom att ställa in en 3D-egenskap för objektet och ändra dess transform.matrix3D
-egenskap. Om programmet är paketerat i GPU-läge gör detta att GPU:n kan tillämpa 3D-omformningarna på objektet. cacheAsBitmapMatrix
ignoreras för 3D-objekt.
Implementering
public function get cacheAsBitmapMatrix():Matrix
public function set cacheAsBitmapMatrix(value:Matrix):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
cacheAsBitmapMatrix
för att lägga till omformningar i en bitmappversion av filmklippet my_shape
.
import flash.geom.Matrix; import flash.display.*; import flash.utils.Timer; var my_shape:MovieClip = new MovieClip(); my_shape.graphics.beginFill(0xCCFF00); my_shape.graphics.drawRect(200, 0, 100, 100); addChild(my_shape); var my_timer:Timer = new Timer(250); my_timer.start(); my_timer.addEventListener(TimerEvent.TIMER, timerHandler); // make sure this Display Object remains cached for all 2D transforms my_shape.cacheAsBitmap = true; my_shape.cacheAsBitmapMatrix = new Matrix(); // rotation variables const initAngle:Number = 0; const pi:Number = 3.142; const incrAngle:Number = pi/10; // scaling variables const initScale:Number = 0.25; const incrScale: Number = 1.1; var initHeight : Number = my_shape.height; var initWidth : Number = my_shape.width; // translation variables var incrX : Number = root.width / 20; var incrY : Number = root.height / 10; // do some initial transforms var tempMat : Matrix = my_shape.transform.matrix; tempMat.rotate(initAngle); tempMat.scale(initScale, initScale); my_shape.transform.matrix = tempMat; function timerHandler(evt:TimerEvent):void { tempMat = my_shape.transform.matrix; tempMat.rotate(incrAngle); tempMat.translate(incrX, incrY); tempMat.scale(incrScale, incrScale); my_shape.transform.matrix = tempMat; // ensure we are still in a reasonable state or reset if(my_shape.height > stage.stageHeight/2) { my_shape.height = initHeight; } if(my_shape.width > stage.stageWidth/2) { my_shape.width = initWidth; } if(my_shape.x > stage.stageWidth) { my_shape.x = 0; } else if (my_shape.x < 0) { my_shape.x = stage.stageWidth; } if(my_shape.y > stage.stageHeight) { my_shape.y = 0; } else if (my_shape.y < 0) { my_shape.y = stage.stageHeight; } }
filters | egenskap |
filters:Array
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet. I paketet flash.filters finns flera klasser som definierar specifika filter du kan använda.
Filter kan användas i Flash Professional vid designtillfället eller under körning med ActionScript-kod. Om du vill använda ett filter med ActionScript måste du skapa en temporär kopia av hela filters
-arrayen, ändra den tillfälliga arrayen och sedan tilldela värdena i den tillfälliga arrayen tillbaka till filters
-arrayen. Du kan inte lägga till nya filterobjekt direkt i filters
-arrayen.
För att lägga till ett filter med ActionScript genomför man följande steg (antag att målvisningsobjektet har namnet myDisplayObject
):
- Skapa ett nytt filterobjekt med konstruktormetoden hos den filterklass du har valt.
- Tilldela värdet för
myDisplayObject.filters
-arrayen till en tillfällig array, exempelvis den med namnetmyFilters
. - Lägg till det nya filterobjektet i den tillfälliga arrayen,
myFilters
. - Tilldela värdet av den tillfälliga arrayen
myDisplayObject.filters
.
Om filters
-arrayen är odefinierad behöver du inte använda en tillfällig array. Du kan i stället tilldela en arraylitteral som innehåller ett eller flera filterobjekt som du har skapat. Det första exemplet i avsnittet Exempel lägger till ett skuggfilter genom att använda kod som hanterar såväl definierade som odefinierade filters
-arrayer.
För att ändra ett befintligt filterobjekt måste du använda rutinen för ändring av en kopia av filters
-arrayen:
- Tilldela värdet för
filters
-arrayen till en tillfällig array, exempelvis den med namnetmyFilters
. - Ändra egenskapen med den tillfälliga arrayen,
myFilters
. Om du till exempel ställer in egenskapen quality för det första filtret i arrayen kan du använda följande kod:myFilters[0].quality = 1;
- Tilldela värdet av den tillfälliga arrayen
filters
.
Om ett visningsobjekt har ett associerat filter när den läses in, har den ställts in att cachelagra sig själv som en genomskinlig bitmapp. Från och med den tidpunkten och så länge visningsobjektet har en giltig filterlista, cachelagras filmklippet som en bitmapp. Den källbitmappen används som en källbild för filtereffekterna. Varje visningsobjekt har vanligtvis två bitmappar: en med det ursprungliga ofiltrerade källvisningsobjektet och en för den slutliga bilden efter filtrering. Den slutliga bilden används för rendering. Så länge visningsobjektet inte ändras behöver den slutgiltiga bilden inte uppdateras.
Paketet flash.filters innehåller klasser för filter. För att skapa ett DropShadow-filter skriver du exempelvis:
import flash.filters.DropShadowFilter var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
Du kan använda operatorn is
för att bestämma typen av filtertilldelning för varje indexposition i arrayen filter
. Följande kod visar exempelvis hur man bestämmer positionen för det första filtret i den filters
-array som är ett DropShadowFilter:
import flash.text.TextField; import flash.filters.*; var tf:TextField = new TextField(); var filter1:DropShadowFilter = new DropShadowFilter(); var filter2:GradientGlowFilter = new GradientGlowFilter(); tf.filters = [filter1, filter2]; tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0 addChild(tf) function filterPosition(displayObject:DisplayObject, filterClass:Class):int { for (var i:uint = 0; i < displayObject.filters.length; i++) { if (displayObject.filters[i] is filterClass) { return i; } } return -1; }
Obs: Eftersom du inte kan lägga till ett nytt filterobjekt direkt till DisplayObject.filters
-arrayen har följande kod ingen effekt på målvisningsobjektet med namn myDisplayObject
:
myDisplayObject.filters.push(myDropShadow);
Implementering
public function get filters():Array
public function set filters(value:Array):void
Utlöser
ArgumentError — När filters innehåller ett ShaderFilter och skuggningsutdatatypen inte är kompatibel med den här åtgärden (shadern måste ange pixel4 -utdata).
| |
ArgumentError — När filters innehåller ett ShaderFilter och skuggningen inte anger någon bildinmatning eller om den första inmatningen inte är en image4 -inmatning.
| |
ArgumentError — När filters innehåller ett ShaderFilter och skuggningen anger en bildinmatning som inte är tillhandahållen.
| |
ArgumentError — När filters innehåller ett ShaderFilter, en ByteArray eller Vektor.<Number>-instansen används som en skuggningsinmatning och egenskaperna width och height är inte angivna för ShaderInput-objektet, eller de angivna värdena överensstämmer inte med mängden data i alla inmatningsdata. Mer information finns under ShaderInput.input -egenskapen.
|
Relaterade API-element
height | egenskap |
height:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger visningsobjektets höjd i pixlar. Höjden beräknas baserat på gränserna för innehållet i visningsobjektet. När du anger height
-egenskapen justerasscaleY
-egenskapen in därefter så som visas i följande kod:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
Förutom för objekten TextField och Video har ett visningsobjekt utan innehåll (t.ex. en tom sprite) en höjd på 0, även om du försöker ange height
till ett annat värde.
Implementering
public function get height():Number
public function set height(value:Number):void
Exempel ( Så här använder du exemplet )
height
för vart och ett av dem på basis av vardera objektets textHeight
-egenskap. Den positionerar dessutom det andra textfältet genom att sätta dess y
-egenskap:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
loaderInfo | egenskap |
loaderInfo:LoaderInfo
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar ett LoaderInfo-objekt som innehåller information om hur filen som visningsobjektet tillhör ska läsas in. Egenskapen loaderInfo
definieras bara för en SWF-fils rotvisningsobjekt eller för en inläst bitmapp (inte för en bitmapp som ritas med ActionScript). För att hitta det loaderInfo
-objekt som hör till den SWF-fil som innehåller ett visningsobjekt med namnet myDisplayObject
använder man myDisplayObject.root.loaderInfo
.
En stor SWF-fil kan övervaka sin nedladdning genom att anropa this.root.loaderInfo.addEventListener(Event.COMPLETE, func)
.
Implementering
public function get loaderInfo():LoaderInfo
Relaterade API-element
Exempel ( Så här använder du exemplet )
detta
refererar till ett visningsobjekt. Koden ger utdata i form av URL-adressen för SWF-filen för visningsobjektet:
trace (this.loaderInfo.url);
mask | egenskap |
mask:DisplayObject
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Det anropande visningsobjektet maskeras av det angivna mask
-objektet. För att säkerställa att maskning fungerar när scenen skalas måste visningsobjekt mask
befinna sig i en aktiv del av visningslistan. Själva mask
-objektet visas inte. Sätt mask
till null
för att ta bort masken.
För att ett maskobjekt ska kunna skalas måste det finnas på visningslistan. För att ett mask-Sprite-objekt ska kunna dras (genom att anropa dess startDrag()
-metod) måste det befinna sig på visningslistan. För att anropa startDrag()
-metoden för en masksprite som baseras på en mouseDown
-händelse som skickas av spriten sätts egenskapen sprite, sätter man spritens buttonMode
till true
.
När visningsobjekt cache-lagras genom att egenskapen cacheAsBitmap
sätts till true
och egenskapen cacheAsBitmapMatrix
till ett Matrix-objekt, måste både masken och visningsobjektet som maskas vara del av samma cache-lagrade bitmapp. Detta medför att om visningsobjektet cache-lagras måste masken vara ett underordnat objekt till visningsobjektet. Om ett överordnat visningsobjekt på visningslistan cache-lagras, måste masken vara underordnad detta objekt eller ett av dess underordnade objekt. Om mer än ett överordnat objekt till det maskade objektet cache-lagras, måste masken vara underordnad den cache-lagrade behållaren som ligger närmast det maskade objektet i visningslistan.
Obs! Ett enkelt mask
-objekt kan inte användas för att maska fler än ett anropande display-objekt. När mask
tilldelas ett andra display-objekt tas det bort som mask för det första objektet och det objektets mask
-egenskap blir null
.
Implementering
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
Exempel ( Så här använder du exemplet )
drag()
startDrag()
-metoden för mask-Sprite-objektet:
import flash.text.TextField; import flash.display.Sprite; import flash.events.MouseEvent; var tf:TextField = new TextField(); tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " tf.selectable = false; tf.wordWrap = true; tf.width = 150; addChild(tf); var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 40, 40); addChild(square); tf.mask = square; tf.addEventListener(MouseEvent.MOUSE_DOWN, drag); tf.addEventListener(MouseEvent.MOUSE_UP, noDrag); function drag(event:MouseEvent):void { square.startDrag(); } function noDrag(event:MouseEvent):void { square.stopDrag(); }
metaData | egenskap |
mouseX | egenskap |
mouseX:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger x-koordinaten för musens eller användarens indataenhets position i pixlar.
Obs! För ett DisplayObject som har roterats reflekterar den returnerade x-koordinaten det icke-roterade objektet.
Implementering
public function get mouseX():Number
Exempel ( Så här använder du exemplet )
mouseX
- och mouseY
-positionerna när användaren klickar på spriten:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
mouseY | egenskap |
mouseY:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger y-koordinaten för musens eller användarens indataenhets position i pixlar.
Obs! För ett DisplayObject som har roterats reflekterar den returnerade y-koordinaten det icke-roterade objektet.
Implementering
public function get mouseY():Number
Exempel ( Så här använder du exemplet )
mouseX
- och mouseY
-positionerna när användaren klickar på spriten:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
name | egenskap |
name:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger instansnamnet för DisplayObject. Objektet kan identifieras i den överordnade visningsobjektbehållarens lista med underordnade genom anrop av getChildByName()
-metoden för visningsobjektbehållaren.
Implementering
public function get name():String
public function set name(value:String):void
Utlöser
IllegalOperationError — Om du försöker sätta denna egenskap för ett objekt som placerades på tidslinjen i utvecklingsverktyget i Flash.
|
Exempel ( Så här använder du exemplet )
name
när användaren klickar på något av objekten:
import flash.display.Sprite; import flash.events.MouseEvent; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.name = "circle1"; addChild(circle1); circle1.addEventListener(MouseEvent.CLICK, traceName); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x0000FF); circle2.graphics.drawCircle(140, 40, 40); circle2.name = "circle2"; addChild(circle2); circle2.addEventListener(MouseEvent.CLICK, traceName); function traceName(event:MouseEvent):void { trace(event.target.name); }
opaqueBackground | egenskap |
opaqueBackground:Object
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om visningsobjektet är ogenomskinligt med en viss bakgrundsfärg. En genomskinlig bitmapp innehåller alfakanaldata och ritas genomskinligt. En ogenomskinlig bitmapp har ingen alfakanal (och återges snabbare än en genomskinlig bitmapp). Om bitmappen är ogenomskinlig bestämmer du en egen bakgrundsfärg för den.
Om ett siffervärde anges blir ytan ogenomskinlig (inte genomskinlig) med den RGB-bakgrundsfärg som siffervärdet anger. Om värdet sätts till null
(standardvärdet) får visningsobjektet en genomskinlig bakgrund.
Egenskapen opaqueBackground
är huvudsakligen avsedd för användning med egenskapen cacheAsBitmap
för återgivningsoptimering. För visningsobjekt för vilka egenskapen cacheAsBitmap
satts till true kan inställning av opaqueBackground
förbättra återgivningens prestanda.
Det ogenomskinliga bakgrundsområdet matchas inte vid anrop av hitTestPoint()
-metoden med parameter shapeFlag
satt till true
.
Det ogenomskinliga bakgrundsområdet reagerar inte på mushändelser.
Implementering
public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
opaqueBackground
till röd (0xFF0000):
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
parent | egenskap |
parent:DisplayObjectContainer
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger DisplayObjectContainer-objektet som innehåller visningsobjektet. Använd egenskapen parent
för att specificera en relativ sökväg för visningsobjekt som befinner sig ovanför det aktuella visningsobjektet i visningslisthierarkin.
Du kan använda parent
för att flytta upp flera nivåer i visningslistan, som i följande exempel:
this.parent.parent.alpha = 20;
Implementering
public function get parent():DisplayObjectContainer
Utlöser
SecurityError — Det överordnade visningsobjekt tillhör en säkerhetssandlåda som du inte har tillgång till. Du kan undvika denna situation genom att låta den överordnade filmen anropa Security.allowDomain() -metoden.
|
Exempel ( Så här använder du exemplet )
parent
återspeglar visningslisthierarkin:
import flash.display.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"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
root | egenskap |
root:DisplayObject
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
För ett visningsobjekt i en inläst SWF-fil är root
-egenskapen det översta visningsobjektet i den del av visningslistans trädstruktur som representeras av den SWF-filen. För ett Bitmap-objekt som representerar en inläst bildfil är egenskapen root
själva Bitmap-objektet. När den första SWF-filens huvudklass har lästs in är egenskapen root
själva visningsobjektet. Egenskapen root
för Stage-objektet är själva Stage-objektet. Egenskapen root
sätts till null
för varje visningsobjekt som inte lagts till till visningslistan, om den inte lagts till till en visningsobjektbehållare som inte är med på visningslistan men som är underordnad till det översta visningsobjektet i en inläst SWF-fil.
Om du exempelvis skapar ett nytt Sprite-objekt genom att anropa konstruktormetoden Sprite()
är dess root
-egenskap null
tills du lägger till det till visningslistan (eller till en visningsobjektbehållare som inte är med på visningslistan, men som är underordnad det översta visningsobjektet i en SWF-fil).
För en inläst SWF-fil sätts egenskapen root
för det översta visningsobjektet i SWF-filen till sig själv även om det Loader-objekt som användes för att läsa in filen inte finns i visningslistan. Loader-objektet får inte sin root
-egenskap satt förrän det läggs in som underordnad till ett visningsobjekt för vilket egenskapen root
har satts.
Implementering
public function get root():DisplayObject
Exempel ( Så här använder du exemplet )
root
för Stage-objektet, för ett visningsobjekt (ett Loader-objekt) som inte har lästs in (både före och efter det lagts till i visningslistan) respektive för ett inläst objekt (ett inläst Bitmap-objekt):
import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; trace(stage.root); // [object Stage] var ldr:Loader = new Loader(); trace (ldr.root); // null addChild(ldr); trace (ldr.root); // [object ...] var urlReq:URLRequest = new URLRequest("example.jpg"); ldr.load(urlReq); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); function loaded(event:Event):void { trace(ldr.content.root); // [object Bitmap] }
rotation | egenskap |
rotation:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger DisplayObject-instansens rotation i grader från den ursprungliga orienteringen. Värden från 0 till 180 representerar rotation medurs och värden från 0 till -180 representerar rotation moturs. Värden utanför intervallet adderas eller subtraheras från 360 för att få fram ett värde inom intervallet. Påståendet my_video.rotation = 450
är exempelvis samma som my_video.rotation = 90
.
Implementering
public function get rotation():Number
public function set rotation(value:Number):void
Exempel ( Så här använder du exemplet )
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(-50, -50, 100, 100); square.x = 150; square.y = 150; addChild(square); square.addEventListener(MouseEvent.CLICK, rotate); function rotate(event:MouseEvent):void { square.rotation += 15; }
rotationX | egenskap |
rotationX:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Anger x-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. Värden från 0 till 180 representerar rotation medurs och värden från 0 till -180 representerar rotation moturs. Värden utanför intervallet adderas eller subtraheras från 360 för att få fram ett värde inom intervallet.
Implementering
public function get rotationX():Number
public function set rotationX(value:Number):void
Exempel ( Så här använder du exemplet )
rotationX
- och rotationY
-egenskaper. Den första ellipsens registreringspunkt ställs in på dess centrum. Den roterar runt sig själv. Den andra ellipsen roterar runt en extern punkt.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
//Requires: // - Slider control UI component in Flash library. // - Publish for Flash Player 10. // [SWF(width="400", height="300")] import fl.controls.Slider; import fl.controls.SliderDirection; import fl.events.SliderEvent; var slider:Slider = new Slider(); slider.direction = SliderDirection.HORIZONTAL; slider.minimum = 0; slider.maximum = 360; slider.value = 45; slider.tickInterval = 45; slider.snapInterval = 1; slider.liveDragging = true; slider.addEventListener(SliderEvent.CHANGE, slider_change); slider.move(10, 10); addChild(slider); var spr:Sprite = new Sprite(); spr.graphics.lineStyle(2, 0xFF0000); spr.graphics.drawRect(0, 0, 100, 80); spr.x = Math.round((stage.stageWidth - spr.width)/2); spr.y = Math.round((stage.stageHeight - spr.height)/2); spr.rotationX = 45; addChild(spr); function slider_change(evt:SliderEvent):void { spr.rotationX = evt.value; }
rotationY | egenskap |
rotationY:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Anger y-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. Värden från 0 till 180 representerar rotation medurs och värden från 0 till -180 representerar rotation moturs. Värden utanför intervallet adderas eller subtraheras från 360 för att få fram ett värde inom intervallet.
Implementering
public function get rotationY():Number
public function set rotationY(value:Number):void
Exempel ( Så här använder du exemplet )
rotationX
- och rotationY
-egenskaper. Den första ellipsens registreringspunkt ställs in på dess centrum. Den roterar runt sig själv. Den andra ellipsen roterar runt en extern punkt.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
rotationZ | egenskap |
rotationZ:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Anger z-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. Värden från 0 till 180 representerar rotation medurs och värden från 0 till -180 representerar rotation moturs. Värden utanför intervallet adderas eller subtraheras från 360 för att få fram ett värde inom intervallet.
Implementering
public function get rotationZ():Number
public function set rotationZ(value:Number):void
scale9Grid | egenskap |
scale9Grid:Rectangle
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Det skalningsrutnät som används för närvarande. Om egenskapen ställs in på null
skalas hela visningsobjektet normalt när du använder någon skalomvandling.
När du definierar en scale9Grid
-egenskap delas visningsobjektet upp i ett rutnät med nio regioner baserat på scale9Grid
-rektangeln som definierar mitten på rutnätet. Rutnätets åtta övriga regioner är följande områden:
- Rektangelns övre vänstra utvändiga hörn
- Området ovanför rektangeln
- Rektangelns övre högra utvändiga hörn
- Området till vänster om rektangeln
- Området till höger om rektangeln
- Rektangelns nedre vänstra utvändiga hörn
- Området nedanför rektangeln
- Rektangelns nedre högra utvändiga hörn
Tänk dig att de åtta områdena utanför mittområdet (som definieras av rektangeln) är som en tavelram som har särskilda regler som gäller vid skalning.
När egenskapen scale9Grid
är inställd och ett visningsobjekt skalas skalas all text och alla övertoningar normalt. För andra objekt gäller dock andra regler:
- Innehåll i mittenregionen skalas normalt.
- Innehåll i hörnen skalas inte.
- Innehåll i de övre och undre regionerna skalas endast vågrätt. Innehåll i de vänstra och högra regionerna skalas endast lodrätt.
- Alla fyllningar (inklusive bitmappar, video och övertoningar) sträcks ut så att de passar sina former.
Om du roterar ett visningsobjekt är all efterföljande skalning normal (och egenskapen scale9Grid
ignoreras).
Ta till exempel följande visningsobjekt och en rektangel som används som scale9Grid
för visningsobjektet:
Visningsobjektet. |
Den röda rektangeln visar |
När visningsobjektet skalas eller sträcks ut skalas objekten i rektangeln normalt, men objekten utanför rektangeln skalas enligt scale9Grid
-reglerna:
Skalad till 75%: | |
Skalad till 50%: | |
Skalad till 25 %: | |
Utsträckt vågrätt 150 %: |
En vanlig användning för scale9Grid
är att skapa en komponent vars kantregioner behåller samma bredd när komponenten skalas.
Implementering
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle):void
Utlöser
ArgumentError — Om du skickar ett ogiltigt argument till metoden.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
graphics
. Rektangeln har en linje med en bredd på 20 pixlar som gräns och är fylld med övertoning. Timerhändelsen anropar scale()
-funktionen, som skalar Shape-objektet genom att anpassa egenskaperna scaleX
och scaleY
. Den scale9Grid
som tillämpades på Shape-objektet hindrar rektangelns kantlinje från att skalas — endast övertoningsfyllningen skalas:
import flash.display.Shape; import flash.display.GradientType; import flash.display.SpreadMethod; import flash.display.InterpolationMethod; import flash.geom.Matrix; import flash.geom.Rectangle; import flash.utils.Timer; import flash.events.TimerEvent; var square:Shape = new Shape(); square.graphics.lineStyle(20, 0xFFCC00); var gradientMatrix:Matrix = new Matrix(); gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10); square.graphics.beginGradientFill(GradientType.RADIAL, [0xffff00, 0x0000ff], [100, 100], [0, 0xFF], gradientMatrix, SpreadMethod.REFLECT, InterpolationMethod.RGB, 0.9); square.graphics.drawRect(0, 0, 100, 100); var grid:Rectangle = new Rectangle(20, 20, 60, 60); square.scale9Grid = grid ; addChild(square); var tim:Timer = new Timer(100); tim.start(); tim.addEventListener(TimerEvent.TIMER, scale); var scaleFactor:Number = 1.01; function scale(event:TimerEvent):void { square.scaleX *= scaleFactor; square.scaleY *= scaleFactor; if (square.scaleX > 2.0) { scaleFactor = 0.99; } if (square.scaleX < 1.0) { scaleFactor = 1.01; } }
scaleX | egenskap |
scaleX:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger vågrät skala (i procent) för objektet utifrån dess registreringspunkt. Standardregistreringspunkten är (0,0). 1.0 är en skala på 100 %.
Om skalan för det lokala koordinatsystemet ändras förändras egenskapsvärdena x
och y
, som är definierade i hela pixlar.
Implementering
public function get scaleX():Number
public function set scaleX(value:Number):void
Exempel ( Så här använder du exemplet )
graphics
. När användaren klickar på spriten skalas den med 10 %:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleY | egenskap |
scaleY:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger lodrät skala (i procent) för objektet utifrån dess registreringspunkt. Standardregistreringspunkten är (0,0). 1.0 är en skala på 100 %.
Om skalan för det lokala koordinatsystemet ändras förändras egenskapsvärdena x
och y
, som är definierade i hela pixlar.
Implementering
public function get scaleY():Number
public function set scaleY(value:Number):void
Exempel ( Så här använder du exemplet )
graphics
. När användaren klickar på spriten skalas den med 10 %:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleZ | egenskap |
scaleZ:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Anger djupskala (procent) för objektet utifrån dess registreringspunkt. Standardregistreringspunkten är (0,0). 1.0 är en skala på 100 %.
Om skalan för det lokala koordinatsystemet ändras förändras egenskapsvärdena x
, y
och z
, som är definierade i hela pixlar.
Implementering
public function get scaleZ():Number
public function set scaleZ(value:Number):void
Relaterade API-element
scrollRect | egenskap |
scrollRect:Rectangle
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Visningsobjektets gränser för rullningsrektangeln. Visningsobjektet beskärs till den storlek som definieras av rektangeln och det rullas i triangeln när du ändrar egenskaperna x
och y
för objekt scrollRect
.
Egenskaperna för scrollRect
-Rectangle-objektet använder visningsobjektets koordinatmodell och skalas precis som det övergripande visningsobjektet. Det beskurna fönstrets hörngränser i rullningsvisningsobjektet utgör origo för visningsobjektet (0,0) och den punkt som definieras av rektangelns bredd och höjd. De är inte centrerade runt origo men använder origo för att definiera det övre vänstra hörnet för området. Ett rullat visningsobjekt rullas alltid i steg om hela pixlar.
Du kan rulla ett objekt åt vänster och höger genom att sätta egenskap x
för scrollRect
-Rectangle-objektet. Du kan rulla ett objekt uppåt och nedåt genom att sätta egenskap y
för scrollRect
-Rectangle-objektet. Om visningsobjektet roteras 90° och du rullar det åt vänster och höger rullas visningsobjektet i stället uppåt och nedåt.
Tänk på att ändringar av egenskapen scrollRect
inte bearbetas förrän objektet återges. Därför kanske metoder som localToGlobal
inte ger det resultat du väntar dig, om de anropas omedelbart efter att scrollRect
har ändrats.
Obs! Från och med Flash Player 11.4/AIR 3.4, ändras negativa värden för bredden eller höjden på rektangeln till 0.
Implementering
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
scrollRect
definierar rullningsområdet för ett visningsobjekt, circle
. När du klickar på circle
-objektet justerar clicked()
händelsehanterarmetoden egenskapen y
för egenskapen scrollRect
för circle
-objektet, vilket får objektet att rullas nedåt:
import flash.display.Sprite; import flash.geom.Rectangle; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(200, 200, 200); circle.scrollRect = new Rectangle(0, 0, 200, 200); addChild(circle); circle.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { var rect:Rectangle = event.target.scrollRect; rect.y -= 5; event.target.scrollRect = rect; }
stage | egenskap |
stage:Stage
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Visningsobjektets scen. Ett Flash-körtidsprogram har bara ett Stage-objekt. Du kan exempelvis skapa och läsa in flera visningsobjekt i visningslistan, och egenskapen stage
för varje visningsobjekt refererar till samma Stage-objekt (även om visningsobjektet tillhör en inläst SWF-fil).
Om ett visningsobjekt inte läggs till i visningslistan sätts dess egenskap stage
till null
.
Implementering
public function get stage():Stage
Exempel ( Så här använder du exemplet )
width
hos Stage-objektet för att positionera textfälten:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
transform | egenskap |
transform:flash.geom:Transform
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ett objekt med egenskaper som gäller ett visningsobjekts matris, färgomformning och pixelgränser. De specifika egenskaperna – matrix, colorTransform och tre skrivskyddade egenskaper (concatenatedMatrix
, concatenatedColorTransform
och pixelBounds
) – beskrivs i informationen för klassen Transform.
Alla egenskaper i ett transform-objekt är objekt i sig själva. Detta koncept är viktigt eftersom det enda sättet att ange nya värden för matrisen eller för colorTransform-objekt är att skapa ett nytt objekt och kopiera det objektet till egenskapen transform.matrix eller transform.colorTransform.
För att exempelvis öka tx
-värdet för ett visningsobjekts matris måste du göra en kopia av hela matrisobjektet och sedan kopiera in det nya objektet i omformningsobjektets matrisegenskap:
var myMatrix:Matrix = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
Det går inte att ställa in egenskapen tx
Följande kod har ingen effekt på myDisplayObject
:
myDisplayObject.transform.matrix.tx += 10;
Du kan också kopiera ett helt transform-objekt och tilldela det till ett annat visningsobjekts transform-egenskap. I följande kod kopieras exempelvis hela transform-objektet från myOldDisplayObj
till myNewDisplayObj
myNewDisplayObj.transform = myOldDisplayObj.transform;
Det resulterande visningsobjektet myNewDisplayObj
har nu samma värden för sin matris, färgomformning och pixelgränser som det gamla visningsobjektet myOldDisplayObj
Tänk på att enheter med AIR for TV använder maskinvaruacceleration, om det är tillgängligt, för färgomvandlingar.
Implementering
public function get transform():flash.geom:Transform
public function set transform(value:flash.geom:Transform):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
square
-Sprite-objekt. När användaren klickar på spriten anpassar transformer()
-metoden colorTransform
- och matrix
-egenskaperna för spritens transform
-egenskap:
import flash.display.Sprite; import flash.geom.ColorTransform; import flash.geom.Matrix; import flash.geom.Transform; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.lineStyle(20, 0xFF2200); square.graphics.beginFill(0x0000DD); square.graphics.drawRect(0, 0, 100, 100); addChild(square); var resultColorTransform:ColorTransform = new ColorTransform(); resultColorTransform.alphaMultiplier = 0.5; resultColorTransform.redOffset = 155; resultColorTransform.greenMultiplier = 0.5; var skewMatrix:Matrix = new Matrix(1, 1, 0, 1); square.addEventListener(MouseEvent.CLICK, transformer); function transformer(event:MouseEvent):void { var transformation:Transform = square.transform; var tempMatrix:Matrix = square.transform.matrix; tempMatrix.concat(skewMatrix); square.transform.colorTransform = resultColorTransform; square.transform.matrix = tempMatrix; }
visible | egenskap |
visible:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Om visingsobjektet är synligt eller inte. Visningsobjekt som inte är synliga inaktiveras. Om exempelvis visible=false
för en InteractiveObject-instans så kan den inte klickas.
Implementering
public function get visible():Boolean
public function set visible(value:Boolean):void
Exempel ( Så här använder du exemplet )
visible
för ett visningsobjekt, vilket resulterar i en blinkeffekt:
import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; var tf:TextField = new TextField(); tf.text = "Hello."; addChild(tf); var tim:Timer = new Timer(250); tim.start(); tim.addEventListener(TimerEvent.TIMER, blinker); function blinker(event:TimerEvent):void { tf.visible = !tf.visible; }
width | egenskap |
width:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger visningsobjektets bredd i pixlar. Bredden beräknas baserat på gränserna för innehållet i visningsobjektet. När du anger width
-egenskapen justerasscaleX
-egenskapen in därefter så som visas i följande kod:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
Förutom för objekten TextField och Video har ett visningsobjekt utan innehåll (t.ex. en tom sprite) en bredd på 0, även om du försöker ange width
till ett annat värde.
Implementering
public function get width():Number
public function set width(value:Number):void
Exempel ( Så här använder du exemplet )
square
-Sprite-objekt. När användaren klickar på spriten ökar widen()
-metoden egenskapen width
för spriten:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, widen); function widen(event:MouseEvent):void { square.width += 10; }
x | egenskap |
x:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger x-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. Om objektet befinner sig i en DisplayObjectContainer som har transformationer befinner det sig i det lokala koordinatsystemet för den slutna DisplayObjectContainern. För en DisplayObjectContainer som har roterats 90 grader moturs ärver DisplayObjectContainerns underordnade ett koordinatsystem som är roterat 90 grader moturs. Objektets koordinater refererar till positionen för registreringspunkten.
Implementering
public function get x():Number
public function set x(value:Number):void
Exempel ( Så här använder du exemplet )
circle
-Sprite-objekt. Ett Timer-objekt används för att ändra egenskapen x
för spriten var 50:e millisekund:
import flash.display.Sprite; import flash.utils.Timer; import flash.events.TimerEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(100, 100, 100); addChild(circle); var tim:Timer = new Timer(50); tim.start(); tim.addEventListener(TimerEvent.TIMER, bounce); var xInc:Number = 2; function bounce(event:TimerEvent):void { circle.x += xInc; if (circle.x > circle.width) { xInc = -2; } if (circle.x < 0) { xInc = 2; } }
y | egenskap |
y:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger y-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. Om objektet befinner sig i en DisplayObjectContainer som har transformationer befinner det sig i det lokala koordinatsystemet för den slutna DisplayObjectContainern. För en DisplayObjectContainer som har roterats 90 grader moturs ärver DisplayObjectContainerns underordnade ett koordinatsystem som är roterat 90 grader moturs. Objektets koordinater refererar till positionen för registreringspunkten.
Implementering
public function get y():Number
public function set y(value:Number):void
Exempel ( Så här använder du exemplet )
height
för vart och ett av dem på basis av vardera objektets textHeight
-egenskap. Den positionerar dessutom det andra textfältet genom att sätta dess y
-egenskap:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
z | egenskap |
z:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Anger z-koordinatens position längs DisplayObject-instansens z-axel i förhållande till den överordnade 3D-behållaren. z-egenskapen används för 3D-koordinater, inte skärm- eller pixelkoordinater.
När du anger en z
-egenskap för ett visningsobjekt till något annat än standardvärdet 0
skapas automatiskt ett motsvarande Matrix3D-objekt. för att justera ett visningsobjekts plats och orientering i tre dimensioner. När du arbetar med z-axeln ändras det befintliga uppträdandet på x- och y-egenskaper från skärm- eller pixelkoordinater till positioner relativt 3D parent-behållaren.
En underordnad vid _root
vid position x = 100, y = 100, z = 200 dras till exempel inte vid pixelplacering (100,100). Den underordnade dras där 3D-projektionsberäkningen placerar den. Beräkningen är:
(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)
Implementering
public function get z():Number
public function set z(value:Number):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
z
-axeln) mot försvinningspunkten. En ellips ställs in så att den rör sig snabbare än den andra.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.display.Graphics; import flash.events.Event; import flash.geom.*; public class ZAxisExample1 extends MovieClip { private var ellipse1Back:int = 1; private var ellipse2Back:int = 1; private var depth:int = 1000; public function ZAxisExample1():void { var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, (this.stage.stageHeight / 2), 100, 80, 10); var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, (this.stage.stageHeight / 2), 100, 80, 300); this.addChild(ellipse1); this.addChild(ellipse2); ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler); ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler); } private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape { var s:Shape = new Shape(); s.z = z; s.graphics.beginFill(0xFF0000); s.graphics.lineStyle(2); s.graphics.drawEllipse(x, y, w, h); s.graphics.endFill(); return s; } private function ellipse1FrameHandler(e:Event):void { ellipse1Back = setDepth(e, ellipse1Back); e.currentTarget.z += ellipse1Back * 10; } private function ellipse2FrameHandler(e:Event):void { ellipse2Back = setDepth(e, ellipse2Back); e.currentTarget.z += ellipse2Back * 20; } private function setDepth(e:Event, d:int):int { if(e.currentTarget.z > depth) { e.currentTarget.z = depth; d = -1; }else if (e.currentTarget.z < 0) { e.currentTarget.z = 0; d = 1; } return d; } } }
getBounds | () | metod |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en rektangel som definierar visningsområdets område i relation till targetCoordinateSpace
-objektets koordinatsystem. Titta på den kod som följer, som visar hur den returnerade rektangeln kan variera beroende på den targetCoordinateSpace
-parameter du skickar till metoden:
var container:Sprite = new Sprite(); container.x = 100; container.y = 100; this.addChild(container); var contents:Shape = new Shape(); contents.graphics.drawCircle(0,0,100); container.addChild(contents); trace(contents.getBounds(container)); // (x=-100, y=-100, w=200, h=200) trace(contents.getBounds(this)); // (x=0, y=0, w=200, h=200)
Obs! Använd localToGlobal()
- och globalToLocal()
-metoderna för att konvertera visningsobjektets lokala koordinater till visningskoordinater, eller visningskoordinater till lokala koordinater.
getBounds()
-metoden liknar getRect()
-metoden, men den rektangel som returneras av getBounds()
-metoden innefattar eventuella linjer i former, under det att den rektangel som returneras av getRect()
-metoden inte gör det. Mer information finns i beskrivningen av metoden getRect()
.
Parametrar
targetCoordinateSpace:DisplayObject — Det visningsobjekt som definierar det koordinatsystem som ska användas.
|
Rectangle — Den rektangel som definierar visningsobjektets område relativt targetCoordinateSpace -objektets koordinatsystem.
|
Relaterade API-element
getRect | () | metod |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en rektangel som definierar visningsområdets gräns, baserat på koordinatsystemet som definieras av targetCoordinateSpace
-parametern, exklusive eventuella linjer i former. De värden som getRect()
-metoden returnerar är desamma eller lägre än de som returneras av getBounds()
-metoden.
Obs! Använd localToGlobal()
- och globalToLocal()
-metoderna för att konvertera visningsobjektets lokala koordinater till visningskoordinater, eller visningskoordinater till lokala koordinater.
Parametrar
targetCoordinateSpace:DisplayObject — Det visningsobjekt som definierar det koordinatsystem som ska användas.
|
Rectangle — Den rektangel som definierar visningsobjektets område relativt targetCoordinateSpace -objektets koordinatsystem.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
getBounds()
-metoden kan returnera en större rektangel än getRect()
-metoden på grund av det ytterligare område som används för linjer. I detta fall innefattar triangle
-spriten extra linjer på grund av parametrarna width
och jointStyle
för lineStyle()
-metoden. trace()
-utdata (på de två sista raderna) visar skillnaderna mellan getRect()
- och getBounds()
-rektanglarna:
import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var width:Number = 20; var alpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
globalToLocal | () | metod |
public function globalToLocal(point:Point):Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Konverterar point
-objektet från scenens (globala) koordinater till visningsobjektets (lokala) koordinater.
Skapa först en instans av klassen Point när denna metod ska användas. De x- och y-värden som du tilldelar står för globala koordinater eftersom de är relaterade till origo (0,0) för huvudvisningsområdet. Skicka sedan Point-instansen som parametern till globalToLocal()
-metoden. Metoden returnerar ett nytt Point-objekt med x- och y-värden som relaterar till origo för visningsobjektet i stället för origo för scenen.
Parametrar
point:Point — Ett objekt som skapas med klass Point. Point-objektet specificerar x- och y-koordinater som egenskaper.
|
Point — Ett Point-objekt med koordinater som är relativa till visningsobjektet.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
hitTestPoint()
-metoden, med olika punkter som parametrar. globalToLocal()
-metoden konverterar punkten från Stage-koordinater till formens koordinatmodell:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
globalToLocal3D | () | metod |
public function globalToLocal3D(point:Point):Vector3D
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Konverterar en tvådimensionell punkt från scenens (globala) koordinater till ett tredimensionellt visningsobjekts (lokala) koordinater.
Skapa först en instans av klassen Point när denna metod ska användas. De x- och y-värden som du tilldelar Point-objektet står för globala koordinater eftersom de är relaterade till origo (0,0) för huvudvisningsområdet. Skicka sedan Point-objektet som point
-parametern till metoden globalToLocal3D()
. Metoden returnerar tredimensionella koordinater som ett Vector3D-objekt med x
-, y
- och z
-värden som är relativa till origo för det tredimensionella visningsobjektet.
Parametrar
point:Point — Ett tvådimensionellt Point-objekt som representerar globala x- och y-koordinater.
|
Vector3D — Ett Vector3D-objekt med koordinater i förhållande till det tredimensionella visningsobjektet.
|
hitTestObject | () | metod |
public function hitTestObject(obj:DisplayObject):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Utvärderar begränsningsramen för visningsobjektet för att kontrollera om den överlappar eller korsar begränsningsramen för obj
-visningsobjektet.
Parametrar
obj:DisplayObject — Det visningsobjekt som testen ska göras mot.
|
Boolean — true om begränsningsramarna för visningsobjekten korsar - false om de inte gör det.
|
Exempel ( Så här använder du exemplet )
hitTestObject()
-metoden. Observera att även om circle2 och circle3 inte överlappar, gör deras begränsningsramar det. Därför returnerar träfftestet för circle2 och circle3 true
.
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // false trace(circle2.hitTestObject(circle3)); // true
hitTestPoint | () | metod |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Utvärderar visningsobjektet för att avgöra om det överlappar eller korsar den punkt som anges av x-
och y
-parametrarna. x
- och y
-parametrarna anger en punkt i scenens koordinatmodell, inte den visningsobjektbehållare som innehåller visningsobjektet (annat än om visningsobjektbehållaren är scenen).
Parametrar
x:Number — x-koordinaten som ska testas mot detta objekt.
| |
y:Number — y-koordinaten som ska testas mot detta objekt.
| |
shapeFlag:Boolean (default = false ) — Om kontrollen ska göras mot objektets faktiska pixlar (true ) eller begränsningsramen (false ).
|
Boolean — true om visningsobjektet överlappar eller korsar den specificerade punkten - false i annat fall.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
hitTestPoint()
-metoden, med olika punkter som parametrar. globalToLocal()
-metoden konverterar punkten från Stage-koordinater till formens koordinatmodell:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
local3DToGlobal | () | metod |
public function local3DToGlobal(point3d:Vector3D):Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Konverterar en tredimensionell punkt för det tredimensionella visningsobjektets (lokala) koordinater till en tvådimensionell punkt i scenens (globala) koordinater.
Du kan till exempel bara använda tvådimensionella koordinater (x,y) när du ritar med metoden display.Graphics
. Om du vill rita ett tredimensionellt objekt måste du omvandla ett visningsobjekts tredimensionella koordinater till tvådimensionella koordinater. Börja med att skapa en instans av klassen Vector3D som innehåller x-, y- och z-koordinaterna för det tredimensionella visningsobjektet. Skicka sedan Vector3D-objektet som point3d
-parametern till metoden local3DToGlobal()
. Metoden returnerar ett tvådimensionellt Point-objekt som kan användas med Graphics API för att rita det tredimensionella objektet.
Parametrar
point3d:Vector3D — Ett Vector3D-objekt som antingen innehåller en tredimensionell punkt, eller koordinaterna för det tredimensionella visningsobjektet.
|
Point — En tvådimensionell punkt som representerar en tredimensionell punkt i tvådimensionell rymd.
|
Exempel ( Så här använder du exemplet )
display.Graphics
-metoder. Platsen för this
-visningsobjektet förskjuts så att kubens registreringspunkt är i dess mitt. En Vector för Vector3D-objekt innehåller kubens tredimensionella koordinater. Kubens ovansida ritas först, därefter undersidan och sedan sammanbinds de fyra övre och nedre hörnen. Om du vill använda metoden local3DToGlobal()
måste du lägga till kuben i visningsobjektsbehållaren innan du ritar den.
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Graphics; import flash.geom.*; public class Local3DToGlobalExample extends MovieClip { private var myCube:Sprite = new Sprite(); private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8); public function Local3DToGlobalExample():void { this.x = -(this.stage.stageWidth / 2); this.y = -(this.stage.stageWidth / 2); v8[0] = new Vector3D(-40,-40,-40); v8[1] = new Vector3D(40,-40,-40); v8[2] = new Vector3D(40,-40,40); v8[3] = new Vector3D(-40,-40,40); v8[4] = new Vector3D(-40,100,-40); v8[5] = new Vector3D(40,100,-40); v8[6] = new Vector3D(40,100,40); v8[7] = new Vector3D(-40,100,40); myCube.x = (this.stage.stageWidth / 2); myCube.y = (this.stage.stageWidth / 2); myCube.z = 1; addChild(myCube); Cube(); } private function Cube():void { var ps:Point = new Point(0,0); myCube.graphics.lineStyle(2,0xFF0000); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); } } }
localToGlobal | () | metod |
public function localToGlobal(point:Point):Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Konverterar point
-objektet från visningsobjektets (lokala) koordinater till scenens (globala) koordinater.
Med den här modellen kan du konvertera alla x- och y-koordinater från värden som är relativa till origo (0,0) för ett specifikt visningsobjekt (lokala koordinater) till världen som är relativa till origo för scenen (globala koordinater).
Skapa först en instans av klassen Point när denna metod ska användas. De x- och y-värden som du tilldelar står för lokala koordinater eftersom de är relaterade till origo (0,0) för visningsobjektet.
Skicka sedan Point-instansen som du skapat som parametern till localToGlobal()
-metoden. Metoden returnerar ett nytt Point-objekt med x- och y-värden som relaterar till origo för scenen i stället för origo för visningsobjektet.
Parametrar
point:Point — Namnet eller identifieraren för en punkt som skapats med klassen Point och där koordinaterna x och y anges som egenskaper.
|
Point — Ett Point-objekt med koordinater som är relativa till scenen.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
mouseX
- och mouseY
-egenskaperna för spriten återfinns i visningsobjektets koordinatmodell. Denna kod använder localToGlobal()
-metoden för att överföra dessa egenskaper till de globala (scen)koordinaterna:
import flash.display.Sprite; import flash.events.MouseEvent; import flash.geom.Point; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); square.x = 100; square.y = 200; addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates) function traceCoordinates(event:MouseEvent):void { var clickPoint:Point = new Point(square.mouseX, square.mouseY); trace("display object coordinates:", clickPoint); trace("stage coordinates:", square.localToGlobal(clickPoint)); }
added | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.ADDED
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skickas när ett visningsobjekt läggs till i visningslistan. Dessa metoder utlöser denna händelse: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED
-konstanten definierar värdet på type
-egenskapen i ett added
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | true |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | DisplayObject-instansen läggs till i visningslistan. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen. |
Relaterade API-element
addedToStage | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.ADDED_TO_STAGE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Skickas när ett visningsobjekt läggs till i scenens visningslista, antingen direkt eller genom tillägg av ett underträd som innehåller visningsobjektet. Dessa metoder utlöser denna händelse: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED_TO_STAGE
-konstanten definierar värdet på type
-egenskapen i ett addedToStage
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | DisplayObject-instansen läggs till i scenvisningslistan, antingen direkt eller genom att ett underträd läggs till där DisplayObject-instansen finns med. Om DisplayObject-instansen läggs till direkt inträffar den added händelsen före den här händelsen. |
Relaterade API-element
enterFrame | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.ENTER_FRAME
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[utsändningshändelse] Skickas när spelhuvudet går in i en ny bildruta. Om spelhuvudet inte rör sig, eller om det bara finns en bildruta, skickas denna händelse kontinuerligt tillsammans med bildrutefrekvensen. Händelsen är en sändningshändelse, vilket innebär att den skickas av alla visningsobjekt med en avlyssnare registrerad för händelsen.
Event.ENTER_FRAME
-konstanten definierar värdet på type
-egenskapen i ett enterFrame
-händelseobjekt.
Obs! Den här händelsen har varken en ”capture phase” eller en ”bubble phase” vilket innebär att händelseavlyssnaren måste läggas till direkt i potentiella mål, oavsett om målet visas i listan eller inte.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Alla DisplayObject-instanser med en avlyssnare registrerad för enterFrame -händelsen. |
exitFrame | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.EXIT_FRAME
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 2, Flash Lite 4 |
[utsändningshändelse] Skickas när spelhuvudet stänger den aktuella bildrutan. Alla bildruteskript har körts. Om spelhuvudet inte rör sig, eller om det bara finns en bildruta, skickas denna händelse kontinuerligt tillsammans med bildrutefrekvensen. Händelsen är en sändningshändelse, vilket innebär att den skickas av alla visningsobjekt med en avlyssnare registrerad för händelsen.
Event.EXIT_FRAME
-konstanten definierar värdet på type
-egenskapen i ett exitFrame
-händelseobjekt.
Obs! Den här händelsen har varken en ”capture phase” eller en ”bubble phase” vilket innebär att händelseavlyssnaren måste läggas till direkt i potentiella mål, oavsett om målet visas i listan eller inte.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Alla DisplayObject-instanser med en avlyssnare registrerad för enterFrame -händelsen. |
frameConstructed | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.FRAME_CONSTRUCTED
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 2, Flash Lite 4 |
[utsändningshändelse] Skickas efter att konstruktorerna för bildrutevisningsobjekt har körts men innan bildruteskript har körts. Om spelhuvudet inte rör sig, eller om det bara finns en bildruta, skickas denna händelse kontinuerligt tillsammans med bildrutefrekvensen. Händelsen är en sändningshändelse, vilket innebär att den skickas av alla visningsobjekt med en avlyssnare registrerad för händelsen.
Event.FRAME_CONSTRUCTED
-konstanten definierar värdet på type
-egenskapen i ett frameConstructed
-händelseobjekt.
Obs! Den här händelsen har varken en ”capture phase” eller en ”bubble phase” vilket innebär att händelseavlyssnaren måste läggas till direkt i potentiella mål, oavsett om målet visas i listan eller inte.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Alla DisplayObject-instanser med en avlyssnare registrerad för frameConstructed -händelsen. |
removed | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.REMOVED
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skickas när ett visningsobjekt ska tas bort från visningslistan. Två metoder i klass DisplayObjectContainer genererar denna händelse: removeChild()
och removeChildAt()
.
Följande metoder för ett DisplayObjectContainer-objekt genererar också denna händelse om ett objekt måste tas bort för att göra plats för det nya objektet: addChild()
, addChildAt()
och setChildIndex()
.
Event.REMOVED
-konstanten definierar värdet på type
-egenskapen i ett removed
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | true |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | DisplayObject-instansen som ska tas bort från visningslistan. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen. |
removedFromStage | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.REMOVED_FROM_STAGE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Skickas när ett visningsobjekt ska tas bort från visningslistan, antingen direkt eller genom borttagning av ett underträd som innehåller visningsobjektet. Två metoder i klass DisplayObjectContainer genererar denna händelse: removeChild()
och removeChildAt()
.
Följande metoder för ett DisplayObjectContainer-objekt genererar också denna händelse om ett objekt måste tas bort för att göra plats för det nya objektet: addChild()
, addChildAt()
och setChildIndex()
.
Event.REMOVED_FROM_STAGE
-konstanten definierar värdet på type
-egenskapen i ett removedFromStage
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | DisplayObject-instansen tas bort från scenvisningslistan, antingen direkt eller genom att ett underträd tas bort där DisplayObject-instansen finns med. Om DisplayObject-instansen tas bort direkt inträffar den removed händelsen före den här händelsen. |
render | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.RENDER
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[utsändningshändelse] Skickas när visningslistan ska uppdateras och återges. Denna händelse utgör den sista möjligheten för objekt som lyssnar efter denna händelse att göra ändringar innan visningslistan återges. Du måste anropa invalidate()
-metoden i Stage-objektet varje gång du vill skicka en render
-händelse. Render
-händelser skickas bara till ett objekt om det finns ömsesidigt förtroende mellan den och det objekt som anropade Stage.invalidate()
. Händelsen är en sändningshändelse, vilket innebär att den skickas av alla visningsobjekt med en avlyssnare registrerad för händelsen.
Obs! Denna händelse skickas inte om Flash Player-fönstret inte renderar. Så är fallet när innehållet antingen har minimerats eller är skymt.
Event.RENDER
-konstanten definierar värdet på type
-egenskapen i ett render
-händelseobjekt.
Obs! Den här händelsen har varken en ”capture phase” eller en ”bubble phase” vilket innebär att händelseavlyssnaren måste läggas till direkt i potentiella mål, oavsett om målet visas i listan eller inte.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; standardbeteende går inte att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Alla DisplayObject-instanser med en avlyssnare registrerad för render -händelsen. |
DisplayObjectExample
för att rita en orange fyrkant i scenens hörn och sedan svara på händelser genom att visa textinformation för dem. Detta genomförs med följande steg:
- Klassegenskaper deklareras för fyrkantens färg och storlek.
- Konstruktorn anropar
draw()
-metoden, som ritar en orange fyrkant på scenen i standardkoordinaterna x = 0, y = 0. - Dessa händelseavlyssnarmetoder är fästa vid fyrkanten:
addedHandler()
lyssnar efteradded
-händelser som skickats när fyrkanten läggs till till visningslistan.enterFrameHandler()
lyssnar efterenterFrame
-händelser som inte har någon faktisk innebörd i detta exempel.removedHandler()
lyssnar efterremoved
-händelser som skickas när fyrkanten tas bort från visningslistan, vilket sker vid klickning på fyrkanten.clickHandler()
lyssnar efterclick
-händelser som skickas vid klickning på den orange fyrkanten.renderHandler()
lyssnar efterrender
-händelser efter uppdatering av visningslistan.
package { import flash.display.Sprite; public class DisplayObjectExample extends Sprite { public function DisplayObjectExample() { var child:CustomDisplayObject = new CustomDisplayObject(); addChild(child); } } } import flash.display.DisplayObject; import flash.display.Sprite; import flash.display.Stage; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; class CustomDisplayObject extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function CustomDisplayObject() { draw(); addEventListener(Event.ADDED, addedHandler); addEventListener(Event.ENTER_FRAME, enterFrameHandler); addEventListener(Event.REMOVED, removedHandler); addEventListener(MouseEvent.CLICK, clickHandler); addEventListener(Event.RENDER, renderHandler); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); parent.removeChild(this); } private function addedHandler(event:Event):void { trace("addedHandler: " + event); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener("resize", resizeHandler); } private function enterFrameHandler(event:Event):void { trace("enterFrameHandler: " + event); removeEventListener("enterFrame", enterFrameHandler); } private function removedHandler(event:Event):void { trace("removedHandler: " + event); stage.removeEventListener("resize", resizeHandler); } private function renderHandler(event:Event):void { trace("renderHandler: " + event); } private function resizeHandler(event:Event):void { trace("resizeHandler: " + event); } }
Tue Jun 12 2018, 01:40 PM Z