חיים על המסך
שיעור 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ואחרי שמספר החיים משתנה.
לחצו על "שחק": הערך 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 אונליין