‫أهلا ومرحبا بكم مرة أخرى.
‫الآن ، لقد أنشأنا بالفعل فئة المقذوفات الخاصة بنا ، ونحن مستعدون لبدء إنتاج هذه الأشياء
‫في المستوى حتى نتمكن من إطلاقها في الأبراج وتدميرها في النهاية.
‫الآن ، سوف يقوم ممثلو التفريخ بإشراك وظيفة ممثل التكاثر.
‫لذلك سوف نتعلم كيف يعمل هذا في هذا الفيديو.
‫الآن ، دعنا نتحدث عن تفريخ القذيفة.
‫هذا شيء نود القيام به من جانب الأشياء C ++.
‫سنقوم باستدعاء وظائف C ++ لإنشاء كائنات جديدة ديناميكيًا في العالم.
‫نحن الآن ننتج من جانب C ++ للأشياء ، لكننا نرغب في إنتاج كائن بناءً على مخطط فئة المقذوفات
‫لدينا.
‫السبب هو أن لدينا مخططًا يعتمد على فئة A Projectile C ++ ، والتي تحتوي على معلومات
‫إضافية.
‫على وجه التحديد ، لديها مجموعة خصائص الشبكة.
‫لقد اخترنا الشبكة لمكوننا الشبكي الثابت.
‫لذلك لا يمكننا إنتاج إصدار C ++ فقط.
‫يجب أن ننتج نسخة المخطط من أجل الحصول على تلك الشبكة.
‫إذن السؤال هو كيف ننتج كائنًا في C ++ ، والذي يعتمد على مخطط؟
‫حسنًا ، سوف نتعلم شيئًا يسمى PT Subclass الآن هذا هو القالب.
‫ومثل العديد من القوالب ، ستتطلب أقواس الزاوية نوعًا.
‫لذا فإن استخدام فئة PT الفرعية لـ يتطلب معلمة نوع.
‫وهذا يسمح لنا بالحصول على متغير يخزن شيئًا يسمى فئة U.
‫تمثل فئة U نوعًا من الفئة ، ولكنها تتمتع أيضًا بالقدرة على التفاعل مع نظام انعكاس المحرك غير الواقعي.
‫عندما أقول انعكاس ، أعني تبادل المعلومات بين C ++ وجانب المخطط.
‫تسمح لنا فئة PT الفرعية ، كما يوحي الاسم ، بتخزين متغير يمثل فئة بناءً على النوع الذي
‫نمرره أو فئة فرعية من هذا النوع المختار.
‫هذا يعني أنه يمكننا اختيار النوع والفئة الفرعية t يمكن أن تحتوي على فئة u تمثل هذا النوع أو
‫أي نوع مشتق منه.
‫وهذا يشمل المخططات بناءً على النوع.
‫فلنرَ كيف تعمل هذه الفئة الفرعية t للأشياء.
‫تمام.
‫لذا عدت إلى هنا في قاعدة بوم والسبب في وجودي في قاعدة القاعدة هو أننا نريد أن تكون هذه
‫المقذوفة على فئتي الخزان والبرج.
‫كلتا هاتين الفئتين ستنتجان مقذوفات.
‫لذا أود هنا فئة t فرعية للمتغير.
‫لذا سأقول أن فئة t الفرعية وفي الأقواس المعقوفة علينا أن نمرر في نوع ما.
‫يمكننا الآن إعادة الإعلان عن أقواس الزاوية الداخلية حتى على هذا النحو.
‫وسأجعل النوع مقذوفًا.
‫والسبب هو أننا أنشأنا فئة المقذوف ونوعها هو المقذوف.
‫لذلك سأقوم بإنشاء هذا المتغير وسأطلق عليه فئة المقذوفات.
‫الآن ، سيسمح لنا هذا بالحصول على متغير C ++ يمثل نوع فئة ، ويمكن أن يعتمد النوع
‫على قذيفة ، حتى نوع فئة المخطط بناءً على هذا.
‫الآن سأعطيها خاصية U.
‫ولأنني أرغب في أن أكون قادرًا على تعديل هذا ، على الأقل في المخطط الافتراضي ، سأقوم بعمل
‫هذا التعديل افتراضيًا.
‫الآن فقط يمكننا إعطاء هذه الفئة.
‫سأضعها في فئة تسمى القتال.
‫الآن دعنا نمضي قدمًا ونجمع هذا.
‫حسنًا ، لقد عدت إلى المحرر وسأنتقل إلى مجلد المخططات ومن هناك
‫إلى مجلد Pons.
‫وسأقوم فقط بفتح BP - tank وفتح محرر المخطط الكامل.
‫الآن ، إذا بحثت في لوحة التفاصيل ، يمكنني البحث عن القتال.
‫ها هو.
‫وهنا متغير فئة المقذوف.
‫هذه هي تلك الفئة الفرعية التي أطلقنا عليها فئة المقذوفات.
‫لاحظ الآن أنه يمكننا تعيينه هنا ويمكننا تعيينه باستخدام قائمة منسدلة.
‫وإذا نقرنا على القائمة المنسدلة ، فلدينا ثلاثة خيارات.
‫يمكننا تعيينه على لا شيء ، وهو ما يتم تعيينه افتراضيًا ، مما يعني أنه مؤشر فارغ.
‫أو يمكننا ضبطه على قذيفة أو قذيفة BP.
‫هذا ما تسمح لنا الفئة الفرعية بالقيام به هو تعيين فئة المقذوف هذه على نوع معين بناءً على المقذوف ،
‫نظرًا لأن هذا هو النوع الذي اخترناه عندما صنعنا المتغير.
‫الآن مقذوف هنا.
‫هذه هي فئة C ++ تسمى قذيفة في C ++.
‫إنها قذيفة ، لكن قذيفة BP عبارة عن مخطط يعتمد على فئة المقذوفات C ++ ويمكننا اختيار
‫هذا.
‫والآن تم تعيين فئة المقذوف على نوع قذيفة BP.
‫الآن ، هذا ليس مكونًا وليس كائنًا مقذوفًا من طراز BP.
‫هذا ليس ما هو عليه.
‫يخزن نوعًا ، وبشكل أكثر تحديدًا حرف U.
‫نوع الفصل.
‫وكما قلت ، فإن صفك يحتوي على وظائف مدمجة تسمح للانعكاس بالعمل بين C ++ والمخططات.
‫يمكن أن تتدفق المعلومات بين C ++ والمخططات.
‫الآن لدينا فئة مقذوفة ، فئة فرعية من فئة PT تم ضبطها على نوع مخطط قذيفة BP.
‫فلماذا نواجه كل المشاكل لإنشاء فئة فرعية من المتغيرات؟
‫حسنًا ، نحن بحاجة إلى مناقشة كيفية عمل وظيفة ممثل التوليد.
‫ممثل التفرخ هو وظيفة تنتمي إلى الطبقة العالمية الجديدة.
‫لذلك إذا سيطرنا على العالم ، فيمكننا استدعاء ممثل التوليد.
‫و Spawn الفاعل هي وظيفة قالب أخرى وهي مصممة لإنشاء كائنات جديدة مماثلة لإنشاء كائن
‫فرعي افتراضي.
‫لكن إنشاء كائن فرعي افتراضي مصمم لإنشاء مكونات ويمكننا استخدامه فقط في المُنشئ لفئة
‫معينة يمكن استدعاء ممثل تفرخها في وقت التشغيل أثناء تشغيل اللعبة ويمكنه إنشاء ممثلين.
‫الآن هو قالب ، لذا فهو يتطلب نوعًا.
‫إذا كنا نرغب في إنتاج قذيفة ، فسنمرر في فئة C ++ نوع قذيفة هنا.
‫هذه هي فئة C ++ التي يتم إرجاعها بواسطة وظيفة ممثل النشر في C ++.
‫تأخذ الأقواس الآن عددًا من المعلمات ، بما في ذلك فئة U.
‫يوجد الآن العديد من الأحمال الزائدة لهذه الوظيفة التي تأخذ معلمات إدخال مختلفة.
‫ربما يكون أبسطها هو الإصدار الذي يأخذ فئة U والموقع والدوران.
‫يو.
‫الطبقة هي ما يمثل النوع الذي يجب نشره.
‫هذا هو النوع الفعلي للكائن الذي يتم إنتاجه.
‫يمكن أن يكون هذا فصل دراسي مخطط.
‫الموقع عبارة عن متجه F يحدد مكان تفرخ الكائن وسيحدد الدوران دورانه.
‫لذلك يبدو مثال على بناء الجملة مثل هذا.
‫سوف نسمي عامل التفرخ الذي يحدد نوع الفئة ثم نمرر معلومات فئة u مع
‫متجه الموقع ودور الدوران.
‫لنتحدث عنك في الفصل للحظة.
‫الآن ، كما قلنا ، يمثل صفك نوع الفصل.
‫عندما نسمي عامل التوليد ، فإننا نمرر في فئة U لتزويد وظيفة ممثل التفرخ بمعلومات حول
‫الكائن الذي سيتم نشره.
‫نعم ، لقد مررنا نوعًا في أقواس الزاوية ، ولكن هذا يخبر ببساطة ممثل Spawn بنوع C ++ الذي يجب إنشاؤه.
‫بينما يحتوي الفصل على مزيد من المعلومات.
‫لنفترض أننا أنشأنا مخططًا بناءً على قذيفة وفي المخطط قمنا بتعيين بعض الخصائص مثل
‫اختيار الشبكة الثابتة لمكون الشبكة الثابتة.
‫الآن إذا أردنا إنتاج فئة C ++ خام ، فلن يتم تعيين تلك الشبكة الثابتة على كائن مقذوف تم
‫إنتاجه حديثًا.
‫في الأساس ، كنا سننتج ممثلاً جديدًا غير مرئي.
‫ومع ذلك ، يمكن لمتغير فئة جديد أن يمثل فئة مخطط.
‫يمنحنا الفصل الدراسي الخاص بك القدرة على الحصول على متغير من جانب C ++ ، والذي يمثل مخططًا
‫ونوع فئة وتفرخًا.
‫يمكن للممثل أن يأخذ هذه الفئة كوسيطة إدخال حتى يتمكن من إنتاج كائن جديد بناءً على المخطط الذي
‫تمثله تلك الفئة الجديدة.
‫لذلك سيكون للقذيفة الجديدة مجموعة خصائص الشبكة الثابتة لأننا ننتج كائنًا جديدًا
‫بناءً على المخطط وليس فئة C ++ الأولية.
‫هذا هو السبب في أننا أنشأنا الفئة الفرعية الخاصة بنا لأنها يمكن أن تخزن فئة جديدة وتمكنا
‫من جعلها مساوية لقذيفة BP من مخطط BP - tank الخاص بنا.
‫حتى الآن أنت تعرف كيف تفرخ الممثلين.
‫ممثل تفرخ ينتمي إلى الطبقة العالمية الجديدة.
‫لذلك إذا اتصلت بـ get world وقمت ببساطة بالاتصال بممثل Spawn ، فأنت تعرف متطلبات
‫الإدخال لهذه الوظيفة التي تقوم بتمريرها في نوع C ++ في أقواس الزاوية وتصنف موقعًا ودورانًا
‫بين الأقواس.
‫لذا بالنسبة للتحدي الذي تواجهه ، ستقوم بإنتاج القذيفة ، قم بذلك في وظيفة إطلاق النار.
‫لذا اتصل بـ get world spawn act وقم بتمرير قذيفة بين قوسين.
‫هذا يعني أنك ستحتاج إلى تضمين ملف الرأس للقذيفة.
‫لذلك لا تنس ذلك واستخدم فئة المقذوفات المتغيرة الجديدة كمعامل إدخال فئة U في الأقواس.
‫الآن نحن بحاجة إلى موقع ودوران.
‫ستستخدم نقطة تولد المقذوف لكل من الموقع والدوران.
‫من عنصر نقطة ولادة المقذوف.
‫يمكنك استدعاء الحصول على موقع المكون والحصول على دوران المكون للوصول إلى هذه القيم.
‫لذا أوقف الفيديو مؤقتًا واتصل بممثل النشر في وظيفة إطلاق النار الآن.
‫تمام.
‫لذلك دعنا ننتقل إلى Base Pond CP حيث تم تحديد وظيفة إطلاق النار.
‫الآن قمنا برسم كرة التصحيح هنا.
‫لن نحتاج ذلك حقًا بعد الآن.
‫لذلك سأقوم بحذف استدعاء الوظيفة هذا وبدلاً من ذلك سأقوم بالاتصال بممثل Spawn هنا.
‫الآن لدينا بالفعل موقع نقطة انتشار المقذوف.
‫سأقوم بإعادة تسمية هذا المتغير المحلي إلى الموقع ببساطة وسأقوم بإنشاء دوار F جديد.
‫تناوب يسمى.
‫وهذا ما سأحصل عليه من نقطة تفرخ القذيفة أيضًا.
‫لذلك ستكون نقطة تفرخ المقذوف مع دوران المكون.
‫حتى الآن لدي الموقع والدوران الذي يجب أن تفرخ فيه القذيفة.
‫لذا أحتاج بعد ذلك إلى الاتصال بممثل تفرخ حتى يمكنني الاتصال بـ get world.
‫ومن العالم الذي أحصل عليه من هذه الوظيفة ، يمكنني أن أدعو ممثل التوليد.
‫الآن هذا يحتوي على أقواس وأقواس زاوية ، أليس كذلك؟
‫لذا ، بين قوسين الزاوية ، أحتاج إلى استخدام قذيفة.
‫ونظرًا لأننا نستخدم مقذوفًا ، فنحن بحاجة إلى تضمين رأس ذلك.
‫لذا هنا ، سأقوم بإزالة ورسم مساعدين في تصحيح الأخطاء واستبدالها بقذيفة.
‫والآن لدينا هذا النوع مضمنًا.
‫الآن نحن بحاجة إلى فئة U وبناءً على H لديها فئة مقذوفة ، يمكننا استخدامها كفئة U.
‫لذلك سنمر في فئة المقذوفات.
‫الآن ، أخيرًا ، يمكننا المرور في الموقع والدوران وهذا سوف يرضي وظيفة الفاعل.
‫لذلك دعونا نمضي قدمًا ونجمع هذا وسنعد هنا في المحرر ويمكننا اختبار اللعب.
‫لذلك سأقوم بالضغط والتحقق من ذلك.
‫لقد أنتجنا قذيفة جديدة.
‫نحن ننتج القذيفة عند طرف ماسورةنا وهي نوعًا ما تحوم هناك في الهواء ، والتي
‫لا تبدو صحيحة حقًا.
‫لكن لا مشكلة.
‫هذه هي الخطوة الأولى.
‫علينا أولاً إنتاج القذيفة ، وجعلها تعمل كقذيفة كخطوة تالية.
‫باختصار ، نحن الآن ننتج مقذوفات.
‫هذا معلم عظيم.
‫ومع ذلك ، فهي ليست مقذوفات تمامًا بعد.
‫هم فقط يحومون هناك ومن المفترض أن تطير المقذوفات في الهواء.
‫لذا في الفيديو التالي ، سنتحدث عن كيفية جعل مقذوفاتنا تطير في الهواء بالفعل
‫بحيث تتصرف مثل المقذوفات.
‫سأراك قريبا.