1 - هذه الوظيفة تقوم بإخفاء مؤشر الماوس . ولكن مؤشر الماوس الذى يظهر عند تحديد نص مثلا وهو مايسمى ب I-beam cursor لن يختفى .2 - هذه الوظيفة تقوم بإظهار مؤشر الماوس .3 - هذه الوظيفة تقوم بتعيين مصغى لحدث خاص بالماوس . ويمكننا فى ذلك جعل الإصغاء لثلاث أحداث هى :
;()onMouseDown
;()onMouseUp
;()onMouseMove
4 - هذه الوظيفة تقوم بإلغاء تعيين مصغى لحدث خاص بالماوس كما يحتوى التصنيف Mouse على عدد من الأحداث المصاحبة * وهذه الأحداث هى الأحداث الثلاثة المذكورة من قبل بالإضافة إلى onMouseWheel :
1- يظهر هذا الحدث عند الضغط على زر الماوس2 - يظهر هذا الحدث عند تحرك مؤشر الماوس3 - يظهر هذا الحدث عند تحرير أى إفلات زر الماوس 4 - يظهر هذا الحدث عند تحريك عجلة الماوسعمل شكل يتبع الماوسالخطوات :1 - إرسم أى شكل أو استورد أى صورة صغيرة * وفى النهاية حدد الشكل أو الصورة الصغيرة ثم اضغط F8 للتحويل إلى رمز من نوع موفى كليب * وفى لوح الخصائص قم بتسميته myMouse .2 - أضف طبقة للأكشن واضغط F9 واكتب الكود التالى :
MListener.onMouseMove = function():Void {
myMouse._x = _root._xmouse;
myMouse._y = _root._ymouse;
};
Mouse.addListener
(MListener);
اختبر العمل حيث تجد أن الشكل يتبع الماوس وكأنه ملتصق به .
ويمكننا تنفيذ ذلك بكود مختلف * امسح الكود السابق وضع الكود التالى بدلا منه :
myMouse.onMouseMove = function():Void {
this._x = _root._xmouse;
this._y = _root._ymouse;
updateAfterEvent();
};
إن الدالة updateAfterEvent تقوم بعمل تحديث لمكان مؤشر الماوس بغض النظر عن سرعة الفيلم * وذلك للحصول على حركة أنعم .وإذا أردت أن تجعل الشكل يتبع الماوس ولكنه غير ملتصق به أى يبتعد عنه قليلا ويكون لذلك قيمة جمالية * يمكنك كتابة الكود التالى بدلا من الكود السابق :
myMouse.onEnterFrame = function() {
var xMouse = _root._xmouse;
var yMouse = _root._ymouse;
if (Math.abs(xMouse-this._x)<1) {
this._x = xMouse;
this._y = yMouse;
} else {
this._x -= (this._x-xMouse)/6;
this._y -= (this._y-yMouse)/6;
}};
نظرة على الكود الأخير :

1 - استعملنا وظيفة تحكم فى الحدث والحدث هنا onEnterFrame أى طالما أن الفيلم يعمل * وبمعنى آخر تظل هذه الوظيفة تعمل باستمرار عمل الفيلم وبنفس معدل سرعته أيضا والتى نعبر عنها بعدد الإطارات فى الثانية . وهذه الوظيفة تؤدى إلى تشغيل دالة أى function .2 - الأوامر الموجودة بالدالة * حيث قمنا بالتعريف عن متغيرين xMouse* yMouse يختزنان موضع مؤشر الماوس أفقيا ورأسيا 4 * 5 * 6 - إذا كانت المسافة بين الشكل ومؤشر الماوس أقل من 1 بيكسل يتم جعل موضع الشكل هو نفس موضع مؤشر الماوس أى يكونان ملتصقان معا7 * 8 * 9 - وإلا - أى لو كانت المسافة بينهما أكثر من 1 بيكسل - يتم تقليل المسافة بالتدريج أى يتحرك الشكل تدريجيا نحو مؤشر الماوس ليلتصق به* وهنا تمت القسمة على 6 * ولو جعلنا القسمة على رقم أقل 2 مثلا سيذهب الشكل بسرعة أكبر نحو المؤشر . عمل مؤشر للماوسيمكننا عمل مؤشر للماوس بشكل جديد من اختيارنا .الخطوات :1 - إرسم أى شكل أو استورد أى صورة صغيرة * وفى النهاية حدد الشكل أو الصورة الصغيرة ثم اضغط F8 للتحويل إلى رمز من نوع موفى كليب * وفى لوح الخصائص قم بتسميته myMouse .2 - انقر على الموفى كليب فى المسرح ثم اضغط F9 واكتب الكود التالى :
onClipEvent (load) {
Mouse.hide();
startDrag(this* true);
}
onClipEvent (mouseMove) {
updateAfterEvent();
}
نظرة على الكود:

