Olay işleme temelleriFlash Player 9 ve üstü, Adobe AIR 1.0 ve üstü Olayları, SWF dosyanızdaki, bir programcı olarak ilginizi çeken herhangi türde bir oluşum olarak değerlendirebilirsiniz. Örneğin, çoğu SWF dosyası, ister fare tıklatmasına yanıt vermek gibi basit, ister bir forma girilen verileri kabul etme ve işleme gibi karmaşık olsun, bir şekilde kullanıcı etkileşimini destekler. Bu şekilde SWF dosyanızla gerçekleştirilen herhangi bir kullanıcı etkileşimi olay olarak değerlendirilir. Olaylar herhangi bir doğrudan kullanıcı etkileşimi olmadan da gerçekleşebilir, örn. bir sunucudan veri yüklemesi sona erdiğinde veya takılan bir kamera etkin olduğunda. ActionScript 3.0'da her olay, Event sınıfının veya alt sınıflarından birinin örneği olan bir olay nesnesi tarafından temsil edilir. Bir olay nesnesi hem belirli bir olayla ilgili bilgileri saklar, hem de olay nesnesinin işlenmesini kolaylaştıran yöntemler içerir. Örneğin, Flash Player veya AIR bir fare tıklatması algıladığında, bu belirli fare tıklatması olayını temsil etmek için bir olay nesnesi (MouseEvent sınıfının bir örneği) oluşturur. Flash Player veya AIR, bir olay nesnesi oluşturduktan sonra bu olay nesnesini gönderir, başka bir deyişle, olay nesnesi, olayın hedefi olan nesneye iletilir. Gönderilen bir olay nesnesinin hedefi görevini gören bir nesne olay hedefi olarak adlandırılır. Örneğin, takılı bir kamera etkin olduğunda, Flash Player doğrudan olay hedefine (bu durumda kamerayı temsil eden nesne) bir olay nesnesi gönderir. Ancak olay hedefi, görüntüleme listesindeyse, olay nesnesi olay hedefine ulaşıncaya kadar görüntüleme listesi hiyerarşisinden aşağı doğru iletilir. Bazı durumlarda, olay nesnesi görüntüleme listesi hiyerarşisinde aynı rota boyunca geri yukarı doğru "köpürür". Görüntü listesi hiyerarşisindeki bu çapraz geçiş, olay akışı olarak adlandırılır. Olay dinleyicilerini kullanarak kodunuzda olay nesnelerini "dinleyebilirsiniz". Olay dinleyicileri, belirli olaylara yanıt olarak yazdığınız işlevler veya yöntemlerdir. Programınızın olaylara yanıt vermesini sağlamak için, olay hedefine veya olay nesnesinin olay akışının bir parçası olan herhangi bir görüntüleme listesi nesnesine olay dinleyicileri eklemeniz gerekir. Her olay dinleyicisi kodu yazdığınızda, bu kod temel yapıyı takip eder (kalın yazı karakterine sahip öğeler, kendi özel durumunuz için dolduracağınız yer tutuculardır): function eventResponse(eventObject:EventType):void { // Actions performed in response to the event go here. } eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse); Bu kod iki işlem gerçekleştirir. İlk olarak, olaya yanıt olarak gerçekleştirilecek eylemleri belirtmenin bir yolu olan bir işlevi tanımlar. Daha sonra, işlevin belirtilen olaya abone olmasının sonucu olarak bu, kaynak nesnenin addEventListener() yöntemini çağırır, böylece olay gerçekleştiğinde işlevin eylemleri gerçekleştirilir. Gerçekten olay gerçekleştiğinde, olay hedefi, olay dinleyicileri olarak kaydedilen tüm işlevlerin ve yöntemlerin listesini kontrol eder. Ardından, olay nesnesini bir parametre olarak ileterek sırayla her birini çağırır. Kendi olay dinleyicinizi oluşturmak için bu kodda dört şeyi değiştirmeniz gerekir. İlk olarak, işlevin adını, kullanmak istediğiniz adla değiştirmeniz gerekir. (Kodda eventResponse geçen iki yerde bunun değiştirilmesi gerekir.) İkinci olarak, dinlemek istediğiniz olay (kodda EventType) tarafından gönderilen olay nesnesinin uygun sınıf adını belirtmeniz ve bu belirli olay (listede EVENT_NAME) için uygun sabiti belirtmeniz gerekir. Üçüncü olarak, olayı gönderen (bu kodda eventTarget) nesnede, addEventListener() yöntemini çağırmanız gerekir. İsteğe bağlı olarak, işlevin parametresi (bu kodda eventObject) olarak kullanılan değişkenin adını değiştirebilirsiniz. Önemli kavramlar ve terimlerAşağıdaki başvuru listesi olay işleme grafiklerini programlarken karşılaşacağınız önemli terimleri içerir:
|
|