选择服务控制 Instances 在 Roblox Studio 中选择的。
当开发 Plugins 时,此服务特别有用,因为它允许开发人员访问并操作当前选择。
目前选择 Instances 可以使用 Selection:Get() 和 Selection:Set() 函数获取和设置。 1> Class.Selection.SelectionChanged1> 事件触发,当前选择改变时。
有关使用 Selection 和 Plugins 的更多信息,请参阅 Plugin 。
选择也常常用于命令栏中,以设置隐藏属性或运行指定 Instances 的函数。
注意此类只适用于 Roblox Studio 和不适用于游戏。
代码示例
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
属性
SelectionThickness
方法
Add
参数
返回
Get
在 Roblox Studio 中返回一个选定当前的 Instances 阵列。
如果没有选择 Instances ,阵列返回为空。 此函数可以与 Selection.SelectionChanged 事件一起使用,以便每次变更选择时获得选择。
注意,此函数仅在 Plugins 或命令线中使用。
要更改当前选择,请参阅Selection:Set()。
返回
一个当前选择的 Instances 阵列。
代码示例
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
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)
Remove
参数
返回
Set
将当前选择的对象在 Roblox Studio 中设置为 Instances 在指定的数组列中。
调用此函数会导致 Selection.SelectionChanged 事件触发,除非新选择集与前一个选择集相同。
注意此函数将覆盖现有选择。但使用 Selection:Get() 一个 Instance 可以添加到现有选择中,如下所示:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
参数
Class.Instance|Instances 阵列,用于设置当前选择。
返回
代码示例
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() 函数。
代码示例
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)