إلحاق الضرر بكل شيء
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 52 من 64.
التحدي
متوسطاجعل السيف يُلحق الضرر بكل ما يمكن إلحاق الضرر به، من خلال واجهة.
- في
IDamageable.cs، صرّح عنvoid TakeDamage(int amount);. - تطبّق
EnemyالواجهةIDamageable: تطرحTakeDamageقيمةamountمنhealthوتدمّر العدو عندما تصبح القيمة 0 أو أقل. - في
Hero.Swing()، استبدل اختبار الوسم وDestroyبـhit.TryGetComponent(out IDamageable target)وtarget.TakeDamage(swingDamage);.
اضغط «العب» واضرب أحد الأعداء من نوع grunt بالسيف: سيحتاج إلى ضربتين. ثم اضغط «تحقق».
جرّب بنفسك
// سيُكمل درس لاحق هذا التعريف: أي شيء يمكن أن يتلقى ضررًا.
public interface IDamageable
{
}
جميع دروس هندسة الألعاب في Unity
1المكوّنات، لا التسلسلات الهرمية
مكوّنات صغيرةنص برمجي أساسي للعدومكوّنات مجرّدةالمكوّنات تعمل معًامراجعة: برج معياريمراجعة: مدفع مزدوج4البيانات المُسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائممراجعة: اختيار الغنائم عشوائيًا7آلات الحالات
الحالات كأصنافحالة التنبيهآلة حالاتالانتقالاتعقول الأعداءالفارس يهاجممراجعة: حالات الباب10مشروع: ناجي الساحة
البطلأنواع الأعداء2الواجهات في Unity
IDamageableالواجهات وTryGetComponentGetComponentsمراجعة: مفتاح التفاعلمراجعة: أقرب عنصر ضمن النطاقتدرّب بنفسك: Playground لـ Unity