‫أهلا ومرحبا.
‫في هذه المحاضرة ، لدينا عيون تتابعنا في جميع أنحاء العالم.
‫سوف يذهب ويتحرى عندما يغيب عني.
‫لذلك من الصعب جدًا أن تخسر.
‫ولكن إذا ذهبت بعيدًا كثيرًا عن الزوايا ، فلن يكون قادرًا على مواكبة الأمر ،
‫وفي النهاية سيفقد الاهتمام ويعود إلى موقع البداية هناك.
‫هذا ما سنقوم بتنفيذه في هذه المحاضرة من خلال إنهاء مهمة شجرة السلوك.
‫دعنا نتعمق ونرى كيف يتم ذلك.
‫لذلك نريد أن نجعل مهمتنا تنفذ ، أن نفعل شيئًا بالفعل.
‫وعلى وجه الخصوص نريد أن نكون قادرين على مسح قيمة السبورة هذه ، افعل ما هو مكتوب على القصدير.
‫إذن كيف نبدأ في القيام بذلك؟
‫حسنًا ، لذلك ، نحتاج إلى الصعود إلى الفئة الأساسية وإلقاء نظرة على ما تم تنفيذه هناك.
‫في الواقع ، نحن بحاجة إلى الصعود إلى مستوى أعلى ، كما ترون من وراثة قاعدة السبورة
‫المهمة.
‫وفوق ذلك لدينا عقدة مهمة BT.
‫لذلك دعونا نستخدم F 12 للانتقال إلى التنفيذ هناك.
‫وإذا قمت بالتمرير لأعلى إلى أعلى ملف رأس عقدة مهمة BT ، يمكنك أن ترى أن هناك معلومات حول
‫هذه الفئة.
‫والشيء الأكثر أهمية هو أن هذه هي الوظائف الافتراضية التي من المرجح أن
‫نرغب في تنفيذها.
‫إذن أول واحد هو تنفيذ المهمة.
‫يسمى هذا عندما تبدأ المهمة في التنفيذ ، ثم لدينا مهمة لوحة ، وهي عندما تقرر أننا بحاجة إلى التوقف عن
‫التنفيذ ، على سبيل المثال ، لأن الشرط أصبح خاطئًا وقد تم إعداد هذه
‫الإشارة.
‫لذلك أجهضت هذه المهمة.
‫تحدث مهمة ضع علامة طوال الوقت الذي يتم فيه تنفيذ المهمة ، ولكن ليس العلامة الأولى.
‫لذا فإن العلامة الأولى ستستدعي تنفيذ المهمة بعد ذلك.
‫سنستمر في استدعاء مهمة التجزئة في كل مرة.
‫وذلك بالنسبة للسلوكيات التي قد تستمر لأكثر من علامة واحدة ، مثل الانتقال إلى عدو قد تستغرق
‫عدة علامات.
‫لذا ضع علامة في المهمة تسمح لنا بعمل شيء ما.
‫كل علامة ورسالة مخصصة لأشياء أخرى غير الإجهاض التي قد ترسل رسالة إلى هذه المهمة.
‫لا داعي للقلق حقًا بشأن هذه الوظيفة المعينة.
‫لذا فإن الثلاثة الأوائل هم حقًا الأشياء التي نهتم بها أكثر ، ونرى أن مهمتنا
‫هي مجرد مسح قيمة السبورة بمجرد تنفيذها ثم ستنتهي على الفور.
‫لا يحتاج إلى القيام بأشياء عبر علامات متعددة.
‫نحن مهتمون بمهمة التنفيذ ، لذلك إذا بحثنا في ملف الرأس هذا عن مهمة التنفيذ
‫، يمكنك رؤية التوقيع الكامل هنا ونوع الإرجاع هنا هو نتيجة عقدة التمهيد هذه.
‫ويأخذ في شيئين مكون المالك وذاكرة العقدة.
‫الآن السبب الذي يجعله يستوعب ذاكرة العقدة معقدًا بعض الشيء
‫، لكن الشيء المهم الذي يجب معرفته هنا هو أن فئة المهام أو مثيل فئة المهام ، يوجد واحد منهم فقط لكل السبورات السوداء.
‫بشكل أساسي ، تتم مشاركتها بين كل شيء ، وهذا هو السبب في أنك إذا كنت تريد حفظ
‫بعض المعلومات المتعلقة بالعقدة في شجرة سلوك معينة ، فما عليك فعله هو تخزينها في مؤشر الذاكرة
‫هذا.
‫لكننا لن نفعل أي شيء متعلق بذلك.
‫إنها أكثر تقدمًا قليلاً أن تحتاج إلى القيام بذلك.
‫وهناك طرق أخرى للتغلب على هذا ، مثل السماح لـ Unreal بإنشاء حالات متعددة لكل شجرة سلوك
‫، والتي قد تكون أكثر إتقانًا أو لا ، ولكن هذه طريقة أكثر فاعلية قليلاً ولا
‫داعي للقلق بشأنها هو - هي.
‫في النهاية ، ما يهمنا هو حقيقة أنه يمكننا الوصول إلى مكون خاص بنا ، مكون شجرة السلوك ، ومن هناك
‫يمكننا الوصول إلى أشياء أخرى مثل البيدق ، إلخ. لكن هذا أيضًا موضوع
‫محاضرة أخرى.
‫لذا فإن الشيء المثير للاهتمام والمهم الآن هو مجرد تنفيذ مهمة التنفيذ الخاصة بنا.
‫لذلك سنقوم بنسخ التوقيع ، وانتقل إلى قيمة السبورة الشفافة H ودعنا نرى فقط هذه الملاحظة العامة
‫، أعتقد أن هذا سيكون محميًا لأنه موجود في القسم الافتراضي.
‫لذلك سننشئ لأنفسنا قسمًا محميًا ونلصقه هناك ثم سنمضي قدمًا
‫وننشئ أو نضع تجاوزًا فقط للتأكد من سلامته.
‫وبعد ذلك سننشئ تطبيقًا في C ++ ، مع تذكر أننا نريد دائمًا الاتصال بـ
‫super عندما نتجاوز مهمة التنفيذ الفائق مع مكون المالك وذاكرة العقدة التي يتم
‫استدعاؤها إلى والدنا هنا.
‫وبعد ذلك ما نريد القيام به هو الحصول على السبورة لدينا حتى نتمكن من مسح المفتاح.
‫وهناك شيئان مهمان هنا.
‫بادئ ذي بدء ، كيف نعرف المفتاح الذي تم اختياره؟
‫حسنًا ، إذا انتقلنا إلى Blackboard Base H الخاص بنا ، يمكنك أن ترى أن إحدى الطرق هناك هي تحديد Blackboard
‫Key.
‫لذلك يمكنك بسهولة استدعاء هذا في C ++ ، والحصول على Blackboard Key المحدد ، وسيعود ذلك.
‫إذا قمنا بالتمرير فوقه ، فسيتم إرجاع اسم F ، وهو الاسم F لمفتاح السبورة الذي تم تحديده في شجرة
‫السلوك.
‫الآن ، الشيء الآخر الذي نحتاج إلى القيام به هو أن نكون في الواقع قادرين على الحصول على السبورة المتعلقة
‫بشجرة السلوك هذه.
‫لذلك ، لدينا شركات خاصة بنا.
‫لاحظ الآن هنا أن نوع شركات المالك التي يتم تمريرها هنا هي في الواقع مرجع وليس مؤشر.
‫لذلك لا يمكن أن يكون فارغًا كبداية.
‫ذلك رائع.
‫ولكن هذا يعني أيضًا أننا بحاجة إلى استخدام عامل التشغيل النقطي بدلاً
‫من عامل السهم لأننا لا نستخدم مؤشرًا ومن هنا يمكننا ببساطة الحصول على مكون السبورة.
‫حتى تحصل على مكون السبورة فقط إذا قمت بالمرور فوقه ، فهذا هو مؤشر لمكون السبورة
‫، لذلك ستحتاج إلى استخدام عوامل تشغيل الأسهم.
‫لذلك نحن نعرف بالفعل كيفية مسح المفاتيح على السبورة.
‫الخصوم ، سيكون هذا هو التحدي الخاص بك.
‫لذلك نأمل أن يكون التحدي ليس معقدًا للغاية.
‫تريد مسح المفتاح المحدد.
‫يمكننا التحقق من المكان الذي قمنا فيه بهذا من قبل.
‫هل تحتاج إلى أي محتويات من أجل القيام بذلك؟
‫ربما تحتاج السبورة إلى تضمين استخدام المفتاح المحدد في شجرة السلوك الخاصة بك باعتباره المفتاح الذي نريد
‫مسحه.
‫لذا أوقف الفيديو مؤقتًا واذهب.
‫حسنًا ، أرحب بعودتك.
‫لذلك دعونا نجرب هذا.
‫أول شيء هو أننا حصلنا على مكون السبورة.
‫لنستخدم عامل الخطأ هنا.
‫لا شيء قادم.
‫لذلك أفترض أنني بحاجة وهناك بالفعل بعض التمايل الحمراء التي أحتاجها تتضمن تجزئة هنا للقيام
‫بشجرة السلوك ثم مكون السبورة هنا والآن.
‫آمل أن يعمل الإكمال التلقائي الخاص بي ، مما سيسمح لي بالحصول على الوضوح.
‫دعنا فقط نحاول تحديث ذاكرتنا.
‫أين فعلنا هذا من قبل؟
‫إذا انتقلنا إلى Shooter I ، Controller CP وألقينا نظرة على ما لدينا هنا ، فلدينا قيمة
‫واضحة.
‫هذا هو ما نبحث عنه.
‫لذلك دعونا نجرب تلك القيمة الواضحة.
‫وماذا تأخذ في؟
‫يأخذ إما مفتاح F أو اسم F ، اسم رائع يمكننا الحصول عليه.
‫وأين قلنا أنه يمكننا الحصول على ذلك باستخدام مفتاح السبورة المحدد الموجود في هذا الفصل لأنه موجود في الفصل
‫الدراسي الرئيسي.
‫لذا احصل على Blackboard Key المحدد وهو بهذه البساطة.
‫نحن نقوم بمسح قيمة مفتاح Blackboard المحدد.
‫الآن ، شيء أخير علينا القيام به.
‫لم يكن هذا جزءًا من التحدي الخاص بك ، فلا تقلق.
‫إذا لم تكن تعلم أن هذا هو أننا نحتاج إلى العودة لأن هناك قيمة مرتجعة لمهمة تنفيذ قيمة
‫السبورة الواضحة.
‫والقيمة المعادة مثيرة للاهتمام للغاية.
‫لنلقي نظرة.
‫دعنا نتبعها بـ F 12 ونرى ما هي الحالة المختلفة التي يمكننا العودة إليها من اختبار التنفيذ.
‫الآن نجح أول واحد.
‫رائعة.
‫يشير هذا بشكل أساسي إلى شجرة السلوك التي انتهت هذه العقدة من تنفيذها ويمكننا الانتقال
‫إلى العقدة التالية.
‫فشل مرة أخرى.
‫هذه نهاية حتى نتمكن من الانتقال إلى المرحلة التالية ، ولكن هذه المرة تقول إنها فشلت.
‫وهذا يعطي مؤشرات مختلفة ، على سبيل المثال ، كعقد تسلسلية أو عقدنا المختارة فيما يتعلق بما يجب
‫أن تفعله هذه العقد بالفعل.
‫ثم تم إجهاضنا ، وهو في الأساس نفس الفشل ونحن ماضون في التقدم.
‫إذا عدت قيد التقدم من مهمة تنفيذية ، فستقول في الأساس إن عليك الاستمرار في الاتصال
‫بالقراد حتى أخبرك بخلاف ذلك ، حتى أقول إنني انتهيت الآن لن نستخدم هذا.
‫لكن من الجيد أن تضع في اعتبارك أنه إذا كنت بحاجة إلى إنشاء مهمة طويلة المدى ، فسنواجه
‫عدة علامات.
‫ثم علينا العودة في التقدم.
‫لكن كما قلت ، نريد النجاح.
‫لذلك دعونا ندخل ونفعل ذلك.
‫إرجاع العقدة EB Beat نتيجة القولون ، القولون.
‫وستنجح لأننا نجحنا في توضيح هذه القيمة بشكل أساسي بغض النظر عن أي شيء.
‫حتى نتمكن من المضي قدمًا وحفظ كل هذا ، والانتقال إلى المحرر والضغط على compile.
‫وعندما يكتمل ذلك ، دعنا نمضي قدمًا ونفتح الذكاء الاصطناعي وشجرة السلوك.
‫إذاً أين هذه الضربة؟
‫وقمت بإرسائه على النافذة الرئيسية ودعونا نلقي نظرة.
‫لدينا قيمة السبورة الواضحة والتي يجب أن تكون قادرة الآن على السماح لنا بالانتقال
‫إلى آخر موقع معروف ، ومسح قيمة السبورة ، والانتظار لمدة خمسة ، ومن ثم يجب أن نرى أنه يجب عدم ضبط التحقيق
‫في آخر موقع معروف للاعب ، لذلك يجب أن نعود إلى موقع البداية.
‫لذلك دعونا نرى ما إذا كان هذا السلوك يعمل الآن بعد أن تم تنفيذ المهمة بالكامل.
‫لذلك هو قادم إليّ ، إنه يحقق معي.
‫سأذهب وأختبئ.
‫لذلك دعونا نذهب ونختبئ.
‫إنه قادم للتحقيق.
‫دعنا نذهب ونختبئ مرة أخرى.
‫لذا اذهب واختبئ.
‫دعونا نرى ما إذا كان بإمكاننا اكتشافه هناك.
‫يجب أن يكون ينتظر في الوقت الحالي ثم يعود إلى موقع البداية ، الأمر الذي
‫يجعله للأسف يتقاطع معي.
‫لذلك دعونا نرى ما إذا كان هذا يعمل بالفعل كما نتوقع ، وذلك بإخراج نافذة عدونا ورسوها
‫إلى اليمين ووضع نافذتنا الرئيسية على اليسار.
‫إنه ضيق بعض الشيء ، لكن يمكننا القيام بذلك ثم سنحاول الهروب من هذا
‫الرجل مرة أخرى ونرى ما سيحدث لسلوكه.
‫يمكنك أن ترى أنه ينتقل إلى آخر موقع معروف للاعب.
‫وهو الآن ينتظر ، بعد أن أوضح القيمة.
‫وبعد ذلك يمكنك أن ترى أنه سينتقل إلى المكان ويمكنك أن ترى هذه الأشرطة الحمراء على الزينة
‫تخبرنا أن أيا من هذين الشرطين غير صحيح.
‫لذلك لا يمكنه فعل أيٍّ من هذين.
‫أخيرًا ، انتقل إلى موقع البداية.
‫لذا فهي الآن تومض لأنها في الأساس لا تستطيع فعل أي شيء.
‫هذا هو أساسًا أن هذه المحاضرة رأينا كيف يمكننا الحصول على مهام تنفيذ التعليمات البرمجية فهم الحالات المختلفة التي
‫يمكنك العودة من تنفيذ المهمة وكيفية الحصول على السبورة من المهمة وأيضًا
‫كيفية الحصول على المفتاح المحدد حاليًا على مهمة السبورة.
‫في المحاضرة التالية ، سنرى كيف يمكننا الحصول على العالم خارج شجرة سلوك السبورة ، وكيف
‫يمكننا الحصول على البيدق من داخل مهمة شجرة السلوك.
‫سأراك هناك.