这是再问一遍
我想在碰撞后摧毁物体,但要延迟4-6秒。我成功地检测到碰撞和碰撞后身体的破坏,但现在我想要延迟它。
我不知道如何拖延。
发布于 2013-05-24 13:18:16
创建一个以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);
}
https://stackoverflow.com/questions/16727902
复制相似问题