diff --git a/MetaballsKit/Metaballs.swift b/MetaballsKit/Metaballs.swift index 128ced6..3690da6 100644 --- a/MetaballsKit/Metaballs.swift +++ b/MetaballsKit/Metaballs.swift @@ -96,7 +96,9 @@ public class Field { NSLog("Updating size of field: old:\(parameters.size), new:\(newValue)") if parameters.size != newValue { // Scale balls to new position and size. - let scale = parameters.size.x != 0 ? Float(newValue.x / parameters.size.x) : 1 + let scaleX = parameters.size.x != 0 ? Float(newValue.x / parameters.size.x) : 1 + let scaleY = parameters.size.y != 0 ? Float(newValue.y / parameters.size.y) : 1 + let scale = max(scaleX, scaleY) balls = balls.map { let r = $0.radius * scale let p = randomPoint(forBallWithRadius: r) @@ -131,7 +133,7 @@ public class Field { NotificationCenter.default.removeObserver(self, name: PreferencesDidChange_Color, object: nil) } - public func update() { + func update() { let selfBounds = bounds for i in 0..