Menu
CoddyTech

画面に残機を表示する

Coddyの「Unityゲーム:タワーディフェンス」コースのレッスン 4/25。

プレイヤーには残りライフが見えるようにします。シーンには上部バーにLivesTextというTextMeshProのテキストがあります。そのスクリプトの型はTMP_Textで、using TMPro;を使います。表示内容はtextです。

テキストに表示されるのは最後に設定された内容で、変数の値に自動で追従するわけではありません。そこで、ライフを表示する行を1つのメソッドにまとめ、ライフが変わるたびにそのメソッドを呼び出して、画面の表示が古いままにならないようにします。

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プレイグラウンド