Menu
CoddyTech
flag Ar iconالعربيةdown icon

واجهة العرض

جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 46 من 50.

challenge icon

التحدي

متوسط

واجهة 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