[FL=http://mypage.ayna.com/highspy/me.swf] width = 500 height = 400 [/FL]
السلام عليكم
أولاً احببت ان اشارك اخي تميم في شرح مشهد ما قبل التحميل
تعددت الطرق في مسألة مشهد ما قبل التحميل ولي في ذلك طريقه تعلمتها من الكتب التي
عكفت عليها طيلة السنتين الماضيتين .
أولاً دائماً وأبداً لابد من تسمية متغيراتنا بنفس الاسم التي سيحتويه النص البرمجي
نسمي المشهد الرئيسي ب main ومشهد ما قبل التحميل ب perloader
وفي مشهد ما قبل التحميل نسمي الطبقة الأولى نصوص برمجية نضع key frame في الفريم الثاني
تذكر أن الفريم الأول يأتي مسبقاُ به key frame يعني لا داعي لوضع key frame فيه
طيب نضع طبقة ثانية ونسميها النصوص الديناميكية ونضع داخلها مستطيل نحوله إلى Movie Clip
ونسميه في أل instance name
نسمية bar
بعد ذلك نصنع نص ديناميكي Dynamic text ونسميه bLoaded
ثم كعملية نسخ و لصق بزر ال Alt مع السحب بالماوس اصنع ستة
الأول سيكون bLoaded الثاني bleft الثالث bTotal
الرابع kBLoaded الخامس kBLeft السادس kBTotal
وكذلك اصنع السابع ولكن بحجم أصغر وسمة percentLoaded
ألان في ال key frame 1 نضع هذا الكود
سنقسم الشرح في الفريم الأول إلى ثلاثة أقسام
percentLoaded = Math.round ((_root.getBytesLoaded()/_root.getBytesTotal())*100);
bar._xscale = percentloaded;
شرح القسم الأول :
1- ستتم إجراء عملية حسابية على المتغير percentLoaded باستخدام عنصر ال Math.round
كما لا يخفى عليكم أن ال Math.round يبحث عن اقرب عدد صحيح لإجراء العملية الحسابية علية
وكما تعلمون أن البايت الواحد يساوي 1024 بت
فسيقوم بقسمة البايتات المحملة على مجموع البايت في المشهد الرئيسي
وضرب الناتج في 100
//Calculate the Bytes
bTotal = _root.getBytesTotal();
bLoaded = _root.getBytesLoaded();
bLeft = _root.getBytesTotal() - _root.getBytesLoaded();
القسم الثاني سنجعل النصوص الديناميكية تأخذ قيمها من الوظائف هذه . فالكتاب من عنوانه
نص الديناميكي bTotal سيقوم بجلب مجموع البايتات عن طريق الوظيفة المسندة إليه
وكذلك بالنسبة للنص الديناميكي bLoaded
أما النص الديناميكي bLeft سيقوم بجلب ناتج نقصان مجموع البايتات من البايتات المحملة
//Calculate the KBytes
kBTotal = Math.round((bTotal/1024)*100)/100 + "KB";
kBLoaded = Math.round((_root.getBytesLoaded()/1024)*100)/100 + "KB";
kBLeft = Math.round((bTotal - bLoaded /1024)*100)/100 + "KB";
القسم الثالث هذه الطريقة لعرض الناتج بالكيلو بايت
النص الديناميكي kBTotal سيأخذ قيمة ال bTotal المشروحة في الأعلى
وتقسيمها على 1024 ثم ضرب الناتج منها على 100 ثم قسمتها على مائة
تخيل إن القسمة والضرب لا يأتيان إلا بنفس النتيجة أي
اضرب 5 في 100 ثم اقسمها على 100 سيكون الناتج 5
وهكذا يكون العدد نفسه مع زيادة الكيلو بايت يزداد العداد
في الفريم الثاني ضع هذا الكود
if (_framesLoaded == _totalFrames) {
gotoAndPlay ("main", 1);
} else {
gotoAndPlay (2);
}
الشرح : إذا كانت الإطارات المحملة تساوي كل الإطارات
اذهب وشغل المشهد الرئيسي
ولكن إذا لم تكون الإطارات المحملة تساوي كل الإطارات
إذهاب إلى الفريم الأول وشغله وذلك لعملية اللوب علية وهي عملية التنشيط للنصوص البرمجية
وإذا كانت هنالك أي استفسارات أنا حاضر وفي الخدمة
أخيرا : هذا ما لدي والله تعالى اعلم
[FL=http://mypage.ayna.com/highspy/clock.swf] width = 200 height = 180 [/FL]