Menu
CoddyTech

חיים על המסך

שיעור 4 מתוך 25 בקורס משחק Unity: הגנת מגדלים של Coddy.

השחקן אמור לראות את מספר החיים. בסצנה יש LivesText בסרגל העליון, טקסט מסוג TextMeshPro. סוג הסקריפט שלו הוא TMP_Text, עם using TMPro;, ומה שהוא מציג הוא text שלו.

טקסט מציג את הערך האחרון שהוגדר בו: הוא לא עוקב אחר המשתנה. לכן יש לשים את השורה שמציגה את מספר החיים בתוך מתודה אחת, ולקרוא לה בכל פעם שמספר החיים משתנה, כדי שהתצוגה לעולם לא תישאר מאחור:

void ShowLives()
{
    livesText.text = "Lives: " + lives;
}
challenge icon

אתגר

קל

הציגו את מספר החיים על המסך.

  1. ב־GameManager, הוסיפו using TMPro; ואת [SerializeField] private TMP_Text livesText;.
  2. כתבו את ShowLives() כפי שמוצג למעלה.
  3. קראו לה בסוף Start ואחרי שמספר החיים משתנה.

לחצו על "שחק": הערך Lives: 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: הגנת מגדלים

תרגלו בעצמכם: Unity אונליין