Цель: Создать для врага функцию, которая будет уклоняться от вашего лазера.

Теперь наш враг может уклоняться от наших лазеров! Для начала мы создадим дочерний игровой объект внутри префаба противника и просто добавим коллайдер коробки и жесткое тело. Важно прикрепить жесткое тело, это предотвратит присоединение к родительскому коллайдеру и разрушение вражеского родителя.

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

Теперь мы можем двигаться дальше и перейти к нашему вражескому сценарию. Здесь мы просто будем использовать transform.Translate для перемещения.

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

Не забудьте изначально присвоить переменной direction значение, иначе она не будет работать.

Таким образом, переменная random генерирует значение и на основе этого значения создает значение направления для движения.

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

Наконец, я создал эффект частиц, который создает взрыв частиц, когда враг уклоняется, и я просто создал его экземпляр, когда враг движется.

И это все! Теперь это должно работать отлично!

В эту игру теперь можно играть на itch.io. Стараюсь часто обновлять. Дайте ему играть и дайте мне знать, что вы думаете!