Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Nodi e Scene

Su Overview of Godot's key concepts, abbiamo visto che un gioco su Godot è un albero di scene e che ogni scena è un albero di nodi. In questa lezione, approfondiamo su di loro. Inoltre creerete la vostra prima scena.

Nodi

I nodi sono i blocchi fondamentali del tuo gioco. Sono come ingredienti in una ricetta. Ci sono dozzine di tipi che possono mostrare un’immagine, riprodurre un suono, rappresentare una camera, e molto altro.

../../_images/nodes_and_scenes_nodes.webp

All nodes have the following characteristics:

  • Un nome.

  • Proprietà modificabili.

  • They receive callbacks to update every frame.

  • You can extend them with new properties and functions.

  • You can add them to another node as a child.

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 the camera follows using a CharacterBody2D node, a Sprite2D node, a Camera2D node, and a CollisionShape2D node.

../../_images/nodes_and_scenes_character_nodes.webp

Scene

Quando organizzi nodi in un albero, come il nostro personaggio, possiamo chiamare questa formazione una scena. Una volta salvata, la scena si presenta come un nuovo nodo nell’editor, dove possiamo aggiungerlo come figlio di un nodo esistente. In questo caso, l’istanza della scena appare come nodo singolo con interni nascosti.

Le scene di consentono di strutturare il codice del gioco in qualunque modo tu voglia. Puoi comporre nodi per creare nodi personalizzati e complessi, come un personaggio di gioco che si muove e salta, una barra della vita, una cesta con cui puoi interagire, e molto altro.

../../_images/nodes_and_scenes_3d_scene_example.png

The Godot editor essentially is a scene editor. It has plenty of tools for editing 2D and 3D scenes, as well as user interfaces. A Godot project can contain as many of these scenes as you need. The engine only requires one as your application's main scene. This is the scene Godot will first load when you or a player runs the game.

On top of acting like nodes, scenes have the following characteristics:

  1. Essi hanno sempre un nodo radice, come il "Personaggio" nel nostro esempio.

  2. You can save them to your local drive and load them later.

  3. You can create as many instances of a scene as you'd like. You could have five or ten characters in your game, created from your Character scene.

Creating your first scene

Let's create our first scene with a single node. To do so, you will need to create a new project first. After opening the project, you should see an empty 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.

We're going to add a single Label node to our scene. Its function is to draw text on the screen.

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

../../_images/nodes_and_scenes_02_scene_dock.webp

The Create Node dialog opens, showing the long list of available nodes.

../../_images/nodes_and_scenes_03_create_node_window.webp

Seleziona il nodo Label. Puoi scrivere il suo nome per filtrarlo sulla lista.

../../_images/nodes_and_scenes_04_create_label_window.webp

Clicca sul nodo Label per selezionarlo e clicca il pulsante Crea nella parte inferiore della finestra.

../../_images/nodes_and_scenes_05_editor_with_label.webp

Molto accade quando aggiungi il primo nodo di una scena. La scena cambia dal piano di lavoro 2D perchè Label è un nodo di tipo 2D. Il Label appare, selezionato, nel bordo in alto a sinistra del Viewport. Il nodo appare nel riquadro Scene sulla sinistra, e le proprietà del nodo appaiono nel pannello Inspector sulla destra.

Changing a node's properties

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

Muoviti sul riquadro Inspector sulla destra del Viewport. Clicca dentro il campo sotto la proprietà Testo e scrivi "Hello World".

../../_images/nodes_and_scenes_06_label_text.webp

You will see the text draw in the viewport as you type.

Vedi anche

You can edit any property listed in the Inspector as we did with the Text. For a complete reference of the Inspector dock, see The Inspector.

Puoi muovere il tuo nodo Label nel Viewport selezionando lo strumento muovi nella barra degli strumenti.

../../_images/nodes_and_scenes_07_move_tool.webp

Con la Label selezionata, premi e trascina ovunque nel Viewport per muoverlo al centro della vista delimitata dal rettangolo.

../../_images/nodes_and_scenes_08_hello_world_text.webp

Running the scene

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

Nota

La finestra di dialogo Salva scena con nome, come le altre finestre di dialogo dei file nell'editor, consente di salvare i file solo all'interno del progetto. Il percorso res:// in cima alla finestra rappresenta la directory principale del progetto e sta per "percorso delle risorse". Per ulteriori informazioni sui percorsi dei file in Godot, vedere File system.

The application should open in a new window and display the text "Hello World".

../../_images/nodes_and_scenes_11_final_result.webp

Close the window or press F8 (Cmd + . on macOS) to quit the running scene.

Setting the main scene

Per eseguire la nostra scena di prova, abbiamo utilizzato il pulsante Riproduci scena. Un altro pulsante accanto consente di impostare ed eseguire la scena principale del progetto. Per farlo, si può premere F5 (Cmd + B su macOS).

../../_images/nodes_and_scenes_12_play_button.webp

A popup window appears and invites you to select the main scene.

../../_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

The demo should run again. Moving forward, every time you run the project, Godot will use this scene as a starting point.

Nota

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 Impostazioni del progetto.

In the next part, we will discuss another key concept in games and in Godot: creating instances of a scene.