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.

Nodos y Escenas

En Breve introducción de los conceptos clave de Godot, vimos que un juego de Godot es un árbol de escenas y que cada escena es un árbol de nodos. En esta lección, explicamos un poco más sobre ellos. También crearás tu primera escena.

Nodos

Los nodos son los bloques de construcción fundamentales de tu juego. Son como los ingredientes de una receta. Hay docenas de tipos que pueden mostrar una imagen, reproducir un sonido, representar una cámara y mucho más.

../../_images/nodes_and_scenes_nodes.webp

All nodes have the following characteristics:

  • Un nombre.

  • Propiedades editables.

  • Ellos reciben callbacks para actualizar cada fotograma.

  • Puedes extenderlos con nuevas propiedades y funciones.

  • Puedes agregarlos a otro nodo como un hijo.

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 named "Character", a Sprite2D node, a Camera2D node, and a CollisionShape2D node.

../../_images/nodes_and_scenes_character_nodes.webp

Escenas

Cuando organiza los nodos en un árbol, como nuestro personaje, llamamos a esta construcción una escena. Una vez guardadas, las escenas funcionan como nuevos tipos de nodos en el editor, donde puede agregarlos como elementos secundarios de un nodo existente. En ese caso, la instancia de la escena aparece como un solo nodo con sus partes internas ocultas.

Las escenas te permiten estructurar el código de tu juego como quieras. Puedes componer nodos para crear tipos de nodos personalizados y complejos, como un personaje de juego que corre y salta, una barra de vida, un cofre con el que puedes interactuar y más.

../../_images/nodes_and_scenes_3d_scene_example.png

El editor de Godot es esencialmente un editor de escenas. Tiene muchas herramientas para editar escenas 2D y 3D, así como interfaces de usuario. Un proyecto de Godot puede contener tantas de estas escenas como necesites. El motor solo requiere una como escena principal de su aplicación. Esta es la escena que Godot cargará primero cuando tú o un jugador ejecuten el juego.

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

  1. Siempre tienen un nodo raíz, como el "Character" en nuestro ejemplo.

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

  3. Puede crear tantas instancias de una escena como desee. Podrías tener cinco o diez personajes en tu juego, creados a partir de tu escena Character.

Creando tu primera escena

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.

Presione el botón "Agregar nodo hijo" u "Otro nodo" para crear un nodo raíz.

../../_images/nodes_and_scenes_02_scene_dock.webp

Se abre el cuadro de diálogo Crear Nodo, mostrando una larga lista de nodos disponibles.

../../_images/nodes_and_scenes_03_create_node_window.webp

Seleccione el nodo Label. Puede escribir su nombre para filtrar la lista.

../../_images/nodes_and_scenes_04_create_label_window.webp

Haga clic en el nodo Label para seleccionarlo y haga clic en el botón Crear en la parte inferior de la ventana.

../../_images/nodes_and_scenes_05_editor_with_label.webp

Suceden muchas cosas cuando agregas el primer nodo de una escena. La escena cambia al espacio de trabajo 2D porque Label es un tipo de nodo 2D. El Label aparece seleccionado en la esquina superior izquierda del viewport. El nodo aparece en el panel de Escena en la izquierda, y las propiedades del nodo aparecen en el panel del Inspector en la derecha.

Cambiar las propiedades de un nodo

El siguiente paso es cambiar la propiedad "Text" del Label. Vamos a cambiarlo por "¡Hola Mundo!".

Dirígete al muelle Inspector a la derecha del viewport. Haga clic dentro del campo debajo de la propiedad Texto y escriba "Hola mundo".

../../_images/nodes_and_scenes_06_label_text.webp

Verá el dibujo del texto en la ventana gráfica a medida que escribe.

Ver también

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

Puede mover su nodo Label en la ventana gráfica seleccionando la herramienta de movimiento en la barra de herramientas.

../../_images/nodes_and_scenes_07_move_tool.webp

Con la etiqueta seleccionada, haga clic y arrastre en cualquier lugar de la ventana gráfica para moverla al centro de la vista delimitada por el rectángulo.

../../_images/nodes_and_scenes_08_hello_world_text.webp

Ejecutar la escena

Todo está listo para ejecutar la escena. Presione el botón Reproducir Escena en la barra superior derecha de la pantalla o presiona F6.

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

El cuadro de diálogo Guardar escena como, al igual que otros cuadros de diálogo de archivo en el editor, solo le permite guardar archivos dentro del proyecto. La ruta res:// en la parte superior de la ventana representa el directorio raíz del proyecto y significa "ruta del recurso". Para obtener más información sobre las rutas de archivos en Godot, consulte Sistema de archivos.

La aplicación debería abrirse en una nueva ventana y mostrar el texto "Hello World".

../../_images/nodes_and_scenes_11_final_result.webp

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

Configurando la escena principal

Para ejecutar nuestra escena de prueba, usamos el botón Reproducir escena. Otro botón al lado le permite configurar y ejecutar la escena principal del proyecto. Puede presionar F5 para hacerlo.

../../_images/nodes_and_scenes_12_play_button.webp

Aparece una ventana emergente que le invita a seleccionar la escena principal.

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

La demostración debería volver a ejecutarse. En el futuro, cada vez que ejecutes el proyecto, Godot usará esta escena como punto de partida.

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 Configuración del proyecto.

En la siguiente parte, discutiremos otro concepto clave en los juegos y en Godot: crear instancias de una escena.