Найти тему
Игровой движок Godot engine

№132. Практика. «Пьяные» ракеты.

В данной статье разберемся с тем, как собрать такой тип ракет, которые летят по извилистой траектории до цели.

А поможет нам в этом конечно же шум !
Для тех кто пропустил вводную часть —
кликать сюда.

На самом деле, в этой задаче нет ничего сложного. Всё что нам необходимо сделать — это «подмешать» к углу вектора направления ракеты данные шума.

Для этого демо я создал сцену «noiseFrot» она же главная сцена, и сцену «rocket» которая представляет из себя префаб ракеты.
Ракета собрана на kinematicBody2D, для простоты управления.

Помимо этого в сцену я положил иконку цели в виде смайла . Назвал её как «mx». По сути это обычный area2d со спрайтом и колизией.

Код.

Накидываем на главную сцену скрипт. В нём мы создаем таймер, который каждые 0.5 сек стартует функцию. В ней мы создаем инстанс ракеты.

С колизии смайлика подключаем сигнал body_entered(). По нему просто удаляем то, что врезалось в смайл.
(для красоты я в этом месте еще установил анимацию взрыва )

код на сцене
код на сцене

Скрипт на ракете создает шум, и затем в «процессе» подмешивает его значение по оси «Х» к углу направления полета ракеты.
Угол направления у нас это угол указывающий на иконку смайла.

Заодно по этому же углу мы поворачиваем и сам спрайт, чтобы ракета «смотрела» по направлению полета.

скрипт на ракете
скрипт на ракете

И это всё. Можем настраивать плотность шума и подбирать нужный результат.

-4

Надеюсь вам был полезен этот материал.
Подписывайтесь на канал,
вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !

#godot #gdscript #программирование #игровой движок #уроки