应该很容易,但我没有找到......
我的世界里有很多精灵,在片刻X,我需要消灭多个精灵。
使用下面的代码,我可以通过标签号删除此精灵:
CCSprite *sprite = (CCSprite *)[self getChildByTag:TagFromMyArray];
[self removeChild:sprite cleanup:YES];
问题是身体仍留在屏幕上......并在下一次打勾时让游戏崩溃。
使用下面的代码,我可以找到“身体”:
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);
}
}
}
问题是它会移除世界上的每一具体。
不是指独特的身体吗?
答案 0 :(得分:1)
我在这里待了几个小时,这是一个小错误......
只需在最后一个条件中将“=”替换为“==”。