Selection
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Usługa wyboru kontroluje Instances, które są wybrane w Roblox Studio.
Ta usługa jest szczególnie przydatna podczas tworzenia Plugins, ponieważ pozwala programiście uzyskać dostęp i manipulować obecną selekcją.
Obecnie wybrane Instances można uzyskać i ustawić za pomocą funkcji Selection:Get() i Selection:Set().Wydarzenie Selection.SelectionChanged uruchamia się za każdym razem, gdy zmienia się obecny wybór.
Aby uzyskać więcej informacji na temat korzystania z Selection i Plugins, zobacz Plugin.
Wybór jest również często używany w pasku poleceń, aby ustawić ukryte właściwości lub uruchomić funkcje dla wybranych Instances .
Zauważ, że ta klasa dotyczy tylko Roblox Studio i nie ma zastosowania do gier.
Przykłady kodu
The following code sample, when used in a plugin or the command bar, will rotate currently selected BaseParts.
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
Właściwości
SelectionThickness
Metody
Add
Parametry
Zwroty
Get
Zwraca tablicę obecnie wybranych Instances w Roblox Studio.
Jeśli nie zostaną wybrane żadne Instances, wzór zwrotny będzie pusty.Funkcja ta może być używana w połączeniu z wydarzeniem Selection.SelectionChanged, aby uzyskać wybór za każdym razem, gdy się zmienia.
Uwaga, ta funkcja może być używana tylko w Plugins lub linii komend.
Aby zmienić obecny wybór, zobacz Selection:Set().
Zwroty
Zbiór obecnie wybranych Instances .
Przykłady kodu
The following code sample, when used in a plugin or the command bar, will rotate currently selected BaseParts.
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
This example prints the number of selected items whenever SelectionChanged is fired:
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)
Remove
Parametry
Zwroty
Set
Ustawia obecnie wybrane obiekty w Roblox Studio na Instances w podanym obszarze.
Wezwanie tej funkcji spowoduje uruchomienie wydarzenia Selection.SelectionChanged, chyba że nowy zestaw wyborów jest identyczny z poprzednim.
Zauważ, że ta funkcja zastępuje istniejący wybór. Jednak użycie Class.Selection:Get()``Class.Instance może zostać dodane do istniejącego wyboru tak:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Parametry
Zbiór Instances do ustawienia obecnego wyboru.
Zwroty
Przykłady kodu
This code sample will select every BasePart in the workspace that is Bright red.
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)
Zdarzenia
SelectionChanged
Wybucha, gdy Instances wybrane w Roblox Studio zmiany.
Zauważ, że to wydarzenie nie daje nowego wyboru. Programiści będą musieli użyć funkcji Selection:Get(), aby uzyskać obecny wybór.
Chociaż to wydarzenie może być używane poza pluginami i paskiem poleceń, odnosi się tylko do wyboru w Roblox Studio i nie ma funkcjonalności poza Studio.
Aby zmienić wybór, użyj funkcji Selection:Set().
Przykłady kodu
This example prints the number of selected items whenever SelectionChanged is fired:
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)