Mengenal AS3 Event
Minggu, 16 Desember 2012
0
komentar
Karena judulnya yaitu mengenal event, maka penjelasan apa itu
event. Event merupakan suatu kejadian. Misalkan kita meng-klik sebuah
tombol, maka event ‘klik’ akan terjadi pada tombol itu, berarti secara
tidak langsung sebuah event telah terjadi.
Kenapa event itu perlu? yaitu memungkinkan terjadinya interaksi dengan objek. Misalkan kita menekan sebuah tombol, bukankah kita menginginkan sesuatu terjadi ketika kita meng-klik tombol tersebut ?? Jawabnya pasti iya dong. Nah, di situlah kita letak ke-interaktifan sebuah objek
Kita ambil contoh yang lain, misal kita menggerakkan mouse kita kemudian ada objek-objek yang mengikutinya, maka pergerakan mouse sendiri adalah sebuah event, sedang objek yang mengikuti adalah perintah di dalam event tersebut.
Sekarang yang jadi pertanyaan, bagaimana cara mengimplementasikan event tersebut ke dalam kode actionscript ?
Event terbagi menjadi bermacam jenis, mulai dari ActivityEvent, MouseEvent, KeyboardEvent dan masih banyak lagi (bisa dilihat di sini). Setiap event memiliki fungsi sendiri-sendiri, contohnya event paling sering digunakan yaitu Event, memiliki nama event berupa Event.COMPLETE yang biasa digunakan ketika kita melakukan load terhadap dokumen di luar flash. Dari event yang banyak itu, kita harus meng-import-kan event yang kita gunakan saja, seperti baris kode di atas yaitu import flash.event.MouseEvent; yang digunakan hanya untuk mengimport class MouseEvent, jika kita ingin mengimport semua event, gunakan import flash.event.*;.
Untuk mendeklarasikan sebuah Event, butuh untuk memanggil fungsi addEventListener(), gunanya yaitu menambahkan event ke dalam kotak_mc. kita dapat menambahkan lebih dari satu event seperti contoh berikut :
kotak_mc.addEventListener(MouseEvent.MOUSE_DOWN, kotakDiKlik);
kotak_mc.addEventListener(MouseEvent.MOUSE_UP, kotakDiLepaskan);
Tentunya kedua event akan berjalan sesuai jenis eventnya.
Selanjutnya yaitu membuat fungsi kotakDiKlik(), ingat, fungsi ini harus terdapat satu parameter bertipe event pemanggil atau bertipe class Event. contohnya seperti berikut :
function kotakDiKlik(e:MouseEvent){… (benar)
function kotakDiKlik(e:Event){… (benar)
function kotakDiKlik(e:MovieClipEvent){… (salah, karena tidak sesuai dengan pemanggilnya)
Untuk lebih jelasnya simak logika berikut :
dispatch event sangat berguna untuk kita yang sering bekerja dengan loading file xml, swf, dan lainnya, juga yang ingin membuat Event sendiri.
Link Source Code : Di SINI
sumber : http://flashindonesia.com/2010/08/belajar-actionscript-3-0-mengenal-event/
Kenapa event itu perlu? yaitu memungkinkan terjadinya interaksi dengan objek. Misalkan kita menekan sebuah tombol, bukankah kita menginginkan sesuatu terjadi ketika kita meng-klik tombol tersebut ?? Jawabnya pasti iya dong. Nah, di situlah kita letak ke-interaktifan sebuah objek
Kita ambil contoh yang lain, misal kita menggerakkan mouse kita kemudian ada objek-objek yang mengikutinya, maka pergerakan mouse sendiri adalah sebuah event, sedang objek yang mengikuti adalah perintah di dalam event tersebut.
Sekarang yang jadi pertanyaan, bagaimana cara mengimplementasikan event tersebut ke dalam kode actionscript ?
Membuat tombol yang membesar.
- Buat sebuah dokumen flash dengan actionscript 3.0
- Gambar sebuah kotak di tengah, kemudian seleksi dan klik kanan, kemudian pilih Convert to Symbol.
- Klik OK, dan terbentuk sebuah Movieclip. Sekarang ubah instance namenya menjadi kotak_mc dengan membuka panel properties (Ctrl + F3).
- Klik pada frame 1 layer 1, kemudian tekan F9 untuk menampilkan panel Actions – Frame
- Ketikkan script berikut :
import flash.events.MouseEvent; var diklik = false; kotak_mc.addEventListener(MouseEvent.MOUSE_DOWN, kotakDiKlik); function kotakDiKlik(e:MouseEvent) { if (! diklik) { kotak_mc.scaleX = 2; kotak_mc.scaleY = 2; } else { kotak_mc.scaleX = 1; kotak_mc.scaleY = 1; } diklik = ! diklik; }
- Sekarang tes movie-nya !
Event terbagi menjadi bermacam jenis, mulai dari ActivityEvent, MouseEvent, KeyboardEvent dan masih banyak lagi (bisa dilihat di sini). Setiap event memiliki fungsi sendiri-sendiri, contohnya event paling sering digunakan yaitu Event, memiliki nama event berupa Event.COMPLETE yang biasa digunakan ketika kita melakukan load terhadap dokumen di luar flash. Dari event yang banyak itu, kita harus meng-import-kan event yang kita gunakan saja, seperti baris kode di atas yaitu import flash.event.MouseEvent; yang digunakan hanya untuk mengimport class MouseEvent, jika kita ingin mengimport semua event, gunakan import flash.event.*;.
Untuk mendeklarasikan sebuah Event, butuh untuk memanggil fungsi addEventListener(), gunanya yaitu menambahkan event ke dalam kotak_mc. kita dapat menambahkan lebih dari satu event seperti contoh berikut :
kotak_mc.addEventListener(MouseEvent.MOUSE_DOWN, kotakDiKlik);
kotak_mc.addEventListener(MouseEvent.MOUSE_UP, kotakDiLepaskan);
Tentunya kedua event akan berjalan sesuai jenis eventnya.
Selanjutnya yaitu membuat fungsi kotakDiKlik(), ingat, fungsi ini harus terdapat satu parameter bertipe event pemanggil atau bertipe class Event. contohnya seperti berikut :
function kotakDiKlik(e:MouseEvent){… (benar)
function kotakDiKlik(e:Event){… (benar)
function kotakDiKlik(e:MovieClipEvent){… (salah, karena tidak sesuai dengan pemanggilnya)
Apa itu dispatch event ?
Baik, dispatch event adalah sebuah fungsi dari class event yang digunakan untuk memberitahu event yang sedang me-listen untuk menjalankan perintah selanjutnya.Untuk lebih jelasnya simak logika berikut :
- Saya ingin mencoba melakukan load dokumen XML, dan saya ingin tau kapan dokumen itu sudah selesai di-load.
- Maka saya tinggal menambahkan eventListener yaitu EVENT.COMPLETE.
- Ketika masih loading dokumen XML, belum ada perubahan.
- Namun ketika XML sudah di-load, maka flash melaporkan bahwa dokumen sudah selesai di-load.
- Laporan tersebut didengar oleh eventListener yaitu EVENT.COMPLETE dan eventListener mengeksekusi perintah selanjutnya.
dispatch event sangat berguna untuk kita yang sering bekerja dengan loading file xml, swf, dan lainnya, juga yang ingin membuat Event sendiri.
Link Source Code : Di SINI
sumber : http://flashindonesia.com/2010/08/belajar-actionscript-3-0-mengenal-event/
Baca Selengkapnya ....