Cocos2d iphone 延迟碰撞后销毁box2d车身

Cocos2d iphone 延迟碰撞后销毁box2d车身,cocos2d-iphone,box2d-iphone,Cocos2d Iphone,Box2d Iphone,这是个问题 我想在碰撞后销毁尸体,但延迟4-6秒。 我成功地检测到碰撞和碰撞后身体的破坏,但现在我想推迟 我不知道如何延迟。制作一个函数,将B2Body作为参数,并延迟调用该函数 调用如下函数: std::vector<b2Body *>::iterator pos; for(pos = bodyToDestroy.begin();pos != bodyToDestroy.end(); ++pos){ b2Body *body = *pos; if(body->GetUs

这是个问题

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


我不知道如何延迟。

制作一个函数,将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]; 
}

我正在更新方法中使用此代码。那么,我如何在这里使用您的解决方案std::vector::iterator pos;对于(pos=bodyToDestroy.begin();pos!=bodyToDestroy.end();++pos){b2Body*body=*pos;如果(body->GetUserData()!=NULL){ccphysisprite*sprite=(ccphysisprite*)body->GetUserData();[sprite removfromParentandCleanup:YES];}world->destrobody(body);}[self-performSelector:@selector(myfunc)withObject:*body**afterDelay:4.0];body对象的类型错误[self-performSelector:@selector(myfunc)withObject:(u桥id)body afterDelay:4.0];,这可能行得通,我还没有测试过。没有类似于u桥idlet的东西
-(void)myfunc : (b2Body *)body{
    world->destroyBody(body);
}