Selection

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
服務

選擇服務控制 Roblox Studio 中選擇的 Instances

此服務特別有用,當開發 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

一個 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)