我遇到問題,我不知道從哪裏開始。無重疊的隨機節點位置
我用下面的代碼分配sprite1到隨機的位置:
let index2 = arc4random() % 3;
if index2 == 0 {
sqrite1.position = CGPoint(x: CGRectGetMidX(self.frame) - 100 , y: CGRectGetMidY(self.frame))
} else if index2 == 1 {
sprite1.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
} else if index2 == 2{
sprite1.position = CGPoint(x: CGRectGetMidX(self.frame) + 100, y: CGRectGetMidY(self.frame))
}
我然後再次重複上述碼,但對於sprite2如下:
我分配sprite2到一個隨機位置的同的方式爲子畫面1使用相同的代碼:
let index2 = arc4random() % 3;
if index2 == 0 {
sqrite2.position = CGPoint(x: CGRectGetMidX(self.frame) - 100 , y: CGRectGetMidY(self.frame))
} else if index2 == 1 {
sprite2.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
} else if index2 == 2{
sprite2.position = CGPoint(x: CGRectGetMidX(self.frame) + 100, y: CGRectGetMidY(self.frame))
}
我然後再次重複上述代碼的第三時間,但對於sprite3如下:
我然後分配sprite3到一個隨機位置的方式爲sprite1相同,並使用相同的代碼sprite2:
let index2 = arc4random() % 3;
if index2 == 0 {
sqrite3.position = CGPoint(x: CGRectGetMidX(self.frame) - 100 , y: CGRectGetMidY(self.frame))
} else if index2 == 1 {
sprite3.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
} else if index2 == 2{
sprite3.position = CGPoint(x: CGRectGetMidX(self.frame) + 100, y: CGRectGetMidY(self.frame))
}
現在,這裏是我的問題:我想確保sprite1,sprite2和sprite3不要在同一地點結束。我怎樣才能做到這一點?我試圖想辦法做到這一點,但我不知道從哪裏開始。
謝謝:)
那你的進展如何? –