我试图在屏幕上随机生成节点而不重叠,所以我决定找到每个节点彼此的距离/距离,并连续随机生成一个位置,其中每个节点的范围大于100,一旦范围超过100它将突破while循环并将节点添加到视图中
var p2Dp1: CGFloat = 0
var p3Dp1: CGFloat = 0
var p3Dp2: CGFloat = 0
planet1.position = CGPoint(x: Int(arc4random_uniform(220) + 80), y: Int(arc4random_uniform(500) + 100))
while p2Dp1 < 100.0 {
planet2.position = CGPoint(x: Int(arc4random_uniform(220) + 80), y: Int(arc4random_uniform(500) + 100))
p2Dp1 = SDistanceBetweenPoints(planet2.position, p2: planet1.position)
print(" planet 2 distance from 1: \(p2Dp1) ")
}
while p3Dp1 < 100.0 && p3Dp2 < 100.0 {
planet3.position = CGPoint(x: Int(arc4random_uniform(220) + 80), y: Int(arc4random_uniform(500) + 100))
p3Dp1 = SDistanceBetweenPoints(planet3.position, p2: planet1.position)
print(" …Run Code Online (Sandbox Code Playgroud)