Здоровье и попадания
Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 59 из 63.
Задание
СреднеОхотники теперь наносят урон. Сохраните всё из предыдущих уроков. У игрока есть скрипт Health (в Inspector задайте hp значение 3), а в префабе охотника задайте новому полю knockback значение 12.
Заполните Health:
- Публичный метод
TakeDamage(int amount), который вычитаетamountизhpи выводит оставшееся значение, напримерHP: 2. - Когда
hpдостигнет 0, выведитеGame overи отключите скриптPlayerигрока, чтобы стрелки перестали работать. - Когда
hpстанет равным 0, последующие попадания ничего не делают: никаких изменений и никаких сообщений.
Добавьте в Hunter:
- Поле
knockback. - Когда охотник сталкивается с объектом, у которого есть Health (он есть только у игрока), вызовите его
TakeDamage(1)и отбросьте объект импульсом величиныknockbackпрямо от охотника по земле.
Нажмите Play и посмотрите, как долго вы продержитесь, затем нажмите Check.
Попробуйте сами
using UnityEngine;
public class Health : MonoBehaviour
{
// В одном из следующих уроков здесь появится количество очков здоровья игрока.
}
Все уроки раздела Физика и игровой процесс
1Твёрдое тело
Гравитация и массаТолкаем с помощью AddForceПрыжок с импульсомFixedUpdate для физикиСкоростьКинематические телаПовторение: пусковая площадка2Столкновения
OnCollisionEnterВо что я попал?Разрушение при столкновенииСтояние на землеОтскок и трениеФормы коллайдеровПовторение: разрушаемая стена5Проект: Погоня за монетами
Катящийся мячМонеты для сбора