Godot
November 5, 2022

Три ключевые сущности в Godot

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

Базовые сущности

Нода - это базовый строительный блок. У ноды есть:

  • Свои свойства и функции
  • Её можно расширять через наследование
  • Ноды можно вкладывать друг в друга

Сцена - это совокупность нод, собранных иерархически. Не расценивайте сцены в буквальном смысле - их можно использовать для чего угодно, если собираетесь это переиспользовать. Сценой может быть карта, персонаж, его атака, вся игра в целом - whatever

Скрипт - кусок кода с классом, который навешивается на ноду. В нём ты, собственно, пишешь, что с этой нодой будет происходить/что она будет делать


По сути процес пиления таков - создаёшь сцены, накидываешь туда всяких разных нод и навешиваешь на них скрипты, чтобы описать в них какие-то взаимодействия

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

Ну и скрипт юнита. В нём почти пусто, только статы. На самом деле это уже полноценно функционирующий персонаж, просто большая часть штук (таких как ходьба, использование скиллов, коллизии итд) описана в родительских классах (Rogue -> Player -> Unit).

И да, на красную строчку не обращайте внимание, редактор в Godot оставляет желать лучшего - тут он подсвечивает мол переменнная нигде не объявлена, хотя она есть у родительского класса