1 - دالة التحكم فى الحدث والحدث هنا هو تحميل الموفى كليب وهو الشكل الذى قمنا بعمله ونريد جعله مؤشرا للماوس 2 - استخدام الوظيفة hide لإخفاء الماوس 3 - تفعيل إمكانية تحريك الموفى كليب 5 - دالة التحكم فى الحدث والحدث هنا هو حركة الماوس 6 - تحديث مكان المؤشر من خلال الدالة updateAfterEventفإذا أردنا إعادة مؤشر الماوس لحالته الإفتراضية * نضع الكود التالى :
onClipEvent (load) {
Mouse.show();
this._visible = false;
}
فى المثال التالى سنصنع كودا عبارة عن مزيج من الكود الأول والثانى * حيث نصنع شكل للماوس يستمر فى الظهور عند تحرك الماوس فى منطقة محددة * ثم يستعيد الماوس شكله الإفتراضى حين يتخطى هذه المنطقة :الخطوات :1 - إرسم أى شكل أو استورد أى صورة صغيرة * وفى النهاية حدد الشكل أو الصورة الصغيرة ثم اضغط F8 للتحويل إلى رمز من نوع موفى كليب * وفى لوح الخصائص قم بتسميته myMouse .2 - أضف طبقة جديدة وارسم فيها خطا طوليا
أغلق هذه الطبقة ثم عد للطبقة الأولى وحرك الموفى كليب نحو الخط بحيث يكون الحد الأيمن له ملامسا للخط * وانظر فى لوح Info لتعرف قيمة x ولنفرض أنها 330 .
3 - أضف طبقة ثالثة للأكشن * واكتب فيها الأكشن التالى :
var myListener:Object = new Object();
myListener.onMouseMove = function():Void {
if (myMouse._x>=330) {
Mouse.show();
myMouse._visible = false;
} else {
Mouse.hide();
myMouse._visible = true;
startDrag(myMouse* true);
}
updateAfterEvent();
};
Mouse.addListener(myListener);
ونلاحظ أننا قمنا بتحديد المنطقة التى لا يجب أن يتعداها الماوس فى الحركة الأفقية بوضع القيمة 330 .قم باختبار العمل * حيث يكون شكل مؤشر الماوس مختلفا طالما ظل يتحرك على يسار الخط * وبمجرد أن يجتاز الخط نرى مؤشر الماوس قد عاد لحالته الإفتراضية . تحديد مكان المؤشر يمكننا ذلك من خلال الخاصتين :ymouse_xmouse_حيث تستخدم الخاصية الأولى فى التحكم فى الإحداثى الأفقى للمؤشر بينما تستخدم الثانية فى التحكم فى الإحداثى الرأسى وذلك نسبة إلى نقطة التسجيل Registration Point والتى توجد إفتراضيا فى الركن الأيسر العلوى .
وومتأسف على هذا التأخير لظروف خاصه وأنشاء أن الشرح واضح
أنتظر ردودكم