عرض مشاركة واحدة
قديم 25-07-2008, 23:38   #1
معلومات العضو
عبد الهادي اطويل
ادارة الأمل
الصورة الرمزية عبد الهادي اطويل






عبد الهادي اطويل غير متصل

آخر مواضيعي

افتراضي شرح تصميم توقيع فلاشي ببرنامج السويش ماكس SwishMax حسب طريقة hadi060 (الجزء الرابع)





مرحبا بكم أحبتي الكرام في هذا الجزء وهو الرابع والأخير من سلسلة دروس السويش ماكس التي أقدمها بشكل حصري في منتديات الأمل.
قبل البدء في درس اليوم لا بأس من التذكير بأجزاء هذه السلسلة من الدروس:

تم تنظيم دروس هذه السلسلة حسب الشكل التالي:

لمن يحب أن يتتبع السلسلة بشكل جدي فإنني إنصحه بشدة بتتبع الأجزاء حسب تسلسلها الذي وردت به في الفهرس أعلاه، أي بدءا من الجزء الأول وانتهاء بهذا الجزء.
كما سبق وأشرت في الجزء الأول من الدروس فإنكم ستحتاجون خلال تتبعكم لهذه الدروس إلى برنامج السويش ماكس والذي يمكنكم الحصول عليه أو على نسخة تجريبية منه من خلال موقعه على الرابط التالي:

SwishMax


أيضا قد تلاحظون بأنني أستعمل خطوطا عربية لا تملكونها، ولو أنه يمكنكم استعمال الخطوط الموجودة عندكم، لكن من أراد منكم أن ينوع خطوط حاسوبه فإنني أنصحكم بموضوع أختنا المبدعة ايجا من خلال هذا الرابط:

خطوط عربية


