一个 Actor 是可以使用 task.desynchronize() 安全分割为自己线程的代码容器。它还应包含使用其脚本的实例。
了解有关使用多个参与者优化脚本性能的更多信息,请参阅并行 Luau。
概要
属性
继承自Model的属性将模型上的细节级别设置为启用实例流式传输的体验。
在启用实例流时控制模型传输行为在 Models 上,当实例流启用时。
Model 的主部分,或 nil 如果未明确设置。
仅用于编辑器的属性用于在模型周围缩放。设置此属性会将缩放移至如果 Model/ScaleTo 被调用在它上。
决定哪里是 Model 做 不 有设置 Model.PrimaryPart 的旋转点。
方法
将 Luau 回调绑定到指定主题的消息。
将 Luau 回调绑定到指定主题的消息。
向演员发送消息。
将此模型设置为对指定玩家持续有效。Model.ModelStreamingMode必须设置为 PersistentPerPlayer ,以便通过添加而改变行为。
返回包含模型所有部分的卷的描述。
返回包含所有 BaseParts 在 Model 中的最小边界盒的大小,对齐 Model.PrimaryPart 如果已设置。
返回这个模型对象持有的所有 Player 对象。行为取决于这个方法是从 Script 或 LocalScript 中调用。
返回模型的标准缩放比例,默认为新创建的模型为 1,通过 Model/ScaleTo 缩放时将发生变化。
将 PrimaryPart 移至指定位置。如果未指定主部件,将使用模型的根部件。
使该模型不再对指定玩家持续存在。Model.ModelStreamingMode必须设置为 PersistentPerPlayer ,以便通过移除而更改行为。
设置模型的缩放因子,调整所有子模块的大小和位置,使其具有与初始大小和位置相关的缩放因子,当缩放因子为 1 时。
通过给定的 Model 偏移值移动一个 Vector3 ,保留模型的方向。如果新位置上已存在另一个 BasePart 或 Terrain ,那么 Model 将覆盖该对象。
获取 PVInstance 的枢轴。
将 以及所有其子孙 转换为位于指定 的位置,使旋转点现在位于指定的 。
属性
方法
BindToMessage
这个方法用于将 Luau 回调绑定到指定主题的消息。当消息发送到指定的主题时(使用 ),提供的回调将在 串行执行上下文中调用。
多个 Luau 回调可以绑定到单个演员甚至单个消息主题。
注意:只有演员的子脚本才能绑定到其消息。
local actor = script:GetActor()
-- 当欢迎消息发送到演员时打印出一条消息
-- 该脚本是后裔。
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)
参数
返回
这个连接对象可以用来解除 Luau 回调接收消息的连接。
BindToMessageParallel
这个方法用于将 Luau 回调绑定到指定主题的消息。当消息发送到指定的主题时(使用 ),提供的回调将在并行执行上下文中调用。
多个 Luau 回调可以绑定到单个演员甚至单个消息主题。
注意:只有演员的子脚本才能绑定到其消息。
local actor = script:GetActor()
-- 当欢迎消息发送到演员时打印出一条消息
-- 该脚本是后裔。
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)
参数
返回
这个连接对象可以用来解除 Luau 回调接收消息的连接。
SendMessage
向演员发送消息。消息以异步方式发送,因此发送者在调用 SendMessage() 方法时不会阻塞或释放。
由于单个 actor 可以接收不同类型的消息,因此使用 topic 参数来区分不同类型的消息。
见 BindToMessage() 收到使用 SendMessage() 发送的消息的详细信息。
-- 假设 `actor` 是指向 Actor 实例的本地变量actor:SendMessage("Greeting", "Hello World")