Olay Dinleyicileri (addEventListener)
Sahnede gerçekleşen her şey bir olay olarak kabul edilir. Örneğin
farenin tıklaması, klavyeden bir harf veya sayıya basılması, bir nesnenin yüklenmesi, sahnede sürekli tekrarlanan durumların olması, zamana bağlı
durumlar ve daha birçok şey..
Olayların gerçekleşmesi, olay
dinleyicileri eklenirken belirtilen fonksiyonun tetiklenmesini sağlar.
Tetiklenen fonksiyonun süslü parantezleri arasındaki kod satırları çalıştırılır.
Dinleyici ekleme
Olay dinleyicilerini sahneye eklemek için öncelikle olay dinleyicisini nesneye
eklemek gerekir. mcKare örnek ismine sahip bir nesneye olay dinleyicisi eklemek
için sahneye bir kare çizelim ve kareyi film klibi haline dönüştürelim."Örnek Adı" (instance name) bölümüne mcKare ismini verelim.

mcKare nesnesine fareyle tıklandığında mcKareFnk
fonksiyonunu tetikleyip süslü parantezler arasındaki kod satırlarının çalışmasını sağlayalım. Süslü parantezler arasındaki trace metodu, output panelinde "Tıklandı" yazdiracaktir.
fonksiyonunu tetikleyip süslü parantezler arasındaki kod satırlarının çalışmasını sağlayalım. Süslü parantezler arasındaki trace metodu, output panelinde "Tıklandı" yazdiracaktir.
Not: Dinleyicilere tanımlanan fonksiyonların geri dönüşleri yoktur. Bu sebeple dönüş değerleri void tanımlanır.
mcKare.addEventListener(MouseEvent.CLICK,mcKareFnk);
function mcKareFnk(evt:MouseEvent):void{
trace("Tıklandı");
}
Uygulama esnasında eklediğimiz olay dinleyicisini iptal etmek isteyebiliriz.
Bunu yapmak için removeEventListener komutunu kullanabiliriz.
Yukarıda mcKare ye eklediğimiz olay dinleyicisini kaldıralım.
mcKare.removeEventListener(MouseEvent.CLICK,mcKareFnk);
KLAVYE KONTROLÜ
Bu uygulama yapalım. Uygulamamızda sahneye bir nesne ekleyip klavyedeki yön
tuşları ile nesnemizi hareket ettirelim. Ekleyeceğimiz nesnenin adi
mcDaire olsun.
Uygulama kodlarımızı yazmaya başlamadan önce sahnemizin koordinat sisteminden
bahsedelim.
Aşağıdaki kod satırlarında yön tuşlarına basarak mcDaire isimli nesnemizi sağa, sola, yukarı ve aşağı doğru hareket ettireceğiz.
import flash.events.KeyboardEvent;
stage.addEventListener(KeyboardEvent.KEY_DOWN,hareketFnk);
//Dinleme işlemini başlattıyoruz.
//Klavyeden bir olay gelirse hareketFnk
//fonksiyonu çalıştırılır.
function hareketFnk (evt:KeyboardEvent):void{
if(evt.keyCode==Keyboard.RIGHT){
//Eğer basılı tutulan tuş sağ yön tuşuysa
//nesnemizi sağa doğru hareket ettiriyoruz.
//mcDaire nesnesinin x koordinatını 5 arttırıyoruz.
mcDaire.x +=5;
}if(evt.keyCode==Keyboard.LEFT){
//Eğer basılı tutulan tuş sol yön tuşuysa
//nesnemizi sola doğru hareket ettiriyoruz.
//mcDaire nesnesinin x koordinatını 5 azaltıyoruz.
mcDaire.x -=5;
}if(evt.keyCode==Keyboard.UP){
//Eğer basılı tutulan tuş yukarı yön tuşuysa
//nesnemizi yukarı doğru hareket ettiriyoruz.
//mcDaire nesnesinin y koordinatını 5 azaltıyoruz.
mcDaire.y -=5;
}if(evt.keyCode==Keyboard.DOWN){
//Eğer basılı tutulan tuş aşağı yön tuşuysa
//nesnemizi aşağı doğru hareket ettiriyoruz.
//mcDaire nesnesinin y koordinatını 5 arttırıyoruz.
mcDaire.y +=5;
}
}
Klavye komutları
KeyboardEvent : Klavye olaylarını tanımlayan sınıf.
keyCode : Klavyeden basılan tuş bilgisini aldığımız komut.Bu komuta fonksiyondaki evt parametresi ile ulaşıyoruz.
KeyboardEvent.KEY_DOWN : Klavyeden herhangi bir tuşa basılma anıdır.
KeyboardEvent.KEY_UP : Klavyeden basılan herhangi bir tuşun bırakılma anıdır.
Keyboard.UP : Klavyedeki yukarı yön tuşudur. Diğer tuşlar da aynı mantıkla kullanılır.
Keyboard.DOWN : Klavyedeki aşağı yön tuşudur.
Keyboard.RIGHT : Klavyedeki sağ yön tuşudur.
Keyboard.LEFT : Klavyedeki sol yön tuşudur.
Keyboard.A : Klavyedeki A tuşudur. Diğer tuşlar da aynı şekilde kullanılabilir.
Mouse Kontrolü
CLICK
Farenin bir nesneye sol tuş ile tıklanıp bırakılma olayıdır.
DOUBLE_CLICK
nesne.doubleClickEnabled=true;
Öncelikle yukarıdaki kod satırı ile nesnenin double click olayını aktif etmemiz gerekiyor.
Farenin bir nesneye çift tıklama olayıdır.
MOUSE_DOWN
Farenin sol tuşuna basma olayıdır. Sol mouse tıklandığı an çalışır.
MOUSE_UP
Farenin sol tuşunu bırakma olayıdır. Sol mouse bırakıldığı an çalışır.
MOUSE_OUT
Farenin bir nesne üzerinden ayrılma olayıdır.
MOUSE_MOVE
Farenin nesne üzerinde gezme olayıdır.
MOUSE_OVER
Farenin nesne üzerine gelme olayıdır.
MOUSE_WHEEL
Farenin tekerleğinin döndürülme olayıdır.
ROLL_OVER
Farenin sol tuşunun basılı tutularak nesne üzerine gelme olayıdır.
ROLL_OUT
Farenin sol tuşunun basılı tutularak nesne üzerinden ayrılma olayıdır.
