Найти тему
NoT ZaTroTing

Idle игра на Unity #4 - Враги

Оглавление

Здравствуйте! Сегодня мы создадим врагов, которые при смерти будут увеличивать счет игрока.

Враги

Враги будут просто объектами на сцене, на которых висят триггеры и пустые скрипты Enemy.

Инспектор объекта врага
Инспектор объекта врага

Взаимодействие игрока с врагами

Осталось лишь решить проблему взаимодействия персонажа с врагами.

До этого в подобной ситуации монеты выполняли все действия при взаимодействии. Сейчас же именно игрок будет выполнять все, т.к. в будущем планируются различные враги, в т.ч которых можно будет пробежать, и они сразу погибнут, либо которых надо будет ударять несколько раз.

Начнем с простого скрипта обнаружения столкновения с врагом:

-2

Навесим этот скрипт на объкт-пустышку, который будет дочерним по отношению к игроку:

-3

Он специально сдвинут немного вправо, т.к. мы можем атаковать только тех, кто перед нами.

Далее нацепим на игрока скрипт PlayerEnemyInteractor, который будет прослойкой для EnemyInteractor:

-4

Сам метод OnEnemyInteract представляет собой уничтожение врага и увеличение счета:

-5
-6

Происходит то же, что и при взаимодействии с монетами

Действительно, сейчас взаимодействие игрока с монетами и с врагами идентично, однако код различается. Как я писал выше, это из-за того, что поведение игрока с разными врагами может различаться. Например, некоторых врагов при приближении мы сразу уничтожаем, а некоторых надо будет атаковать несколько раз, чтобы уничтожить.

Заключение

В этой статье мы добавили врагов и взаимодействие игрока с ними. В следующей статье будем разрабатывать состояния для игрока.