В данной статье разберемся с тем, как собрать такой тип ракет, которые летят по извилистой траектории до цели.
А поможет нам в этом конечно же шум !
Для тех кто пропустил вводную часть — кликать сюда.
На самом деле, в этой задаче нет ничего сложного. Всё что нам необходимо сделать — это «подмешать» к углу вектора направления ракеты данные шума.
Для этого демо я создал сцену «noiseFrot» она же главная сцена, и сцену «rocket» которая представляет из себя префаб ракеты.
Ракета собрана на kinematicBody2D, для простоты управления.
Помимо этого в сцену я положил иконку цели в виде смайла . Назвал её как «mx». По сути это обычный area2d со спрайтом и колизией.
Код.
Накидываем на главную сцену скрипт. В нём мы создаем таймер, который каждые 0.5 сек стартует функцию. В ней мы создаем инстанс ракеты.
С колизии смайлика подключаем сигнал body_entered(). По нему просто удаляем то, что врезалось в смайл.
(для красоты я в этом месте еще установил анимацию взрыва )
Скрипт на ракете создает шум, и затем в «процессе» подмешивает его значение по оси «Х» к углу направления полета ракеты.
Угол направления у нас это угол указывающий на иконку смайла.
Заодно по этому же углу мы поворачиваем и сам спрайт, чтобы ракета «смотрела» по направлению полета.
И это всё. Можем настраивать плотность шума и подбирать нужный результат.
Надеюсь вам был полезен этот материал.
Подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !
#godot #gdscript #программирование #игровой движок #уроки