Class.Actor 是一个可以安全地将代码拆分为自己的线程使用 task.desynchronize() 的容器。它还应包含使用它的脚本的实例。
要了解更多关于使用多个 Actor 来优化脚本性能的信息,请参阅 并行 Luau。
概要
属性
继承自Model的属性设置模型的细节级别以实现启用实例流媒体的体验。
控制当实例串流启用时,Models 的模型传输行为。
Class.Model 或 nil 如果未设置。
仅用于编辑器的属性,用于在模型周围缩放。设置此属性会使缩放像 Model/ScaleTo 被调用。
确定Model的枢轴位置,其中 不 有设置Model.PrimaryPart。
方法
将 Luau 回调绑定到具有指定主题的消息。
将 Luau 回调绑定到具有指定主题的消息。
向 Actor 发送消息。
将此模型设置为持久为指定玩家。 Model.ModelStreamingMode 必须设置为 PersistentPerPlayer 才能因为添加而导致行为的更改。
返回包含模型所有部分的音量的描述。
返回 BaseParts 在 Model 中所有内容的最小边界盒的大小,与 Model.PrimaryPart 如果设置。
返回所有 Player 对象,这个模型对象持续的。 行为由调用此方法是否来自 Script 或 LocalScript 决定。
返回模型的标准尺寸,默认为 1 对于新创建的模型,并且随着它在 Model/ScaleTo 通过缩放而改变。
将 PrimaryPart 移动到指定位置。如果未指定主要部分,模型的根部分将被使用。
该模型不再对指定的玩家持久。 Model.ModelStreamingMode 必须设置为 PersistentPerPlayer 才能因为移除而改变行为。
设置模型的缩放因素,调整所有子集实例的尺寸和位置,使其在缩放因素为 1 时,相对于其初始大小和位置拥有该缩放因素。
使用 Model 的给定 Offset,将模型的方向保偏移值,如果另一个 Vector3 或 BasePart 已经在新位置,那么 1> Class.Model1> 将覆盖该对象。
获得 PVInstance 的枢轴。
形成 PVInstance 与所有的后代 PVInstances ,使 pivot 现在位于指定的 CFrame 。
属性
方法
BindToMessage
此方法用于将 Luau 回调绑定到具有指定主题的消息。当发送消息时(使用 SendMessage())到指定的主题时,提供的回调会在串行执行上下文中调用。
多个 Luau 回调可以绑定到单个 actor 和甚至单个消息主题。
注意:只有 Actor 的子脚本才能绑定到它的消息。
local actor = script:GetActor()
-- 打印一条消息,当发送欢迎消息给 Actor
-- 这个脚本是。
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)
参数
返回
此连接对象可用于从接收到的 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)
参数
返回
此连接对象可用于从接收到的 Luau 回调中解除连接。
SendMessage
向 Actor 发送消息。 Actor 将在后台发送消息,因此发送方不会在 SendMessage() 方法调用时阻塞或生成。
由于单个 Actor 可以接收不同种类的消息,因此单个 topic 参数用于区分不同种类的消息。
有关使用 BindToMessage() 发送消息的详细信息,请参阅SendMessage()。
-- 假设 `actor` 是一个本地变量,指向 Actor 实例actor:SendMessage("Greeting", "Hello World")