Selection
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Dịch vụ lựa chọn kiểm soát Instances được chọn trong Roblox Studio.
Dịch vụ này rất hữu ích khi phát triển Plugins , vì nó cho phép nhà phát triển truy cập và thao tác với lựa chọn hiện tại.
Hiện đã chọn Instances có thể được lấy và đặt bằng cách sử dụng các chức năng Selection:Get() và Selection:Set().Sự kiện Selection.SelectionChanged xảy ra khi nào thay đổi lựa chọn hiện tại.
Để biết thêm thông tin về việc sử dụng Selection và Plugins , hãy xem Plugin .
Lựa chọn cũng thường được sử dụng trong thanh lệnh, để đặt các thuộc tính ẩn hoặc chạy chức năng cho đối tượng được chọn Instances .
Lưu ý lớp này chỉ áp dụng cho Roblox Studio và không có tính ứng dụng cho trò chơi.
Mẫu mã
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
Tóm Tắt
Thuộc Tính
Phương Pháp
Sự Kiện
Bắt lửa khi Instances được chọn trong các thay đổi của Roblox Studio.
Thuộc Tính
SelectionThickness
Phương Pháp
Add
Tham Số
Lợi Nhuận
Get
Trả về một array của hiện được chọn Instances trong Roblox Studio.
Nếu không có Instances được chọn, mảng trả về sẽ trống.Chức năng này có thể được sử dụng kết hợp với sự kiện Selection.SelectionChanged để có được lựa chọn bất cứ khi nào nó thay đổi.
Lưu ý, chức năng này chỉ có thể được sử dụng trong Plugins hoặc dòng lệnh.
Để thay đổi lựa chọn hiện tại, xem Selection:Set() .
Lợi Nhuận
Một mảng các đối tượng được chọn hiện tại Instances .
Mẫu mã
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
Tham Số
Lợi Nhuận
Set
Đặt các đối tượng được chọn hiện tại trong Roblox Studio thành Instances trong mảng được cho.
Gọi chức năng này sẽ khiến sự kiện Selection.SelectionChanged bắt lửa, trừ khi bộ chọn mới tương tự với bộ chọn trước.
Lưu ý chức năng này sẽ ghi đè lựa chọn hiện tại. Tuy nhiên, sử dụng Selection:Get() một Instance có thể được thêm vào lựa chọn hiện tại như vậy:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Tham Số
Một mảng của Instances để đặt lựa chọn hiện tại để.
Lợi Nhuận
Mẫu mã
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)
Sự Kiện
SelectionChanged
Bắt lửa khi Instances được chọn trong các thay đổi của Roblox Studio.
Lưu ý sự kiện này không cung cấp lựa chọn mới. Các nhà phát triển sẽ cần phải sử dụng chức năng Selection:Get() để có được lựa chọn hiện tại.
Mặc dù sự kiện này có thể được sử dụng bên ngoài plugin và thanh lệnh, nó chỉ áp dụng cho lựa chọn trong Roblox Studio và do đó không có chức năng bên ngoài Studio.
Để thay đổi lựa chọn sử dụng chức năng Selection:Set().
Mẫu mã
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)