|
مشهد ما قبل التحميل بالنسبة المئوية( في الفلاش)
مشهد ما قبل التحميل بالنسبة المئوية
Preloader
الاصدار المستخدم: Flash MX
المستوى: متوسط
مقدمة:
عندما يكون ملف الفلاش كبيرا فسوف يستغرق وقتا طويلا حتى يكتمل تحميله ويعرض , وقد يصاب الزائر بالملل من طول الانتظار وقد يصاب ايضا بالحيرة فيما اذا كان التحميل جاريا ام لا . من هنا تأتي اهمية مشهد ما قبل التحميل والذي هو عبارة عن مشهد يوضع في بداية فيلم الفلاش يتضمن اشارة الى ان التحميل مستمر . ويمكن عمل ذلك باستخدام الاكشن سكريبت وفي ابسط الصور ممكن اظهار كلمة مثل "loading" وعمل بعض التأثيرات عليها, ولكن تبقى مشكلة مع هذه الطريقة وهي اننا نريد ان نعرف كم النسبة التي تم تحميلها وكم تبقى .. في هذا الدرس شرح للطريقة الاساسية لعمل preloader يظهر النسبة المئوية لتحميل الفيلم .
الشرح:
بعد ان ننتهي من عمل الفيلم الرئيسي والذي قد يتكون من مشهد او اكثر نقوم بإدراج مشهد جديد :
- من القائمة insert نختار scene
- نذهب الى القائمة window نختار scene ثم نجعل هذا المشهد الجديد في الاعلى عن طريق السحب بالماوس ويمكن تغيير اسمه الى preloader عن طريق النقر المزدوج ثم كتابة الاسم الجديد.
- نختار مشهد preloader ونبدأ في العمل .
- في الطبقة الاولى نرسم مستطيل ونقوم بمسح الحدود الخارجية ثم نعطيه اللون المناسب ونحوله الى رمز symbol
- في لوحة الخصائص نعطي له اسم الانستانس instance لكي نستطيع التعامل معه بالاكشن سكريبت فيما بعد وليكن اسمه "bar"

-نعمل طبقة جديدة ونجعلها فوق الاولى ثم ننسخ المستطيل في الطبقة السابقة ونلصقة في هذه الطبقة عن طريق paste in plase من القائمة edit ليكون متطابقا تماما مع المستيطل الذي في الطبقة الاولى
- نعطيعه لونا مختلف ,واسم انستانس وليكن "fill"

-نعمل طبقة ثالثة وننشيء بها حقل نص من النوع dynamic text ونتركه فارغا , ثم نقوم باختيار لون ونوع الخط الذي نريده .. ونعطيه اسم انستانس وليكن "perText", ثم نضعه في اسفل المستطيل في المنتصف. لاحظ الاختيارات في نافذة الخواص :

-ننشيء طيقة رابعة ونجعلها في الاعلى, هذه الطبقة خاصة بوضع اكواد الاكشن سكريبت, وفي خط الزمن الخاص
بهذه الطبقة نعمل ثلاثة فريمات رئيسية keyframe
- في الطبقات الاخرى نقوم بادخال فريم frame في الخانة الثالثة لكل طبقة لضمان استمرار ظهور محتويات هذه الطبقات طوال الوقت
- بعد الانتهاء من الخطوات السابقة سيكون نافذة خط الزمن والطبقات لديك بالشكل التالي :

