_y & _ymouse

 

أولا : _y

لها نفس وظيفة _x ,ولكنها بدلا من أن تشير إلي الإحداثي السيني للموفي كليب ,فإنها تشير إلي الصادي (الرأسي) .

 

ثانيا : _ymouse

لها أيضا نفس وظيفة _xmouse ,ولكنها تشير إلي الإحداث الصادي للماوس بدلا من السيني (الأفقي) .

 

مثال:

هذا المثال يوضح استخدام كل من:

_x, _y, _xmouse, _ymouse :

 

الخطوات:

 

1.    نفتح مشروع فلاش جديد .

2.    ننشيء موفي كليب جديدة (Ctrl + F8) .

3.    نكتب في الفريم الأول من اللاير الموجود أي كلمة ولتكن "Macromedia Flash" .(بدون علامات التنصيص) ,ونعدل شكل الكلمة ليكون كالتالي:

 

 

4.    نخرج من الموفي كليب إلي الصفحة الرئيسية ,ثم نفتح المكتبة بالضغط علي مفتاحي (Ctrl + L) .

5.    نسحب نسخة من الموفي كليب إلي أي مكان من منطقة العمل.

6.    من نافذة Properties ,في قسم Instance Name نغير اسم الموفي كليب إلي mymc_mc .

7.    نحدد الفريم الأول من اللاير الوحيد الموجود حاليا ,ثم نستدعي نافذة أكشن بالضغط علي مفتاح F9 ,أو بأي طريقة أخري.

8.    و الآن نحتاج إلي الكود الذي يجعل الموفي كليب تتبع الماوس.

 

خطوات كتابة الكود:

1.    نحتاج أولا إلي تحديد الحدث الذي يبدأ الكود عمله عند حدوثه ,وأري أن أنسب حدث هو حركة الماوس  ,لأن الموفي كليب ستتبع الماوس عند تحركها ,ومثل هذا الحدث لا يتوافر بين الأحداث الخاصة بالموفي كليب ولا الخاصة بالزر ,ولذلك سنلجأ إلي عمل دالة جديدة function تحتوي علي ذلك الحدث ,والحدث المختص بحركة الماوس هو onMouseMove ,وتعني "عند تحرك الماوس" ,والآن سنكتب السطر الأول من الكود الذي فيه سننشيء دالة جديدة تبدأ في العمل عند حركة الماوس:

 

onMouseMove = function () {

2. والآن فتحنا دالة جديدة تبدأ في تنفيذ الأوامر المطلوبة عند حدث تحريك الماوس,

والكود الآن في انتظار إملاء الأوامر المطلوبة ,وهذه الأوامر هي الأوامر اللازمة لجعل الموفي كليب تتبع الماوس ,ولذلك سنجعل الإحداث السيني للموفي كليب مساويا للإحداث السيني للماوس , ,فيكون السطر الثاني كالتالي:

 

        mymc_mc._x = _root._xmouse;

3. وبالمثل مع الإحداث الصادي لكل من الماوس والموفي كليب, فنجعل

الإحداث الصادي للموفي كليب مساويا للإحداث الصادي للماوس فيكون السطر الثالث كالتالي:

 

             mymc_mc._y = _root._ymouse;

 

* ونلاحظ في الكود السابق أننا أضفنا _root قبل كتابة اسم الموفي كليب ,وهذا يعني أن الماوس موجودة في صفحة العمل الرئيسية ,أي أنه يجب أن نحدد المسار بدقة ,ولو أننا تجاهلنا _root ,فسيظل البرنامج يبحث عن مكان الخاصية _xmouse بلا جدوي ,وبالطبع فلن يعمل البرنامج عند تطبيقه .

 

4. وفي السطر الأخير نغلق الدالة بالعلامة التالية:

   };

5. فيكون الكود النهائي كالتالي:

onMouseMove = function () {

     mymc_mc._x = _root._xmouse;

     mymc_mc._y = _root._ymouse;

};

وعند تطبيق البرنامج نلاحظ أن الموفي كليب تتحرك دائما أعلي الماوس ,مثلما في الشكل التالي:

 

 

وإذا أردنا أن نجعل الموفي كليب تظهر أسفل الماوس يمكننا أن نجعل إحداثيات الموفي كليب أكبر من إحداثيات الماوس فيكون الكود كالتالي :

onMouseMove = function () {

     mymc_mc._x = _root._xmouse + 100;

     mymc_mc._y = _root._ymouse + 100;

};

ويمكن تغيير العدد 100 بالزيادة أو بالنقصان حسب الرغبة .

 

************* J *************

 

     _