Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vp-pedsovet
6 лет назад

Онлайн-обучение. Урок 6 Учим Enemi

Продолжаем создавать свою первую компьютерную игру. Если вы только подключились, все что вам необходимо - изучить внимательно материалы предыдущих уроков.

Содержание всех постов:

Сегодня мы добавим жизней врагам, добавим индикатор жизней, научим наше оружие наносить урон, а не только взрываться, а так же сделаем эффект смерти для Enemy. Поехали!

Добавим в скрипт Enemy дополнительную переменную, которая будет хранить количество жизней:

Теперь научим наше оружие наносить урон врагам. Изменяем скрипт Bullet:

Теперь мы уже можем убивать нашего врага, но это никак не видно визуально.

Давайте добавим индикатор жизней. Для этого мы будем использовать Canvas. Добавим его внутрь одного из врагов на сцене. Делается это через нажатие ПКМ на Enemy объекте на сцене и выбором UI -> Canvas.



















Теперь нам нужно указать тип Канваса. Так как это буде индикатор жизней и он будет двигаться вместе с врагом по сцене, нам надо выбрать режим рендеринга World Space. Так же надо уменьшить scale и настроить ширину и высоту полоски с жизнями. Так же нужно подтянуть Канвас так, чтобы он был над врагом.















Теперь добавляем UI элемент внутрь Canvas под названием Image (UI -> Image), который настроим так, как на скриншоте. Это позволит нам с помощью изменения scale этого Image, изменять длину полоски.

Сразу же, по традиции, изменим цвет Image на зеленый. Так же нужно добавить дополнительное поле в скрипт Enemy, чтобы хранить в нем ссылку на Image:

Теперь нужно перетащить Image в новое поле Enemy. Сразу же задаем стартовое количество жизней. Я поставил 300:

Обновим теперь метод HitEnemy в скрипте Enemy, чтобы полоска с ХП обновлялась соответственно с текущим количеством ХП:

Теперь выберем префаб Bullet и добавим урона в поле Damage:

Почти все готово. Теперь при запуске, когда мы будем попадать по врагу, мы будем наносить ему 50 урона. При стартовом количестве ХП 300 надо попасть 6 раз по врагу, чтобы его убить. Нам осталось только сделать эффект смерти врага, так как сейчас после убийства ничего не происходит и никак не влияет на врага - он все равно продолжает двигаться на игрока. Добавляем ссылку на эффект смерти вот так:

А так же изменяем метод Die:

Осталось только выбрать эффект смерти. Я взял EffectExamples/FireExplosionEffects/Prefabs/BigExplosionEffect:

Готово. Можно запустить и посмотреть что получилось. Нужно проделать те же манипуляции с Enemy2. Так же, чтобы обновить префаб после изменения (добавления Canvas и т.д.) нужно выбрать префаб на сцене и нажать Apply в инспекторе:

После этого индикатор с ХП появится у всех Enemy на сцене, которые были созданы из этого префаба, что очень удобно.

Всем фана!

Автор поста @litovets

TEXT.RU - 100.00%

4
248.484 GOLOS
На Golos с August 2017
Комментарии (6)
Сортировать по:
Сначала старые