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.

MultiplayerSpawner

继承: Node < Object

自动将可出生节点从授权端复制到其他多人对等体。

描述

可出生的场景可以在编辑器中或通过代码配置(参阅 add_spawnable_scene)。

还支持通过在所有对等体上调用 spawn_function,通过 spawn 自定义节点出生。

在内部,MultiplayerSpawner 使用 MultiplayerAPI.object_configuration_add 来通知出生, 需将出生的节点作为 object,并将其自身作为 configuration 传入;并使用 MultiplayerAPI.object_configuration_remove 以类似的方式通知消失。

属性

Callable

spawn_function

int

spawn_limit

0

NodePath

spawn_path

NodePath("")

方法

void

add_spawnable_scene(path: String)

void

clear_spawnable_scenes()

String

get_spawnable_scene(index: int) const

int

get_spawnable_scene_count() const

Node

spawn(data: Variant = null)


信号

despawned(node: Node) 🔗

当可生成场景或自定义生成被多人游戏授权端消除时发出。只在傀儡端调用。


spawned(node: Node) 🔗

当可生成场景或自定义生成被多人游戏授权端生成时发出。只在傀儡端调用。


属性说明

Callable spawn_function 🔗

当每个自定义 spawn 被授权端请求时,在所有对等体上调用的方法。将接收 data 参数,并且应该返回一个不在场景树中的 Node

注意:返回的节点应该用 Node.add_child 添加到场景中。这是自动完成的。


int spawn_limit = 0 🔗

  • void set_spawn_limit(value: int)

  • int get_spawn_limit()

该出生器允许出生的最大节点数。包括可出生场景和自定义出生。

当设置为 0(默认值)时,没有限制。


NodePath spawn_path = NodePath("") 🔗

到出生的根的路径。作为直接子节点被添加的可出生场景,会被复制到其他对等体。


方法说明

void add_spawnable_scene(path: String) 🔗

将场景路径添加到可出生的场景中,使其在添加为 spawn_path 指向的节点的子节点时,自动从多人游戏授权端,复制到其他对等体。


void clear_spawnable_scenes() 🔗

清除所有可生成的场景。不会在远程对等体上消除现有实例。


String get_spawnable_scene(index: int) const 🔗

按索引返回可生成场景的路径。


int get_spawnable_scene_count() const 🔗

返回可生成场景路径的数量。


Node spawn(data: Variant = null) 🔗

请求进行一次自定义出生,data 将被传递给所有对等体的 spawn_function。返回本地出生的节点实例,该节点实例已经在场景树中,并被添加为 spawn_path 指向的节点的子节点。

注意:可出生的场景是自动出生的。spawn 仅在自定义出生时需要。