Flash Player veya AIR, her olay gerçekleştiğinde olay nesneleri gönderir. Olay hedefi görüntüleme listesinde bulunmuyorsa, Flash Player veya AIR doğrudan olay hedefine olay nesnesini gönderir. Örneğin, Flash Player doğrudan bir URLStream nesnesine ilerleme olay nesnesini gönderir. Ancak olay hedefi görüntüleme listesinde bulunuyorsa, Flash Player, görüntüleme listesine olay nesnesini gönderir ve olay nesnesi, görüntüleme listesi üzerinden olay hedefine doğru seyahat eder.
Olay akışı
, bir olay nesnesinin görüntüleme listesi üzerinden nasıl hareket ettiğini açıklar. Görüntüleme listesi, ağaç olarak tanımlanabilen bir hiyerarşide organize edilir. Görüntüleme listesi hiyerarşisinin en üstünde Sahne Alanı yer alır, bu, görüntüleme listesinin kökü görevini gören özel bir görüntüleme nesnesi kabıdır. Sahne Alanı, flash.display.Stage sınıfı tarafından temsil edilir ve yalnızca bir görüntüleme nesnesi üzerinden Sahne Alanı'na erişilebilir. Her görüntüleme nesnesi, söz konusu uygulamanın Sahne Alanı'nı ifade eden
stage
adında bir özelliğe sahiptir
Flash Player veya AIR, görüntüleme listesiyle ilgili bir olay için bir olay nesnesi gönderir, bu olay nesnesi, Sahne Alanı'ndan
hedef düğüme
gidişli dönüşlü bir seyahatte bulunur. DOM Olayları Belirtimi, hedef düğümü olay hedefini temsil eden düğüm olarak tanımlar. Başka bir deyişle, hedef düğüm, olayın gerçekleştiği görüntüleme listesi nesnesidir. Örneğin, kullanıcı
child1
adında bir görüntüleme listesi nesnesini tıklatırsa, Flash Player veya AIR uygulaması hedef düğüm olarak
child1
öğesini kullanarak bir olay nesnesi gönderir.
Olay akışı kavramsal olarak üç bölüme ayrılmıştır. Birinci bölüm yakalama aşaması olarak adlandırılır; bu aşama Sahne Alanı'ndan hedef düğümün üst öğesine kadar tüm düğümleri kapsar. İkinci bölüm hedef aşaması olarak adlandırılıp yalnızca hedef düğümü içerir. Üçüncü bölüm ise köpürme aşaması olarak adlandırılır. Köpürme aşaması, hedef düğümün üst öğesinden geri Sahne Alanı'na doğru dönüş yolculuğunda karşılaşılan düğümleri kapsar.
Aşağıdaki diyagramda gösterildiği gibi, görüntüleme listesini, Sahne Alanı'nın en üstte bulunduğu dikey bir hiyerarşi olarak algılarsanız, aşamaların adları daha anlamlı gelecektir:
Kullanıcı
Child1 Node
üzerini tıklatırsa, Flash Player veya AIR uygulaması olay akışına bir olay nesnesi gönderir. Aşağıdaki görüntüde gösterildiği gibi, nesnenin seyahati
Stage
öğesinde başlar,
Parent Node
öğesinden aşağı devam ederek
Child1 Node
öğesine ilerler ve sonra geri
Stage
öğesine doğru "köpürerek"
Stage
öğesine doğru seyahati sırasında tekrar
Parent Node
üzerinden hareket eder.
Bu örnekte, yakalama aşaması, ilk aşağı doğru seyahat sırasında
Stage
ve
Parent Node
öğelerini kapsar. Hedef aşaması,
Child1 Node
üzerinde harcanan süreyi kapsar. Köpürme aşaması, geri kök düğüme doğru yukarı yönde yapılan seyahat sırasında karşılaşılan
Parent Node
ve
Stage
öğelerini kapsar.
Olay akışı, ActionScript programcıları için önceden kullanılabilir olan olay işleme sisteminden daha güçlü bir olay işleme sistemi elde edilmesine katkıda bulunur. Önceki ActionScript sürümlerinde olay akışı yoktur, başka bir deyişle, olay dinleyicileri yalnızca olayı oluşturan nesneye eklenebilir. ActionScript 3.0'da, yalnızca hedef düğüme değil, aynı zamanda olay akışındaki herhangi bir düğüme de olay dinleyicileri ekleyebilirsiniz.
Bir kullanıcı arabirimi bileşeni birden çok nesneyi kapsadığında, olay akışı sırasında olay dinleyicileri ekleme yeteneği yararlı olur. Örneğin, bir düğme nesnesi genellikle düğmenin etiketi görevini gören bir metin nesnesi içerir. Olay akışına dinleyici ekleme yeteneği olmadığında, düğmenin herhangi bir yerinde oluşan tıklatma olayları hakkında bildirim almak için hem düğme nesnesine hem de metin nesnesine dinleyici eklemeniz gerekir. Olay akışının olması ise, düğme nesnesine, hem metin nesnesi üzerinde hem de düğme nesnesinin metin nesnesinin kaplamadığı alanları üzerinde gerçekleşen tıklatma olaylarını işleyen tek bir olay dinleyicisi yerleştirmenize olanak sağlar.
Ancak her olay nesnesi, olay akışının üç aşamasına da katılmaz.
enterFrame
ve
init
gibi bazı olay türleri, doğrudan hedef düğüme gönderilir ve yakalama aşamasına ve köpürme aşamasına katılmaz. Başka olaylar da, Socket sınıfının bir örneğine gönderilen olaylar gibi görüntüleme listesinde bulunmayan nesneleri hedefleyebilir. Bu olay nesneleri de yakalama ve köpürme aşamalarına katılmadan doğrudan hedef nesneye akar.
Belirli olay türlerinin nasıl davrandığını öğrenmek için, API belgelerini kontrol edebilir veya olay nesnesinin özelliklerini inceleyebilirsiniz. Olay nesnesinin özelliklerinin incelenmesi, aşağıdaki bölümde açıklanmıştır.