Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: Hämtar data från servern ...
Hämtar data från servern ...
flash.display 

ShaderJob  - AS3

Paketflash.display
Klasspublic class ShaderJob
ArvShaderJob Inheritance EventDispatcher Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

En ShaderJob-instans används för att utföra en skuggningsåtgärd i fristående läge. Skuggningsåtgärden körs och returnerar resultatdata. Det är upp till utvecklaren att avgöra hur resultatet ska användas.

Det finns två huvudorsaker till att använda en skuggning i fristående läge:

  • Bearbeta icke-bilddata: När du använder en ShaderJob-instans har du kontroll över indatavärden och över hur skuggningsresultatet används. Skuggningen kan returnera resultatet som binärdata eller nummerdata i stället för bilddata.
  • Bakgrundsbearbetning: Vissa skuggningar är komplexa och tar lång tid att utföra. När en komplex skuggning körs i programmet kan det göra att andra delar av programmet blir långsammare, t.ex. användaråtgärder eller uppdatering av skärmen. Med en ShaderJob-instans kan du köra skuggningen i bakgrunden. När en skuggning utförs på det här sättet, körs skuggningsåtgärden separat från programmets huvudkörning.

Shader-egenskapen (eller konstruktorparametern) anger Shader-instansen som representerar den skuggning som används för åtgärden. Du tillhandahåller parametrar eller inmatningar som skuggningen förväntar med hjälp av associerade ShaderParameter- eller ShaderInput-instanser.

Innan du utför en ShaderJob-åtgärd, skickar du med ett objekt där resultatet ska skrivas genom ange det som värdet för egenskapen target. När skuggningsåtgärden slutförs, skrivs resultatet in i target-objektet.

Börja skuggningsåtgärden i bakgrunden genom att anropa metoden start(). När åtgärden slutförs skrivs resultatet i target-objektet. Då skickar ShaderJob-instansen en complete-händelse och meddelar avlyssnarna att det finns ett resultat.

Utför en skuggning synkront (det vill säga inte i bakgrunden) genom att anropa metoden start() och skicka true som ett argument. Skuggningen körs i huvudprogrammet och koden pausas till dess att åtgärden är slutförd. När den slutförs skrivs resultatet i target-objektet. Då fortsätter programkörningen från nästa kodrad.

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  height : int
Höjden på alla resultatdata i målet om det är en ByteArray eller Vektor.<Number>-instans.
ShaderJob
  progress : Number
[skrivskyddad] Förloppet när en skuggning körs.
ShaderJob
  shader : Shader
Den skuggning som används för åtgärden.
ShaderJob
  target : Object
Det objekt i vilket resultatet av skuggningsåtgärden skrivs.
ShaderJob
  width : int
Bredden på alla resultatdata i målet om det är en ByteArray eller Vektor.<Number>-instans.
ShaderJob
Publika metoder
 MetodDefinieras med
  
ShaderJob(shader:Shader = null, target:Object = null, width:int = 0, height:int = 0)
ShaderJob
 Inherited
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
  
Avbryter den skuggningsåtgärd som körs för tillfället.
ShaderJob
 Inherited
Skickar en händelse till händelseflödet.
EventDispatcher
 Inherited
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse.
EventDispatcher
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Tar bort en avlyssnare från EventDispatcher-objektet.
EventDispatcher
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
  
start(waitForCompletion:Boolean = false):void
Startar en skuggningsåtgärd i synkront eller asynkront läge beroende på värdet på waitForCompletion-parametern.
ShaderJob
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
 Inherited
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ändelser
 Händelse Sammanfattning Definieras med
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt.EventDispatcher
  Skickas när en ShaderJob-instans som utförs asynkront slutför bearbetningen av data med hjälp av skuggningen.ShaderJob
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt.EventDispatcher
Egenskapsdetaljer

height

egenskap
height:int

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Höjden på alla resultatdata i target om det är en ByteArray eller Vektor.<Number>-instans. Storleken på ByteArray eller Vektor.<Number>-instansen förstoras vid behov och befintliga data skrivs över.



Implementering
    public function get height():int
    public function set height(value:int):void

progress

egenskap 
progress:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Förloppet när en skuggning körs. Den här egenskapen är ett värde mellan 0 och 1. Noll är startvärdet (0 % slutfört). Ett visar att skuggningen har slutfört åtgärden.

Om cancel()-metoden anropas blir den här egenskapen undefined och dess värde kan inte användas förrän skuggningsåtgärden startar igen.



Implementering
    public function get progress():Number

shader

egenskap 
shader:Shader

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Den skuggning som används för åtgärden. Alla inmatningar eller parametrar som förväntas av skuggningen måste anges med hjälp av ShaderInput- eller ShaderParameter-egenskaperna i Shader-instansens data-egenskap. En inmatning måste anges med hjälp av motsvarande ShaderInput även om det är samma som target-objektet.

Om du vill bearbeta en ByteArray som innehåller en linjär array med data (i motsats till bilddata) anger du den motsvarande ShaderInput-instansens height som 1 och width som numret för 32-bitars flyttalsvärden i ByteArray. I så fall måste inmatningen i skuggningen definieras med datatypen image1.



Implementering
    public function get shader():Shader
    public function set shader(value:Shader):void

Relaterade API-element

target

