Cocos2d iphone 之后每隔20-30秒创建一个实体';它被毁了

Cocos2d iphone 之后每隔20-30秒创建一个实体';它被毁了,cocos2d-iphone,box2d,box2d-iphone,Cocos2d Iphone,Box2d,Box2d Iphone,对不起,如果这听起来太基本,我真的不明白。在我的Cocos2d-Box2d游戏中,我想在它被摧毁后每隔20-30秒创建一个身体(在第一次创建之前等待20-30秒)。下面是我调用创建和销毁的方法。谢谢 创建球: -(void)ballScheduler { [self createBall:ballWorld inLayer:ballLayer]; } 摧毁球: -(void)destroyBall{ ballWorld->DestroyBody(ballBody); ballBody

对不起,如果这听起来太基本,我真的不明白。在我的Cocos2d-Box2d游戏中,我想在它被摧毁后每隔20-30秒创建一个身体(在第一次创建之前等待20-30秒)。下面是我调用创建和销毁的方法。谢谢

创建球:

-(void)ballScheduler  {

[self createBall:ballWorld inLayer:ballLayer];
}
摧毁球:

-(void)destroyBall{
ballWorld->DestroyBody(ballBody);
ballBody = NULL;
[ballLayer removeChild:ballSprite];
}

使用动作测量时间间隔。destroyBall函数中的代码是这样的:

[self runAction:[CCSequence actions:[CCDelayTime actionWithDuration:20.0],
                                    [CCCallFuncN actionWithTarget:self selector:@selector(createNewBody:)],
                                    nil
                ]
];

我不久前使用过cocos2d,因此代码可能不是100%正确,但在正确的代码范围内。如果我没记错的话,您只能对CCNode或派生类对象调用runAction,因此这里的“self”必须是相关类型的对象,或者可能是CCScene本身。这完全取决于你是如何设计你的游戏的,如果不看一下代码,我真的无法对实现进行评论。

你应该有一个中心位置来管理你的球。是的,我明白了。上述两个方法都将在该中心位置或方法中调用。但我的主要问题是设置时间间隔,我相信可以使用一些BOOL来检查破坏情况,但我不确定如何将其全部放在一起。