學習
引擎類別
CollectionService
無法建立
服務

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡


概要
繼承成員

API 參考
方法
AddTag
功能: Basic
CollectionService:AddTag(
instance:Instance, tag:string
):()
參數
instance:Instance
tag:string
返回
()

GetAllTags
平行寫入
功能: Basic
CollectionService:GetAllTags():{any}
返回

GetCollection
已棄用

GetInstanceAddedSignal
功能: Basic
CollectionService:GetInstanceAddedSignal(tag:string):RBXScriptSignal
參數
tag:string
範例程式碼
致命磚塊使用 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
-- 儲存 連接,以便在標籤被移除時可以斷開
local connections = {}
local function onInstanceAdded(object)
-- 確認帶有此標籤的物件是否為 BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- 如果此物件上有存儲的連接,則斷開/移除它
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- 監聽這個標籤被應用到物件
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- 也檢測任何已經具有該標籤的物件
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
end

GetInstanceRemovedSignal
功能: Basic
CollectionService:GetInstanceRemovedSignal(tag:string):RBXScriptSignal
參數
tag:string
範例程式碼
致命磚塊使用 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
-- 儲存 連接,以便在標籤被移除時可以斷開
local connections = {}
local function onInstanceAdded(object)
-- 確認帶有此標籤的物件是否為 BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- 如果此物件上有存儲的連接,則斷開/移除它
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- 監聽這個標籤被應用到物件
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- 也檢測任何已經具有該標籤的物件
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
end

GetTagged
平行寫入
功能: Basic
CollectionService:GetTagged(tag:string):Instances
參數
tag:string
返回
Instances
範例程式碼
致命磚塊使用 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
-- 儲存 連接,以便在標籤被移除時可以斷開
local connections = {}
local function onInstanceAdded(object)
-- 確認帶有此標籤的物件是否為 BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- 如果此物件上有存儲的連接,則斷開/移除它
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- 監聽這個標籤被應用到物件
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- 也檢測任何已經具有該標籤的物件
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
end

GetTags
平行寫入
功能: Basic
CollectionService:GetTags(instance:Instance):{any}
參數
instance:Instance
返回
範例程式碼
使用標籤和 CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- 添加 標籤
CollectionService:AddTag(object, "Deadly")
-- 查詢標籤
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " 是致命的")
end
-- 列出物件上的標籤
local tags = CollectionService:GetTags(object)
print("這個物件 " .. object:GetFullName() .. " 有標籤: " .. table.concat(tags, ", "))
-- 移除標籤
CollectionService:RemoveTag(object, "Deadly")

HasTag
平行寫入
功能: Basic
CollectionService:HasTag(
instance:Instance, tag:string
參數
instance:Instance
tag:string
返回
範例程式碼
使用標籤和 CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- 添加 標籤
CollectionService:AddTag(object, "Deadly")
-- 查詢標籤
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " 是致命的")
end
-- 列出物件上的標籤
local tags = CollectionService:GetTags(object)
print("這個物件 " .. object:GetFullName() .. " 有標籤: " .. table.concat(tags, ", "))
-- 移除標籤
CollectionService:RemoveTag(object, "Deadly")

RemoveTag
功能: Basic
CollectionService:RemoveTag(
instance:Instance, tag:string
):()
參數
instance:Instance
tag:string
返回
()
範例程式碼
使用標籤和 CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- 添加 標籤
CollectionService:AddTag(object, "Deadly")
-- 查詢標籤
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " 是致命的")
end
-- 列出物件上的標籤
local tags = CollectionService:GetTags(object)
print("這個物件 " .. object:GetFullName() .. " 有標籤: " .. table.concat(tags, ", "))
-- 移除標籤
CollectionService:RemoveTag(object, "Deadly")

活動
ItemAdded
已棄用

ItemRemoved
已棄用

TagAdded
功能: Basic
CollectionService.TagAdded(tag:string):RBXScriptSignal
參數
tag:string

TagRemoved
功能: Basic
CollectionService.TagRemoved(tag:string):RBXScriptSignal
參數
tag:string

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。