‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنقوم بإنتاج بندقيتنا في وقت التشغيل من فئة الشخصيات في C ++.
‫دعنا نتعمق ونرى كيف يتم ذلك.
‫تمام.
‫لذلك نريد أن نجعل سلاحنا يفرز كطفل لشخصية مطلق النار ، فإن أول نقطة اتصال هي أن نكون قادرين
‫على إنتاج هذا الممثل من داخل ممثل آخر.
‫سنفعل ذلك في وقت التشغيل.
‫سنفعل ذلك عند بدء اللعب لأن هذه هي الطريقة التي تحتاجها للقيام بذلك.
‫عندما تقوم بتوليد ممثلين ، فأنت بحاجة إلى القيام بذلك في وقت التشغيل.
‫والطريقة التي سنفعل بها ذلك هي أننا سنمسك بالعالم أولاً.
‫لذا احصل على عالم ومن ثم سنقوم باستدعاء دالة على الحصول على العالم ، بالمناسبة ، عالم ومستوى مرادف.
‫إذن ما نفعله هنا في الواقع هو أننا نرتقي إلى المستوى ونقول ، مهلاً ، المستوى
‫، هل يمكنك أن تبدع كممثل لأن جميع الممثلين ينتمون أساسًا إلى مستوى معين أو يعيشون فيه؟
‫ثم نقول ، كما تعلم ، أنجب ممثلًا لي ، من فضلك.
‫وهذا ممثل تفرخ يأخذ نموذجًا.
‫يمكنك القول ، أريد أن يكون هذا الممثل الذي سأقوم بتجسيده من النوع A.
‫ولكي يعمل ذلك ، سنحتاج إلى تضمين تجزئة أعلى هنا للمسدس dot h.
‫وبعد ذلك سنأخذ حجة ويمكن أن تكون حجة التكاثر في الواقع من نوع فئة.
‫لذلك بشكل افتراضي سوف تمضي قدما وتنتج C ++.
‫لكن هنا نريد أن ننتج الطفل المخطط لهذا السلاح.
‫لذلك نحن بحاجة إلى معرفة ما يجب أن يتم ربطه في مخطط Blueprint.
‫لا يمكن توصيله هنا بلغة C ++ ، على الأقل ليس بسهولة.
‫أفضل مكان للقيام بذلك هو Blueprint.
‫لذلك سنقوم بعمل بديل للذهاب إلى ملف الرأس حتى يتم تحويل مشكلتنا إلى شخصية.
‫وسنقوم بإضافة خاصية جديدة لك هنا.
‫للسماح لنا بتكوين الفئة التي يجب أن نشير إليها من أجل إنتاج ممثل.
‫ما هي فئة المخطط التي يجب أن ننتجها من شخصية مطلق النار هذه؟
‫سنقوم بتحريرها كإعدادات افتراضية فقط وقم بتحرير الإعدادات الافتراضية فقط لأننا لا نريد أن نتمكن من تعديل هذا في وقت التشغيل لأنه
‫سيعطي انطباعًا خاطئًا أنه يمكنك تغيير نوع البندقية التي نستخدمها
‫في مدة العرض.
‫في حين تم استدعاء Begin Play بالفعل أن الأسلحة قد تم إنتاجها بالفعل وبالتالي لن تقوم بالفعل بتحديث
‫أي شيء.
‫لذلك لا نريد أن نجعله قابلاً للتعديل حتى لا نعطي الناس انطباعًا خاطئًا عما يمكن فعله.
‫ثم هنا سنستخدم ماكرو يسمى T subclass والذي ربما تكون قد صادفته أو لم تصادفه من قبل
‫وفئة DT الفرعية الخاصة به عبارة عن قالب.
‫لذلك استخدمنا أقواس الزاوية مرة أخرى ونريد أن نقول فئة فرعية من البندقية.
‫وما يعنيه هذا أساسًا هو أنه يسمح لـ Blueprint بتقييد الفئات التي يمكننا
‫الاختيار من بينها إلى الفئات الفرعية فقط من فئة Gun C ++.
‫الآن لن يكون هذا مؤشرًا لأننا لا نشير إلى مثيل حقيقي للبندقية.
‫ما نحصل عليه هنا في هذا المتغير هو فئة بحد ذاتها.
‫في هذه الحالة ، إنه فصل دراسي ، لكنه لا يزال فصلًا دراسيًا.
‫إذن ما نريد أن نسميه هذا هو فئة البندقية ، فقط لتوضيح أن هذا ليس البندقية
‫في الواقع.
‫نريد خاصية أخرى هنا لتخزين المسدس ، ولن يكون ذلك تعديلًا افتراضيًا.
‫لذلك ، في الأساس ، لا نريد أن نجعل هذه خاصية مرئية على الإطلاق ، لكنها ستكون مؤشر
‫بندقية.
‫ترى الفرق؟
‫أحدهما عبارة عن فئة فرعية من البندقية ، والآخر عبارة عن مؤشر بندقية وهذا هو البندقية الفعلية.
‫هذا بمجرد إنشاء مثيل للفصل ، حيث سنقوم بتخزينه.
‫لذا دعنا ننتقل إلى CP مطلق النار لدينا وننهي هذه اللعبة حيث نبدأ في إنتاج الأشياء ، لذا سنحصل على سلاح
‫متساوٍ للحصول على بندقية الممثل العالمي.
‫والحجة التي سنناقشها هنا هي فئة السلاح ، والتي سنضعها في مخطط Blueprint.
‫لذلك دعونا نذهب ونحاول تجميع هذا.
‫قد يعطينا بعض الأخطاء.
‫دعنا نرى ، لديّ سجل الرسائل مفتوحًا مع سجل الترجمة وبالتأكيد ، نحصل على بعض الأخطاء هنا في الملف الرئيسي
‫تقول معرّفًا غير معلن لأننا نحتاج إلى إعادة توجيه إعلان البندقية.
‫لذا سأفعل هذا في الأعلى لأنه في مكانين سأقولهما كلاس.
‫بندقية من هذا القبيل.
‫وللتذكير فقط ، فإن إعادة التصريح بهذا الشكل يعني أنه يمكننا تقليل أوقات الترجمة من خلال
‫عدم تضمين الكثير في ملفات الرأس الثقيلة.
‫دعونا نحاول إعادة الترجمة ونرى.
‫يبدو أن هذا كان الخطأ الوحيد.
‫تم تجميعه الآن بنجاح.
‫دعنا نمضي قدمًا ونضرب التشغيل ونرى ما سيحدث.
‫مخرج.
‫الق نظرة على.
‫نريد أساسًا إلقاء نظرة على سجل الرسائل ، الذي لم أفتحه.
‫لذلك دعنا ننتقل إلى أدوات النافذة والمطورين ونلقي نظرة على سجل الإخراج ونرى ما إذا كان لدينا أي أخطاء هنا.
‫نعم ، فشل إنتاج الممثل لأنه لم يتم تحديد فئة.
‫بالتأكيد ، لم يتم تحديد أي فئة لأننا لم نقم بتكوينها بعد في المخطط.
‫لذلك سأقدم هذا كتحدي لك لتوصيل البندقية ، والعثور على الخاصية في مخطط شخصيتنا
‫، وضبطها على البندقية الصحيحة واختبار أنها تتكاثر.
‫أوقف مقطع فيديو واذهب.
‫K مرحبا بعودتك.
‫لذلك دعنا ننتقل إلى شخصية مطلق النار BP ونجد الخاصية التي يجب أن تكون على الطريق أو في الفصل.
‫تذهب الإعدادات الافتراضية إلى التفاصيل وتقلل من هدف الشخصية.
‫يمكنك أن ترى أن لدينا معدل دوران هنا والذي قمنا بتكوينه ولدينا فئة البندقية الخاصة بنا ،
‫وهي قائمة منسدلة تتيح لي الاختيار بين البندقية كونها مسدس C ++.
‫وهنا يأتي دور اصطلاح التسمية لدينا.
‫الأشياء المسبوقة بشرطة BP السفلية هي المخططات.
‫لذلك نريد بندقيتنا السفلية من BP ، المضي قدمًا واختيار هذا التجميع المحفوظ ، انتقل إلى المشهد واضغط
‫على اللعب.
‫الآن ، نأمل ألا يكون لدينا أي أخطاء حول إنتاج سلاحنا.
‫يجب أن يكون البندقية قد ولدت.
‫تمام.
‫ولمعرفة ما إذا كان الأمر كذلك ، يمكننا f ثمانية وإلقاء نظرة على مخطط العالم.
‫إذا جعلت العالم مخططًا أكبر قليلاً ، يمكنني البحث عن بندقية BP السفلية.
‫يا هلا.
‫لقد حصلنا على بندقية BP تسطير في اللحظة التي تكون فيها في منتصف اللامكان وهي ليست بطاقة هوية الطفل بشكل صحيح.
‫سيكون هذا موضوع المحاضرة القادمة.
‫لذلك سأراك هناك.