← Yop2D

Как игроку терять здоровье?

Руководство для новичков · без кода

Français · English · Español · Deutsch · Italiano · Português · Русский · 中文 · 日本語

Игрок начинает с 3 жизнями. Каждый раз, когда он касается опасности (шипы, враг…), он теряет одну, и полоска здоровья уменьшается. На 0 — Game Over: уровень начинается заново.

Тебе понадобится:

Шаг 1: подготовить опасности и полоску

  1. Выбери каждую опасность и впиши danger в её поле «Тег (Метка)».
  2. Выбери healthBar. В разделе «ПОЛОСА ПРОГРЕССА» инспектора: Минимальное значение = 0, Максимальное значение = 3, Текущее значение = 3.

Шаг 2: создать переменную «vie»

  1. На левой панели, раздел Переменные, создай переменную.
  2. Имя: vie (здоровье) · Область: Локальная · Тип: Целое · Начальное значение: 3.

Шаг 3: потерять жизнь

  1. Открой Blueprint сцены.
  2. Добавь событие «Если объект касается тега»: цель player, Тег danger.
  3. Добавь «Добавить к переменной»: переменная vie, Добавляемое значение = -1 (со знаком минус, чтобы отнять).
  4. Добавь «Задать прогресс»: цель healthBar, Новый прогресс = =vie
  5. Соедини три узла по порядку.
Если объект касается тегацель: player · Тег: danger
→
Добавить к переменнойvie · - 1
→
Задать прогрессhealthBar · =vie
👉 =vie в «Новый прогресс» значит: «возьми значение переменной vie». Так полоска всегда показывает число жизней.

Шаг 4: Game Over

  1. После «Задать прогресс» добавь узел «Условие» с Условие = =vie <= 0 («vie меньше или равно 0»).
  2. Соедини его выход Истина с узлом «Перезапустить сцену» (категория Сцена и HUD).
  3. Сохрани, запусти игру и коснись опасности три раза.
Задать прогрессhealthBar
→
Условие=vie <= 0
Истина →
Перезапустить сцену
👉 «Перезапустить сцену» возвращает всё как было: объекты на свои места, а переменные с областью «Локальная» (значит, vie = 3) — к начальному значению.
👉 Хочешь настоящий экран конца игры? Вместо немедленного перезапуска соедини выход Истина с «Изменить текст» (текст «Проигрыш!»), потом «Ждать» (2 секунды), потом «Перезапустить сцену».

Бонус: падение в пропасть

В платформере поставь объект Зона в самом низу сцены и назови его fallZone (зона невидима во время игры). Затем:

Столкновение A/BОбъект A: player · Объект B: fallZone
→
Перезапустить сцену

Если не работает