Secara umum bentuk dari eventListener dapat digambarkan sebagai berikut :
object.addEventListener(Event, eventListenerFunction);
function eventListenerFunction (e:Event):void{
do someThing;
}
button.addEventListener(MouseEvent.CLICK, moveThis);
function moveThis(e:MouseEvent):void {
abc_mc.x = abc_mc.x + 5;
}
Fungsi diatas adalah sebuah fungsi untuk menggeser suatu objek(abc_mc) ke kanan sebanyak 5 pixel. Ok, mari bahas satu persatu.
Kita ibaratkan di stage ada sebuah MovieClip dengan nama abc_mc dan sebuah tombol dengan nama button. Karena pada program di atas abc_mc menerima event dari MouseEvent.CLICK, maka jika abc_mc diklik fungsi moveThis akan dijalankan. Pada fungsi moveThis, nilai x dari abc_mc akan ditambah 5 yang berarti abc_mc akan bergeser 5 pixel ke kanan. Perhatikan pada bagian parameter fungsi di atas : moveThis(e:MouseEvent). e merupakan sebuah argumen yang merepresentasikan fungsi moveThis. Pada sebuah EventListener, argumen ini wajib disertakan. Sebagai identifier untuk argumen ini, bebas digunakan kata atau huruf apa saja. Pada contoh di atas digunakan huruf "e". Argumen ini akan digunakan untuk mengontrol beberapa properti dari MouseEvent. Misal, untuk contoh kita dapat mengganti baris
abc_mc.x = abc_mc.x + 5; dengan
e.currentTarget.x = e.cuurentTarget.x + 5;
e.currentTarget akan mengacu pada objek abc_mc. Jadi, hasil dari fungsi ini akan sama saja dengan fungsi yang pertama.
Cara seperti ini akan berguna jika kita akan menggunakan sebuah fungsi yang sama untuk beberapa objek sekaligus. Bayangkan jika kita ingin saat kita mengklik sebuah tombol ada 5 buah MovieClip yang berubah posisi. Kalau dengan cara yang pertama maka kita harus menulis 5 fungsi yang berbeda, wah repot !
Makanya, digunakan e.currentTarget untuk mengacu pada objek apa yang diklik. Metode ini akan jauh lebih efektif dan lebih ringkas untuk mengatur sebuah alur program.
Unttuk mengetahui lebih jelas tentang event handling bisa melihat langsung di referensi actionscript 3 dari Adobe. Atau bisa juga lihat di sini >>
Semoga bermanfaat :)