The event flow
Flash Player menghantar objek
acara apabila sesuatu acara berlaku. Jika target acara ini tidak disenaraikan
dalam senarain, Flash Player hantar objek acara langsung ke sasaran acara
tersebut. Bagaimanapun, Flash Player hantar objek acara ke dalam senarai
paparan, dan objek acara bergerak melalui senarai paparan untuk sasaran acara
tersebut.
Event flow menerangkan bagaimana sesuatu objek bergerak
melalui acara senarai paparan. Senarai di paparan dianjurkan dalam bentuk
hierarki yang boleh digambarkan sebagai pepohon. Di bahagian atas hierarki
senarai paparan adalah Stage, yang merupakan paparan objek khas yang berfungsi sebagai akar senarai
paparan. Peringkat ini diwakili oleh kelas flash.display. Stage hanya boleh
diakses melalui objek yang dipamerkan. Sebagai contoh, jika pengguna mengklik pada
senarai paparan objek bernama child1, Flash Player akan menghantar objek acara
menggunakan child1 sebagai nod sasaran.
Jika pengguna
mengklik pada Child1 Nod, Flash Player hantar objek acara ke dalam aliran acara
tersebut. Seperti yang ditunjukkan oleh gambar berikut, perjalanan objek masuk bermula pada Stage, bergerak ke bawah
untuk Parent Node, kemudian bergerak ke Child1 Node, dan kemudian
"Bubbles" kembali ke Stage, bergerak melalui Nod induk lagi dalam
perjalanannya kembali ke Stage.
Bahagian yang pertama dipanggil Capture
Phase; fasa ini terdiri daripada semua nod dari Stage ke nod sasaran. Bahagian
yang kedua disebut Target Phase, yang terdiri dari nod sasaran sahaja. Fasa
yang ketiga dipanggil fasa bubbling. Fasa bubbling terdiri daripada nod yang
akan dikembalikan dari induk nod sasaran kembali ke Stage.
Event Objects
Event Objects
mempunyai dua tujuan utama dalam sistem pengendalian new event. Pertama,
peristiwa objek mewakili peristiwa sebenar dengan menyimpan maklumat mengenai
peristiwa-peristiwa tertentu dalam satu set ciri. Kedua, objek acara
mengandungi satu set kaedah yang membolehkan anda untuk memanipulasi objek
acara dan mempengaruhi perilaku sistem event-handling.
Bagi
memudahkan akses kepada sifat dan kaedah, API Flash Player mendefinisikan
sebuah acara kelas yang berfungsi sebagai kelas asas untuk semua objek acara.
Kelas Acara mentakrifkan satu set asas sifat dan kaedah yang umum untuk semua
benda acara
Understanding Event class properties
(Memahami ciri-ciri kelas Event)
Kelas Acara
mendefinisikan beberapa properties dan constants (pemalar) yang menyediakan
maklumat penting tentang suatu peristiwa object. Berikut adalah pertara yang
penting:
ü
Jenis Event Objects diwakili oleh pemalar dan
disimpan dalam Event.type.
ü
Events
boleh diwakili oleh nilai Boolean dan disimpan dalam Event.cancelable.
ü
Maklumat aliran acara terkandung dalam properties.
Event object types
Setiap objek acara mempunyai jenis
kegiatan yang berkaitan. Jenis acara disimpan dalam Event.type sebagai nilai string. Hal ini berguna untuk
mengetahui jenis objek acara sehingga kod anda boleh membezakan objek dari
berbagai jenis dari satu sama lain. Sebagai contoh, kod berikut menetapkan bahawa
clickHandler () fungsi listener perlu
membalas sebarang event dengan klik tetikus untuk dihantar kepada myDisplayObject:
myDisplayObject.addEventListener(MouseEvent.CLICK,
clickHandler);
Beberapa jenis
acara dikaitkan dengan kelas acara itu sendiri dan diwakili oleh Pemalar kelas
acara, ada yang ditunjukkan dalam aturcara berikut dari Events class definition:
package
flash.events
{
public class
Event
{
// class constants
public static
const ACTIVATE:String = "activate";
public static
const ADDED:String = "added";
// remaining
constants omitted for brevity
}
}
Constants-memberikan cara mudah untuk merujuk
kepada jenis acara tertentu. Anda perlu menggunakan pemalar. Jika anda salah
mengeja nama yang tetap di dalam kod anda, pengkompil akan menangkap kesalahan,
tetapi Jika Anda bukan menggunakan string, kesalahan tipografi boleh tidak
nyata pada masa himpunan dan kesalahan yang tidak dijangka dan boleh menjadi
sukar untuk mengesan debug. Sebagai contoh, acara listener, gunakan kod
berikut:
myDisplayObject.addEventListener(MouseEvent.CLICK,
clickHandler);
daripada
myDisplayObject.addEventListener("click",
clickHandler);
Event flow information
Properties kelas Event mengandungi maklumat penting
tentang sebuah objek acara dan hubungannya dengan aliran acara tersebut,
seperti yang dinyatakan di dalam senarai berikut:
ü Property
bubbles mengandungi maklumat tentang
bahagian Event flow di mana objek acara yang mengambil bahagian.
ü Property
eventPhase menunjukkan tahap semasa
dalam aliran acara tersebut.
ü Property
target menyimpan sebutan mengenai
sasaran acara tersebut.
ü Property
currentTarget menyimpan sebutan
mengenai objek senarai paparan yang semasa
pemprosesan objek
acara tersebut.