Cocos2d iphone 之后每隔20-30秒创建一个实体';它被毁了
对不起,如果这听起来太基本,我真的不明白。在我的Cocos2d-Box2d游戏中,我想在它被摧毁后每隔20-30秒创建一个身体(在第一次创建之前等待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
-(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来检查破坏情况,但我不确定如何将其全部放在一起。