| Paket | flash.display |
| Sınıf | public class ShaderJob |
| Miras Alma | ShaderJob EventDispatcher Object |
| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bağımsız modda bir gölgelendirici kullanılmasının iki tane birincil nedeni vardır:
- Görüntü olmayan verileri işleme: ShaderJob örneğini kullanarak, girdi değerleri üzerinde ve gölgelendiricinin kullanılma şekli üzerinde kontrol elde edersiniz. Gölgelendirici, sonucu görüntü verisi olarak değil, ikili veri veya sayı verisi olarak döndürebilir.
- Arka plan işleme: Bazı gölgelendiriciler karmaşık olup bu gölgelendiricilerin çalıştırılması için uzun bir süre gerekir. Bir uygulamanın ana çalıştırmasında karmaşık bir gölgelendiricinin çalıştırılması, uygulamanın kullanıcı etkileşimi veya ekran güncelleme gibi diğer bölümlerini yavaşlatabilir. ShaderJob örneğini kullanarak gölgelendiriciyi arka planda çalıştırabilirsiniz. Gölgelendirici bu şekilde çalıştırıldığında, gölgelendirici işlemi, uygulamanın ana çalıştırmasından ayrı olarak çalıştırılır.
shader özelliği (veya constructor parametresi), işlem için kullanılan gölgelendiriciyi temsil eden Shader örneğini belirtir. İlişkilendirilmiş ShaderParameter veya ShaderInput örneği kullanılarak gölgelendiricinin beklediği parametre ya da girdiler sağlanır.
Bir ShaderJob işlemini çalıştırmadan önce, target özelliğinin değeri olarak bir nesneyi ayarlayarak, sonuçların yazıldığı bir nesne sağlarsınız. Gölgelendirici işlemi tamamlandığında, sonuç target nesnesine yazılır.
Bir arka plan gölgelendirici işlemini başlatmak için, start() yöntemini çağırın. İşlem bittiğinde, sonuç target nesnesine yazılır. Bu noktada ShaderJob örneği bir complete olayı göndererek dinleyicilere sonucun kullanılabilir olduğunu bildirir.
Bir gölgelendiriciyi eşzamanlı olarak çalıştırmak için (başka bir deyişle, arka planda çalıştırmamak için), start() yöntemini çağırın ve true değerini argüman olarak iletin. Gölgelendirici ana çalıştırma iş parçacığında çalışır ve işlem tamamlanıncaya kadar kodunuz duraklatılır. İşlem sona bittiğinde sonuç target nesnesine yazılır. Bu noktada uygulama bir sonraki kod satırında çalışmaya devam eder.
İlgili API Öğeleri
| Özellik | Tanımlayan: | ||
|---|---|---|---|
![]() | constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | |
| height : int
ByteArray veya Vector ise, target içindeki sonuç verisinin yüksekliği.<Number> örneği. | ShaderJob | ||
| progress : Number [salt okunur]
Çalışan gölgelendiricinin ilerlemesi. | ShaderJob | ||
| shader : Shader
İşlem için kullanılan gölgelendirici. | ShaderJob | ||
| target : Object
Gölgelendirici işleminin sonucunun yazıldığı nesne. | ShaderJob | ||
| width : int
ByteArray veya Vector ise, target içindeki sonuç verisinin genişliği.<Number> örneği. | ShaderJob | ||
| Yöntem | Tanımlayan: | ||
|---|---|---|---|
| ShaderJob | |||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | |
O anda çalışmakta olan gölgelendirici işlemini iptal eder. | ShaderJob | ||
![]() |
Olay akışına bir olay gönderir. | EventDispatcher | |
![]() |
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | |
![]() |
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | |
![]() |
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | |
![]() |
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | |
![]() |
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | |
![]() |
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | |
waitForCompletion parametresinin değerine göre, gölgelendirici işlemini eşzamanlı veya eşzamansız modda başlatır. | ShaderJob | ||
![]() |
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | |
![]() |
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | |
![]() |
Belirtilen nesnenin temel değerini döndürür. | Object | |
![]() |
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher | |
| Olay | Özet | Tanımlayan: | ||
|---|---|---|---|---|
![]() | [broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | ||
| Eşzamansız olarak çalıştırılan bir ShaderJob öğesi, gölgelendiriciyi kullanarak veri işlemeyi bitirdiğinde gönderilir. | ShaderJob | |||
![]() | [broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | ||
height | özellik |
height:int| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
ByteArray veya Vector ise, target içindeki sonuç verisinin yüksekliği.<Number> örneği. ByteArray veya Vector boyutu.Gerekirse <Number> örneği büyütülür ve varolan verinin üzerine yazılır.
Uygulama
public function get height():int public function set height(value:int):voidprogress | özellik |
progress:Number [salt okunur] | Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Çalışan gölgelendiricinin ilerlemesi. Bu özellik 0 ile 1 arasında bir değerdir. Başlangıç değeri sıfırdır (%0 tamam). Bir, gölgelendiricinin işlemini tamamladığını belirtir.
cancel() yöntemi çağrılırsa, bu özellik undefined olur ve gölgelendirici işlemi tekrar başlayıncaya kadar bunun değeri kullanılamaz.
Uygulama
public function get progress():Numbershader | özellik |
shader:Shader| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
İşlem için kullanılan gölgelendirici. Gölgelendiricinin beklediği tüm girdi veya parametreler, Shader örneğinin data özelliğinin ShaderInput ya da ShaderParameter özelliği kullanılarak sağlanmalıdır. target nesnesiyle aynı olsa da, karşılık gelen ShaderInput kullanılarak bir girdi sağlanmalıdır.
Doğrusal veri dizisi (görüntü verisine karşılık) içeren bir ByteArray öğesini işlemek için, ByteArray içinde karşılık gelen ShaderInput örneğinin height özelliğini 1 değerine ve width özelliğini 32 bit kayar nokta sayısı değerine ayarlayın. Bu durumda gölgelendiricideki girdinin image1 veri türüyle tanımlanması gerekir.
Uygulama
public function get shader():Shader public function set shader(value:Shader):voidİlgili API Öğeleri
target | özellik |
target:Object| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Gölgelendirici işleminin sonucunun yazıldığı nesne. Bu nesne bir BitmapData, ByteArray veya Vector olmalıdır.<Number> örneği.
Uygulama
public function get target():Object public function set target(value:Object):voidwidth | özellik |
width:int| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
ByteArray veya Vector ise, target içindeki sonuç verisinin genişliği.<Number> örneği. ByteArray veya Vector boyutu.Gerekirse <Number> örneği büyütülür ve varolan verinin üzerine yazılır.
Uygulama
public function get width():int public function set width(value:int):voidShaderJob | () | Yapıcı |
public function ShaderJob(shader:Shader = null, target:Object = null, width:int = 0, height:int = 0)| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Parametreler
shader:Shader (default = null) — İşlem için kullanılacak gölgelendirici.
| |
target:Object (default = null) — Gölgelendirici işleminin sonucunun yazıldığı nesne. Bu argüman bir BitmapData, ByteArray veya Vector olmalıdır.<Number> örneği.
| |
width:int (default = 0) — ByteArray veya Vector ise, target içindeki sonuç verisinin genişliği.<Number> örneği. ByteArray veya Vector boyutu.Gerekirse <Number> örneği büyütülür ve varolan verinin üzerine yazılır.
| |
height:int (default = 0) — ByteArray veya Vector ise, target içindeki sonuç verisinin yüksekliği.<Number> örneği. ByteArray veya Vector boyutu.Gerekirse <Number> örneği büyütülür ve varolan verinin üzerine yazılır.
|
cancel | () | yöntem |
public function cancel():void| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
O anda çalışmakta olan gölgelendirici işlemini iptal eder. Daha önceden hesaplanmış her türlü sonuç verisi atılır. complete olayı gönderilmez.
cancel() öğesinin birden çok defa çağrılması herhangi bir etki oluşturmaz.
start | () | yöntem |
public function start(waitForCompletion:Boolean = false):void| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
waitForCompletion parametresinin değerine göre, gölgelendirici işlemini eşzamanlı veya eşzamansız modda başlatır.
Varsayılan olan eşzamansız modda (waitForCompletion false olduğunda), ShaderJob çalıştırması arka planda çalışır. Gölgelendirici işlemi, görüntüleme veya diğer işlemlerin yanıt verme hızını etkilemez. Eşzamansız modda, hemen start() çağrısı döndürülür ve program bir sonraki kod satırıyla devam eder. Eşzamansız gölgelendirici işlemi bittiğinde, sonuç kullanılabilir durumda olur ve complete olayı gönderilir.
Aynı anda yalnızca bir arka plan ShaderJob işlemi çalıştırılır. Shader işlemleri çalıştırılıncaya kadar kuyrukta bekletilir. Gölgelendirici işlemi çalıştırılırken start() yöntemini çağırırsanız, kuyruğun sonuna ilave işlem eklenir. Daha sonra sırası geldiğinde çalıştırılır.
Bir gölgelendirici işlemini eşzamanlı modda çalıştırmak için, waitForCompletion parametresi (tek parametre) için true değeriyle start() öğesini çağırın. Kodunuz, gölgelendirici işlemi tamamlanıncaya kadar start() öğesinin çağrıldığı noktada duraklatılır. Bu noktada sonuç kullanılabilir olur ve çalıştırma işlemi bir sonraki kod satırıyla devam eder.
start() yöntemini çağırdığınızda, shader özelliğindeki Shader örneği dahili olarak kopyalanır. Gölgelendirici işlemi, orijinal gölgelendiricinin başvurusunu değil, bu dahili kopyayı kullanır. Gölgelendiriciye yapılan değişiklikler (örn. parametre değerini, girdiyi veya bayt kodunu değiştirme) gölgelendirici işleme için kullanılan kopyalanmış gölgelendiriciye uygulanmaz Gölgelendirici değişikliklerini gölgelendirici işlemeye dahil etmek için, cancel() yöntemini çağırıp (gerekirse) tekrar start() yöntemini çağırarak gölgelendirici işlemeyi yeniden başlatın.
Bir gölgelendirici işlemi çalıştırılırken, target nesnesinin değeri değişmez. İşlem bittiğinde (ve eşzamansız modda complete olayı gönderildiğinde), sonucun tamamı bir defada target nesnesine yazılır. target nesnesi bir BitmapData örneğiyse ve işlem bitmeden önce dispose() yöntemi çağrılırsa, complete olayı eşzamansız modda gönderilmeye devam eder. Ancak sonuç verisi kaldırılmış durumda olduğundan, BitmapData nesnesine yazılmaz.
Parametreler
waitForCompletion:Boolean (default = false) — Gölgelendiricinin arka planda mı (false, varsayılan budur) yoksa ana program çalıştırmasında mı (true) çalıştırılacağını belirtir.
|
Olaylar
complete: — true değerine sahip bir waitForCompletion argümanıyla start() yöntemi çağrılırsa, işlem bittiğinde gönderilir.
|
Atar
ArgumentError — target özelliği null olduğunda veya bir BitmapData, ByteArray veya Vector olmadığında.<Number> örneği.
| |
ArgumentError — Gölgelendirici, sağlanmayan bir görüntü girdisi belirttiğinde.
| |
ArgumentError — ByteArray veya Vector olduğunda.<Number> örneği bir girdi olarak kullanılır ve ShaderInput için width ve height özellikleri belirtilmez veya belirtilen değerler girdi verisindeki veri miktarıyla eşleşmez. Daha fazla bilgi için ShaderInput.input özelliğine bakın.
|
complete | Olay |
flash.events.ShaderEventözellik ShaderEvent.type =
flash.events.ShaderEvent.COMPLETE| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Eşzamansız olarak çalıştırılan bir ShaderJob öğesi, gölgelendiriciyi kullanarak veri işlemeyi bitirdiğinde gönderilir. waitForCompletion parametresi için false değeriyle start() yöntemi çağrıldığında eşzamansız olarak çalıştırılan bir ShaderJob örneği.
complete olay nesnesinin type özelliğinin değerini tanımlar.
Bu olay şu özelliklere sahiptir:
| Özellik | Değer |
|---|---|
bubbles | false |
bitmapData | Sona eren işlemin sonucunu içeren BitmapData nesnesi (veya hedef bir BitmapData nesnesi değilse null). |
byteArray | Sona eren işlemin sonucunu içeren ByteArray nesnesi (veya hedef bir ByteArray nesnesi değilse null). |
cancelable | false; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Olay nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | İşlemin tamamlandığını bildiren ShaderJob nesnesi. |
vector | Vector.Sona eren işlemin sonucunu içeren <Number> örneği (veya hedef bir Vector değilse null.<Number> örneği). |
Tue Jun 12 2018, 01:09 PM Z
Miras Alınan Genel Özellikleri Gizle
Miras Alınan Genel Özellikleri Göster