| 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:
EventDispatcherExampleyapıcısı,dispatcheryerel değişkenini oluşturur ve bunu yeni bir CustomDispatcher örneğine atar.CustomDispatcheriçinde, olayın adıactionolacak vedoAction()yöntemi bildirilecek şekilde bir dize ayarlanır. Bu yöntem çağrıldığındaactionolayını oluşturur veEventDispatcher.dispatchEvent()öğesini kullanarak bu olayı gönderir.- Daha sonra
actionolay 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ılarakactionolayı 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
Miras Alınan Genel Özellikleri Gizle
Miras Alınan Genel Özellikleri Göster