沿x轴生成Sprite随机位置 - (Sprite Kit,IOS)

时间:2014-04-28 13:51:15

标签: objective-c sprite-kit

我目前遇到了一个问题。

我想要实现的目标......

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];

        }

1 个答案:

答案 0 :(得分:3)

根据您展示的少量代码,很难为您提供符合您需求的答案,但请考虑使用其中一些建议。

  1. 将随机生成的精灵添加到NSMutableArray中。

  2. 使用SKNode class命令intersectsNode:查看当前生成的精灵是否与任何其他当前活动的精灵相交。如果是,则尝试另一个坐标。

  3. 如果您只想拥有唯一的坐标而不再重复相同的坐标,则需要将坐标存储在第二个数组中,并在生成新的精灵时执行额外的检查。