Selection
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Seçim hizmeti, Roblox Studio'da seçilen Instances 'yi kontrol eder.
Bu hizmet, Plugins geliştirirken özellikle yararlıdır, çünkü geliştiricinin mevcut seçime erişmesine ve manipüle etmesine izin verir.
Şu anda seçilen Instances , Selection:Get() ve Selection:Set() fonksiyonlarını kullanarak elde edilebilir ve ayarlanabilir.The Selection.SelectionChanged etkinliği, mevcut seçim değiştiğinde her zaman ateşlenir.
Kullanım hakkında daha fazla bilgi için Selection ve Plugins , bakın Plugin .
Seçim genellikle komut çubuğunda gizli özellikler ayarlamak veya seçilen Instances için işlevleri çalıştırmak için de kullanılır.
Bu sınıfın sadece Roblox Studio'ya uygulandığını ve oyunlara uygulanabilirliği olmadığını unutmayın.
Kod Örnekleri
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
Özet
Özellikler
Yöntemler
Etkinlikler
Roblox Studio'daki değişikliklerde Instances seçildiğinde ateş eder.
Özellikler
SelectionThickness
Yöntemler
Add
Parametreler
Dönüşler
Get
Roblox Studio'da mevcut olarak seçilen bir dizi Instances döndürür.
Eğer hiçbir Instances seçilmezse, döndürülen dizi boş olur.Bu işlev, seçimi her değiştiğinde almak için Selection.SelectionChanged etkinliği ile birlikte kullanılabilir.
Not, bu işlev yalnızca Plugins veya komut satırında kullanılabilir.
Mevcut seçimi değiştirmek için, lütfen Selection:Set() 'ye bakın.
Dönüşler
Şu anda seçili bir dizi Instances .
Kod Örnekleri
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
Parametreler
Dönüşler
Set
Roblox Studio'da şu anda seçilen nesneleri verilen dizeye Instances olarak ayarlar.
Bu işlevi çağırmak, yeni seçim seti önceki seçime eşit olmadığı sürece Selection.SelectionChanged etkinliğinin ateşlenmesine neden olacaktır, yeni seçim seti önceki seçime eşit olmadığı sürece.
Ancak, bu işlev mevcut seçimi üzerine yazılır, ancak Selection:Get() bir Instance kullanarak mevcut seçime şöyle eklenebilir:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Parametreler
Mevcut seçimi ayarlamak için bir Instances dizi.
Dönüşler
Kod Örnekleri
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)
Etkinlikler
SelectionChanged
Roblox Studio'daki değişikliklerde Instances seçildiğinde ateş eder.
Bu etkinin yeni seçim vermediğini unutmayın. Geliştiricilerin mevcut seçimi almak için Selection:Get() işlevini kullanması gerekecek.
Bu etkinin, eklentilerin ve komut çubuğunun dışında kullanılması mümkün olsa da, yalnızca Roblox Studio'daki seçim için geçerlidir ve bu nedenle Studio dışında hiçbir işlevi yoktur.
Seçimi değiştirmek için Selection:Set() işlevini kullanın.
Kod Örnekleri
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)