‫يا.
‫مرحبًا بعودتك.
‫الآن قمنا بإعداد أنفسنا مع وظيفة رد اتصال مرتبطة بالمندوب لتلقي أي ضرر.
‫والخطوة الأخيرة هي إنشاء حدث الضرر هذا.
‫ونريد القيام بذلك عندما تصطدم مقذوفتنا بشيء ما.
‫بمجرد أن نبث لهذا المندوب ، يمكننا تطبيق الضرر على الشيء الذي أصابنا.
‫وسنقوم ببث هذا الحدث باستخدام الضرر المطبق ، والذي ينتمي إلى فئة احصائيات
‫اللعب.
‫لذلك دعونا نلقي نظرة على دالة الضرر المطبقة.
‫الآن ها هي وثائق الضرر المطبق التي تقول إنها تؤذي الممثل المحدد بضرر عام.
‫لذا فهذه وظيفة عامة لتطبيق الضرر.
‫وما نفعله ردًا على البث لهذا المندوب متروك لنا.
‫الآن نرى أننا بحاجة إلى تضمين إحصائيات اللعب وفي بناء الجملة نرى العديد من معلمات الإدخال.
‫الآن نحصل بالفعل على بعض وصف المعلمات.
‫إذا واصلنا التمرير لأسفل ، فإننا نرى أن الممثل التالف على ما يرام ، والممثل الذي سيتضرر
‫من الضرر الأساسي هو الضرر الأساسي لتطبيق التوثيق الوصفي حقًا هنا.
‫شكرًا.
‫محرض الحدث الملحمي هو المتحكم المسؤول عن التسبب في هذا الضرر.
‫وتقول ، على سبيل المثال ، اللاعب الذي أطلق النار.
‫عندما تقول لاعب ، فإنها تشير إلى وحدة التحكم تلك.
‫ثم لدينا مسبب الضرر ، وهو الفاعل الذي تسبب بالفعل في الضرر.
‫تقول القنبلة التي انفجرت.
‫في حالتنا ، ستكون القذيفة هي التي انفجرت.
‫وأخيرًا ، لدينا فئة نوع الضرر ، وهي فئة تصف الضرر الذي حدث.
‫الآن بالرجوع إلى قسم بناء الجملة ، يمكننا أن نرى أنواع هذه المدخلات ونرى أن فئة نوع
‫الضرر هي فئة فرعية وقد رأينا من قبل أن الفئة الفرعية TW سوف تلبي معلمة إدخال من فئة
‫النوع U.
‫حسنًا ، عندما نسمي الضرر المطبق ، يمكننا المرور في فئة U تمثل نوع الضرر الذي نرغب في استخدامه.
‫لذلك سنتحدث عن كيفية تلبية معامل الإدخال هذا في غضون لحظة.
‫لذا فإن وظيفة احصائيات لعبة hue ، الضرر المطبق سوف يأخذ بعض معلمات الإدخال.
‫لذلك دعونا نضع استراتيجية حول كيفية تمرير القيم المناسبة عندما نسمي هذه الوظيفة
‫، رأينا أننا نحتاج أولاً إلى الممثل التالف.
‫حسنًا ، دعنا نعود إلى CP المقذوف حيث نرغب في تسمية الضرر المطبق.
‫نود أن نفعل ذلك هنا عند الوصول ولم نعد بحاجة إلى هذه السجلات.
‫لذلك سأقوم بإزالتها ببساطة وألاحظ أن رد الاتصال عند الوصول يحصل على بعض المدخلات بمجرد أن يتم
‫استدعاؤها.
‫عندما يتم بث المفوض عند المكون ، سنرى أن لدينا ممثلًا آخر.
‫لذلك لدينا وصول إلى الممثل الذي أصيب بالقذيفة وهذا هو الممثل الذي نرغب في إلحاق الضرر
‫به.
‫لذلك يعتني بمعامل الإدخال الأول.
‫سيكون ذلك الممثل الآخر.
‫بعد ذلك ، نحتاج إلى مقدار الضرر ، مما يعني أن مقذوفنا يجب أن يحتوي على متغير ضرر حتى نعرف
‫مقدار الضرر الذي يجب تطبيقه.
‫فلماذا لا ندخل في الفوركس المقذوف ونضيف متغير ضرر وهذا يمكن أن يكون عوامة.
‫لذلك يمكننا ببساطة تسمية هذا الضرر ويمكننا تهيئته إلى قيمة ، دعنا نقول شيئًا
‫مثل 50 F وبما أن هذا شيء ربما نرغب في تجربته ، فيمكننا إعطاء خاصية U هذه
‫لفضحها وتعديلها في أى مكان.
‫إذن لدينا الآن مقدار الضرر الذي يجب تمريره عندما نتصل بضرر.
‫الآن المعلمة التالية هي المحرض ورأينا أن هذا من نوع وحدة تحكم.
‫إذن كيف سنحصل على جهاز التحكم؟
‫حسنًا ، لقد رأينا أنه يمكننا الحصول على مالك مكون معين باستخدام وظيفة get owner.
‫وهذا يعيد الممثل الذي يمتلك مكونًا معينًا ، يتم إنتاج هذه المقذوفات ديناميكيًا.
‫لذلك نحن بحاجة إلى التأكد مما إذا كنا سنقوم بالاتصال بالمالك الذي تم تعيينه الآن ، فنحن ننتج هذه
‫الأشياء من البيدق الأساسي.
‫لذلك إذا ذهبنا إلى البيدق الأساسي.
‫CP هذا هو الخط الذي ننتج فيه الممثل ، لكن Spawn Actor أيضًا يعيد مؤشرًا للممثل الذي تم إنتاجه
‫حتى نتمكن من تخزين هذا في متغير محلي.
‫على سبيل المثال ، يمكننا أن نقول المقذوف التلقائي وتعيين القيمة التي يتم إرجاعها من الممثل المتولد.
‫الآن ، إذا لم تكن معتادًا على استخدام auto ، فإنه يسمح للمترجم بتحديد النوع الذي سيتم تعيينه لهذا المتغير
‫الجديد.
‫إذا قمت بالمرور فوقه ، فسترى أنه يحتوي على مؤشر مقذوف من النوع A لأن هذا
‫هو ما نوقعه من وظيفة ممثل النشر.
‫لذلك هذا هو نفسه كما لو كنا قد وضعنا مؤشر مقذوف هنا والآن يمكننا الوصول إلى هذا المقذوف الذي تم
‫إنتاجه حديثًا.
‫والسبب في رغبتنا في القيام بذلك هو أننا نرغب في تعيين مالكها.
‫نود التأكد من أن مالكها قد تم ضبطه على البيدق الذي ولده.
‫لذلك يمكننا القول قذيفة.
‫وهناك وظيفة لهذا تسمى مالك المجموعة.
‫يأخذ مالك المجموعة ممثلًا وسنقوم بتمريره بحيث أنه عندما يولد أحد بيادقنا قذيفة ، فإنه
‫سيحدد مالك المقذوفات هذا.
‫وبهذه الطريقة ، إذا اتصلنا بالمالك في أي وقت مضى ، فسنحصل على مثيل الفئة
‫التي تمتلك تلك القذيفة.
‫لذا بالعودة هنا في DHCP المقذوف ، لدينا استدعاء وظيفة المالك ويمكننا تخزين هذا في متغير
‫محلي.
‫سأستمر في استخدام auto مرة أخرى وأتصل بهذا المالك وأضبطه على النتيجة التي أعادها
‫المالك.
‫إذن لدينا الآن مؤشر ممثل محلي يخزن قيمة المالك.
‫الآن يمكننا الوصول إلى وحدة تحكم المحرض من هذا الممثل.
‫الآن ، قبل القيام بذلك ، من الجيد التحقق للتأكد من أن المالك الخاص بي ليس فارغًا.
‫لذلك سأقول إذا كان المالك الخاص بي فارغًا يساوي مؤشر فارغ ، فسأعود ببساطة.
‫الآن ، إذا كان لدى الجسم عبارة واحدة مثل هذه ، فيمكنك وضعها على نفس الخط بدون الأقواس
‫المتعرجة في حالة عدم معرفتك.
‫المؤشر الفارغ عبارة عن كلمة أساسية في C ++ تسمح لك بالتحقق لمعرفة ما إذا كان المؤشر عبارة عن مؤشر فارغ.
‫لذلك إذا كان المالك الخاص بي لاغٍ ، فسنعود من الوظيفة مبكرًا ولن نفعل أي شيء آخر.
‫الآن ، كما كنت أقول ، يمكننا الحصول على وحدة تحكم المحرض من مالك بلدي وهذا
‫هو استخدام الوظيفة التي تسمى الحصول على وحدة تحكم المحرض.
‫وإذا قمنا بالتمرير فوق هذا ، فسنرى أنه يُرجع مؤشر تحكم.
‫أنا ببساطة سأستخدم auto وتخزينها في متغير محلي سأتصل به مالكي المحرض.
‫حتى الآن نحن نعرف ما يجب أن نمر به كمحرض.
‫المدخل التالي هو مسبب الضرر وهذا هو الفاعل الذي يقوم بالضرر للقذيفة.
‫هذا سيكون ببساطة هذا.
‫وهذا يترك آخر معلمة إدخال ، وهي نوع الضرر.
‫ورأينا أنها فئة فرعية مما يعني أننا بحاجة إلى فئة الاستخدام المناسب للنجاح.
‫N الآن إليك توثيق المحرك غير الواقعي لنوع الضرر.
‫وتقول إن المقصود من نوع الضرر هو تحديد ووصف شكل معين من الضرر وتوفير وسيلة
‫لتخصيص الاستجابات للضرر من مصادر مختلفة.
‫الآن ، لن نخصص ضررنا.
‫نحتاج فقط إلى تلبية معلمة الإدخال ، مما يعني أننا بحاجة إلى قيمة فئة U تمثل
‫فئة نوع الضرر.
‫الآن في C ++ ، إذا أردنا الحصول على فئة YOU من أي فئة معينة مثل نوع الضرر ، فيمكننا استدعاء
‫وظيفة تسمى فئة ثابتة.
‫هذا موروث من فئة الكائن.
‫الآن بالطبع نحن نستخدم نوع الضرر هنا ، لذا سنحتاج إلى ذلك الرأس.
‫لذا من الوثائق ، سأقوم بنسخ سطر التضمين وسأقوم بلصقه هنا في الجزء العلوي من
‫CP المقذوف والآن سترى أن وظيفة الفئة الثابتة هذه تعيد مؤشر فئة U وأن هذه الفئة الجديدة
‫ستمثل نوع الضرر الجديد فئة C ++.
‫الآن ، نظرًا لأننا لا ننشئ مخططًا بناءً على نوع الضرر وتعيين بعض البيانات الإضافية ، فنحن لا
‫نحتاج حقًا إلى فئة فرعية من المتغيرات.
‫لذلك في هذه الحالة يمكننا استخدام فئة ثابتة وهذا سيعيد فئة U التي تمثل هذا النوع.
‫ويمكننا تخزين هذا في متغير إذا أردنا ، وسأطلق على هذا النوع فئة نوع الضرر.
‫وهذا ما يمكننا تمريره كمعامل نهائي لتطبيق الضرر.
‫إذن لدينا الآن كل المعلومات التي نحتاجها لتمريرها إلى دالة الضرر المطبق.
‫لكن قبل أن نفعل ذلك ، أود إجراء بعض الشيكات للتأكد من أنه من المناسب أن نسمي هذه
‫الوظيفة.
‫لذا سأدلي ببيان إذا هنا.
‫أولاً ، أريد التأكد من أن الممثل الآخر ليس فارغًا.
‫لذا سأقوم بوضع ممثل آخر هنا.
‫سأقوم بوضع علامة هنا حتى أتمكن من التحقق للتأكد من أن الممثل الآخر لا يساوي هذا الممثل.
‫لا نريد أن نتسبب في ضرر لأنفسنا إذا كنا المقذوفات الآن سأضع نهاية
‫أخرى وأتأكد من أن الممثل الآخر لا يساوي مالك.
‫لن يكون الأمر جيدًا إذا تسببت القذيفة في إلحاق الضرر بمالكها.
‫والآن إذا وصلنا إلى داخل عبارة if ، فإننا نعلم أنه من المناسب استدعاء تطبيق الضرر حتى نتمكن
‫من القيام بذلك.
‫وسيكون هذا هو التحدي الذي تواجهه.
‫لذلك في بيان if الجديد الخاص بنا في دالة التشغيل عند الاستدعاء ، تطبق احصائيات تشغيل اللعبة وظيفة الضرر.
‫هذا يعني أنك ستحتاج إلى تضمين العنوان الصحيح لإحصائيات اللعب وأنت تعرف معلمات الإدخال التي
‫يجب تمريرها.
‫لذا أوقف الفيديو مؤقتًا وأضف استدعاء الوظيفة لتطبيق الضرر في وظيفة التشغيل الآن.
‫تمام.
‫لذلك أنا هنا في CP المقذوف وسأقوم بتضمين ملف الرأس لإحصائيات اللعب ويمكننا أن نرى من صفحة
‫توثيق الضرر التطبيقي أن المضمن هو احصائيات لعبة kismet slash.
‫لذلك سأقوم بلصق ذلك هناك والآن أنا مستعد لاستدعاء تطبيق الضرر.
‫لذلك سوف أتحدث عنك أن احصائيات اللعب تسبب الضرر.
‫الآن بمجرد أن أكتب أقواس الفتح ، أحصل على نافذة منبثقة تذكرني بمعلمات الإدخال التي أحتاجها.
‫والأول هو الممثل المتضرر وسيكون ممثلًا آخر.
‫لذلك سنقوم بكتابة ممثل آخر بعد ذلك.
‫نحتاج إلى مقدار الضرر وأضفنا هذا الضرر إلى تعويم الفوركس المقذوف ، والذي حددناه بـ 50.
‫لذلك سأمرر الضرر في النهاية التالية.
‫نحتاج إلى المحرض ولدينا مالك المحرض.
‫لذلك سأمر مالك المحرض.
‫التالي هو سبب الضرر.
‫وبالطبع ، فإن القذيفة نفسها هي مسبب الضرر.
‫لذلك سنقوم بتمرير هذا.
‫وأخيرًا نحتاج إلى فئة فرعية من نوع الضرر من أجلك ، والتي نعلم أن مؤشر فئة U سوف يلبي ذلك
‫ولهذا السبب لدينا فئة نوع الضرر.
‫لذلك دعونا نمر في فئة نوع الضرر.
‫وبهذا نسمي الآن تطبيق الضرر.
‫لذلك عندما نسمي هذا ، سننشئ حدث الضرر وعند استلام أي ضرر سوف يبث المندوب ردًا على
‫هذا ، مما يعني أنه سيتم استدعاء الضرر الذي حدث في مكوننا الصحي.
‫لذلك نحن فقط بحاجة إلى القيام بشيء ما هنا فيما يتعلق بالضرر الذي حدث.
‫حسنًا ، سيكون من المنطقي تحمل هذا الضرر وطرح هذا المبلغ من الصحة.
‫قبل أن نفعل ذلك ، أود التأكد من أن الضرر ليس أقل من أو يساوي الصفر.
‫من المنطقي إجراء هذه الفحوصات قبل توثيق الضرر ، فقط للتأكد من أننا لا نطبق
‫قيمة لا معنى لها ، مثل صفر أو قيمة سالبة.
‫إذا كان الأمر كذلك ، فسنرجع ببساطة.
‫وبالطبع ، إذا كنت ترغب في أن تكون بارعًا وأن تفعل ما فعلته في قذيفة على CP ، فيمكننا وضع الإرجاع
‫هناك.
‫الآن ، إذا تجاوزنا هذا الخط ، فسيكون الضرر قيمة موجبة حتى نتمكن من أخذ الصحة واستخدام
‫ناقص يساوي ضررًا.
‫وللتأكد فقط من أن هذا يعمل ، لماذا لا نضع سجل euy هنا؟
‫إذن سجل Yui ، نص تحذير مؤقت ويمكننا ببساطة طباعة قيمة الصحة مع النسبة المئوية F والصحة وبهذا
‫يمكننا تجميعها.
‫الآن مع تجميع ناجح ، سنعود إلى المحرر ومع فتح سجل الإخراج الخاص بنا ، فلنبدأ التشغيل.
‫الآن دعنا نرى ما إذا كان بإمكاننا أن نُصيب بقذيفة.
‫وها نحن ذا.
‫صحتنا الآن انخفضت إلى 50 ، وإذا تعرضنا للضرب مرة أخرى ، فقد حصلنا على عدد قليل من الأحداث الضاربة
‫لأننا كنا نصطدم بالقذيفة عدة مرات بسرعة كبيرة.
‫لكننا نرى أن صحتنا توثق بشكل صحيح.
‫لذلك نحن بحاجة للتأكد من أننا نطبق السلوك الصحيح عند الموت عندما تصل الصحة إلى الصفر.
‫لكننا نحتاج أيضًا إلى التأكد من عدم تعرض هذا الحدث الناجح لمحتوى غير مرغوب فيه عدة مرات.
‫نحن نعلم الآن أنه يجب تدمير المقذوف عند اصطدامه بشيء ما ، لذا فإن أفضل طريقة لمنع إرسال رسائل غير
‫مرغوب فيها إلى حدث الضربة هي تدمير المقذوف.
‫هذا هو آخر شيء نفعله في هذا الفيديو.
‫لذا بالعودة إلى المقذوف بعد الضرر المطبق مباشرة ، ما يمكننا فعله هو جعل المقذوفة تدمر نفسها وهذا
‫لا يمكن أن يكون أسهل.
‫نحن ببساطة نسمي وظيفة التدمير.
‫لذلك مع تجميع واحد آخر هنا في المحرر ، يمكننا المضي قدمًا ونصاب بقذيفة وننظر إلى ذلك.
‫ذهب القذيفة.
‫لذلك تتلفها ثم تختفي.
‫وبالطبع يمكننا اختبار ضرب الأبراج أيضًا عن طريق تفجيرها بالمقذوفات والتأكد من أن
‫تلك الأحداث الضاربة قد بدأت.
‫وكما ترون ، يمكنني إرسال بريد عشوائي بمجموعة كاملة من المقذوفات وسنرى
‫أن القيمة الصحية لهذا البرج الفقير هنا أصبحت سلبية للغاية.
‫باختصار ، أطلقنا على وظيفة تطبيق الضرر ، مما أدى إلى بث لـ on take أي
‫مندوب تلف.
‫وثقنا صحة المكون الصحي ودمرنا القذيفة.
‫لذا فقد اهتممنا الآن بالضرر.
‫لم نعتني بالموت بعد.
‫لذلك سيكون هذا أحد الأشياء التالية التي سنغطيها في فيديو مستقبلي.
‫سأراك قريبا.