0

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

创建球:

-(void)ballScheduler  {

[self createBall:ballWorld inLayer:ballLayer];
}

破坏球:

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

1 回答 1

0

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

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

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

于 2013-08-20T16:52:37.853 回答