Thursday, November 13, 2014

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.

Text Box: Stage
 


Text Box: Child1 NodeText Box: Child2 Node

Text Box: Parent Node 




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.

No comments:

Post a Comment