Цель:создать более плавное движение вдали от лазеров игроков.
Я хотел, чтобы уклонение моего врага выглядело более плавным, чем при использовании transform.Translate, поэтому для этого я решил использовать физику и управлять жестким телом силой и скоростью.
Для этого я буду использовать сопрограмму, потому что, как только сила будет добавлена к твердому телу, я хочу, чтобы скорость остановила эту силу через момент времени.
Это добавит силу к жесткому телу, а затем через 0,25 секунды остановит силу до нуля. Затем, как только сопрограмма запустится снова, она обязательно вернет скорость к исходной, а затем повторит с добавленной силой.
Ниже приведен полный код сопрограммы.
Поскольку мы манипулируем жестким телом и используем физику, я запустил сопрограмму в FixedUpdate.
Наконец, поскольку к дочернему элементу был прикреплен блочный коллайдер, мне нужно убедиться, что он остается прикрепленным, так как мы смещаем родительский жесткий корпус. Потому что в противном случае мы получим эту проблему ниже.
Для этого я буду использовать Fixed Joint 2D и просто прикреплю родителя внутри коробки.
Это должно иметь гораздо более плавный подход к уклонению!
В эту игру можно играть на itch.io. Я постараюсь обновлять его часто. Дайте ему играть и дайте мне знать, что вы думаете!