2

应该很容易,但我没有找到...

我的世界中有很多精灵,在某个时刻 X,我需要销毁多个精灵。

使用下面的代码,我可以通过标签号删除这个精灵:

CCSprite *sprite = (CCSprite *)[self getChildByTag:TagFromMyArray];
[self removeChild:sprite cleanup:YES];

问题是留在屏幕上的身体......并在下一个滴答声中使游戏崩溃。

使用下面的代码,我可以找到“a body”:

for(b2Body *b = world->GetBodyList(); b; b=b->GetNext()) {
        if (b->GetUserData() != NULL) {
            CCSprite *sprite = (CCSprite *)b->GetUserData();
            if (sprite.tag = [[[myGrille.grille objectAtIndex:point.x] objectAtIndex:point.y]blockTag]) {
                [self removeChild:sprite cleanup:YES];
                world->DestroyBody(b);
            }
        }
    }

问题是它移除了世界上的每一个人。

ba 不是指一个独特的身体吗?

4

1 回答 1

1

我在这附近呆了几个小时,这是一个小错误......

只需在最后一个 if 条件中将“=”替换为“==”。

于 2013-01-24T14:38:03.647 回答