0

这是重新提问

我想在碰撞后摧毁身体,但延迟 4-6 秒。我成功地检测到碰撞后的碰撞和身体破坏,但现在我想要延迟它。

我不知道怎么拖延。

4

1 回答 1

0

创建一个函数,它将 B2Body 作为参数并延迟调用该函数。

调用函数如下:

std::vector<b2Body *>::iterator pos; 
for(pos = bodyToDestroy.begin();pos != bodyToDestroy.end(); ++pos){ 
b2Body *body = *pos; 
if(body->GetUserData() != NULL){ 
CCPhysicsSprite *sprite = (CCPhysicsSprite *) body->GetUserData(); 
[sprite removeFromParentAndCleanup:YES];
} 
[self performSelector:@selector(myfunc) withObject:body afterDelay:4.0]; 
}

并且功能将是

-(void)myfunc : (b2Body *)body{
    world->destroyBody(body);
}
于 2013-05-24T05:18:16.163 回答