Engine-Datentyp
Collection
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Code-Beispiele
Sammlung Lebenszyklus und Ereignisse
local CollectionService = game:GetService("CollectionService")
-- Eine lebende Sammlung von Teilen, die mit "MapleLeaf" gekennzeichnet sind und direkte Kinder eines Modells sind, das mit "MapleTree" gekennzeichnet ist
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 wird einmal für jedes Blatt ausgelöst, das bereits übereinstimmt, und dann für jede neue Übereinstimmung
function mapleLeaves.OnAdded(leaf: Part)
leaf.Material = Enum.Material.Neon
end
-- OnRemoved wird ausgelöst, wenn ein Blatt nicht mehr übereinstimmt (nicht gekennzeichnet, aus dem Baum umgeparentet oder zerstört)
function mapleLeaves.OnRemoved(leaf: Part)
leaf:Destroy()
end
-- RunService-Alias: Wird einmal pro Herzschlag für jedes Blatt in der Sammlung ausgelöst
function mapleLeaves.OnHeartbeat(leaf: Part, deltaTime: number)
sway(leaf, deltaTime)
end
-- Instanzereignis-Wrapper: OnTouched umschließt BasePart.Touched
-- Sammlungselemente ohne ein Touched-Ereignis ignorieren diese Zuweisung stillschweigend
function mapleLeaves.OnTouched(leaf: Part, other: BasePart)
fall(leaf)
end
-- Wrapper für Eigenschaftenänderungen: Reagiere, wenn ein Blatt braun wird
function mapleLeaves.OnPropertyChanged.Color(leaf: Part)
if leaf.Color == Color3.fromRGB(124, 92, 70) then
fall(leaf)
end
end
-- Setze jedes Blatt, das sich derzeit in der Sammlung befindet, imperativ auf grün
mapleLeaves:ForEach(function(leaf: Part)
leaf.Color = Color3.fromRGB(0, 255, 0)
end)API-Referenz
Eigenschaften
Methoden
Destroy
Collection:Destroy()