结点

继承: Object

继承人: AnimationPlayerAnimationTreeAnimationTreePlayerAudioStreamPlayerCanvasItemCanvasLayerEditorFileSystemEditorInterfaceEditorPluginEditorResourcePreviewHTTPRequestInstancePlaceholderResourcePreloaderSkeletonIKSpatialTimerTweenViewportWorldEnvironment

类别: 核心

简要说明

所有的基类 场景 物体。

方法

无效

_enter_tree ( ) virtual

无效

_exit_tree ( ) virtual

String

_get_configuration_warning ( ) virtual

无效

_input ( InputEvent event ) virtual

无效

_physics_process ( float delta ) virtual

无效

_process ( float delta ) virtual

无效

_ready ( ) virtual

无效

_unhandled_input ( InputEvent event ) virtual

无效

_unhandled_key_input ( InputEventKey event ) virtual

无效

add_child ( Node node, bool legible_unique_name=false )

无效

add_child_below_node ( Node node, Node child_node, bool legible_unique_name=false )

无效

add_to_group ( String group, bool persistent=false )

bool

can_process ( ) const

Node

duplicate ( int flags=15 ) const

Node

find_node ( String mask, bool recursive=true, bool owned=true ) const

Node

find_parent ( String mask ) const

Node

get_child ( int idx ) const

int

get_child_count ( ) const

Array

get_children ( ) const

Array

get_groups ( ) const

int

get_index ( ) const

int

get_network_master ( ) const

Node

get_node ( NodePath path ) const

Array

get_node_and_resource ( NodePath path )

Node

get_node_or_null ( NodePath path ) const

Node

get_parent ( ) const

NodePath

get_path ( ) const

NodePath

get_path_to ( Node node ) const

float

get_physics_process_delta_time ( ) const

int

get_position_in_parent ( ) const

float

get_process_delta_time ( ) const

bool

get_scene_instance_load_placeholder ( ) const

SceneTree

get_tree ( ) const

Viewport

get_viewport ( ) const

bool

has_node ( NodePath path ) const

bool

has_node_and_resource ( NodePath path ) const

bool

is_a_parent_of ( Node node ) const

bool

is_displayed_folded ( ) const

bool

is_greater_than ( Node node ) const

bool

is_in_group ( String group ) const

bool

is_inside_tree ( ) const

bool

is_network_master ( ) const

bool

is_physics_processing ( ) const

bool

is_physics_processing_internal ( ) const

bool

is_processing ( ) const

bool

is_processing_input ( ) const

bool

is_processing_internal ( ) const

bool

is_processing_unhandled_input ( ) const

bool

is_processing_unhandled_key_input ( ) const

无效

move_child ( Node child_node, int to_position )

无效

print_stray_nodes ( )

无效

print_tree ( )

无效

print_tree_pretty ( )

无效

propagate_call ( String method, Array args=[ ], bool parent_first=false )

无效

propagate_notification ( int what )

无效

queue_free ( )

无效

raise ( )

无效

remove_and_skip ( )

无效

remove_child ( Node node )

无效

remove_from_group ( String group )

无效

replace_by ( Node node, bool keep_data=false )

无效

request_ready ( )

Variant

rpc ( String method, ... ) vararg

无效

rpc_config ( String method, RPCMode mode )

Variant

rpc_id ( int peer_id, String method, ... ) vararg

Variant

rpc_unreliable ( String method, ... ) vararg

Variant

rpc_unreliable_id ( int peer_id, String method, ... ) vararg

无效

rset ( String property, Variant value )

无效

rset_config ( String property, RPCMode mode )

无效

rset_id ( int peer_id, String property, Variant value )

无效

rset_unreliable ( String property, Variant value )

无效

rset_unreliable_id ( int peer_id, String property, Variant value )

无效

set_display_folded ( bool fold )

无效

set_network_master ( int id, bool recursive=true )

无效

set_physics_process ( bool enable )

无效

set_physics_process_internal ( bool enable )

无效

set_process ( bool enable )

无效

set_process_input ( bool enable )

无效

set_process_internal ( bool enable )

