Обзор ключевых концепций Godot¶
Каждый игровой движок основывается на абстракциях, которые используют для сборки приложений. В Godot игра это дерево узлов , которое группируют в сцены, которые могут обмениваться информацией с помощью сигналов.
Есть четыре основные концепции, с которыми вы познакомитесь. Мы рассмотрим их кратко, чтобы дать представление того, как работает движок. В цикле «Начало работы» вы воспользуетесь ими на практике.
Сцены¶
В Godot вы разбиваете свою игру на многократно используемые сцены. Сцена может быть персонажем, оружием, меню пользовательского интерфейса, отдельным домом, целым уровнем или всем, что вы можете придумать. Сцены Godot гибки; они одновременно выполняют роль префабов и сцен из некоторых других игровых движков.

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

Узлы¶
Сцена состоит их одного или большего числа узлов. Узлы — самые маленькие строительные блоки вашей игры, которые вы выстраиваете в деревья. Это пример узла, содержащего персонажа.

Он состоит из узла KinematicBody2D
, именуемого "Character", Sprite
, Camera2D
и CollisionShape2D
.
Примечание
Имена узлов заканчиваются на "2D" из-за того, что это 2D-сцена. Имена их аналогов в 3D заканчиваются на "3D".
Заметьте, как одинаково выглядят узлы и сцены в редакторе. Когда вы сохраняете древо узлов как сцену, она отображается одиночным узлом, внутренняя структура которого скрыта в редакторе.
Godot предоставляет обширную библиотеку базовых типов узлов, которые вы можете совмещать и расширять для создания более функциональных. 2D, 3D или пользовательский интерфейс — вы будете делать большинство вещей при помощи этих узлов.

Дерево сцены¶
Все сцены вашей игры собираются вместе в дереве сцены, буквально дереве из сцен. И, так как сцены — деревья узлов, дерево сцены также является деревом узлов. Но проще воспринимать вашу игру с точки зрения сцен, поскольку они могут представлять персонажей, оружие, двери или пользовательский интерфейс.

Сигналы¶
Узлы транслируют сигнал, когда происходит какое-то событие. Эта возможность позволяет задать взаимодействие узлов без жёсткого указания их в коде. Это даёт вам большую гибкость в структурировании сцен.

Примечание
Сигналы — это шаблон "наблюдателя" в исполнении Godot. Подробнее об этом можно прочитать здесь: https://gameprogrammingpatterns.com/observer.html
Например, кнопка испускает сигнал при нажатии. Вы можете подключить такой сигнал для выполнения кода в ответ на это событие, к примеру, для начала игры или открытия меню.
Другие встроенные сигналы могут сообщить вам о столкновении двух объектов, о том, что персонаж или монстр вошёл в заданную область, и многом другом. Вы также можете определить новые сигналы, адаптированные к вашей игре.
Подведение итогов¶
Узлы, сцены, дерево сцен и сигналы — четыре ключевых понятия а Godot, которыми вы будете оперировать постоянно.
Узлы — это самые маленькие строительные блоки вашей игры. Вы комбинируете их для создания сцен, которые, в свою очередь, объединяются и вкладываются в дерево сцен. Вы можете использовать сигналы для задания реакции узла на события в других узлах или различных ветвях дерева сцены.
После этого краткого обзора, вы, наверное, имеете множество вопросов. Потерпите, так как вы получите ответы на многие вопросы на протяжении цикла «Начало работы».