Selection

显示已弃用

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

无法创建
服务

选择服务控制 Instances 在 Roblox Studio 中选择的。

当开发 Plugins 时,此服务特别有用,因为它允许开发人员访问并操作当前选择。

目前选择 Instances 可以使用 Selection:Get()Selection:Set() 函数获取和设置。 1> Class.Selection.SelectionChanged1> 事件触发,当前选择改变时。

有关使用 SelectionPlugins 的更多信息,请参阅 Plugin

选择也常常用于命令栏中,以设置隐藏属性或运行指定 Instances 的函数。

注意此类只适用于 Roblox Studio 和不适用于游戏。

代码示例

Selection

local Selection = game:GetService("Selection")
for _, object in pairs(Selection:Get()) do
if object:IsA("BasePart") then
object.CFrame = object.CFrame * CFrame.Angles(0, math.pi / 2, 0)
end
end

概要

方法

  • Add(instancesToAdd : Instances):void
    插件安全性
  • Get():Instances
    插件安全性

    在 Roblox Studio 中返回一个选定当前的 Instances 阵列。

  • Remove(instancesToRemove : Instances):void
    插件安全性
  • Set(selection : Instances):void
    插件安全性

    将当前选择的对象在 Roblox Studio 中设置为 Instances 在指定的数组列中。

属性

SelectionThickness

只读
未复制
读取并联

方法

Add

void
插件安全性

参数

instancesToAdd: Instances

返回

void

Get

Instances
插件安全性

在 Roblox Studio 中返回一个选定当前的 Instances 阵列。

如果没有选择 Instances ,阵列返回为空。 此函数可以与 Selection.SelectionChanged 事件一起使用,以便每次变更选择时获得选择。

注意,此函数仅在 Plugins 或命令线中使用。

要更改当前选择,请参阅Selection:Set()


返回

Instances

一个当前选择的 Instances 阵列。

代码示例

Selection

local Selection = game:GetService("Selection")
for _, object in pairs(Selection:Get()) do
if object:IsA("BasePart") then
object.CFrame = object.CFrame * CFrame.Angles(0, math.pi / 2, 0)
end
end
Selection.SelectionChanged

local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)

Remove

void
插件安全性

参数

instancesToRemove: Instances

返回

void

Set

void
插件安全性

将当前选择的对象在 Roblox Studio 中设置为 Instances 在指定的数组列中。

调用此函数会导致 Selection.SelectionChanged 事件触发,除非新选择集与前一个选择集相同。

注意此函数将覆盖现有选择。但使用 Selection:Get() 一个 Instance 可以添加到现有选择中,如下所示:


local selected = Selection:Get()
table.insert(selected, object)
Selection:Set(selected)

参数

selection: Instances

Class.Instance|Instances 阵列,用于设置当前选择。


返回

void

代码示例

Selection Set

local Selection = game:GetService("Selection")
local newSelection = {}
for _, object in pairs(workspace:GetDescendants()) do
if object:IsA("BasePart") and object.BrickColor == BrickColor.new("Bright red") then
table.insert(newSelection, object)
end
end
Selection:Set(newSelection)

活动

SelectionChanged

在 Roblox Studio 中选择 Instances 时发生。

注意此事件不会为新选择提供。开发人员需要使用 Selection:Get() 函数来获取当前选择。

虽然此事件可以用于插件和命令栏外,但它仅适用于 Roblox Studio 中的选择,因此它无法在 Studio 中实现功能。

要改变选择,请使用 Selection:Set() 函数。


代码示例

Selection.SelectionChanged

local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)