أن أهم ما يميز برنامج الفلاش هو أن المصممين والمطوريين يستطيعوا أن يتعاملوا مع أحداث الماوس ولوحة المفاتيح بكل سهولة وتزويد المستخدم بالتغذية الراجعة وإن الأحداث فى الاكشن سكريبت 3 تتميز بالمرونة والسهولة فهى ليست قاصرة على تفاعل المستخدم مع ملف الفلاش النهائى وانما تتيح للمبرمجين أن يتعرفوا على :-

  • الانتهاء من تحميل صورة خارجية .
  • الانتهاء من تحميل ملف xml خارجى .
  • معرفة الأخطاء التى تحدث عند تحميل صورة أو ملف swf او ملف صوت …. .
  • ربط الفلاش بقواعد البيانات بواسطة php  او ASP .

فهم كيف تعمل الاحداث فى الاكشن سكريبت 3 :-

يتكون نظام الاحداث فى الاكشن سكريبت 3 من ثلاث عناصر رئيسية :

  1. Events  —-> الأحداث .
  2. Event Dispatcher  —-> مرسلات الأحداث .
  3. Event Listener —-> منتبه ” مستمع” للأحداث .

فإذا اردت أن تقوم باضافة حدث للزر وعند الضغط عليه يتم الذهاب الى صفحة ويب معينة فانت تحتاج إلى كتابة الكود التالى :

url_btn.addEventListener(MouseEvent.Click, gotoUrl);

فى الكود السابق اذا اردت أن تقوم باضافة حدث للزر فلابد من تسجيل هذا الحدث فى Event Dispatcher وذلك يتم باستخدام addEventListener وسوف تنتبه مرسلات الاحداث Event Dispatcher عندما يقوم المستخدم بالضغط على الزر وفى هذه الحالة تقوم بتنفيذ الدالة gotoUrl function ليصبح الكود النهائى كالتالى :-

function gotoURL(e:MouseEvent):void {
        navigateToURL(new URLRequest("http://www.wparabia.com"));
}

فى الدالة gotoURL سوف تجد بعدها قوسين مكتوب بداخلهم e:MouseEvent فحرف e ممكن ان يكون اى حرف اخر ولكن معظم المبرمجين فى الفلاش يستخدمون حرف e او evt وهى اختصار لـ Event وهى تمثل هنا الزر والحدث الخاص به فهى تحتوى على معلومات عن الزر والحدث MouseEvent هو الحدث المسجل بهذا الاسم .
فما رايك اذا قمنا باضافة بعض الاكواد حتى نتعرف اكثر على اهمية e سوف نستخدم امر trace الموجود فى الاكشن سكريبت 3 وهذا الامر لا ينفذ فى ملف الفلاش النهائى اى لايمكن استخدامه لعرض النتائج فى ملف swf ويستخدم لاستخراج بيانات او قيمة معينة فى وقت التشغيل الان اليك الكود

url_btn.addEventListener(MouseEvent.CLICK, gotoURL);
function gotoURL(e:MouseEvent):void {
        navigateToURL(new URLRequest("http://www.wparabia.com"));
        trace(e.target);
        trace(e.target.name)
        trace(e.target.x);
        trace(e.target.y);
}

ففى الكود السابق سوف تجد المخرجات تظهر على شاشة output بترتيب التالى :- 1. [object SimpleButton] وهى توضح ان نوع العنصر زر Button . 2. اسم الزر url_btn 3. الاحداثى X للزر على ساحة العمل stage

4. الاحداثى Y للزر على ساحة العمل stage