egenskap 
target:Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Det objekt i vilket resultatet av skuggningsåtgärden skrivs. Det här objektet måste vara en BitmapData, ByteArray eller Vektor.<Number>-instans.



Implementering
    public function get target():Object
    public function set target(value:Object):void

width

egenskap 
width:int

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Bredden på alla resultatdata i target om det är en ByteArray eller Vektor.<Number>-instans. Storleken på ByteArray eller Vektor.<Number>-instansen förstoras vid behov och befintliga data skrivs över.



Implementering
    public function get width():int
    public function set width(value:int):void
Konstruktordetaljer

ShaderJob

()Konstruktor
public function ShaderJob(shader:Shader = null, target:Object = null, width:int = 0, height:int = 0)

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Parametrar
shader:Shader (default = null) — Den skuggning som ska användas för åtgärden.
 
target:Object (default = null) — Det objekt i vilket resultatet av skuggningsåtgärden skrivs. Det här argumentet måste vara BitmapData, ByteArray eller Vektor.<Number>-instans.
 
width:int (default = 0) — Bredden på alla resultatdata i target om det är en ByteArray eller Vektor.<Number>-instans. Storleken på ByteArray eller Vektor.<Number>-instansen förstoras vid behov och befintliga data skrivs över.
 
height:int (default = 0) — Höjden på alla resultatdata i target om det är en ByteArray eller Vektor.<Number>-instans. Storleken på ByteArray eller Vektor.<Number>-instansen förstoras vid behov och befintliga data skrivs över.
Metoddetaljer

cancel

()metod
public function cancel():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Avbryter den skuggningsåtgärd som körs för tillfället. Eventuella resultatdata som redan har beräknats kasseras. Complete-händelsen skickas inte.

Upprepade anrop till cancel() har ingen effekt.

start

()metod 
public function start(waitForCompletion:Boolean = false):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Startar en skuggningsåtgärd i synkront eller asynkront läge beroende på värdet på waitForCompletion-parametern.

I asynkront läge (när waitForCompletion är false), vilket är standarden, körs ShaderJob-utförandet i bakgrunden. Skuggningsåtgärden påverkar inte svarstiden för visningen eller andra åtgärder. I asynkront läge returnerar start()-anropet omedelbart, och programmet fortsätter med nästa kodrad. När den asynkrona skuggningsåtgärden slutförs, blir resultatet tillgängligt och complete-händelsen skickas.

Endast en bakgrunds-ShaderJob-åtgärd körs åt gången. Skuggningsåtgärder placeras i kö tills de kan köras. Om du anropar start()-metoden medan en skuggningsåtgärd körs läggs den extra åtgärden till i slutet av kön. Senare, när det är åtgärdens tur, utförs den.

Utför en skuggningsåtgärd i synkront läge genom att anropa start() med värdet true som waitForCompletion-parameter (den enda parametern). Koden pausas vid den punkt där start() anropas till dess att skuggningsåtgärden slutförs. Vid det tillfället blir resultatet tillgängligt och körningen fortsätter med nästa kodrad.

När du anropar start()-metoden kopieras Shader-instansen i shader-egenskapen internt. Skuggningså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 skuggningsåtgärden. Om du vill ta med skuggningsändringarna i skuggningsbearbetningen anropar du cancel()-metoden (om så behövs) och anropar sedan start()-metoden igen och startar om skuggningsbearbetningen.

När en skuggningsåtgärd körs ändras inte värdet för target-objektet. När åtgärden slutförs (och complete-händelsen skickas i asynkront läge) skrivs hela resultatet till target-objektet på en gång. Om target-objektet är en BitmapData-instans och dess dispose()-metod har anropats innan åtgärden slutförs, skickas ändå complete-händelsen i asynkront läge. Resultatinformationen skrivs dock inte till BitmapData-objektet eftersom detta är i ett borttagningsläge.

Parametrar

waitForCompletion:Boolean (default = false) — Anger om skuggningen ska köras i bakgrunden (false, standard) eller i körningen av huvudprogrammet (true).


Händelser
complete:ShaderEvent — Skickas när åtgärden avslutas om start()-metoden anropas med waitForCompletion-argumentet satt till true.

Utlöser
ArgumentError — När target-egenskapen är null eller inte är en BitmapData, ByteArray eller Vector.<Number>-instans.
 
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.
Händelsedetaljer

complete

Händelse
Typ av händelseobjekt: flash.events.ShaderEvent
egenskap ShaderEvent.type = flash.events.ShaderEvent.COMPLETE

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Skickas när en ShaderJob-instans som utförs asynkront slutför bearbetningen av data med hjälp av skuggningen. En ShaderJob-åtgärd körs asynkront när start()-metoden anropas med värdet false som waitForCompletion-parameter.

Definierar värdet för ett complete-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
bitmapDataBitmapData-objektet som innehåller resultatet av den slutförda åtgärden (eller null om målet inte var ett BitmapData-objekt).
byteArrayByteArray-objektet som innehåller resultatet av den slutförda åtgärden (eller null om målet inte var ett ByteArray-objekt).
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar event-objektet med en händelseavlyssnare.
targetSlutförande av ShaderJob-objektrapport.
vektorVektorn.<Number>-instansen som innehåller resultatet av den slutförda åtgärden (eller null om målet inte var en Vektor).<Number>-instans).




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.