Вузли та Сцени

У Огляд ключових понять Godot ми побачили, що гра Godot — це дерево сцен, а кожна сцена — це дерево вузлів. У цьому уроці ми розповімо про них трохи більше. Ви також створите свою першу сцену.

Вузли

Вузли є основними будівельними блоками вашої гри. Вони як інгредієнти в рецепті. Існують десятки видів вузлів, які можуть демонструвати зображення, відтворювати звук, імітувати камеру та багато іншого.

../../_images/nodes_and_scenes_nodes.png

Усі вузли мають такі властивості:

  • Ім'я.

  • Властивості, які можна редагувати.

  • Вони отримують зворотні виклики для оновлення кожного кадру.

  • Ви можете розширити їх за допомогою нових властивостей і функцій.

  • Ви можете додати їх до іншого вузла як нащадків.

Останній атрибут є ключовим. Разом вузли утворюють дерево, яке є потужною функцією для організації проектів. Оскільки різні вузли мають різні функції, їх поєднання призводить до складнішої поведінки. Як ми бачили раніше, ви можете створити ігрового персонажа, за яким слідує камера, використовуючи кінематичний вузол тіла під назвою "Персонаж", вузол спрайтів, вузол камери та вузол форми зіткнення.

../../_images/nodes_and_scenes_character_nodes.png

Сцени

Коли ви організуєте вузли в дереві, як наш персонаж, ми називаємо цю конструкцію сценою. Після збереження сцени працюють як нові типи вузлів у редакторі, куди ви можете додати їх як нащадків до існуючого вузла. У цьому випадку екземпляр сцени з’явиться як вузол із прихованим внутрішнім елементом.

Сцени дозволяють структурувати код вашої гри так, як ви хочете. Ви можете компонувати вузли, щоб створювати власні та складні типи вузлів, як-от ігрового персонажа, який бігає і стрибає, панель життя, скриню, з якою ви можете взаємодіяти, тощо.

../../_images/nodes_and_scenes_3d_scene_example.png

Редактор Godot по суті є редактором сцен. Він має безліч інструментів для редагування 2D і 3D сцен, а також інтерфейс користувача. Проект Godot може містити стільки цих сцен, скільки вам потрібно. Але рушію потрібна лише одна - головна сцена вашої програми. Це сцена, яку Godot вперше завантажить, коли ви або гравець запускаєте гру.

Крім вузлів, сцени мають такі властивості:

  1. Вони завжди мають один кореневий вузол, як «Персонаж» у нашому прикладі.

  2. Ви можете зберегти їх на жорсткому диску та завантажити пізніше.

  3. Ви можете створити стільки екземплярів сцени, скільки забажаєте. Ви можете мати п’ять або десять персонажів у вашій грі, створених зі сцени персонажа.

Створення першої сцени

Давайте створимо нашу першу сцену з одним вузлом. Для цього спочатку потрібно створити новий проект. Після відкриття проекту ви повинні побачити порожній редактор.

../../_images/nodes_and_scenes_01_empty_editor.png

In an empty scene, the Scene dock on the left shows several options to add a root node quickly. "2D Scene" adds a Node2D node, "3D Scene" adds a Spatial node, and "User Interface" adds a Control node. These presets are here for convenience; they are not mandatory. "Other Node" lets you select any node to be the root node. In an empty scene, "Other Node" is equivalent to pressing the "Add Child Node" button at the top-left of the Scene dock, which usually adds a new node as a child of the currently selected node.

Ми збираємося додати один вузол Label до нашої сцени. Його функція — відобразити текст на екрані.

Press the "Add Child Node" button or "Other Node" to create a root node.

../../_images/nodes_and_scenes_02_scene_dock.png

Відкриється діалогове вікно Створення вузла, у якому буде показано довгий список доступних вузлів.

../../_images/nodes_and_scenes_03_create_node_window.png

Виберіть вузол Label (Node/CanvasItem/Control/Label). Ви також можете ввести його назву, щоб відфільтрувати список.

