Ich habe ein Problem und ich habe keine Ahnung, wo ich anfangen soll.Random Node Location ohne Überlappung
ich zuweisen sprite1 an einen zufälligen Ort mit dem folgenden Code:
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))
}
ich dann den obigen Code noch einmal wiederholen, aber für Sprite2 wie folgt:
I zuweisen Sprite2 an einen zufälligen Ort die gleiche Art und Weise wie für Sprite 1 mit dem gleichen Code:
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))
}
ich dann den obigen Code wiederholen wieder zum 3. Mal, aber für sprite3 wie folgt:
ich dann sprite3 an einen zufälligen Ort auf die gleiche Weise wie für sprite1 zuweisen und Sprite2 mit dem gleichen Code:
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))
}
Jetzt sind hier mein Problem: Ich sicherstellen möchten, dass sprite1, Sprite2 und sprite3 NICHT am selben Ort enden. Wie kann ich das machen? Ich habe versucht, über einen Weg nachzudenken, aber ich habe keine Ahnung, wo ich anfangen soll.
Thanks :)
Was ist mit Ihrem Fortschritt? –