Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
NodePath¶
A pre-parsed scene tree path.
Description¶
A pre-parsed relative or absolute path in a scene tree, for use with Node.get_node and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For example, "Path2D/PathFollow2D/Sprite2D:texture:size"
would refer to the size
property of the texture
resource on the node named "Sprite2D"
, which is a child of the other named nodes in the path.
You will usually just pass a string to Node.get_node and it will be automatically converted, but you may occasionally want to parse a path ahead of time with NodePath or the literal syntax ^"path"
. Exporting a NodePath variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
A NodePath is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.
Some examples of NodePaths include the following:
# No leading slash means it is relative to the current node.
^"A" # Immediate child A
^"A/B" # A's child B
^"." # The current node.
^".." # The parent node.
^"../C" # A sibling node C.
^"../.." # The grandparent node.
# A leading slash means it is absolute from the SceneTree.
^"/root" # Equivalent to get_tree().get_root().
^"/root/Main" # If your main scene's root node were named "Main".
^"/root/MyAutoload" # If you have an autoloaded node or scene.
See also StringName, which is a similar concept for general-purpose string interning.
Note: In the editor, NodePath properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime.
Note: In a boolean context, a NodePath will evaluate to false
if it is empty (NodePath("")
). Otherwise, a NodePath will always evaluate to true
.
Примечание
There are notable differences when using this API with C#. See API различия C# и GDScript for more information.
Tutorials¶
Constructors¶
NodePath ( ) |
|
Methods¶
get_as_property_path ( ) const |
|
get_concatenated_names ( ) const |
|
get_concatenated_subnames ( ) const |
|
get_name_count ( ) const |
|
get_subname ( int idx ) const |
|
get_subname_count ( ) const |
|
hash ( ) const |
|
is_absolute ( ) const |
|
is_empty ( ) const |
Operators¶
operator != ( NodePath right ) |
|
operator == ( NodePath right ) |
Constructor Descriptions¶
NodePath NodePath ( )
Constructs an empty NodePath.
NodePath NodePath ( NodePath from )
Constructs a NodePath as a copy of the given NodePath. NodePath("example")
is equivalent to ^"example"
.
NodePath NodePath ( String from )
Creates a NodePath from a string, e.g. "Path2D/PathFollow2D/Sprite2D:texture:size"
. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, "."
and ".."
indicate the current node and its parent.
The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested.
Examples of vali