Engine Class
CollectionService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
วิธีการ
GetCollection(class: string):Instances |
เหตุการณ์
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
เอกสารอ้างอิงเกี่ยวกับ API
วิธีการ
AddTag
GetCollection
GetInstanceAddedSignal
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
บล็อกอันตรายโดยใช้ 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)
endGetInstanceRemovedSignal
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
บล็อกอันตรายโดยใช้ 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)
endGetTagged
พารามิเตอร์
ส่งค่ากลับ
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)
endGetTags
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
การใช้แท็กและ 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
ส่งค่ากลับ
ตัวอย่างโค้ด
การใช้แท็กและ 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
ส่งค่ากลับ
()
ตัวอย่างโค้ด
การใช้แท็กและ 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