Funciones de auxiliares

La clase Node de Godot proporciona funciones virtuales que puedes sobrescribir para actualizar nodos en cada fotograma o en eventos específicos, como cuando entran en el árbol de escena.

Este documento presenta las funciones que utilizarás con mayor frecuencia.

Ver también

En el fondo, estas funciones se basan en el sistema de notificaciones de bajo nivel de Godot. Para obtener más información al respecto, consulta Notificaciones en Godot.

Dos funciones te permiten inicializar y obtener nodos, además del constructor de la clase: _enter_tree() y _ready().

Cuando el nodo entra en el árbol de escena, se vuelve activo y el motor llama a su método _enter_tree(). Los hijos de ese nodo pueden no ser parte de la escena activa aún. Dado que puedes quitar y volver a agregar nodos al árbol de escena, esta función puede ser llamada varias veces a lo largo de la vida de un nodo.

La mayoría de las veces, utilizarás _ready() en su lugar. Esta función solo se llama una vez en la vida de un nodo, después de _enter_tree(). _ready() asegura que todos los hijos hayan entrado primero en el árbol de escena, por lo que puedes llamar de manera segura a get_node() en ellos.

Ver también

Para obtener más información sobre cómo obtener referencias de nodos, lee Nodos y instancias de escenas.

Otro callback relacionado es _exit_tree(), que el motor llama cada vez que un nodo sale del árbol de escena. Esto puede suceder cuando llamas a Node.remove_child() o cuando liberas un nodo.

# Called every time the node enters the scene tree.
func _enter_tree():
    pass

# Called when both the node and its children have entered the scene tree.
func _ready():
    pass

# Called when the node is about to leave the scene tree, after all its
# children received the _exit_tree() callback.
func _exit_tree():
    pass

Los dos métodos virtuales _process() y _physics_process() te permiten actualizar el nodo, cada cuadro y cada cuadro de físicas, respectivamente. Para obtener más información, lee la documentación dedicada: Procesamiento en Reposo y Físico.

# Called every frame, as often as possible.
func _process(delta):
    pass

# Called every physics frame.
func _physics_process(delta):
    pass

Dos funciones de devolución de llamada integradas más esenciales son Node._unhandled_input() y Node._input(), que se utilizan para recibir y procesar eventos de entrada individuales. El método _unhandled_input() recibe cada pulsación de tecla, clic de mouse, etc., que aún no ha sido manejada en un callback de _input() o en un componente de interfaz de usuario. Es útil para el manejo de la entrada de jugabilidad en general. El callback _input() te permite interceptar y procesar eventos de entrada antes de que _unhandled_input() los reciba.

Para obtener más información sobre las entradas (inputs) en Godot, consulta la sección Entrada en la documentación.

# Called once for every event.
func _unhandled_input(event):
    pass

# Called once for every event, before _unhandled_input(), allowing you to
# consume some events.
func _input(event):
    pass

Hay algunas funciones más que se pueden sobrescribir, como Node._get_configuration_warning(). Los tipos de nodos especializados proporcionan más callbacks como CanvasItem._draw() para dibujar de manera programática o Control._gui_input() para manejar clics y entradas en elementos de la interfaz de usuario.