在它被摧毁后每20-30秒创建一个身体

时间:2013-08-20 08:49:13

标签: cocos2d-iphone box2d box2d-iphone

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

创建球:

-(void)ballScheduler  {

[self createBall:ballWorld inLayer:ballLayer];
}

摧毁球:

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

1 个答案:

答案 0 :(得分:0)

使用操作来衡量时间间隔。所以destroyBall函数中的代码就是这样的:

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

我曾经使用过cocos2d,所以代码可能不是100%正确,但是在正确的范围内。如果我记得正确你只能在CCNode或派生类对象上调用runAction,那么这里的“self”需要是相关类型的对象,或者可能是CCScene本身。这一切都取决于你如何设计你的游戏,我不能在不看代码的情况下对实现做出真正的评论。