الأكشن سكريبت:
يأتي الان دور الاكشن سكريبت
1- نذهب الى طبقة الاكشن, نختار الفريم الاول, نفتح نافذة الاكشن ونكتب بها الكود التالي:
ifFrameLoaded ("Scene 1",6) {
gotoAndPlay("Scene 1", 1);
}
شرح الكود:
في السطر الاول نتأكد هل تم تحميل المشهد الرئيسي كاملا ام لا ونضع اسم المشهد ثم رقم اخر فريم في هذا المشهد,
فاذا تم التحميل ننتقل الى الامر الموجود بين { } وهو امر بالذهاب الى اول فريم في المشهد الرئيسيScene 1 وبداية العرض .
اما في حالة عدم تحقق الشرط فإن الفلاش سيذهب الى الفريم التالي الذي يحتوي على اوامر اخرى سنقوم بعملها في الخطوة التالية
{ }Scene 1
2- نختار الفريم الثاني, نفتح نافذة الاكشن ونكتب الكود التالي :
total =_root.getBytesTotal();
loaded =_root.getBytesLoaded();
r = loaded/total;
percent = math.round(r*100);
perText.text = percent+"%";
fill._width = bar._width*r;
شرح الكود:
ننشيء متغير ونسميه total ونعيطه قيمة تساوي عدد البايتات الكلي للملف والتي نحصل عليها بواسطة الدالة
getByteTotal ننشيء متغير اخر ونسميه loaded ونعطيه قيمة تساوي عدد البايتات التي تم تحميلها والتي نحصل عليها بواسطة الدالة getByteLoaded بعد ذلك نقوم بحساب النسبة بين ماتم تحميله وبين االحجم الكلي ونضيفه الى متغير اسمه r ثم حساب النسبة المؤية واضافتها الى متغير اسمه percent .. واستخدمنا الدالة round التي تقرب الناتج الى عدد صحيح حتى نتجنب ظهور ارقام كسرية اثناء التحميل .
بعد ذلك نضيف قيمة النسبة المئوية الى الخاصية text للانستانس perText وهو حقل النص الديناميكي الذي انشأناه
سابقا. .ونقوم بربطها بعلامة النسبة المئوية . في السطر الاخير نتحكم بعرض المستطيل الثاني (fill._width) بحيث يتناسب طوله مع تقدم التحميل .. وذلك عن طريق اعطائه قيمة عرض المستطيل الاول bar._width مضروبا في النسبة r total
3- في كل مرة علينا التأكد من الشرط الموجود في الفريم الاول .. لذلك نضع الامر التالي في الفريم الثالث
gotoAndPlay(1);
بعد الانتهاء من العمل ,اذا كنت تريد تجريب ما قمت به, استعرض الملف عن طريق الفلاش بلاير بواسطة :
ctrl +Enter, بعد ذلك اذهب الى القائمة debug واختر منها سرعة التحميل المتوقعة ولتكن 56 مثلا ,
هذا يجعلك ترى المدة اللازمة لتنزيل الملف عن طريق اتصال سرعته 56 kbps, بعد ذلك اذهب الى القائمة
view واختر منها show streaming سيبدأ العرض كما لو كنت تقوم بتنزيله من الانترنت .
بهذا نصل الى نهاية الدرس.
المزيد من المواضيع
اختصارات الفلاش لأجهزة الحاسوب الشخصية (الجزء الأول)
اختصارات الفلاش لأجهزة الحاسوب الشخصية (الجزء الثاني)
اختصارات الفلاش لأجهزة الحاسوب الشخصية (الجزء الثالث)
دورة Flash mx - الجزء الثاني - صندوق الادوات 2
دورة Flash mx - الجزء الاول - صندوق الادوات
الفريم التالي والسابق
طريقة عمل الساعة في الفلاش
طريقة عمل الساعة بالفلاش_2
طريقة عمل الساعة في الفلاش_3
دورة Flash mx - الجزء الثالث - الصور المتجهة و النقطية
دورة Flash mx - الجزء الرابع - الحركة على مسار متعرج
دورة Flash mx - مشهد الانتظار
كيف تعمل نموذج بريدي وتربطه مع php
عمل توقيع فلاش متغير
استخدام امر startdrag وstopdrag وتداخلهمامع القناع -1-
لغة الآكشن سكريبت ---1---
استخدام امر startdrag وstopdrag وتداخلهما مع القناع -2-
لغة الآكشن سكريبت ---5---
لغة الآكشن سكريبت ---6---
لغة الآكشن سكريبت ---7---
لغة الآكشن سكريبت ---8---
|