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):void
progress | ö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():Number
shader | ö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):void
width | ö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):void
ShaderJob | () | 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