Up to date

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

Fonctions surchargeables

La classe Node de Godot fournit des fonctions virtuelles que vous pouvez surcharger pour mettre à jour les nœuds à chaque image ou lors d'événements spécifiques, comme lorsqu'ils entrent dans l'arbre de la scène.

Ce document présente celles que vous utiliserez le plus souvent.

Voir aussi

Sous le capot, ces fonctions s'appuient sur le système de notifications de bas niveau de Godot. Pour en savoir plus, consultez Notifications Godot.

Two functions allow you to initialize and get nodes besides the class's constructor: _enter_tree() and _ready().

Lorsque le noeud entre dans l'arbre de la scène, il devient actif et le moteur appelle sa méthode _enter_tree(). Les enfants de ce noeud peuvent ne pas encore faire partie de la scène active. Comme vous pouvez supprimer et réinsérer des nœuds dans l'arbre de scène, cette fonction peut être appelée plusieurs fois pendant la durée de vie d'un nœud.

Most of the time, you'll use _ready() instead. This function is called only once in a node's lifetime, after _enter_tree(). _ready() ensures that all children have entered the scene tree first, so you can safely call get_node() on them.

Voir aussi

Pour en savoir plus sur l'obtention de références de nœuds, lisez doc_nodes_et_scene_instances.

Another related callback is _exit_tree(), which the engine calls every time a node is about to exit the scene tree. This can be when you call Node.remove_child() or when you free a node.

# 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

Les deux méthodes virtuelles _process() et _physics_process() vous permettent de mettre à jour le noeud, chaque frame et chaque physics frame respectivement. Pour plus d'informations, lisez la documentation dédiée : doc_idle_et_physics_processing.

# Called every frame.
func _process(delta):
    pass

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

Two more essential built-in node callback functions are Node._unhandled_input() and Node._input(), which you use to both receive and process individual input events. The _unhandled_input() method receives every key press, mouse click, etc. that have not been handled already in an _input() callback or in a user interface component. You want to use it for gameplay input in general. The _input() callback allows you to intercept and process input events before _unhandled_input() gets them.

Pour en savoir plus sur les entrées dans Godot, consultez la section Input.

# 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

There are some more overridable functions like Node._get_configuration_warnings(). Specialized node types provide more callbacks like CanvasItem._draw() to draw programmatically or Control._gui_input() to handle clicks and input on UI elements.