Selection
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Der Auswahlservice steuert die Instances, die in Roblox Studio ausgewählt wurden.
Dieser Service ist besonders nützlich beim Entwickeln von Plugins, da er dem Entwickler den Zugriff und die Manipulation der aktuellen Auswahl ermöglicht.
Derzeit ausgewählte Instances kann mit den Funktionen Selection:Get() und Selection:Set() erhalten und festgelegt werden.Das Selection.SelectionChanged wird immer dann ausgelöst, wenn sich die aktuelle Auswahl ändert.
Für weitere Informationen zur Verwendung von Selection und Plugins siehe Plugin .
Auswahl wird auch häufig in der Befehlsleiste verwendet, um versteckte Eigenschaften festzulegen oder Funktionen für ausgewählte Instances auszuführen.
Beachten Sie, dass diese Klasse nur für Roblox Studio gilt und keine Anwendbarkeit auf Spiele hat.
Code-Beispiele
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
Zusammenfassung
Eigenschaften
Methoden
Ereignisse
Feuert, wenn die Instances in Roblox Studio geänderten Änderungen ausgewählt werden.
Eigenschaften
SelectionThickness
Methoden
Add
Parameter
Rückgaben
Get
Gibt eine Reihe von derzeit ausgewählten Instances in Roblox Studio zurück.
Wenn keine Instances ausgewählt sind, wird die zurückgegebene Liste leer sein.Diese Funktion kann in Verbindung mit dem Ereignis Selection.SelectionChanged verwendet werden, um die Auswahl zu erhalten, wann immer sie sich ändert.
Beachten Sie, dass diese Funktion nur in Plugins oder auf der Befehlszeile verwendet werden kann.
Für die Änderung der aktuellen Auswahl siehe Selection:Set().
Rückgaben
Ein Array von derzeit ausgewählten Instances .
Code-Beispiele
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
Parameter
Rückgaben
Set
Setzt die derzeit ausgewählten Objekte in Roblox Studio auf Instances in dem angegebenen Array.
Das initiierendieser Funktion verursacht das Selection.SelectionChanged Ereignis, es sei denn, das neue Auswahlset ist identisch mit dem vorherigen.
Beachten Sie, dass diese Funktion die vorhandene Auswahl überschreibt. Verwenden Sie jedoch Selection:Get() an Instance, kann die vorhandene Auswahl wie folgt erweitert werden:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Parameter
Ein Array von Instances um die aktuelle Auswahl zu setzen.
Rückgaben
Code-Beispiele
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)
Ereignisse
SelectionChanged
Feuert, wenn die Instances in Roblox Studio geänderten Änderungen ausgewählt werden.
Beachten Sie, dass dieses Ereignis die neue Auswahl nicht gibt. Entwickler müssen die Selection:Get()-Funktion verwenden, um die aktuelle Auswahl zu erhalten.
Obwohl dieses Ereignis außerhalb von Plugins und der Befehlsleiste verwendet werden kann, gilt es nur für die Auswahl in Roblox Studio und hat daher keine Funktionalität außerhalb von Studio.
Um die Auswahl zu ändern, verwende die Selection:Set()-Funktion.
Code-Beispiele
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)