Цель:создать более плавное движение вдали от лазеров игроков.

Я хотел, чтобы уклонение моего врага выглядело более плавным, чем при использовании transform.Translate, поэтому для этого я решил использовать физику и управлять жестким телом силой и скоростью.

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

Это добавит силу к жесткому телу, а затем через 0,25 секунды остановит силу до нуля. Затем, как только сопрограмма запустится снова, она обязательно вернет скорость к исходной, а затем повторит с добавленной силой.

Ниже приведен полный код сопрограммы.

Поскольку мы манипулируем жестким телом и используем физику, я запустил сопрограмму в FixedUpdate.

Наконец, поскольку к дочернему элементу был прикреплен блочный коллайдер, мне нужно убедиться, что он остается прикрепленным, так как мы смещаем родительский жесткий корпус. Потому что в противном случае мы получим эту проблему ниже.

Для этого я буду использовать Fixed Joint 2D и просто прикреплю родителя внутри коробки.

Это должно иметь гораздо более плавный подход к уклонению!

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