Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Olay hedefleri, Flash® Player ve Adobe® AIR® olay modelinin önemli bir parçasıdır. Olay hedefi, görüntüleme listesi hiyerarşisinde olayların akış şekline yönelik odak noktası görevi görür. Fare tıklatma veya tuş basışı gibi bir olay oluştuğunda, Flash Player veya AIR uygulaması görüntüleme listesinin kökünden olay akışına bir olay nesnesi gönderir. Event nesnesi daha sonra, görüntüleme listesi üzerinden dönüş seyahatine başlayacağı nokta olan olay hedefine ulaşıncaya kadar görüntüleme listesinde yol alır. Döngü şeklinde olay hedefine seyahat, kavramsal olarak üç aşamaya ayrılır: yakalama aşamasında kökten olay hedefinin düğümünden önceki son düğüme seyahat yer alır; hedef aşamasında yalnızca olay hedefi düğümü yer alır ve köpürme aşamasında görüntüleme listesinin köküne doğru dönüş hareketinde karşılaşılan sonraki düğümler yer alır.
Genelde, user-defined sınıf için en basit yol, EventDispatcher'ı genişletmek üzere olay gönderme yetenekleri kazanmaktır. Bu mümkün değilse (yani sınıf zaten başka bir sınıfa genişletiliyorsa), bunun yerine IEventDispatcher arabirimini uygulayabilir, bir EventDispatcher üyesi oluşturabilir ve çağrıları toplu EventDispatcher'a yönlendirmek için basit kancalar yazabilirsiniz.
Yöntem | Tanımlayan: | ||
---|---|---|---|
EventDispatcher(target:IEventDispatcher = null)
EventDispatcher sınıfının bir örneğini gruplar. | EventDispatcher | ||
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 | ||
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 | ||
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 | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher |
EventDispatcher | () | Yapıcı |
public function EventDispatcher(target:IEventDispatcher = null)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
EventDispatcher sınıfının bir örneğini gruplar.
EventDispatcher sınıfı genellikle temel sınıf olarak kullanılır, başka bir deyişle çoğu geliştiricinin bu yapıcı işlevini kullanması gerekmez. Ancak IEventDispatcher arabirimini uygulayan ileri düzey geliştiricilerin bu yapıcıyı kullanması gerekmez. EventDispatcher sınıfını genişletemiyorsanız ve bunun yerine IEventDispatcher arabirimini uygulamanız gerekiyorsa, EventDispatcher sınıfının bir örneğini toplamak için bu yapıcıyı kullanın.
Parametrelertarget:IEventDispatcher (default = null ) — EventDispatcher nesnesine gönderilen olayların hedef nesnesi. IEventDispatcher uygulayan bir sınıf tarafından EventDispatcher örneği toplandığında bu parametre kullanılır; containing nesnesinin olayların hedefi olabilmesi için bu gereklidir. Bir sınıfın EventDispatcher öğesini genişletmesi gibi basit durumlarda bu parametreyi kullanmayın.
|
addEventListener | () | yöntem |
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. Belirli türde bir olay, aşama ve öncelik için görüntüleme listesindeki tüm düğümlere olay dinleyicilerini kaydedebilirsiniz.
Bir olay dinleyicisini başarıyla kaydettikten sonra, addEventListener()
öğesine ek çağrılar yaparak önceliğini değiştiremezsiniz. Bir dinleyicinin önceliğini değiştirmek için, ilk olarak removeListener()
öğesini çağırmanız gerekir. Daha sonra dinleyiciyi yeni öncelik seviyesiyle kaydedebilirsiniz.
Dinleyici kaydedildikten sonra, farklı bir type
veya useCapture
değeriyle addEventListener()
öğesine yapılan çağrılar, ayrı bir dinleyici kaydının oluşturulmasıyla sonuçlanır. Örneğin, ilk olarak useCapture
true
değerine ayarlanmış durumdayken bir dinleyiciyi kaydederseniz, dinleyici yalnızca yakalama aşaması boyunca dinleme işlemi yapar. Aynı dinleyici nesnesini kullanarak, ancak useCapture
false
değerine ayarlanmış durumdayken tekrar addEventListener()
öğesini çağırırsanız, iki ayrı dinleyiciniz olur: bunlardan biri yakalama aşamasında dinleme işlemi yapar, diğeri ise hedef ve köpürme aşamasında dinleme işlemi yapar.
Yalnızca hedef aşaması veya köpürme aşaması için bir olay dinleyicisini kaydedemezsiniz. Köpürme yalnızca hedef düğümün alt öğeleri için geçerli olduğundan, bu aşamalar kayıt sırasında birleştirilir.
Artık bir olay dinleyicisine ihtiyacınız olmadığında, removeEventListener()
öğesini çağırarak olay dinleyicisini kaldırın, aksi takdirde bellek sorunları oluşabilir. Çöp toplayıcısı, gönderen nesne var olduğu sürece dinleyiciyi kaldırmadığından, (useWeakReference
parametresi true
olarak ayarlı değilse) olay dinleyicileri otomatik olarak bellekten kaldırılmaz.
Bir EventDispatcher örneği kopyalandığında, o örneğe ekli olan olay dinleyicileri kopyalanmaz. (Yeni oluşturulmuş düğümünüz için bir olay dinleyicisi gerekiyorsa, düğümü oluşturduktan sonra dinleyiciyi eklemeniz gerekir.) Ancak bir EventDispatcher örneğini taşırsanız, örneğe ekli olan olay dinleyicileri de onunla birlikte taşınır.
Bir olay düğümde işlenirken olay dinleyicisi o düğüme kaydediliyorsa, geçerli aşama sırasında olay dinleyicisi tetiklenmez ancak olay akışındaki köpürme aşaması gibi sonraki bir aşamada tetiklenebilir.
Bir olay düğümde işlenirken olay dinleyicisi o düğümden kaldırılırsa, geçerli eylemler tetiklenmeye devam eder. Olay dinleyicisi kaldırıldıktan sonra asla tekrar çağrılmaz (ileride işlenmek üzere tekrar kaydedilmediği sürece).
Parametreler
type:String — Olay türü.
| |
listener:Function — Olayı işleyen dinleyici işlevi. Bu işlev, bu örnekte gösterildiği gibi, Event nesnesini tek parametresi olarak kabul etmeli ve hiçbir öğe döndürmemelidir:
function(evt:Event):void İşleve herhangi bir ad verilebilir. | |
useCapture:Boolean (default = false ) —
Dinleyicinin yakalama aşamasında mı, yoksa hedef ve köpürme aşamalarında mı çalıştığını belirler. useCapture , true olarak ayarlanırsa dinleyici, olayı hedef veya köpürme aşamasında değil de yalnızca yakalama aşamasında işler. useCapture false değerindeyse dinleyici, olayı yalnızca hedef veya köpürme aşamasında işler. Olayı üç aşamada da dinlemek için addEventListener öğesini iki kez, biri useCapture true değerine ayarlanmış olarak, diğeri de useCapture false değerine ayarlanmış olarak çağırın.
| |
priority:int (default = 0 ) — Olay dinleyicisinin öncelik düzeyi. Öncelik, işaretli 32 bit tam sayı tarafından atanır. Sayı ne kadar yüksekse, öncelik de o kadar yüksek olur. n önceliğine sahip tüm dinleyiciler, n-1 önceliğine sahip dinleyicilerden önce işlenir. İki veya daha fazla dinleyici aynı önceliği paylaşırsa, eklendikleri sıraya göre işlenirler. Varsayılan öncelik 0'dır.
| |
useWeakReference:Boolean (default = false ) — Dinleyici başvurusunun güçlü mü, yoksa zayıf mı olduğunu belirler. Güçlü bir başvuru (varsayılan), dinleyicinizin çöp toplama işlemine tabi tutulmasını önler. Zayıf bir başvuru, bu işlevi yapmaz. Sınıf düzeyi üye işlevleri, çöp toplama işlemine tabi değildir. Böylece onları çöp toplama işlemine tabi tutmadan, sınıf düzeyi üye işlevleri için |
Atar
ArgumentError — Belirtilen listener bir işlev değildir.
|
dispatchEvent | () | yöntem |
public function dispatchEvent(event:Event):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Olay akışına bir olay gönderir. Olay hedefi, dispatchEvent()
yönteminin çağrıldığı EventDispatcher nesnesidir.
Parametreler
event:Event — Olay akışına gönderilen Event nesnesi. Olay yeniden gönderiliyorsa, olayın bir klonu otomatik olarak oluşturulur. Bir olay gönderildikten sonra, o olaya ait target özelliği değiştirilemez, böylece işe yeniden göndermek üzere olayın yeni bir kopyasını çıkarmanız gerekir.
|
Boolean — Olayın başarılı bir şekilde gönderilmesi durumunda true değeri. false değeri, hata olduğunu veya preventDefault() öğesinin olayda çağrıldığını gösterir.
|
Atar
Error — Olay gönderme yineleme sınırına ulaşıldı.
|
hasEventListener | () | yöntem |
public function hasEventListener(type:String):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. Bu, EventDispatcher nesnesinin olay akışı hiyerarşisindeki bir event türünün işlenmesini nerede değiştirdiğini belirlemenize izin verir. Belirli türde bir olayın olay dinleyicisini gerçekten tetikleyip tetiklemeyeceğini belirlemek için willTrigger()
öğesini kullanın.
hasEventListener()
ile willTrigger()
arasındaki fark, hasEventListener()
öğesi yalnızca ait olduğu nesneyi incelerken willTrigger()
öğesinin type
parametresi ile belirtilen olayın tüm olay akışını incelemesidir.
LoaderInfo nesnesinden hasEventListener()
çağrıldığında, yalnızca çağıranın erişebildiği dinleyiciler değerlendirilir.
Parametreler
type:String — Olay türü.
|
Boolean — Belirtilen türde bir dinleyici kayıtlıysa, true değeri; kayıtlı değilse, false değeri.
|
İlgili API Öğeleri
removeEventListener | () | yöntem |
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. EventDispatcher nesnesiyle kayıtlı eşlenen bir dinleyici yoksa, bu yönteme yapılan çağrının herhangi bir etkisi yoktur.
Parametreler
type:String — Olay türü.
| |
listener:Function — Kaldırılacak dinleyici nesnesi.
| |
useCapture:Boolean (default = false ) —
Dinleyicinin yakalama aşaması için mi yoksa hedef ve köpürme aşamaları için mi kaydedildiğini belirtir. Dinleyici, hem yakalama aşaması hem de hedef ve köpürme aşamaları için kaydedildiyse, removeEventListener() öğesine yapılan iki çağrı, ikisini de kaldırmak için gereklidir. useCapture() öğesine sahip çağrılardan biri true , useCapture() öğesine sahip olan diğeri ise false olarak ayarlanmıştır.
|
willTrigger | () | yöntem |
public function willTrigger(type:String):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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. Belirtilen türde bir olay bu EventDispatcher nesnesine veya herhangi bir alt öğesine gönderildiğinde olay akışının herhangi bir aşamasında bir olay dinleyicisi tetiklenirse, bu yöntem true
döndürür.
hasEventListener()
ile willTrigger()
yöntemleri arasındaki fark, hasEventListener()
yöntemi yalnızca ait olduğu nesneyi incelerken willTrigger()
yönteminin type
parametresi ile belirtilen olayın tüm olay akışını incelemesidir.
LoaderInfo nesnesinden willTrigger()
çağrıldığında, yalnızca çağıranın erişebildiği dinleyiciler değerlendirilir.
Parametreler
type:String — Olay türü.
|
Boolean — Belirtilen türde bir dinleyici tetiklenecekse, true değeri; tetiklenmeyecekse, false değeri.
|
activate | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.ACTIVATE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. Bu olay bir broadcast olayıdır; diğer bir deyişle, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm EventDispatcher nesneleri tarafından gönderilir. Broadcast olayları hakkında daha fazla bilgi için bkz. DisplayObject sınıfı.
ACTIVATE
sabiti, activate
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
AIR for TV aygıtları hiçbir zaman otomatik olarak bu olayı göndermez. Ancak olayı el ile gönderebilirsiniz.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | activate olayı için kayıtlı olan bir dinleyici içeren herhangi bir DisplayObject örneği. |
İlgili API Öğeleri
deactivate | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.DEACTIVATE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. Bu olay bir broadcast olayıdır; diğer bir deyişle, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm EventDispatcher nesneleri tarafından gönderilir. Broadcast olayları hakkında daha fazla bilgi için bkz. DisplayObject sınıfı.
Event.DEACTIVATE
sabiti, deactivate
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
AIR for TV aygıtları hiçbir zaman otomatik olarak bu olayı göndermez. Ancak olayı el ile gönderebilirsiniz.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | deactivate olayı için kayıtlı olan herhangi bir DisplayObject örneği. |
İlgili API Öğeleri
EventDispatcherExample
sınıfını ve EventDispatcher
alt sınıfı olan CustomDispatcher
sınıfını kullanır. Örnekte şu görevler yerine getirilmektedir:
EventDispatcherExample
yapıcısı,dispatcher
yerel değişkenini oluşturur ve bunu yeni bir CustomDispatcher örneğine atar.CustomDispatcher
içinde, olayın adıaction
olacak vedoAction()
yöntemi bildirilecek şekilde bir dize ayarlanır. Bu yöntem çağrıldığındaaction
olayını oluşturur veEventDispatcher.dispatchEvent()
öğesini kullanarak bu olayı gönderir.- Daha sonra
action
olay dinleyicisini ve gönderildiğinde olay hakkındaki bilgileri yazdıran ilişkiliactionHandler()
subscriber yöntemini eklemek içindispatcher
özelliği kullanılır. doAction()
yöntemi çağrılarakaction
olayı gönderilir.
package { import flash.display.Sprite; import flash.events.Event; public class EventDispatcherExample extends Sprite { public function EventDispatcherExample() { var dispatcher:CustomDispatcher = new CustomDispatcher(); dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler); dispatcher.doAction(); } private function actionHandler(event:Event):void { trace("actionHandler: " + event); } } } import flash.events.EventDispatcher; import flash.events.Event; class CustomDispatcher extends EventDispatcher { public static var ACTION:String = "action"; public function doAction():void { dispatchEvent(new Event(CustomDispatcher.ACTION)); } }
Tue Jun 12 2018, 01:09 PM Z