الأرواح على الشاشة
الدرس 4 من 25 في دورة لعبة Unity: الدفاع عن الأبراج على Coddy.
ينبغي أن يرى اللاعب عدد الأرواح. يحتوي المشهد على LivesText في الشريط العلوي، وهو نص من نوع TextMeshPro. نوع السكربت الخاص به هو TMP_Text، مع using TMPro;، وما يعرضه هو text الخاص به.
يعرض النص آخر قيمة تم تعيينها له: فهو لا يتبع المتغير. لذا ضع السطر الذي يعرض عدد الأرواح في دالة واحدة، واستدعها كلما تغيّر عدد الأرواح، حتى لا تتأخر الشاشة أبدًا:
void ShowLives()
{
livesText.text = "Lives: " + lives;
}التحدي
سهلاعرض الأرواح على الشاشة.
- في
GameManager، أضفusing TMPro;و[SerializeField] private TMP_Text livesText;. - اكتب
ShowLives()كما سبق. - استدعِها في نهاية
Startوبعد تغيّر عدد الأرواح.
اضغط «العب»: يتناقص عدد الأرواح: 20 كلما وصل الأعداء إلى القاعدة. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
public class GameManager : MonoBehaviour
{
[SerializeField] private int startLives = 20;
private int lives;
void OnEnable()
{
Enemy.ReachedBase += OnReachedBase;
}
void OnDisable()
{
Enemy.ReachedBase -= OnReachedBase;
}
void Start()
{
lives = startLives;
}
void OnReachedBase(Enemy enemy)
{
lives -= enemy.data.damage;
}
}
جميع دروس لعبة Unity: الدفاع عن الأبراج
تدرّب بنفسك: Playground لـ Unity