| 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):voidRelaterade 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):voidExempel ( 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):voidRelaterade 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):voidUtlö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):voidRelaterade 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):voidRelaterade 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):voidUtlö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):voidExempel ( 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():LoaderInfoRelaterade 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):voidExempel ( 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():NumberExempel ( 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():NumberExempel ( 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):voidUtlö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):voidRelaterade 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():DisplayObjectContainerUtlö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():DisplayObjectExempel ( 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):voidExempel ( 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):voidExempel ( 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):voidExempel ( 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):voidscale9Grid | 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):voidUtlö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):voidExempel ( 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):voidExempel ( 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):voidRelaterade 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):voidRelaterade 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():StageExempel ( 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):voidRelaterade 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):voidExempel ( 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):voidExempel ( 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):voidExempel ( 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):voidExempel ( 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):voidRelaterade 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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.Eventegenskap 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
Dölj ärvda publika egenskaper
Visa ärvda publika egenskaper

















