我目前遇到了一个问题。
我想要实现的目标......
Spawn sptres随机沿着不同的x轴和相同的y轴,但没有精灵相交。
问题
精灵是交叉的,在某些情况下会产生多于一次相同的位置。
您的建议很受欢迎
我目前正在做什么
for (int spawn = 0; spawn < 10; spawn++) {
SKSpriteNode *obstacle = [self createEnemyRed];
obstacle.anchorPoint = CGPointMake(0.5, 0.5 );
obstacle.position = CGPointMake(RandomFloatRange( 0, self.size.width),
bg.size.height/2 );
obstacle.name = @"obstacle";
[bg addChild:obstacle];
}
答案 0 :(得分:3)
根据您展示的少量代码,很难为您提供符合您需求的答案,但请考虑使用其中一些建议。
将随机生成的精灵添加到NSMutableArray中。
使用SKNode class命令intersectsNode:
查看当前生成的精灵是否与任何其他当前活动的精灵相交。如果是,则尝试另一个坐标。
如果您只想拥有唯一的坐标而不再重复相同的坐标,则需要将坐标存储在第二个数组中,并在生成新的精灵时执行额外的检查。