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