معززات القوة
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 45 من 50.
التحدي
متوسطتعزيزات القوة. احتفظ بكل شيء من الدروس السابقة. يوجد قلب ودرع في الساحة، كما أن نسختَي Heart وShield الجاهزتين للاستخدام معدّتان لتُسقطهما الموجات. كل ما يمكن للبطل التقاطه يطبّق واجهة واحدة، لذا لا يحتاج البطل إلى معرفة الأنواع.
- تعلن
IPickupعن طريقة واحدة،void Collect(Hero hero);. - تطبّق
Heartهذه الواجهة، معamount(2) من نافذة Inspector: تعالج البطل بمقدارamountثم تدمّر نفسها. - تطبّق
Shieldهذه الواجهة، معduration(5) من نافذة Inspector: تحمي البطل من كل ضربة لمدةdurationثانية ثم تدمّر نفسها. - يحصل
Heroعلىpublic void Heal(int amount)، التي تضيف إلى الصحة دون أن تتجاوزmaxHealthمطلقًا، وتسجّل الصحة كما يحدث عند تلقي ضربة؛ ولا يُعالَج البطل الساقط. ويحصل أيضًا علىpublic void Protect(float seconds)، التي تحميه من الضربات حتى مرورsecondsثانية من الآن، مثلما تفعلsafeTimeعند تلقي ضربة. ويحصل كذلك علىOnTriggerEnter: عندما يكون للشيء الذي لمسه مكوّنIPickup، يستدعي عليهCollect(this). يتلقىCharacterControllerرسائل التصادم المحفّز دون الحاجة إلىRigidbody. - يحصل كل
Waveعلىpublic GameObject reward. لا يمكن لنافذة Inspector عرض حقل من نوع واجهة، لذا يحتفظ الحقل بالعنصر الجاهز للاستخدام بوصفهGameObject. عند هزيمة موجة، وقبل فترة الراحة، يُسقط مولّد الموجات مكافأة الموجة، إن وُجدت، في موقعه في وسط الساحة. يعيّن الأصل قلبًا للموجة 1 ودرعًا للموجة 2.
اضغط Play، واقضِ على موجة والتقط مكافأتها، ثم اضغط Check.
جرّب بنفسك
// سيُستكمل هذا في درس لاحق: أي شيء يمكن للبطل التقاطه.
public interface IPickup
{
}
جميع دروس هندسة الألعاب في Unity
1المكوّنات لا التسلسلات الهرمية
مكوّنات صغيرةسكربت أساسي للعدومكوّنات مجرّدةتعمل المكوّنات معًامراجعة: برج دفاعي معياري4البيانات المتسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائم10مشروع: الناجي في الساحة
البطلأنواع الأعداء