无效

set_process_priority ( int priority )

无效

set_process_unhandled_input ( bool enable )

无效

set_process_unhandled_key_input ( bool enable )

无效

set_scene_instance_load_placeholder ( bool load_placeholder )

信号

  • ready ( )

节点就绪时发出。

  • renamed ( )

在重命名节点时发出。

  • tree_entered ( )

当节点进入树时发出。

  • tree_exited ( )

在节点退出树且不再处于活动状态后发出。

  • tree_exiting ( )

当节点仍处于活动状态但即将退出树时发出。这是反初始化的正确位置(或者“析构函数”,如果您愿意的话)。

枚举

枚举 PauseMode

  • PAUSE_MODE_INHERIT = 0 ---从节点的父节点继承暂停模式。对于根节点,它相当于 PAUSE_MODE_STOP . 违约。

  • PAUSE_MODE_STOP = 1 ---当 SceneTree 已暂停。

  • PAUSE_MODE_PROCESS = 2 ---无论 SceneTree 暂停状态。

枚举 DuplicateFlags

  • DUPLICATE_SIGNALS = 1 ---复制节点的信号。

  • DUPLICATE_GROUPS = 2 ---复制节点的组。

  • DUPLICATE_SCRIPTS = 4 ---复制节点的脚本。

  • DUPLICATE_USE_INSTANCING = 8 ---使用实例复制。

