Nœuds et scènes

Dans Aperçu des concepts clés de Godot, nous avons vu qu'un jeu Godot est un arbre de scènes et que chaque scène est un arbre de nœuds. Dans cette leçon, nous en expliquons un peu plus à leur sujet. Vous allez également créer votre première scène.

Nœuds

Les nœuds sont les éléments fondamentaux de votre jeu. Ils sont comme les ingrédients d'une recette. Il en existe des dizaines de types qui peuvent afficher une image, jouer un son, représenter une caméra, et bien plus encore.

../../_images/nodes_and_scenes_nodes.png

Tous les nœuds ont les attributs suivants :

  • Un nom.

  • Propriétés modifiables.

  • Ils reçoivent des callbacks pour mettre à jour chaque image.

  • Vous pouvez les étendre avec de nouvelles propriétés et fonctions.

  • Vous pouvez les ajouter à un autre nœud en tant qu’enfant.

Le dernier attribut est essentiel. Ensemble, les nœuds forment un arbre, qui est une fonctionnalité puissante pour organiser les projets. Les différents nœuds ayant des fonctions différentes, leur combinaison permet d'obtenir un comportement plus complexe. Comme nous l'avons vu précédemment, vous pouvez construire un personnage jouable que la caméra suit en utilisant un nœud corps cinématique nommé "Character", un nœud sprite, un nœud caméra et un nœud forme de collision.

../../_images/nodes_and_scenes_character_nodes.png

Les scènes

Lorsque vous organisez des nœuds dans un arbre, comme notre personnage, nous appelons cette construction une scène. Une fois enregistrées, les scènes fonctionnent comme de nouveaux types de nœuds dans l'éditeur, où vous pouvez les ajouter comme enfant d'un nœud existant. Dans ce cas, l'instance de la scène apparaît comme un nœud unique dont les éléments internes sont cachés.

Les scènes vous permettent de structurer le code de votre jeu comme vous le souhaitez. Vous pouvez composer des nœuds pour créer des types de nœuds personnalisés et complexes, comme un personnage de jeu qui court et saute, une barre de vie, un coffre avec lequel vous pouvez interagir, et plus encore.

../../_images/nodes_and_scenes_3d_scene_example.png

L'éditeur Godot est essentiellement un éditeur de scènes. Il dispose de nombreux outils pour éditer des scènes 2D et 3D, ainsi que des interfaces utilisateur. Un projet Godot peut contenir autant de ces scènes que vous le souhaitez. Le moteur n'en requiert qu'une seule, la scène principale de votre application. Il s'agit de la scène que Godot charge en premier lorsque vous ou un joueur lance le jeu.

En plus d'agir comme des nœuds, les scènes possèdent les attributs suivants :

  1. Ils ont toujours un nœud racine, comme le "Character" dans notre exemple.

  2. Vous pouvez les enregistrer sur votre disque dur et les charger plus tard.

  3. Vous pouvez créer autant d’instances d’une scène que vous le souhaitez. Vous pouvez avoir cinq ou dix personnages dans votre jeu, créés à partir de votre scène Character.

Créer votre première scène

Créons notre première scène avec un seul nœud. Pour ce faire, vous devez d'abord créer un nouveau projet. Après avoir ouvert le projet, vous devriez voir un éditeur vide.

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

Nous allons ajouter un seul nœud Label à notre scène. Sa fonction est de dessiner du texte à l'écran.

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

../../_images/nodes_and_scenes_02_scene_dock.png

La boîte de dialogue Créer un Nœud s'ouvre et affiche la longue liste des nœuds disponibles.

../../_images/nodes_and_scenes_03_create_node_window.png

Sélectionnez le nœud Label. Vous pouvez taper son nom pour filtrer la liste.

../../_images/nodes_and_scenes_04_create_label_window.png

Cliquez sur le nœud Label pour le sélectionner et cliquez sur le bouton Créer en bas de la fenêtre.

../../_images/nodes_and_scenes_05_editor_with_label.png

Il se passe beaucoup de choses lorsque vous ajoutez le premier nœud d’une scène. La scène passe à l'espace de travail 2D car le Label est un type de nœud 2D. Le Label apparaît, sélectionnée, dans le coin supérieur gauche de la fenêtre d'affichage. Le nœud apparaît dans le dock scène, à gauche, et les propriétés du nœud apparaissent dans le dock de l'inspecteur, à droite.

Modification des propriétés d'un nœud

L'étape suivante consiste à modifier la propriété "Text" du Label. Changeons-la en "Hello World".

Allez dans le dock de l'inspecteur à droite de la fenêtre d'affichage. Cliquez dans le champ situé sous la propriété Text et tapez "Hello World".

../../_images/nodes_and_scenes_06_label_text.png

Vous verrez le texte se dessiner dans la fenêtre d'affichage au fur et à mesure que vous tapez.

Vous pouvez déplacer votre nœud Label dans la fenêtre d'affichage en sélectionnant l'outil de déplacement dans la barre d'outils.

../../_images/nodes_and_scenes_07_move_tool.png

Lorsque Label est sélectionné, cliquez et glissez n'importe où dans la fenêtre d'affichage pour le déplacer au centre de la vue délimitée par le rectangle.

../../_images/nodes_and_scenes_08_hello_world_text.png

Exécution de la scène

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

Une popup vous invite à sauvegarder la scène, ce qui est nécessaire pour l'exécuter.

../../_images/nodes_and_scenes_10_save_scene_popup.png

Cliquez sur le bouton Oui, et dans le navigateur de fichiers qui apparaît, appuyez sur le bouton Enregistrer pour le sauvegarder sous le nom de "Label.tscn".

../../_images/nodes_and_scenes_11_save_scene_as.png

Note

La boîte de dialogue Enregistrer la scène sous, comme les autres boîtes de dialogue de fichiers de l'éditeur, ne permet d'enregistrer des fichiers qu'à l'intérieur du projet. Le chemin res:// en haut de la fenêtre représente le répertoire racine du projet et signifie "resource path". Pour plus d'informations sur les chemins de fichiers dans Godot, voir Le système de fichiers.

L'application doit s'ouvrir dans une nouvelle fenêtre et afficher le texte "Hello World".

../../_images/nodes_and_scenes_12_final_result.png

Fermez la fenêtre ou appuyez sur F8 pour quitter la scène en cours d’exécution.

Note

Si jamais cela n'a pas fonctionné et que vous avez au moins un écran compatible hiDPI, allez dans Projet → Paramètres du projet → Display → Window puis activer Allow Hidpi dans la catégorie Dpi.

Mise en place de la scène principale

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

Une fenêtre popup apparaît et vous invite à sélectionner la scène principale.

../../_images/nodes_and_scenes_14_main_scene_popup.png

Cliquez sur le bouton Sélectionner et, dans la boîte de dialogue qui s'affiche, double-cliquez sur Label.tscn.

../../_images/nodes_and_scenes_15_select_main_scene.png

La démo devrait fonctionner à nouveau. À l'avenir, chaque fois que vous exécuterez le projet, Godot utilisera cette scène comme point de départ.

Note

L'éditeur enregistre le chemin de la scène principale dans un fichier project.godot dans le répertoire de votre projet. Bien que vous puissiez modifier ce fichier texte directement pour changer les paramètres du projet, vous pouvez également utiliser la fenêtre "Projet -> Paramètres du projet..." pour le faire.

Dans la prochaine partie, nous aborderons un autre concept clé dans les jeux et dans Godot : la création d'instances d'une scène.