Selection
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Layanan Pemilihan mengontrol Instances yang dipilih di Roblox Studio.
Layanan ini sangat berguna saat mengembangkan Plugins , karena memungkinkan pengembang untuk mengakses dan memanipulasi pilihan saat ini.
Saat ini dipilih Instances dapat diperoleh dan ditetapkan menggunakan fungsi Selection:Get() dan Selection:Set().Peristiwa Selection.SelectionChanged terjadi setiap kali perubahan seleksi saat ini terjadi.
Untuk informasi lebih lanjut tentang penggunaan Selection dan Plugins , lihat Plugin .
Pemilihan juga sering digunakan di bilah perintah, untuk mengatur properti tersembunyi atau menjalankan fungsi untuk dipilih Instances .
Perhatikan kelas ini hanya berlaku untuk Roblox Studio dan tidak berlaku untuk game.
Contoh Kode
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
Properti
SelectionThickness
Metode
Add
Parameter
Memberikan nilai
Get
Kembalikan array dari yang saat ini dipilih Instances di Roblox Studio.
Jika tidak ada Instances yang dipilih, array yang dikembalikan kosong.Fungsi ini dapat digunakan bersama dengan acara Selection.SelectionChanged untuk mendapatkan pilihan setiap kali berubah.
Catatan, fungsi ini hanya dapat digunakan di Plugins atau baris perintah.
Untuk mengubah pilihan saat ini, lihat Selection:Set() .
Memberikan nilai
Sebuah array dari saat ini dipilih Instances .
Contoh Kode
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
Memberikan nilai
Set
Atur objek yang saat ini dipilih di Roblox Studio ke Instances dalam array yang diberikan.
Memanggil fungsi ini akan menyebabkan acara Selection.SelectionChanged terjadi, kecuali jika set seleksi baru identik dengan seleksi sebelumnya.
Perhatikan fungsi ini menghapus pilihan yang ada. Namun, menggunakan Selection:Get() dan Instance dapat ditambahkan ke pilihan yang ada seperti ini:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Parameter
Sebuah array dari Instances untuk mengatur pilihan saat ini.
Memberikan nilai
Contoh Kode
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)
Acara
SelectionChanged
Terbakar saat Instances dipilih dalam perubahan Roblox Studio.
Perhatikan acara ini tidak memberikan pilihan baru. Pengembang perlu menggunakan fungsi Selection:Get() untuk mendapatkan pilihan saat ini.
Meskipun acara ini dapat digunakan di luar plugin dan bilah perintah, itu hanya berlaku untuk pemilihan di Roblox Studio dan karena itu tidak memiliki fungsionalitas di luar Studio.
Untuk mengubah pilihan gunakan fungsi Selection:Set() .
Contoh Kode
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)