Lớp công cụ
CollectionService
*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.
Tóm Tắt
Phương Pháp
GetCollection(class: string):Instances |
Sự Kiện
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
Tài Liệu Tham Khảo API
Phương Pháp
AddTag
GetCollection
GetInstanceAddedSignal
Tham Số
Lợi Nhuận
Mẫu mã
Khối Chết người sử dụng CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Lưu các kết nối để chúng có thể được ngắt kết nối khi thẻ bị xóa
local connections = {}
local function onInstanceAdded(object)
-- Xác nhận rằng đối tượng có thẻ này là một BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Nếu có một kết nối đã lưu trên đối tượng này, ngắt kết nối/xóa nó
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Lắng nghe sự kiện thẻ này được áp dụng cho các đối tượng
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Cũng phát hiện bất kỳ đối tượng nào đã có thẻ
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetInstanceRemovedSignal
Tham Số
Lợi Nhuận
Mẫu mã
Khối Chết người sử dụng CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Lưu các kết nối để chúng có thể được ngắt kết nối khi thẻ bị xóa
local connections = {}
local function onInstanceAdded(object)
-- Xác nhận rằng đối tượng có thẻ này là một BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Nếu có một kết nối đã lưu trên đối tượng này, ngắt kết nối/xóa nó
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Lắng nghe sự kiện thẻ này được áp dụng cho các đối tượng
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Cũng phát hiện bất kỳ đối tượng nào đã có thẻ
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTagged
Tham Số
Lợi Nhuận
Instances
Mẫu mã
Khối Chết người sử dụng CollectionService
local CollectionService = game:GetService("CollectionService")
local tag = "Deadly"
local function onDeadlyPartTouched(otherPart)
if not otherPart.Parent then
return
end
local humanoid = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
-- Lưu các kết nối để chúng có thể được ngắt kết nối khi thẻ bị xóa
local connections = {}
local function onInstanceAdded(object)
-- Xác nhận rằng đối tượng có thẻ này là một BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Nếu có một kết nối đã lưu trên đối tượng này, ngắt kết nối/xóa nó
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Lắng nghe sự kiện thẻ này được áp dụng cho các đối tượng
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Cũng phát hiện bất kỳ đối tượng nào đã có thẻ
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTags
Tham Số
Lợi Nhuận
Mẫu mã
Sử dụng Tag và CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Thêm một tag
CollectionService:AddTag(object, "Deadly")
-- Truy vấn một tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " là nguy hiểm")
end
-- Liệt kê các tag trên một đối tượng
local tags = CollectionService:GetTags(object)
print("Đối tượng " .. object:GetFullName() .. " có các tag: " .. table.concat(tags, ", "))
-- Xóa một tag
CollectionService:RemoveTag(object, "Deadly")HasTag
Lợi Nhuận
Mẫu mã
Sử dụng Tag và CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Thêm một tag
CollectionService:AddTag(object, "Deadly")
-- Truy vấn một tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " là nguy hiểm")
end
-- Liệt kê các tag trên một đối tượng
local tags = CollectionService:GetTags(object)
print("Đối tượng " .. object:GetFullName() .. " có các tag: " .. table.concat(tags, ", "))
-- Xóa một tag
CollectionService:RemoveTag(object, "Deadly")RemoveTag
Lợi Nhuận
()
Mẫu mã
Sử dụng Tag và CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Thêm một tag
CollectionService:AddTag(object, "Deadly")
-- Truy vấn một tag
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " là nguy hiểm")
end
-- Liệt kê các tag trên một đối tượng
local tags = CollectionService:GetTags(object)
print("Đối tượng " .. object:GetFullName() .. " có các tag: " .. table.concat(tags, ", "))
-- Xóa một tag
CollectionService:RemoveTag(object, "Deadly")Sự Kiện
ItemAdded
ItemRemoved