Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Uzly a scény

V Přehled klíčových konceptů Godotu jsme viděli, že hra je v Godotu stromem scén a že každá scéna je stromem uzlů. V této lekci si o nich řekneme trochu více a také si vytvoříte svou první scénu.

Uzly

Uzly jsou základní stavební kameny vaší hry. Jsou něco jako ingredience v receptu, skládáte je dohromady, abyste z nich získali celek, který je zajímavější, než ony samotné. Uzlů jsou desítky druhů. Některé dokážou zobrazit obrázek, jiné přehrát zvuk, reprezentovat kameru a mnoho dalšího.

../../_images/nodes_and_scenes_nodes.webp

Všechny uzly mají následující atributy:

  • Název.

  • Vlastnosti, které lze upravovat.

  • V každém snímku hry mohou obdržet pokyn ke spuštění funkcí zpětného volání a reagovat tak na různé události.

  • Můžete je rozšířit o nové vlastnosti a funkce.

  • Lze je přidat jinému uzlu jako potomka.

The last characteristic is important. Together, nodes form a tree, which is a powerful feature to organize projects. Since different nodes have different functions, combining them produces more complex behavior. As we saw before, you can build a playable character that the camera follows using a CharacterBody2D node, a Sprite2D node, a Camera2D node, and a CollisionShape2D node.

../../_images/nodes_and_scenes_character_nodes.webp

Scény

Uzly uspořádané do stromové struktury, jako je třeba naše postava, nazýváme scénou. Scény, které uložíte, fungují v editoru jako nové typ uzlu, které lze přidat jako potomka existujících uzlů. V takovém případě se instance scény zobrazí jako jediný uzel, jehož vnitřní struktura zůstává skrytá.

Scény vám umožňují strukturovat kód hry podle vlastních představ. Můžete uzly skládat a vytvářet tak vlastní a složitější typy uzlů – například herní postavu, která běhá a skáče, ukazatel životů, interaktivní truhlu a podobně.

../../_images/nodes_and_scenes_3d_scene_example.webp

Editor Godotu je v podstatě editorem scén. Disponuje množstvím nástrojů pro práci s 2D a 3D scénami a také pro tvorbu uživatelských rozhraní. Projekt v Godotu může obsahovat libovolný počet scén. Engine vždy vyžaduje pouze jednu hlavní scénu, která se načte jako první, když hru někdo spustí.

Kromě toho, že se chovají jako uzly, mají scény tyto vlastnosti:

  1. Vždy mají právě jeden kořenový uzel, kterým je v našem příkladu "Hráč".

  2. Lze je uložit na disk a později znovu načíst.

  3. Můžete vytvořit libovolný počet instancí jedné scény. Můžete tak ve hře mít pět nebo deset postav vytvořených ze scény Postava.

Tvoříme první scénu

Vytvořme naši první scénu s jediným uzlem. K tomu nejdříve musíte vytvořit nový projekt. Po jeho otevření byste měli vidět prázdný editor.

../../_images/nodes_and_scenes_01_empty_editor.webp

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 Node3D 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.

Do naší scény přidáme jeden uzel typu Label ("popisek"). Ten slouží pro vykreslování textu na obrazovku.

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

../../_images/nodes_and_scenes_02_scene_dock.webp

Otevře se dialogové okno Vytvořit nový uzel s dlouhým seznamem dostupných uzlů.

../../_images/nodes_and_scenes_03_create_node_window.webp

Vyberte uzel Label. Pro snazší vyhledávání můžete seznam filtrovat zadáním jeho názvu do vyhledávacího pole.

../../_images/nodes_and_scenes_04_create_label_window.webp

Click on the Label node to select it and click the Create button at the bottom of the window.

../../_images/nodes_and_scenes_05_editor_with_label.webp

Při přidání prvního uzlu do scény se odehraje řada akcí: scéna se automaticky přepne do 2D pracovního prostoru, protože Label je 2D uzel. Label se objeví, označený, v levém horním rohu průzoru. Uzel se zobrazí v levém doku Scéna a jeho vlastnosti v doku Inspektor napravo.

Změna vlastností uzlu

The next step is to change the Label's Text property. Let's change it to "Hello World".

Head to the Inspector dock on the right of the viewport. Click inside the field below the Text property and type "Hello World".

../../_images/nodes_and_scenes_06_label_text.webp

Text v průzoru se změní okamžitě, jakmile začnete psát.

Viz také

Tak jako jsme upravili Text, můžete změnit jakoukoli vlastnost uvedenou v Inspektoru. Úplný přehled o doku Inspektor naleznete v části Inspector Dock.

Uzel Label můžete v průzoru přesunout výběrem nástroje Přesunout v panelu nástrojů.

../../_images/nodes_and_scenes_07_move_tool.webp

Zatímco máte popisek vybraný, klikněte kamkoli do průzoru a táhněte myší, abyste jej přemístili do středu zobrazení vymezeného obdélníkem.

../../_images/nodes_and_scenes_08_hello_world_text.webp

Spuštění scény

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

A popup invites you to save the scene, which is required to run it. Click the Save button in the file browser to save it as label.tscn.

../../_images/nodes_and_scenes_10_save_scene_as.webp

Poznámka

The Save Scene As dialog, like other file dialogs in the editor, only allows you to save files inside the project. The res:// path at the top of the window represents the project's root directory and stands for "resource path". For more information about file paths in Godot, see Souborový systém.

Aplikace by se měla otevřít v novém okně a zobrazit text "Ahoj světe".

../../_images/nodes_and_scenes_11_final_result.webp

Scénu můžete ukončit zavřením okna nebo stisknutím F8 (Cmd + . na macOS).

Viz také

See Game embedding for more information about the Game window that appears when running the project.

Nastavení hlavní scény

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

Poznámka

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.

Objeví se dialogové okno s výzvou k výběru hlavní scény.

../../_images/nodes_and_scenes_13_main_scene_popup.webp

Click the Select button, and in the file dialog that appears, double click on label.tscn.

../../_images/nodes_and_scenes_14_select_main_scene.webp

Demo by se mělo spustit znovu. Od této chvíle Godot při spuštění projektu vždy použije právě tuto scénu jako výchozí.

Poznámka

The editor saves the main scene's path in a project.godot file in your project's directory. While you can edit this text file directly to change project settings, you can also use the Project > Project Settings window to do so. For more information, see Nastavení projektu.

V příští části probereme další klíčový koncept ve hrách a Godotu: vytváření instancí scén.