Clase de motor
CollectionService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Métodos
GetCollection(class: string):Instances |
Eventos
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
Referencia API
Métodos
AddTag
GetCollection
GetInstanceAddedSignal
Parámetros
Devuelve
Muestras de código
Ladrillos Mortales utilizando 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
-- Guarda las conexiones para que puedan ser desconectadas cuando se elimine la etiqueta
local connections = {}
local function onInstanceAdded(object)
-- Confirma que el objeto con esta etiqueta es un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Si hay una conexión almacenada en este objeto, desconéctala/elímínala
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Escucha por esta etiqueta siendo aplicada a objetos
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- También detecta cualquier objeto que ya tenga la etiqueta
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetInstanceRemovedSignal
Parámetros
Devuelve
Muestras de código
Ladrillos Mortales utilizando 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
-- Guarda las conexiones para que puedan ser desconectadas cuando se elimine la etiqueta
local connections = {}
local function onInstanceAdded(object)
-- Confirma que el objeto con esta etiqueta es un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Si hay una conexión almacenada en este objeto, desconéctala/elímínala
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Escucha por esta etiqueta siendo aplicada a objetos
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- También detecta cualquier objeto que ya tenga la etiqueta
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTagged
Parámetros
Devuelve
Instances
Muestras de código
Ladrillos Mortales utilizando 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
-- Guarda las conexiones para que puedan ser desconectadas cuando se elimine la etiqueta
local connections = {}
local function onInstanceAdded(object)
-- Confirma que el objeto con esta etiqueta es un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- Si hay una conexión almacenada en este objeto, desconéctala/elímínala
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Escucha por esta etiqueta siendo aplicada a objetos
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- También detecta cualquier objeto que ya tenga la etiqueta
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTags
Parámetros
Devuelve
Muestras de código
Usando Etiquetas y CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Agregar una etiqueta
CollectionService:AddTag(object, "Deadly")
-- Consultar una etiqueta
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " es mortal")
end
-- Listar etiquetas en un objeto
local tags = CollectionService:GetTags(object)
print("El objeto " .. object:GetFullName() .. " tiene etiquetas: " .. table.concat(tags, ", "))
-- Eliminar una etiqueta
CollectionService:RemoveTag(object, "Deadly")HasTag
Devuelve
Muestras de código
Usando Etiquetas y CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Agregar una etiqueta
CollectionService:AddTag(object, "Deadly")
-- Consultar una etiqueta
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " es mortal")
end
-- Listar etiquetas en un objeto
local tags = CollectionService:GetTags(object)
print("El objeto " .. object:GetFullName() .. " tiene etiquetas: " .. table.concat(tags, ", "))
-- Eliminar una etiqueta
CollectionService:RemoveTag(object, "Deadly")RemoveTag
Devuelve
()
Muestras de código
Usando Etiquetas y CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Agregar una etiqueta
CollectionService:AddTag(object, "Deadly")
-- Consultar una etiqueta
if CollectionService:HasTag(object, "Deadly") then
print(object:GetFullName() .. " es mortal")
end
-- Listar etiquetas en un objeto
local tags = CollectionService:GetTags(object)
print("El objeto " .. object:GetFullName() .. " tiene etiquetas: " .. table.concat(tags, ", "))
-- Eliminar una etiqueta
CollectionService:RemoveTag(object, "Deadly")Eventos
ItemAdded
ItemRemoved