../../_images/nodes_and_scenes_04_create_label_window.png

Натисніть на вузол Label, щоб вибрати його, і натисніть внизу вікна кнопку Створити.

../../_images/nodes_and_scenes_05_editor_with_label.png

Багато чого відбувається, коли ви додаєте перший вузол сцени. Сцена змінюється на 2D робочу область, оскільки Label є типом 2D вузла. Вибрана мітка з’являється у верхньому лівому куті вікна перегляду. Вузол з’являється на панелі «Сцена» зліва, а властивості вузла – на панелі «Інспектор» праворуч.

Зміна властивостей вузла

Наступним кроком буде зміна властивості мітки "Text". Давайте змінимо її на "Hello World".

Перейдіть до панелі Інспектор праворуч від вікна перегляду. Клацніть всередині поля під властивістю Text і введіть «Hello World».

../../_images/nodes_and_scenes_06_label_text.png

Ви побачите відображення тексту у вікні перегляду під час введення.

Ви можете перемістити вузол мітки у вікні перегляду, вибравши інструмент переміщення на панелі інструментів.

../../_images/nodes_and_scenes_07_move_tool.png

Вибравши мітку, клацніть і перетягніть у будь-яке місце у вікні перегляду, щоб перемістити її до центру перегляду, обмеженого прямокутником.

../../_images/nodes_and_scenes_08_hello_world_text.png

Запуск сцени

Everything's ready to run the scene! Press the Play Scene button in the top-right of the screen or press F6 (Cmd + R on macOS).

../../_images/nodes_and_scenes_09_play_scene_button.png

Спливаюче вікно пропонує вам зберегти сцену, яку потрібно запустити.

../../_images/nodes_and_scenes_10_save_scene_popup.png

Натисніть кнопку Так і в браузері файлів, що з’явиться, натисніть кнопку Зберегти, щоб зберегти її як «Label.tscn».

../../_images/nodes_and_scenes_11_save_scene_as.png

Примітка

Діалогове вікно «Зберегти сцену як», як і інші файлові діалогові вікна в редакторі, дозволяє зберігати файли лише всередині проекту. Шлях res:// у верхній частині вікна представляє кореневий каталог проекту і означає "шлях ресурсу". Для отримання додаткової інформації про шляхи до файлів у Godot див. Файлова система.

Програма повинна відкритися в новому вікні і відобразити текст «Hello World».

../../_images/nodes_and_scenes_12_final_result.png

Закрийте вікно або натисніть F8, щоб вийти з запущеної сцени.

Примітка

Якщо це не спрацює, і у вас є дисплей hiDPI принаймні на одному з моніторів, перейдіть в Проєкт → Параметри проєкту → Дисплей → Вікно, а потім увімкніть Дозволити Hidpi у підрозділі Dpi.

Встановлення головної сцени

To run our test scene, we used the Play Scene button. Another button next to it allows you to set and run the project's main scene. You can press F5 (Cmd + B on macOS) to do so.

../../_images/nodes_and_scenes_13_play_button.png

З’явиться спливаюче вікно з пропозицією вибрати головну сцену.

../../_images/nodes_and_scenes_14_main_scene_popup.png

Натисніть кнопку Виділити, а потім у діалоговому вікні файлу, що з’явиться, двічі клацніть Label.tscn.

../../_images/nodes_and_scenes_15_select_main_scene.png

Демонстрація має запуститися знову. Щоразу, коли ви запускаєте проект, Godot використовуватиме цю сцену як відправну точку.

Примітка

Редактор зберігає шлях до основної сцени у файлі project.godot у каталозі вашого проекту. Хоча ви можете безпосередньо редагувати цей текстовий файл, щоб змінити налаштування проекту, ви також можете використовувати для цього вікно «Проект -> Параметри проекту».

У наступній частині ми обговоримо ще одну ключову концепцію в іграх і в Godot: створення екземплярів сцени.