في الجزء الثالث (أي السابق) تمكنا من الوصول إلى النتيجة التالية:
[FLASH=http://hadi060.googlepages.com/alamalnet2.swf]width=400 height=200[/FLASH]
وفي هذا الجزء لن تكون النتيجة مختلفة كثيرا عن نتيجة الجزء السابق، لأن عملنا سيتركز بالأساس على إضافة رموز برمجية (أكواد) نتحكم بها في الفلاش بشكل معين، كما سنتعلم طريقة إنشاء مشهد ما قبل التحميل.

ملاحظة :
إن مشهد ما قبل التحميل هو عبارة عن مشهد نخبر به المشاهد بأن الفلاش جاري تحميله، وهو أمر مفيد جدا إذا كان حجم الفلاش كبيرا وأيضا إذا كان الارتباط بالنت ضعيفا، بحيث مع عدم وجود مشهد ما قبل التحميل فإن الشخص الذي يريد مشاهدة الفلاش لن يعرف هل سيفتح الفلاش أم لا طالما هو ينتظر ويشاهد صفحة بيضاء فلا يعرف هل هناك خلل أم سيظهر الفلاش.
إن مشهد ما قبل التحميل هو أول ما يتم تحميله، لذلك من الأفضل أن يكون خفيفا حتى يتم تحميله بسرعة ليخبر المتلقي أن تحميل الفلاش جار.

والآن أترككم مع الدرس من خلال موقع اليوتوب:

[FLASH=http://www.youtube.com/v/ICkNzlFulKE&hl=en&fs=1&rel=0&color1=0x006699&color 2=0x54abd6&border=1]width=425 height=355[/FLASH]

ولمن أراد تحميل هذا الشرح على حاسوبه ليشاهده بجودة عالية كيفما ووقتما يشاء، ها هو الرابط المباشر(حجم الفيديو الأصلي يبلغ 21Mb):
درس السويش ماكس: مشهد ما قبل التحميل وأمر جعل الفلاش يتكرر تلقائيا


ملاحظة :
الفيديوهات تم تصديرها باستعمال التقنية DivX من أجل نقاوة عالية وحجم صغير، لذلك ولمن لا يتوفر على هذا البرنامج في جهازه عليه تحميله وتثبيته، وهاكم روابط تحميله:
DivX Codec - Français


DivX Codec -English


شرح الرموز البرمجية (الأكواد)
ملاحظة :
يتكون العرض الفلاشي الذي صممناه من مشهدين: المشهد Scene_1 وهو الذ اشتغلنا عليه في البداية، ثم مشهد ما قبل التحميل وهو الذي أضفناه من خلال هذا الجزء، ولقد جعلنا مشهد ما قبل التحميل هو المشهد الأول في الفلاش، بينما المشهد Scene_1 هو المشهد الثاني. ويمكن لعرض فلاشي ما أن يتكون من عدد غير محدد من المشاهد بحسب الحاجة، فقارئ الفلاش يقرأ المشاهد بحسب ترتيبها في شجرة المشاهد:


من الآن فصاعدا سوف أسمي الكود باسم الرمز البرمجي، وسوف أسمي الفريم باسم الإطار لنكون للعربية أقرب.
أول ما فعلناه في جانب الرموز البرمجية هو أننا أضفنا رمزا برمجيا في الإطار الأخير من المشهد Scene_1 كما هو موضح في الصورة التالية:

الإطار الأخير كان هو الإطار رقم 103 وقد أضفنا إليه الرمز البرمجي الموضح في الصورة التالية (مظلل بالأصفر):

وإليكم شرح هذا الرمز بالتفصيل:
العبارة التالية:
كود PHP:
onFrame (103
هذه العبارة تخبر قارئ الفلاش أنه في الإطار 103 هناك أمر يجب تنفيذه، لكن ما هو هذا الأمر؟ الجواب في بقية الرمز البرمجي:
كود PHP:
{
    
gotoSceneAndPlay("<current scene>",1);

التعليمة gotoSceneAndPlay تأمر قارئ الفلاش بالذهاب إلى الإطار المعين في المشهد المعين ليقرأ الفلاش، ولقد تم تحديد المشهد ب <current scene> وتعني المشهد الحالي، وتم تحديد الإطار في برقم 1 أي الإطار الأول من المشهد الحالي (وهو Scene_1 في حالتنا هذه)، وبالتالي يكون معنى الرمز كاملا كالتالي:
عند الإطار 103 من المشهد الحالي انتقل إلى الإطار 1 من نفس المشهد.
لذلك ما سيحدث أن قارئ الفلاش حينما سيصل إلى الإطار 103 سينتقل تلقائيا إلى الإطار الأول من نفس المشهد ليعيد قراءة المشهد مجددا وهكذا دواليك.

ملاحظة :
قد يتساءل قائل: وما فائدة هذا الأمر ما دام قارئ الفلاش يفعل هذا الأمر تلقائيا؟
والجواب هو: صحيح أننا حينما نفتح الفلاش في حاسوبنا فإنه يشتغل باستمرار، لكن يحدث في بعض المواقع أو المنتديات أن الفلاش يتوقف، حيث تكون أكوادها التي تمكننا من إضافة الفلاش مبرمجة على توقيف الفلاش حينما يصل إلى الإطار الأخير، وبالمناسبة فهذا الأمر كان يحصل حتى في منتديات الأمل سابقا لكننا ألغيناه.


الآن ننتقل إلى شرح الرمور البرمجية الخاصة بمشهد ما قبل التحميل.
في مشهد ما قبل التحميل ذهبنا إلى الإطار الأول منه:

ثم أضفنا الرمز البرمجي التالي (المظلل بالأصفر):

هذا هو أهم أمر في هذا المشهد، فما معناه يا ترى؟
أصبح من الواضح الآن أن العبارة
كود PHP:
onFrame (1
تخبر قارئ الفلاش أن هناك أمرا ما يجب تنفيذه عند الإطار الأول.
هذه المرة نجد أمرا شرطيا لوجود الدالة if (وتعني إذا)، والأمر هو:
كود PHP:
{
    if (
sceneFrameLoaded("Scene_1",103)) {
        
gotoSceneAndPlay("Scene_1",1);
    }

وهي تخبر قارئ الفلاش أنه إذا تم تحميل المشهد Scene_1 إلى غاية الإطار 103 (أي المشهد Scene_1 بكامله):
كود PHP:
sceneFrameLoaded("Scene_1",103
إذا تحقق هذا الشرط فقم بتشغيل المشهد Scene_1 من الإطار الأول:
كود PHP:
gotoSceneAndPlay("Scene_1",1
وبالتالي فإن قارئ الفلاش حينما يبدأ في قراءة الفلاش فإنه يبدأ طبعا بمشهد ما قبل التحميل لأننا جعلناه الأول، فأول ما يصادف هو الأمر السابق، وبالتالي فإنه يتأكد إذا ما تم تحميل المشهد Scene_1 بكامله أم لا، فإذا تم تحميله يذهب إلى الإطار الأول من ذلك المشهد ليقوم بتشغيله، لكن السؤال هنا هو: وماذا يفعل قارئ الفلاش إذا لم يتم تحميل المشهد بكامله؟
طبعا هذا هو المتوقع خصوصا مع الفلاشات التي يكون حجمها كبيرا، إذ أن قارئ الفلاش حينما يتحقق قد يجد أن جزءا من حجم المشهد هو الذي تم تحميله مثلا وليس المشهد كله، لذلك فنحن نضيف له أمرا آخر في الإطار الأخير من مشهد ما قبل التحميل، نأمره فيه بالرجوع إلى الإطار الأول من مشهد ما قبل التحميل، فيقرأ الأمر من جديد وطبعا يكون الفلاش قد زاد حجم ما تم تحميله منه، ويواصل هكذا إلى أن يكون المشهد قد تم تحميله لحاسوب المتصفح بكامله، حينها يكون الشرط قد تحقق فينتقل للإطار الأول من مشهدنا الذي صممنا وهو Scene_1، وهنا تكمن أهمة مشهد ما قبل التحميل، فهو يظهر للمشاهد طالما يتم تحميل الفلاش من السيرفر.
لذلك نذهب إلى الأطار الأخير من مشهد ما قبل التحميل:

ثم نضيف الأمر التالي:

وهو الذي أخبرتكم أنه يامر قارئ الفلاش للعودة إلى الإطار الأول من مشهد ما قبل التحميل حيث يتحقق من جديد من مدى تحقق الشرط الأول أم لا.

ولرؤية النتيجة النهائية المرجو النقر على الرابط التالي:
مشهد ما قبل التحميل

(تعمدت طرح رابط الفلاش حتى تتمكنوا من مشاهدة مشهد ما قبل التحميل، وبالرغم من ذلك فقد لا يتمكن من مشاهدته من سرعة ارتباطه كبيرة، لأنه حينها يتم تحميل المشهد بسرعة مادام حجمه صغيرا، وبالتالي سيتحقق الشرط في رمشة عين، لذلك لا تستغربوا إذا لم تشاهدوا مشهد ما قبل التحميل ^_^)

وبهذا نكون قد انتهينا من التصميم الكامل لهذا الفلاش، وقد وضحت لكم على مدى الأجزاء الأربعة الطريقة نفسها التي أتبعها شخصيا، ولا أخفي أن شرح الرموز البرمجية تطلب مني مجهودا إضافيا ذلك أنني اخشى ألا يتم استيعابها سيما وأنني أريد من الشرح أن يكون في متناول الجميع مهما كان مستواهم في مجال تصميم الفلاشات. لذلك عذرا إن لاحظتم وجود تكرار او ركاكة في الأسلوب..
كان هذا آخر جزء من سلسلة دروس السويش ماكس، وأرجو أن أكون قد وفقت في تقديمها.
انا معكم دوما لتلقي استفساراتكم، كما سأسعد برؤية تطبيقاتكم على الدروس.
بالتوفيق ومني لكم أرق تحية..



التوقيع
آخر تعديل كان بواسطة عبد الهادي اطويل بتاريخ 29-01-2010 على الساعة: 15:44.