0

有没有办法删除与精灵关联的 b2body ?精灵应该出现在屏幕上,但没有物理。

我正在使用 cocos2d Box2d。

4

1 回答 1

1

我们将精灵作为 b2body 的用户数据。因此,如果您想删除具有特定精灵作为用户数据的主体,那么您必须遍历世界上目前存在的所有主体,然后与它们一一比较,如果找到,则删除相应的主体。假设您要删除与 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;
            }
}
于 2013-08-30T08:05:14.460 回答