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

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

Вузли

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

../../_images/nodes_and_scenes_nodes.webp

Всі вузли мають наступні характеристики:

  • Ім'я.

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

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

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

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

Остання характеристика важлива. Вузли разом утворюють дерево, що є потужною функцією для організації проектів. Оскільки різні вузли мають різні функції, їх поєднання створює більш складну поведінку. Як ми бачили раніше, ви можете створити ігрового персонажа, за яким слідкує камера, використовуючи a CharacterBody2D вузол, a Sprite2D вузол, a Camera2D вузол, і вузол CollisionShape2D.

../../_images/nodes_and_scenes_character_nodes.webp

Сцени

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

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

../../_images/nodes_and_scenes_3d_scene_example.png

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

Окрім того, що сцени діють як вузли, вони мають наступні характеристики:

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

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

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

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

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

../../_images/nodes_and_scenes_01_empty_editor.webp

У порожній сцені док Сцена (Scene) ліворуч показує декілька варіантів швидкого додавання кореневого вузла. "2D Сцена" додає вузол Node2D, "3D Сцена" додає вузол Node3D, а "Інтерфейс користувача" додає вузол Control. Ці пресети наведено для зручності; вони не є обов'язковими. "Інший вузол" дозволяє вам вибрати будь-який вузол як кореневий вузол. У порожній сцені кнопка "Other Node" еквівалентна натисканню кнопки "Add Child Node" у верхньому лівому кутку дока Сцени, яка зазвичай додає новий вузол як дочірній до поточного вибраного вузла.

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

Натисніть кнопку «Додати дочірній вузол» або «Інший вузол», щоб створити кореневий вузол.

../../_images/nodes_and_scenes_02_scene_dock.webp

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

../../_images/nodes_and_scenes_03_create_node_window.webp

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

../../_images/nodes_and_scenes_04_create_label_window.webp

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

../../_images/nodes_and_scenes_05_editor_with_label.webp

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

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

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

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

../../_images/nodes_and_scenes_06_label_text.webp

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

Дивись також

Ви можете редагувати будь-яку властивість, указану в Інспекторі, як ми робили з Текстом. Щоб отримати повну довідку про панель Інспектор, перегляньте Інспектор.

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

../../_images/nodes_and_scenes_07_move_tool.webp

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

../../_images/nodes_and_scenes_08_hello_world_text.webp

Запуск сцени

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

../../_images/nodes_and_scenes_09_play_scene_button.webp

З'явиться спливаюче вікно із запрошенням зберегти сцену, що необхідно для її запуску. Натисніть кнопку Зберегти у браузері файлів, щоб зберегти її як label.tscn.

../../_images/nodes_and_scenes_10_save_scene_as.webp

Примітка

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

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

../../_images/nodes_and_scenes_11_final_result.webp

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

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

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

../../_images/nodes_and_scenes_12_play_button.webp

Примітка

Running the project's main scene is distinct from running the current scene. If you encounter unexpected behavior, check to ensure you are running the correct scene.

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

../../_images/nodes_and_scenes_13_main_scene_popup.webp

Натисніть кнопку Вибрати, і у діалоговому вікні, що з'явиться, двічі клацніть на label.tscn.

../../_images/nodes_and_scenes_14_select_main_scene.webp

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

Примітка

Редактор зберігає шлях до головної сцени у файлі project.godot у каталозі вашого проекту. Ви можете редагувати цей текстовий файл безпосередньо для зміни налаштувань проекту, але ви також можете скористатися вікном "Проект -> Налаштування проекту" для цього. Докладнішу інформацію наведено у Параметри проекту.

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