沿着x轴随机生成精灵 - (Sprite Kit,IOS)

4

我目前遇到一个问题。

我的目标是什么..

在不同的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个回答

3
根据你展示的少量代码,很难给出适合你需求的答案,但是考虑使用以下建议:
  1. 将随机生成的精灵添加到 NSMutableArray 中。

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

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


谢谢Sangony。intersectsNode正是我所需要的,而使用数组的想法将节省大量内存/性能问题......干得好,谢谢:) - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接