常量

  • NOTIFICATION_ENTER_TREE = 10 ---当节点进入 SceneTree .

  • NOTIFICATION_EXIT_TREE = 11 ---当节点即将退出时收到通知 SceneTree .

  • NOTIFICATION_MOVED_IN_PARENT = 12 ---在父节点中移动节点时收到通知。

  • NOTIFICATION_READY = 13 ---节点准备就绪时收到通知。见 _ready .

  • NOTIFICATION_PAUSED = 14 ---节点暂停时收到通知。

  • NOTIFICATION_UNPAUSED = 15 ---节点未暂停时收到通知。

  • NOTIFICATION_PHYSICS_PROCESS = 16 ---设置物理过程标志时,每个帧都收到通知(请参见 set_physics_process

  • NOTIFICATION_PROCESS = 17 ---设置进程标志时,每帧都收到通知(请参见 set_process

  • NOTIFICATION_PARENTED = 18 ---当一个节点被设置为另一个节点的子节点时收到通知。

注: 这并不意味着节点进入 SceneTree .

  • NOTIFICATION_UNPARENTED = 19 ---当一个节点未连接时收到通知(父节点已将其从子节点列表中删除)。

  • NOTIFICATION_INSTANCED = 20 ---节点实例化时收到通知。

  • NOTIFICATION_DRAG_BEGIN = 21 ---拖动开始时收到通知。

  • NOTIFICATION_DRAG_END = 22 ---拖动结束时收到通知。

  • NOTIFICATION_PATH_CHANGED = 23 ---当节点的 NodePath 改变。

  • NOTIFICATION_INTERNAL_PROCESS = 25 ---设置内部进程标志时,每帧都收到通知(请参见 set_process_internal

  • NOTIFICATION_INTERNAL_PHYSICS_PROCESS = 26 ---设置内部物理过程标志时,每帧都收到通知(请参见 set_physics_process_internal

  • NOTIFICATION_WM_MOUSE_ENTER = 1002 ---鼠标进入游戏窗口时收到操作系统的通知。

在桌面和Web平台上实现。

  • NOTIFICATION_WM_MOUSE_EXIT = 1003 ---鼠标离开游戏窗口时收到操作系统的通知。

在桌面和Web平台上实现。

  • NOTIFICATION_WM_FOCUS_IN = 1004 ---游戏窗口聚焦时收到操作系统的通知。

在所有平台上实现。

  • NOTIFICATION_WM_FOCUS_OUT = 1005 ---当游戏窗口未聚焦时,从操作系统收到通知。

在所有平台上实现。

  • NOTIFICATION_WM_QUIT_REQUEST = 1006 ---发送退出请求时从操作系统收到的通知(例如,用“关闭”按钮或alt+f4关闭窗口)。

在桌面平台上实现。

  • NOTIFICATION_WM_GO_BACK_REQUEST = 1007 ---发送返回请求时从操作系统收到的通知(例如,在Android上按“返回”按钮)。

特定于Android平台。

  • NOTIFICATION_WM_UNFOCUS_REQUEST = 1008 ---发送非焦点请求时从操作系统收到的通知(例如,另一个操作系统窗口希望获得焦点)。

当前没有支持的平台发送此通知。

  • NOTIFICATION_OS_MEMORY_WARNING = 1009 ---当应用程序超过其分配的内存时,从操作系统收到通知。

特定于iOS平台。

  • NOTIFICATION_TRANSLATION_CHANGED = 1010 ---翻译可能已更改时收到通知。可以由用户更改区域设置触发。可用于响应语言更改,例如动态更改UI字符串。使用内置翻译支持时很有用,例如 Object.tr .

  • NOTIFICATION_WM_ABOUT = 1011 ---发送“关于”信息请求时收到操作系统的通知。

特定于MacOS平台。

  • NOTIFICATION_CRASH = 1012 ---引擎即将发生故障时,从Godot的故障处理程序收到通知。

如果启用了崩溃处理程序,则在桌面平台上实现。

  • NOTIFICATION_OS_IME_UPDATE = 1013 ---输入法引擎更新时从操作系统收到的通知(例如,更改输入法光标位置或组合字符串)。

特定于MacOS平台。

描述

节点是Godot的积木。它们可以被指定为另一个节点的子节点,从而形成树排列。给定节点可以包含任意数量的节点作为子节点,要求所有兄弟节点(节点的直接子节点)都应具有唯一的名称。

节点树称为 场景 . 场景可以保存到磁盘,然后实例化到其他场景中。这使得Godot项目的体系结构和数据模型具有很高的灵活性。

场景树: 这个 SceneTree 包含节点的活动树。将节点添加到场景树时,它将接收 NOTIFICATION_ENTER_TREE 通知及其 _enter_tree 已触发回调。始终添加子节点 之后 它们的父节点,即 _enter_tree 父节点的回调将在其子节点的回调之前触发。

在场景树中添加所有节点后,它们将收到 NOTIFICATION_READY 通知及其各自的 _ready 会触发回调。对于节点组, _ready 回调以相反的顺序调用,从子节点开始,向上移动到父节点。

这意味着将节点添加到场景树时,回调将使用以下顺序: _enter_tree 父母的, _enter_tree 孩子们, _ready 孩子们,最后 _ready 父级的(对于整个场景树递归)。

处理: 节点可以覆盖“进程”状态,以便它们在每个帧上接收一个回调,请求它们处理(做一些事情)。正常处理(回调 _process ,切换为 set_process )尽可能快地发生,并且取决于帧速率,因此处理时间 三角洲 作为参数传递。物理处理(回调 _physics_process ,切换为 set_physics_process )每秒发生固定次数(默认为60次),对于与物理引擎相关的代码很有用。

节点还可以处理输入事件。在场时, _input 将为程序接收的每个输入调用函数。在许多情况下,这可能是杀伤力过大(除非用于简单的项目),并且 _unhandled_input 函数可能是首选函数;当输入事件没有被其他任何人处理(通常是GUI)时调用该函数 Control 节点),确保节点只接收其所需的事件。

为了跟踪场景层次结构(尤其是在将场景实例化到其他场景中时),可以使用 owner 属性。这可以跟踪谁举出了什么。不过,这在编写编辑器和工具时非常有用。

最后,当使用释放节点时 Object.freequeue_free 它还将释放所有的孩子。

组: 节点可以添加到任意多的组中,以便于管理,您可以创建“敌人”或“可收集”等组,具体取决于您的游戏。见 add_to_groupis_in_groupremove_from_group . 然后可以检索这些组中的所有节点,迭代它们,甚至可以通过上的方法对组调用方法。 SceneTree .

与节点联网: 连接到服务器(或制作服务器后,请参见 NetworkedMultiplayerENet )可以使用内置的RPC(远程过程调用)系统通过网络进行通信。通过呼叫 rpc 使用方法名,将在本地和所有连接的对等方(对等方=客户端和接受连接的服务器)中调用它。为了确定哪个节点接收到RPC调用,godot将使用其 NodePath (确保所有对等节点上的节点名相同)。另外,看看高级网络教程和相应的演示。

属性描述

设定器

设置自定义多人游戏(值)

吸气剂

获取自定义多人游戏()

对默认值的重写 MultiplayerAPI . 设置为 null 使用默认值 SceneTree 一个。

设定器

设置文件名(值)

吸气剂

获取文件名()

从文件实例化场景时,其最顶端的节点包含加载场景的文件名。

吸气剂

获取多人游戏()

这个 MultiplayerAPI 与此节点关联的实例。或者 custom_multiplayer 或默认的scenetree one(如果在树中)。

设定器

设置名称(值)

吸气剂

获取名称()

节点的名称。此名称在同级节点(来自同一父节点的其他子节点)中是唯一的。当设置为现有名称时,节点将自动重命名。

设定器

设置所有者(值)

吸气剂

获取所有者()

节点所有者。一个节点可以将任何其他节点作为所有者(只要它是树中升序的有效父节点、祖父母等)。保存节点时(使用 PackedScene ,它拥有的所有节点都将与它一起保存。这样就可以创建复杂的 SceneTree S,具有实例和子实例。

违约

0

设定器

设置暂停模式(值)

吸气剂

获取暂停模式()

暂停模式。如果 SceneTree 已暂停。

方法说明

  • void _enter_tree ( ) virtual

当节点进入 SceneTree (例如,在实例、场景更改或呼叫后 add_child 在脚本中)。如果节点有子节点,则其 _enter_tree 先调用回调,然后调用子回调。

对应于 NOTIFICATION_ENTER_TREE 通知 Object._notification .

  • void _exit_tree ( ) virtual

当节点即将离开时调用 SceneTree (例如,在释放、场景更改或呼叫后 remove_child 在脚本中)。如果节点有子节点,则其 _exit_tree 回调将在其所有子级都离开树后最后调用。

对应于 NOTIFICATION_EXIT_TREE 通知 Object._notification 和信号 tree_exiting . 要在节点已离开活动树时得到通知,请连接到 tree_exited

  • String _get_configuration_warning ( ) virtual

如果重写该方法的脚本是 tool 脚本。

返回空字符串不会产生警告。

当存在输入事件时调用。输入事件通过节点树向上传播,直到节点使用它。

只有在启用了输入处理时才调用它,如果此方法被重写,它将自动完成,并且可以使用 set_process_input .

要使用输入事件并停止它进一步传播到其他节点, SceneTree.set_input_as_handled 可以调用。

对于游戏输入, _unhandled_input_unhandled_key_input 通常更适合,因为它们允许GUI首先拦截事件。

  • void _physics_process ( float delta ) virtual

在主循环的物理处理步骤中调用。物理处理意味着帧速率与物理同步,即 delta 变量应为常量。

它仅在启用物理处理时调用,如果此方法被重写,则会自动执行,并且可以使用 set_physics_process .

对应于 NOTIFICATION_PHYSICS_PROCESS 通知 Object._notification .

  • void _process ( float delta ) virtual

在主循环的处理步骤中调用。处理在每一帧发生,并且尽可能快,因此 delta 自上一帧以来的时间不是常量。

仅当启用了处理时才调用它,如果此方法被重写,则自动执行此操作,并且可以使用 set_process .

对应于 NOTIFICATION_PROCESS 通知 Object._notification .

  • void _ready ( ) virtual

当节点“就绪”时调用,即当节点及其子节点都已进入场景树时。如果节点有子节点,则其 _ready 首先触发回调,然后父节点将收到就绪通知。

对应于 NOTIFICATION_READY 通知 Object._notification . 也见 onready 变量的关键字。

通常用于初始化。对于更早的初始化, Object._init 可以使用。另请参见 _enter_tree .

注: _ready 每个节点只能调用一次。从场景树中删除节点并再次添加之后, _ready 第二次不会被呼叫。这可以通过请求另一个 request_ready ,可以在再次添加节点之前在任何位置调用。

  • void _unhandled_input ( InputEvent event ) virtual

当一个 InputEvent 没有被消耗 _input 或任何图形用户界面。输入事件通过节点树向上传播,直到节点使用它。

只有在启用了未处理的输入处理时才调用它,如果此方法被重写,则自动执行此操作,并且可以使用 set_process_unhandled_input .

要使用输入事件并停止它进一步传播到其他节点, SceneTree.set_input_as_handled 可以调用。

对于游戏输入,此和 _unhandled_key_input 通常比 _input 因为它们允许GUI首先拦截事件。

当一个 InputEventKey 没有被消耗 _input 或任何图形用户界面。输入事件通过节点树向上传播,直到节点使用它。

只有在启用了未处理的键输入处理时才调用它,如果此方法被重写,则自动执行此操作,并且可以使用 set_process_unhandled_key_input .

要使用输入事件并停止它进一步传播到其他节点, SceneTree.set_input_as_handled 可以调用。

对于游戏输入,此和 _unhandled_input 通常比 _input 因为它们允许GUI首先拦截事件。

  • void add_child ( Node node, bool legible_unique_name=false )

添加子节点。节点可以有任意数量的子节点,但每个子节点必须具有唯一的名称。父节点被删除时,子节点会自动删除,因此可以通过删除其最顶端的节点来删除整个场景。

如果 legible_unique_nametrue 子节点将具有一个人类可读的名称,该名称基于正在实例化的节点的名称,而不是其类型。

  • void add_child_below_node ( Node node, Node child_node, bool legible_unique_name=false )

添加子节点。子节点位于子节点列表中给定节点的下方。

如果 legible_unique_nametrue 子节点将具有一个人类可读的名称,该名称基于正在实例化的节点的名称,而不是其类型。

  • void add_to_group ( String group, bool persistent=false )

将节点添加到组中。组是命名和组织节点子集的帮助者,例如“敌人”或“可收集的”。节点可以在任意数量的组中。节点可以随时分配一个组,但只有在它们位于场景树中时才会添加(请参见 is_inside_tree )参见说明中的注释,以及中的分组方法 SceneTree .

这个 persistent 选项用于将节点打包到 PackedScene 并保存到文件。不存储非持久组。

  • bool can_process ( ) const

返回 true 如果节点可以在场景树暂停时处理(请参见 pause_mode )总是返回 true 如果场景树没有暂停,并且 false 如果节点不在树中。

  • Node duplicate ( int flags=15 ) const

复制节点,返回新节点。

您可以使用 flags (见 DuplicateFlags

查找名称匹配的此节点的后代 mask 如在 String.match (即区分大小写,但 "*" 匹配零个或多个字符和 "?" 匹配除 "."

注: 它与完整路径不匹配,只与单个节点名匹配。

如果 ownedtrue ,此方法仅查找其所有者是此节点的节点。这对于通过脚本实例化的场景尤其重要,因为这些场景没有所有者。

查找名称匹配的当前节点的第一个父节点 mask 如在 String.match (即区分大小写,但 "*" 匹配零个或多个字符和 "?" 匹配除 "."

注: 它与完整路径不匹配,只与单个节点名匹配。

按子节点的索引返回子节点(请参见 get_child_count )此方法通常用于迭代节点的所有子级。

要通过子节点的名称访问子节点,请使用 get_node .

  • int get_child_count ( ) const

返回子节点的数目。

  • Array get_children ( ) const

返回对节点子级的引用数组。

  • Array get_groups ( ) const

返回一个数组,列出节点所属的组。

  • int get_index ( ) const

返回节点的索引,即节点在其父节点的同级中的位置。

  • int get_network_master ( ) const

返回此节点的网络主节点的对等ID。见 set_network_master .

获取节点。这个 NodePath 可以是相对路径(从当前节点)或绝对路径(在场景树中)到节点。如果路径不存在,则 null instance 返回并尝试访问它将导致“尝试对空实例调用<method>”。错误。

注: 仅当节点位于场景树中时,提取绝对路径才有效(请参见 is_inside_tree

例子: 假设您的当前节点是字符,并具有以下树:

/root
/root/Character
/root/Character/Sword
/root/Character/Backpack/Dagger
/root/MyGame
/root/Swamp/Alligator
/root/Swamp/Mosquito
/root/Swamp/Goblin

可能的路径是:

get_node("Sword")
get_node("Backpack/Dagger")
get_node("../Swamp/Alligator")
get_node("/root/MyGame")

获取由指定的节点及其资源之一 NodePath 的子名称(例如 Area2D/CollisionShape2D:shape )如果在 NodePath ,最后一个将被提取。

返回值是一个大小为3的数组:第一个索引指向 Node (或) null 如果未找到),第二个索引指向 Resource (或) null 如果找不到),第三个索引是剩余的 NodePath ,如果有的话。

例如,假设 Area2D/CollisionShape2D 是有效的节点,并且 shape 已为属性分配 RectangleShape2D 资源,可以有这样的输出:

print(get_node_and_resource("Area2D/CollisionShape2D")) # [[CollisionShape2D:1161], Null, ]
print(get_node_and_resource("Area2D/CollisionShape2D:shape")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], ]
print(get_node_and_resource("Area2D/CollisionShape2D:shape:extents")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]

类似 get_node ,但如果 path 不指向有效的 Node .

  • Node get_parent ( ) const

返回当前节点的父节点或空节点 Node 如果节点缺少父节点。

返回当前节点的绝对路径。这仅在当前节点位于场景树中时有效(请参见 is_inside_tree

返回相对 NodePath 从该节点到指定的 node . 两个节点必须在同一个场景中,否则函数将失败。

  • float get_physics_process_delta_time ( ) const

返回自上次物理绑定帧以来经过的时间(请参见 _physics_process )在物理处理中,这始终是一个常量值,除非每秒帧数通过 Engine.target_fps .

  • int get_position_in_parent ( ) const

返回节点在场景树分支中的顺序。例如,如果在第一个子节点上调用,则位置为 0 .

  • float get_process_delta_time ( ) const

返回自上次进程回调以来经过的时间(秒)。此值可能因帧而异。

  • bool get_scene_instance_load_placeholder ( ) const

返回 true 如果这是实例加载占位符。见 InstancePlaceholder .

返回 SceneTree 包含此节点的。

返回节点的 Viewport .

返回 true 如果节点 NodePath 指向存在。

返回 true 如果 NodePath 指向有效节点,其子名称指向有效资源,例如 Area2D/CollisionShape2D:shape . 具有非 -Resource 类型(例如节点或基本数学类型)不被视为资源。

  • bool is_a_parent_of ( Node node ) const

返回 true 如果给定节点是当前节点的直接或间接子节点。

  • bool is_displayed_folded ( ) const

返回 true 如果节点在场景停靠中折叠(折叠)。

  • bool is_greater_than ( Node node ) const

返回 true 如果给定节点出现在场景层次中的时间晚于当前节点。

返回 true 如果此节点在指定的组中。参见说明中的注释,以及中的分组方法 SceneTree .

  • bool is_inside_tree ( ) const

返回 true 如果此节点当前位于 SceneTree .

  • bool is_network_master ( ) const

返回 true 如果本地系统是此节点的主节点。

  • bool is_physics_processing ( ) const

返回 true 如果启用物理处理(请参见 set_physics_process

  • bool is_physics_processing_internal ( ) const

返回 true 如果启用了内部物理处理(请参见 set_physics_process_internal

  • bool is_processing ( ) const

返回 true 如果启用了处理(请参见 set_process

  • bool is_processing_input ( ) const

返回 true 如果节点正在处理输入(请参见 set_process_input

  • bool is_processing_internal ( ) const

返回 true 如果启用了内部处理(请参见 set_process_internal

  • bool is_processing_unhandled_input ( ) const

返回 true 如果节点正在处理未处理的输入(请参见 set_process_unhandled_input

  • bool is_processing_unhandled_key_input ( ) const

返回 true 如果节点正在处理未处理的密钥输入(请参见 set_process_unhandled_key_input

  • void move_child ( Node child_node, int to_position )

将子节点移动到其他子节点之间的不同位置(顺序)。由于调用、信号等是按树顺序执行的,因此更改子节点的顺序可能很有用。

  • void print_stray_nodes ( )

打印所有杂散节点(位于 SceneTree )用于调试。仅在调试版本中工作。

  • void print_tree ( )

将树打印到stdout。主要用于调试。此版本显示相对于当前节点的路径,并且适合复制/粘贴到 get_node 功能。

实例输出:

TheGame
TheGame/Menu
TheGame/Menu/Label
TheGame/Menu/Camera2D
TheGame/SplashScreen
TheGame/SplashScreen/Camera2D
  • void print_tree_pretty ( )

类似 print_tree ,这会将树打印到stdout。此版本显示的图形表示形式与场景检查器中显示的类似。它对检查大树很有用。

实例输出:

┖╴TheGame
   ┠╴Menu
     ┠╴Label
     ┖╴Camera2D
   -SplashScreen
      ┖╴Camera2D
  • void propagate_call ( String method, Array args=[ ], bool parent_first=false )

使用中给定的参数调用给定的方法(如果存在) args 在这个节点上,递归地在它的所有子节点上。如果 parent_first 论证是 true 方法将首先在当前节点上调用,然后在其所有子节点上调用。如果 parent_firstfalse 孩子们会先打电话来。

  • void propagate_notification ( int what )

通过调用 Object.notification 在他们所有人身上。

  • void queue_free ( )

在当前帧的末尾将要删除的节点排队。删除后,它的所有子节点也将被删除。此方法确保删除节点是安全的,而不是 Object.free . 使用 Object.is_queued_for_deletion 检查是否将在帧的末尾删除节点。

  • void raise ( )

将此节点移动到父节点的子层次结构的底部。这在guis中经常有用 (Control 节点),因为它们的绘制顺序取决于它们在树中的顺序,也就是说,它们在节点列表中的位置越远,绘制的位置就越高。使用后 raise ,将在其兄弟姐妹上绘制一个控件。

  • void remove_and_skip ( )

删除节点并将其所有子节点设置为父节点的子节点(如果存在)。将取消订阅通过已删除节点的所有事件订阅。

  • void remove_child ( Node node )

删除子节点。该节点未被删除,必须手动删除。

  • void remove_from_group ( String group )

从组中删除节点。参见说明中的注释,以及中的分组方法 SceneTree .

  • void replace_by ( Node node, bool keep_data=false )

用给定的节点替换场景中的节点。通过此节点的订阅将丢失。

  • void request_ready ( )

请求 _ready 再次被召唤。请注意,不会立即调用该方法,但会在再次将节点添加到场景树时调度该方法(请参见 _ready_ready 只为请求它的节点调用,这意味着您需要为每个子节点请求就绪,如果您希望它们调用 _ready 同样(在这种情况下, _ready 将按正常顺序调用)。

为给定的发送远程过程调用请求 method 到网络(和本地)上的对等端,可以选择将所有附加参数作为参数发送到由RPC调用的方法。只有具有相同的节点才能接收呼叫请求 NodePath 包括完全相同的节点名。行为取决于给定方法的RPC配置,请参见 rpc_config . 默认情况下,方法不向RPC公开。另请参见 rsetrset_config 属性。返回一个空 Variant .

注: 只有在收到 connected_to_server 信号来自 SceneTree . 您还需要通过 SceneTree 像这样的信号 server_disconnected 或者通过检查 SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED .

更改给定的RPC模式 method 到给定的 mode . 见 RPCMode . 另一种方法是用相应的关键字注释方法和属性 (remotemasterpuppetremotesyncmastersyncpuppetsync )默认情况下,方法不向网络(和RPC)公开。另请参见 rsetrset_config 属性。

发送 rpc 到特定的对等机 peer_id (见 NetworkedMultiplayerPeer.set_target_peer )返回一个空 Variant .

发送 rpc 使用不可靠的协议。返回一个空 Variant .

发送 rpc 到特定的对等机 peer_id 使用不可靠的协议(请参见 NetworkedMultiplayerPeer.set_target_peer )返回一个空 Variant .

远程更改其他对等端(和本地)上的属性值。行为取决于给定属性的RPC配置,请参见 rset_config . 也见 rpc 对于方法的RPC,大多数信息也适用于此方法。

更改给定的RPC模式 property 到给定的 mode . 见 RPCMode . 另一种方法是用相应的关键字注释方法和属性 (remotemasterpuppetremotesyncmastersyncpuppetsync )默认情况下,属性不向网络(和RPC)公开。另请参见 rpcrpc_config 对于方法。

远程更改由标识的特定对等机上的属性值 peer_id (见 NetworkedMultiplayerPeer.set_target_peer

使用不可靠的协议远程更改其他对等端(和本地)上的属性值。

远程更改由标识的特定对等机上的属性值 peer_id 使用不可靠的协议(请参见 NetworkedMultiplayerPeer.set_target_peer

  • void set_display_folded ( bool fold )

设置场景停靠中节点的折叠状态。

  • void set_network_master ( int id, bool recursive=true )

将节点的网络主节点设置为具有给定对等ID的对等节点。网络主节点是对网络上的节点具有权限的对等节点。与 masterpuppet 关键词。默认从父节点继承,最终默认为对等ID 1(服务器)。如果 recursive 将给定的对等机递归地设置为该节点的所有子节点的主节点。

  • void set_physics_process ( bool enable )

启用或禁用物理(即固定帧速率)处理。当一个节点被处理时,它将收到一个 NOTIFICATION_PHYSICS_PROCESS 固定(通常为60 fps,请参见 Engine.target_fps 改变)间隔(和 _physics_process 如果存在,将调用回调)。如果 _physics_process 被重写。以前打过这个电话吗 _ready 将被忽略。

  • void set_physics_process_internal ( bool enable )

启用或禁用此节点的内部物理。内部物理处理是孤立于正常情况下进行的。 _physics_process 调用并由某些节点内部使用,以确保正常运行,即使节点暂停或物理处理被禁用以进行脚本编写。 (set_physics_process )仅适用于高级用途来操作内置节点的行为。

  • void set_process ( bool enable )

启用或禁用处理。当一个节点被处理时,它将收到一个 NOTIFICATION_PROCESS 在每个绘制的框架上(以及 _process 如果存在,将调用回调)。如果 _process 被重写。以前打过这个电话吗 _ready 将被忽略。

  • void set_process_input ( bool enable )

启用或禁用输入处理。GUI控件不需要这样做!如果 _input 被重写。以前打过这个电话吗 _ready 将被忽略。

  • void set_process_internal ( bool enable )

启用或禁用此节点的内部处理。内部处理是孤立于正常情况下进行的。 _process 调用并由某些节点内部使用,以确保正常运行,即使节点已暂停或已为脚本禁用处理。 (set_process )仅适用于高级用途来操作内置节点的行为。

  • void set_process_priority ( int priority )

按已启用处理回调的执行顺序设置节点的优先级(即 NOTIFICATION_PROCESSNOTIFICATION_PHYSICS_PROCESS 以及它们的内部对应物)。具有较高进程优先级的节点将首先执行其处理回调。

  • void set_process_unhandled_input ( bool enable )

启用未处理的输入处理。GUI控件不需要这样做!它使节点能够接收以前未处理的所有输入(通常由 Control )如果 _unhandled_input 被重写。以前打过这个电话吗 _ready 将被忽略。

  • void set_process_unhandled_key_input ( bool enable )

启用未处理的密钥输入处理。如果 _unhandled_key_input 被重写。以前打过这个电话吗 _ready 将被忽略。

  • void set_scene_instance_load_placeholder ( bool load_placeholder )

设置是否为实例加载占位符。见 InstancePlaceholder .