واجهة العرض
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 46 من 50.
التحدي
متوسطواجهة HUD تستمع فقط. أبقِ على كل شيء من الدروس السابقة. تحتوي اللوحة المسماة HUD على شريط صحة (HealthFill، صورة من النوع Filled)، وHealthText وWaveText، بالإضافة إلى سكربت HUD، مع تعيين hero وspawner وhealthBar وhealthText وwaveText في Inspector. لا تطلب واجهة HUD أي شيء من البطل أو من مولّد الموجات؛ بل يعلنان عن تغيّراتهما باستخدام أحداث C#، وتعرض واجهة HUD ما تسمعه.
- يحتوي
Heroعلىpublic event Action<int, int> HealthChanged، ويُطلق الحدث مع الصحة وmaxHealthفيStart، وكلما غيّرت إصابة أو عملية شفاء مقدار الصحة. - يحتوي
WaveSpawnerعلىpublic event Action<int> WaveStarted، ويُطلق الحدث مع رقم الموجة عند بدء موجة. - يشترك
HUDفي الحدثين داخلOnEnableويلغي الاشتراك داخلOnDisable. عندHealthChangedيملأ الشريط بنسبة الصحة المتبقية ويعرض الصحة بهذا الشكل:HP 3/5. وعندWaveStartedيعرضWave 2. لا يحتوي علىUpdate.
أطلق HealthChanged في Start، وليس في Awake: يُستدعى OnEnable لكل كائن قبل Start لأي كائن، لذا تكون واجهة HUD قد بدأت الاستماع بحلول ذلك الوقت. اضغط Play وراقب واجهة HUD أثناء القتال، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
public class HUD : MonoBehaviour
{
// سيُكمل درس لاحق هذا الجزء: عرض الصحة والموجة على الشاشة.
}
جميع دروس هندسة الألعاب في Unity
1المكوّنات لا التسلسلات الهرمية
مكوّنات صغيرةسكربت أساسي للعدومكوّنات مجرّدةتعمل المكوّنات معًامراجعة: برج دفاعي معياري4البيانات المتسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائم10مشروع: الناجي في الساحة
البطلأنواع الأعداء