Добавляем текстовое поле для здоровья Unity 6
Давай сделаем так, чтобы здоровье игрока отображалось на экране. Для этого мы используем UI (Canvas, TextMeshPro).
1. Добавляем текстовое поле для здоровья
- В Unity в Hierarchy создаём:
GameObject → UI → Text - TextMeshPro
(Если Unity попросит импортировать TextMeshPro, нажми "Import TMP Essentials") - Переименуем объект в HealthText.
- В Inspector:
- В TextMeshPro - Text (Script) удаляем текст.
- Устанавливаем Font Size на 40.
- В Rect Transform нажимаем Anchor Presets (держи
Shift
и выбери верхний левый угол). - Перемещаем текст в верхний левый угол (X: 20, Y: -20).
2. Пишем код для обновления здоровья на экране
- Открываем PlayerHealth.cs и заменяем код:
using UnityEngine;
using TMPro;
public class PlayerHealth : MonoBehaviour
{
public int health = 100;
public TextMeshProUGUI healthText; // Ссылка на текст
void Start()
{
UpdateHealthUI();
}
public void TakeDamage(int damage)
{
health -= damage;
if (health < 0) health = 0;
UpdateHealthUI(); // Обновляем текст
if (health <= 0)
{
Debug.Log("Игрок мёртв!");
}
}
void UpdateHealthUI()
{
if (healthText != null)
{
healthText.text = "Здоровье: " + health;
}
}
}
3. Связываем текст с кодом
- Выбери объект Player в Hierarchy.
- В Inspector у скрипта PlayerHealth увидишь поле Health Text.
- Перетащи HealthText (из Hierarchy) в это поле.
4. Проверяем в игре
- Запусти игру (
Play
) — должно появиться "Здоровье: 100". - Добавим тестовый урон:
- В Unity выбери Player.
- В Inspector у скрипта PlayerHealth нажми "Add Component" → "Button".
- В Button (Script) → On Click () нажми
+
. - Перетащи Player в пустое поле.
- Выбери PlayerHealth → TakeDamage(int).
- Введи 20 (урон).
- Запусти игру и нажимай кнопку — здоровье будет уменьшаться.
Теперь у нас есть UI для здоровья! 🎉
Рекламное место для вашего банера 100% ширина — от 50 евро/мес.
Реклама на сайте и тарифы на подписку. Тарифы
Теги: Vilnius, Lithuania, Ukraine, Kiev Добавляем текстовое поле, здоровья, Unity 6, TextMeshPro, Text, UI, PlayerHealth, Уроки Unity 6