Цель: Создать для врага функцию, которая будет уклоняться от вашего лазера.
Теперь наш враг может уклоняться от наших лазеров! Для начала мы создадим дочерний игровой объект внутри префаба противника и просто добавим коллайдер коробки и жесткое тело. Важно прикрепить жесткое тело, это предотвратит присоединение к родительскому коллайдеру и разрушение вражеского родителя.
Затем создайте новый скрипт для этого метода и прикрепите его к дочернему элементу. В рамках этого скрипта мы просто создадим OnTriggerEnter для лазера, а затем сможем общаться с вражеским скриптом, чтобы создать уклоняющееся движение.
Теперь мы можем двигаться дальше и перейти к нашему вражескому сценарию. Здесь мы просто будем использовать transform.Translate для перемещения.
Теперь я хочу сделать это немного менее скучным, поэтому я создал случайную переменную int, которая будет определять, в каком направлении находится враг. будет двигаться.
Не забудьте изначально присвоить переменной direction значение, иначе она не будет работать.
Таким образом, переменная random генерирует значение и на основе этого значения создает значение направления для движения.
Наконец, я не хотел, чтобы враг уклонялся вечно, поэтому я создал другую переменную int, которая будет прибавлять 1 каждый раз, когда он уклоняется, и у меня есть условие для определения когда он может перестать уклоняться.
Наконец, я создал эффект частиц, который создает взрыв частиц, когда враг уклоняется, и я просто создал его экземпляр, когда враг движется.
И это все! Теперь это должно работать отлично!
В эту игру теперь можно играть на itch.io. Стараюсь часто обновлять. Дайте ему играть и дайте мне знать, что вы думаете!