Classe de moteur
CollectionService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Résumé
Méthodes
GetCollection(class: string):Instances |
Événements
ItemAdded(instance: Instance):RBXScriptSignal |
ItemRemoved(instance: Instance):RBXScriptSignal |
TagAdded(tag: string):RBXScriptSignal |
TagRemoved(tag: string):RBXScriptSignal |
Référence API
Méthodes
AddTag
GetCollection
GetInstanceAddedSignal
Paramètres
Retours
Échantillons de code
Briques Mortelles utilisant 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
-- Sauvegarder les connexions pour qu'elles puissent être déconnectées lorsque le tag est supprimé
local connections = {}
local function onInstanceAdded(object)
-- Confirmer que l'objet avec ce tag est un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- S'il y a une connexion stockée sur cet objet, la déconnecter / la supprimer
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Écouter l'application de ce tag aux objets
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Détecter également tous les objets qui ont déjà le tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetInstanceRemovedSignal
Paramètres
Retours
Échantillons de code
Briques Mortelles utilisant 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
-- Sauvegarder les connexions pour qu'elles puissent être déconnectées lorsque le tag est supprimé
local connections = {}
local function onInstanceAdded(object)
-- Confirmer que l'objet avec ce tag est un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- S'il y a une connexion stockée sur cet objet, la déconnecter / la supprimer
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Écouter l'application de ce tag aux objets
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Détecter également tous les objets qui ont déjà le tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTagged
Paramètres
Retours
Instances
Échantillons de code
Briques Mortelles utilisant 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
-- Sauvegarder les connexions pour qu'elles puissent être déconnectées lorsque le tag est supprimé
local connections = {}
local function onInstanceAdded(object)
-- Confirmer que l'objet avec ce tag est un BasePart
if object:IsA("BasePart") then
connections[object] = object.Touched:Connect(onDeadlyPartTouched)
end
end
local function onInstanceRemoved(object)
-- S'il y a une connexion stockée sur cet objet, la déconnecter / la supprimer
if connections[object] then
connections[object]:Disconnect()
connections[object] = nil
end
end
-- Écouter l'application de ce tag aux objets
CollectionService:GetInstanceAddedSignal(tag):Connect(onInstanceAdded)
CollectionService:GetInstanceRemovedSignal(tag):Connect(onInstanceRemoved)
-- Détecter également tous les objets qui ont déjà le tag
for _, object in pairs(CollectionService:GetTagged(tag)) do
onInstanceAdded(object)
endGetTags
Paramètres
Retours
Échantillons de code
Utilisation des Tags et de CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Ajouter un tag
CollectionService:AddTag(object, "Mortel")
-- Interroger un tag
if CollectionService:HasTag(object, "Mortel") then
print(object:GetFullName() .. " est mortel")
end
-- Lister les tags sur un objet
local tags = CollectionService:GetTags(object)
print("L'objet " .. object:GetFullName() .. " a des tags : " .. table.concat(tags, ", "))
-- Enlever un tag
CollectionService:RemoveTag(object, "Mortel")HasTag
Retours
Échantillons de code
Utilisation des Tags et de CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Ajouter un tag
CollectionService:AddTag(object, "Mortel")
-- Interroger un tag
if CollectionService:HasTag(object, "Mortel") then
print(object:GetFullName() .. " est mortel")
end
-- Lister les tags sur un objet
local tags = CollectionService:GetTags(object)
print("L'objet " .. object:GetFullName() .. " a des tags : " .. table.concat(tags, ", "))
-- Enlever un tag
CollectionService:RemoveTag(object, "Mortel")RemoveTag
Retours
()
Échantillons de code
Utilisation des Tags et de CollectionService
local CollectionService = game:GetService("CollectionService")
local Workspace = game:GetService("Workspace")
local object = Workspace.Part
-- Ajouter un tag
CollectionService:AddTag(object, "Mortel")
-- Interroger un tag
if CollectionService:HasTag(object, "Mortel") then
print(object:GetFullName() .. " est mortel")
end
-- Lister les tags sur un objet
local tags = CollectionService:GetTags(object)
print("L'objet " .. object:GetFullName() .. " a des tags : " .. table.concat(tags, ", "))
-- Enlever un tag
CollectionService:RemoveTag(object, "Mortel")Événements
ItemAdded
ItemRemoved