![]() |
التحكم بالماوس وعمل شكل يتبعه بالفلاش
التحكم فى الماوس يستخدم التصنيف Mouse للتحكم فى مؤشر الماوس وذلك من خلال العديد من الوظائف : 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(); } نظرة على الكود: http://www.mrkzy.com/uploads/65de7b416e.jpg 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 والتى توجد إفتراضيا فى الركن الأيسر العلوى . وومتأسف على هذا التأخير لظروف خاصه وأنشاء أن الشرح واضح أنتظر ردودكم [flash=http://www.mrkzy.com/uploads/12dba2385b.swf]WIDTH=400 HEIGHT=350[/flash] |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
مشكور اخوي سالم على الموضوع
بس في صور ما تفتح **** ياريت تعيد رفعها تقبل مروري الذيباني |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
[grade="00008B FF6347 008000 4B0082 00BFFF"]مشكور اخوي سالم
ومثل ما قال الذيباني الصور ماتفتح،،، تحيتي[/grade] |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
الله يبارك فيك ويعطيك العافية اخي سالم وبانتظار رفع الصور مرة ثانية
ودمت بحفظ الرحمن |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
شكراً لكم على متابعة ماهو جديد
وهذا الشرح مرفوع الصور من جديد وأنشاء الله انه واضح |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
سالم والله اني مافهمت حاجه من الشرح مادري وش السالفه..
عيت تدخل راسي.. وعلى العمووم انا الماوس عندي معلق فيه صورة بس صغنوون يلعب بيده بكوره زرقاء صغيره معلقع بذيل الماوس ومستانس على هالبس،خخخخ طبعاً لطشتها من الأكسبلور وانا شغال على Avant Browser مع السلامه |
رد: التحكم بالماوس وعمل شكل يتبعه بالفلاش
شكر اً على هالمرور
واعتقد أن مالك خبرة بالفلاش |
الساعة الآن 10:56 AM |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. TranZ By
Almuhajir
إنطلقت الشبكة في 2006/10/17 م - المملكة العربية السعودية - المؤسس / تيسير بن ابراهيم بن محمد ابو طقيقة - الموقع حاصل على شهادة SSL