النتائج 1 إلى 4 من 4

الموضوع: (درس) عمل انعكاس عن شلال

  1. #1
    التسجيل
    30-05-2008
    المشاركات
    4

    (درس) عمل انعكاس عن شلال

    سأقوم بعرض كيفية عمل انعكاس بسيط للشخصية عن شلال و ذلك كالتالي:

    الفكرة:
    عمل انعكاس على سطح الشلال و المياه عند الإقتراب منها و ذلك باستخدام عدد من المفاتيح ( Switches ) و الأحداث ( Events )

    العمل:

    سوف ابدأ بابسط الأفكار و هي فكرة ظهور الصورة او الإنعكاس على الشلال عند الإقتراب منه و اختفائها عند الإبتعاد عنه, و لهذا الأمر سنحتاج إلى 3 احداث ( Events ) سأرقمها 1, 2, 3 كما سنحتاج إلى مفتاحين ( 2 Switches ) سأسميهما : near و away

    -- المتطلبات:
    3 حدث Event
    2 مفتاح Switch

    -- العمل: ابدأ بعمل شلال على سبيل المثال و انصح باستخدام الشلال الموجود في خريطة رقم 4 و هي خريطة الجبل كما في الصورة:



    حيث يكون لدينا مساحة كافية لتحرك الاعب افقيا 3 خطوات ذهابا و ايابا على ان تكون الحافة على بعد خطوة واحدة من الشلال

    بعدها ننتقل لوضع الأحداث حيث سنبدأ من الأسفل إلى الأعلى بوضع الأحداث 1 , 2, 3 على الترتيب كما في الصورة:




    فيكون لدينا مكان بداية اللاعب و من ثم الحدث الأول فوقه و من ثم الحدث الثاني فوق الأول و الثالث على مكان وصول الشلال إلى النهر..

    نبدأ بإعداد الأحداث, و نبدأ بالحدث رقم 1:
    كما في الصورة:


    و نجد ان الحدث رقم 1 مكون من صفحة واحدة, و شرط التشغيل هو Player Touch اي عند ملامسة اللاعب للحدث يتم تشغيله و تنفيذ اوامره, و الأوامر كالتالي:
    @> Control Switches: [0001: near] = Off
    و هذا الأمر يقوم بإغلاق المفتاح ( Switch ) المسمى near لأن اللاعب عند الحدث رقم 1 يكون مبتعدا عن الشلال فلن تظهر صورته و الأمر الثاني هو:
    @> Control Switches: [0002: away] = On
    و بهذا الحدث نقوم بتشغيل المفتاح المسمى away و هو يعني ان الاعب بعيد عن الشلال, و سنعلم لماذا نستخدم مفتاحين متناقضين للمهمة نفسها و المعنى نفسه

    الان قم بالضغط على OK لتأكيد الأمر و من ثم لننتقل للحدث التالي و هو الحدث رقم 2 و لنر مكونات اوامره



    نلاحظ ان هذا الحدث ايضا مكون من صفحة واحدة, و شرط تشغيله هو Player Touch لملامسة اللاعب, لكن اوامره معاكسة للأوامر السابقة في الحدث رقم 1 حيث انها:
    @> Control Switches: [0001: near] = On
    @> Control Switches: [0002: away] = Off

    و هذا يعطينا حركة عكسية, اي ان اللاعب عندما يتحرك للأعلى مقتربا من الضفة يكون لدينا المفتاح near فعال بينما away غير فعال, و عندما يتراجع للخلف بعيدا عن الضفة نجد ان المفتاح away اصبح فعالا بينما المفتاح near غير فعال و هذا يكون حركة متعاكسة كلما تحرك اللاعب
    ستفيدنا هذه الحركة في اظهار و اخفاء صورة اللاعب على الشلال..

    الان ننتقل للحدث الاخير رقم 3 و الذي يتكون من:






    نلاحظ الان ان هذا الحدث يتكون من صفحتين ( للحصول على صفحة اوامر جديدة نقوم بالضغط على زر : New Event Page



    الان الخصائص كالتالي:
    الحدث يتكون من صفحتين, و الشرط واحد للصفحتين و هو action button فلا يهم لأن الحدث نفسه لا يحوي اوامر بل الصورة التي تظهر هي الأهم..
    في الصفحة الأولى نجد ان شرط التشغيل اسفل Conditions هو المفتاح Switch المسمى away.. فهذه الصفحة لا تحتوي على صورة و هذه الصفحة من الأوامر ستكون فعالة عندما يكون اللاعب بعيدا عن الضفة اي ملامسا للحدث رقم 1
    الصفحة الثانية تحتوي على شرط التشغيل و هو المفتاح near حينما يكون فعالا, و هذا يعني ان اللاعب عند الضفة و قد لامس الحدث رقم 2
    لاحظ ان في الصفحة الثانية تم اختيار الصورة الخاصة بالحدث كالتالي:



    نلاحظ للوهلة الأولى انني اخترت صورة الشخصية الإفتراضية , و يمكنك اختيار الصورة التي اخترتها لشخصيتك بالطبع إن كنت تريد تغييرها, ما يهمنا هو تغيير مقدار التعبئة Opacity إلى قيمة اصغر من القيمة الإقتراضية 255, و في هذه الحالة اخترت 100 حتى يعطينا شكلا مشابها لشكل الإنعكاس لأن الإنعكاس ليس واضحا بشكل كبير على الشلال, بعد اختيار الشخصية نحفظ العمل و نقوم بتجربته

    و لتجربة العمل حمل الملف من هنا :
    http://www.4shared.com/file/60254054/e7c50282/test.html


    -- ملاحظات هامة جدا:
    1- نلاحظ ان هذا التطبيق بسيط جدا و لا يحتاج لخبرة او جهد كبير في البرنامج و هو لعمل انعكاس سريع غير متقن.
    2- السبب في ان هذه الطريقة غير فعالة دائما هو انك إن قمت بتوجيه شخصيتك لليمين او اليسار ستلاحظ ان الإنعكاس لايزال واقفا في نفس الوضعية.
    3- الإنعكاس نافع ( حتى الان ) للحركة الرأسية فقط و ليس غيرها

    سوف اقوم بطرح رد قريب جدا يحوي طريقة عمل انعكاس كامل على مساحة اكبر من هذه و بشكل اكثر احترافية

    اتمنى ان يكون الدرس مفيدا
    تحياتي

  2. #2
    Noor Xp غير متصل مُحترف برنامج RPG Maker
    الفائز الأول بمُسابقة MGM 2
    التسجيل
    22-03-2008
    الدولة
    العراق
    المشاركات
    786

    رد: (درس) عمل انعكاس عن شلال

    السلام عليكم

    درس جميل جداً وسهل وذو فائدة كبيرة لكن حيطلب مجهود كبير لازم عليك الان وضع ايفنت حول البحيره وفيها
    المهم الدرس غني عن التعريف ومفيد...................
    ننتضر المزيد منك
    سلام

  3. #3
    التسجيل
    30-05-2008
    المشاركات
    4

    رد: (درس) عمل انعكاس عن شلال

    مرحبا جميعا, اعود ثانية لشرح الجزي الثاني من هذا الدرس و هي الطريقة الإحترافية لعمل انعكاس الشلال
    الان سوف نغير من اشياء كثير, و لنعلم الأساسيات و المتطلبات سوف نحتاج
    -- حدث القرب من الضفة ( العدد يعود لصاحب اللعبة و حسب الخريطة )
    -- حدث البعد عن الضفة ( العدد يعود لصاحب اللعبة و حسب الخريطة )
    -- حدث صورة الإنعكاس ( عدد 1 )
    -- حدث الملاحقة لصورة الإنعكاس ( عدد 1)
    -- مفاتيح ( Switches ) عدد 6 مفاتيح بالأسماء:
    = away
    = near
    = phasing left
    = phasing right
    = mirroring
    = not mirroring
    -- متغير ( عدد 2 متغير بالأسماء التالية : )
    = player x
    = constant

    الان.. لننظر للصورة العامة للأحداث التي سوف نستخدمها على الخريطة بشكلها النهائي:


    نلاحظ التالي:
    اللون الأحمر: احداث الإقتراب من الضفة, و عددها كما اوضحت ليس مهما لأنه عائد لصاحب اللعبة
    اللون الأزرق: أحداث الإبتعاد و عددها غير مهم ايضا
    اللون الأصفر ( في الزاوية اليسرى ): حدث متابعة الإنعكاس
    اللون البني ( على الشلال ): حدث الإنعكاس نفسه
    حرف S: مكان بدء اللاعب كالعادة و يمكن وضعه في اي مكان فلا يهم لأنه إن تم تطبيق الدرس بشكل صحيح سوف نحصل على ملاحقة من الصورة للاعب و تظهر في نفس المكان الذي يقف فيه و ايضا بنفس الوضعية ( ينظر للأعلى, لليمين, لليسار ) و هكذا..

    الان.. لنبدأ برؤية ما تحويه الأحداث
    -- حدث الإقتراب:


    حدث الإقتراب يتكون من صفحة واحدة, و لا يحتوي صورة, و شرط تشغيله Player Touch و هو لمس اللاعب للحدث ( اي المشي عليه )
    و الأوامر الاساسية جميعها تحكم بالمفاتيح Switches فنفعل المفتاح ( not mirroring ) لأننا سنتوقف عن عرض صورة الإنعكاس عند ابتعاد اللاعب عن الضفة, كما اننا سنفعل المفتاح ( away ) حتى نخفي صورة الإنعكاس عن الشلال
    و في الوقت نفسه, علينا بإغلاق جميع المفاتيح الأخرى :
    Mirroring
    Near
    Phasing right
    Phasing left

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

    ننتقل للحدث التالي و هو

    -- حدث الإقتراب



    الحدث كما نرى مكون من صفحة واحدة, دون صورة, و شرط التشغيل هو Player Touch ايضا و يحتوي على اوامر خاصة بالمفاتيح ايضا, و هنا نلاحظ اننا قمنا بتفعيل المفتاح ( mirroring ) لأننا سنبدأ بعكس صورة الان و ملاحقتها ايضا, و سنوقف المفاتيح :
    Not mirroring
    Away

    و نلاحظ اننا الان سنستخدم و نحدد متغيرا هو player x او موقع اللاعب الصادي لأننا نحتاج لملاحقته افقيا على امتداد النهر و الشلال بينما يظل الإحداثي السيني ثابتا على الدوام

    الان للحدث الخاص بالإنعكاس :









    الان, الحدث يسمى IMAG و يفضل حفظ الإسم الذي تسميه من اختيارك لأنك ستستخدمه لاحقا
    هذا الحدث يحتوي 4 صفحات اوامر, لكنها خالية من الأوامر حقا لأننا سنستخدمها لانعكاس الصورة
    الان:

    الصفحة الأولى: تحتوي على صورة خاوية و شرطها تشغيل المفتاح away
    الصفحة الثانية: تحتوي صورة اللاعب ينظر لأسفل و شرطها تشغيل المفتاح near
    الصفحة الثالثة: تحتوي صورة اللاعب ينظر لليسار و شرطها تشغيل المفتاح phasing left
    الصفحة الرابعة: تحتوي صورة اللاعب ينظر لليمين و شرطها تشغيل المفتاح phasing right
    ملاحظة: كل الصور تعبئتها opacity اقل من القيمة الإفتراضية 255 اي 100 او رقم مناسب من اختيارك لإظهار تأثير الإنعكاس

    هكذا ننتهي من الحدث الخاص بالإنعكاس



    الان, ننتقل لحدث اخر و هو حدث المتابعة

    -- حدث المتابعة ( اللون الأصفر )





    الان لدينا عمل متقدم بعض الشيء, نلاحظ ان هذا الحدث مكون من صفحتين,

    = الصفحة الأولى: تحتوي على شرط تشغيل هو تشغيل المفتاح : not mirroring و هذا يعني اننا لن نتابع او نعكس صورة اللاعب عن الشلال حينما يكون بعيدا عن الضفة
    = الصفحة الثانية: يبدأ عملنا هنا حيث اننا نلاحظ ان شرط التشغيل هو تشغيل المفتاح: mirroring و هو بدء العكس و الملاحقة للصورة , كما ان المفعل trigger لدينا هو التوازي او Parallel لأننا نريد ان يظل الحدث مستمرا طالما اللاعب قرب الشلال فتعكس صورته و تلاحق على طول الشلال و طوال الفترة التي يكون فيها امامه
    نلاحظ الان الأوامر المهمة لدينا و هي:
    Control Variable [0002: constant] = 2
    هنا نحدد القيمة الثابتة لموقع الإحداثي السيني و هو الخط الذي يسير بمحاذاة النهر او الشلال, و بالطبع يمكنك تحديده من خلال معرفته على الخريطة ( ملاحظة: في المثال لدي الثابت هو 2 )
    اما الان فنشاهد الأمر التالي:
    Set event location [IMAG], variable [0001] [00002]
    حسنا, لنشرح هذا الأمر, هنا نخبر البرنامج ان يغير مكان حدث انعكاس الصورة و الذي اسميناه IMAG في مثالنا بالإحداثيات التالية: الإحداثي السيني ثابت فلن نتحرك للأعلى و الأسفل و هو رقمنا الثابت 2 , اما احداثنا الصادي متغير و هو مساو لإحداثي اللاعب الصادي الحالي
    الأوامر الثلاثة التالية كلها جمل شرطية, نبدأ بالأولى
    Conditional branch: player is facing left
    Control switches [0004: phasing left] = on
    Control switches [0007: phasing right] = off
    Control switches [0002: near] = off
    هذا الأمر ينفذ مجموعة من العمليات في حالة إذا ما كان اللاعب ينظر لليسار, حيث يقوم بإيقاف المفاتيح: pashing right و near و يفعل المفتاح phasing left ليظهر صورة الإنعكاس لليسار
    يليه هذا:
    Conditional branch: player is facing right
    Control switches [0007: phasing left] = on
    Control switches [0004: phasing right] = off
    Control switches [0002:near] = off
    هنا نجد ان هذا الحدث ينفذ عدد من العمليات عندما ينظر اللاعب جهة اليمين, حيث يقوم بإيقاف المفاتيح: phasing right و near بينما يفعل المفتاح phasing left ليظهر صورة الإنعكاس اليسرى
    اخيرا و ليس اخرا نجد
    Conditional branch: player is facing up
    Control switches [0007: phasing left] = off
    Control switches [0004: phasing right] = off
    Control switches [0002: near] = on
    هنا كالسابق لكن عندما يواجه اللاعب الأعلى فتظهر صورة الإنعكاس للأسفل ( لأنها انعكاس ) و هنا نفعل المفتاح

    : near و نبطل المفتاحين phasing left و phasing right

    و الان, انتهينا من جميع الأحداث و يبقى تجربة البرنامج, و يمكنكم تجربته من الرابط التالي:
    http://www.4shared.com/file/60266840...39/Test_2.html

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

    تقبلوا تحياتي

  4. #4
    الصورة الرمزية kakarot
    kakarot غير متصل عضو مميز في منتدى التسجيلات الإسلامية
    التسجيل
    14-11-2005
    الدولة
    jordan
    المشاركات
    2,620

    رد: (درس) عمل انعكاس عن شلال

    بوركت درس جميل ومفيد شكراً لك

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •