diff --git a/MetaballsKit/Metaballs.swift b/MetaballsKit/Metaballs.swift index 1af6d9d..dc638d9 100644 --- a/MetaballsKit/Metaballs.swift +++ b/MetaballsKit/Metaballs.swift @@ -29,7 +29,13 @@ public struct Ball { } public struct Field { - var size: CGSize + public var size: CGSize { + didSet { + // Remove balls that fall outside the new bounds. + balls = balls.filter { bounds.contains($0.bounds) } + } + } + private(set) var balls = [Ball]() internal var bounds: CGRect {