Engine-gegevenstype
Collection
*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.
Codevoorbeelden
Verzameling Levenscyclus en Evenementen
local CollectionService = game:GetService("CollectionService")
-- Een live verzameling van onderdelen gemarkeerd als "MapleLeaf" die directe kinderen zijn van een model gemarkeerd als "MapleTree"
local mapleLeaves: Collection = CollectionService:CreateCollection("Model.MapleTree > Part.MapleLeaf")
local function sway(leaf: Part, deltaTime: number)
leaf.CFrame *= CFrame.fromEulerAnglesXYZ(0, math.rad(20) * deltaTime, 0)
end
local function fall(leaf: Part)
leaf.Anchored = false
end
-- OnAdded wordt eenmaal aangeroepen voor elk blad dat al overeenkomt, en vervolgens voor elke nieuwe overeenkomst
function mapleLeaves.OnAdded(leaf: Part)
leaf.Material = Enum.Material.Neon
end
-- OnRemoved wordt aangeroepen wanneer een blad stopt met overeenkomen (niet-gemarkeerd, opnieuw geparent naar buiten de boom, of vernietigd)
function mapleLeaves.OnRemoved(leaf: Part)
leaf:Destroy()
end
-- RunService alias: Wordt eenmaal per hartslag aangeroepen voor elk blad in de verzameling
function mapleLeaves.OnHeartbeat(leaf: Part, deltaTime: number)
sway(leaf, deltaTime)
end
-- Instance-event wrapper: OnTouched wikkelt BasePart.Touched
-- Verzameling leden zonder een Touched-evenement negeren deze toewijzing stilzwijgend
function mapleLeaves.OnTouched(leaf: Part, other: BasePart)
fall(leaf)
end
-- Property-changed wrapper: Reageer wanneer een blad bruin wordt
function mapleLeaves.OnPropertyChanged.Color(leaf: Part)
if leaf.Color == Color3.fromRGB(124, 92, 70) then
fall(leaf)
end
end
-- Imperatief stel elk blad dat momenteel in de verzameling is groen in
mapleLeaves:ForEach(function(leaf: Part)
leaf.Color = Color3.fromRGB(0, 255, 0)
end)API-referentie
Eigenschappen
Methoden
Destroy
Collection:Destroy()