有没有办法删除与精灵相关的b2body?精灵应出现在屏幕上,但没有物理。
我正在使用cocos2d Box2d。
答案 0 :(得分:1)
我们将sprite作为b2body的userdata。因此,如果你想删除具有特定精灵的身体作为用户数据,那么你必须遍历世界上当前存在的所有身体,然后逐一与它们进行比较,如果你找到它然后删除相应的身体。 假设您要删除与CCSprite * temp;
对应的主体for(b2Body *b = _world->GetBodyList(); b; b=b->GetNext()) {
if (b->GetUserData() != NULL) {
CCSprite *sprite = (CCSprite *)b->GetUserData();
if (sprite==temp) {
world->destroyBody(b);
break;
}
}