Actor

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Class.Actor 是一个可以安全地将代码拆分为自己的线程使用 task.desynchronize() 的容器。它还应包含使用它的脚本的实例。

要了解更多关于使用多个 Actor 来优化脚本性能的信息,请参阅 并行 Luau

概要

属性

继承自Model属性继承自PVInstance属性

方法

继承自Model方法继承自PVInstance方法

属性

方法

BindToMessage

写入并联

此方法用于将 Luau 回调绑定到具有指定主题的消息。当发送消息时(使用 SendMessage())到指定的主题时,提供的回调会在串行执行上下文中调用。

多个 Luau 回调可以绑定到单个 actor 和甚至单个消息主题。

注意:只有 Actor 的子脚本才能绑定到它的消息。


local actor = script:GetActor()
-- 打印一条消息,当发送欢迎消息给 Actor
-- 这个脚本是。
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)

参数

topic: string

用于识别消信息类型的话题。

function: function

返回

此连接对象可用于从接收到的 Luau 回调中解除连接。

BindToMessageParallel

写入并联

此方法用于将 Luau 回调绑定到具有指定主题的消息。当发送消息时(使用 SendMessage())到指定的主题时,提供的回调会在 并行 执行上下文中调用。

多个 Luau 回调可以绑定到单个 actor 和甚至单个消息主题。

注意:只有 Actor 的子脚本才能绑定到它的消息。


local actor = script:GetActor()
-- 打印一条消息,当发送欢迎消息给 Actor
-- 这个脚本是。
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)

参数

topic: string

用于识别消信息类型的话题。

function: function

返回

此连接对象可用于从接收到的 Luau 回调中解除连接。

SendMessage

void
写入并联

向 Actor 发送消息。 Actor 将在后台发送消息,因此发送方不会在 SendMessage() 方法调用时阻塞或生成。

由于单个 Actor 可以接收不同种类的消息,因此单个 topic 参数用于区分不同种类的消息。

有关使用 BindToMessage() 发送消息的详细信息,请参阅SendMessage()


-- 假设 `actor` 是一个本地变量,指向 Actor 实例
actor:SendMessage("Greeting", "Hello World")

参数

topic: string

用于识别发送的消息的主题。

message: Tuple

发送给演员的消息内容。


返回

void

活动