IOS在不同位置添加随机节点

IOS在不同位置添加随机节点,ios,position,sprite-kit,sknode,Ios,Position,Sprite Kit,Sknode,我正在尝试制作一个iPhone游戏,我正在尝试在不同的位置添加随机图像 这是我想做的 有6个不同颜色的椭圆形节点(敌人) 当游戏开始时,我希望有5个敌人节点 当玩家节点接触到敌人节点时,敌人节点将消失,然后立即出现另一个节点 敌人节点将被添加到不同的位置 但有时某些节点出现在同一位置,因此看起来似乎有4个节点而不是5个。 如果某个特定位置已有一个节点,我如何才能不在该位置添加另一个节点,而在其他位置添加另一个节点? 下面我添加了我编写的代码的一部分。 这可能是一件非常简单的事情,但我对编程是新手

我正在尝试制作一个iPhone游戏,我正在尝试在不同的位置添加随机图像

这是我想做的 有6个不同颜色的椭圆形节点(敌人) 当游戏开始时,我希望有5个敌人节点

当玩家节点接触到敌人节点时,敌人节点将消失,然后立即出现另一个节点 敌人节点将被添加到不同的位置

但有时某些节点出现在同一位置,因此看起来似乎有4个节点而不是5个。 如果某个特定位置已有一个节点,我如何才能不在该位置添加另一个节点,而在其他位置添加另一个节点?
下面我添加了我编写的代码的一部分。 这可能是一件非常简单的事情,但我对编程是新手,我无法理解这一点

谢谢,

-(无效)添加水球{ 对于(int i=0;i<5;i++){


我要做的是插入一个
[带名称的自枚举儿童节点……]
生成随机坐标后,将随机x坐标和y坐标与每个枚举节点上的坐标进行比较,如果它们相同或太接近,则生成新的随机坐标。这可能最好在while循环中完成。

感谢您的回答,我还有一个问题,我用我的代码替换了您编写的代码,但现在这给了我另一个问题。你会看到下面。你有什么想法吗。再次感谢2014-09-23 12:57:10.029 WHGame[8194:432571]***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因是:“试图添加一个已经有父节点的SKNode:名称:'WaterBall'纹理:['greenball_10@2x“(20 x 20)]位置:{0,0}大小:{10,10}旋转:0.00'我不知道。您正在向场景中添加一个已经在场景中的节点。感谢您的回复
-(void)addWaterBall
{
NSUInteger randomWaterBall = [Util randomWithMin:0 max:8];
WaterBall *waterBall = [WaterBall waterBallOfType:randomWaterBall];
waterBall.name = @"WaterBall";


    [self enumerateChildNodesWithName:@"WaterBall" usingBlock:^(SKNode *node, BOOL *stop) {


        float y = self.frame.size.height - ((((self.frame.size.height/2)-10)/10) * [Util randomWithMin:1 max:10]);
        float x = (self.frame.size.width/10) * [Util randomWithMin:1 max:10];

        node.position = CGPointMake(x, y);


        node.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:waterBall.size.width/2];
        node.physicsBody.dynamic = YES;
        node.physicsBody.affectedByGravity = NO;



        node.physicsBody.categoryBitMask = waterBallCategory;
        node.physicsBody.contactTestBitMask = sharkCategory  ;
        //waterBall.physicsBody.collisionBitMask = ;


        [self addChild:waterBall];
    }];

}
-(void)addWaterBall
{
NSUInteger randomWaterBall = [Util randomWithMin:0 max:8];
WaterBall *waterBall = [WaterBall waterBallOfType:randomWaterBall];
waterBall.name = @"WaterBall";


    [self enumerateChildNodesWithName:@"WaterBall" usingBlock:^(SKNode *node, BOOL *stop) {


        float y = self.frame.size.height - ((((self.frame.size.height/2)-10)/10) * [Util randomWithMin:1 max:10]);
        float x = (self.frame.size.width/10) * [Util randomWithMin:1 max:10];

        node.position = CGPointMake(x, y);


        node.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:waterBall.size.width/2];
        node.physicsBody.dynamic = YES;
        node.physicsBody.affectedByGravity = NO;



        node.physicsBody.categoryBitMask = waterBallCategory;
        node.physicsBody.contactTestBitMask = sharkCategory  ;
        //waterBall.physicsBody.collisionBitMask = ;


        [self addChild:waterBall];
    }];

}