在我的代码中,我想销毁两个接触的物体之一。在 beginContact 中调用了 CCPhysicsSprite 中的以下方法:
-(void)contactMade:(CCPhysicsSprite*)contactedSprite {
int spriteTag1 = self.tag;
int spriteTag2 = contactedSprite.tag;
if (((spriteTag1 == 3) && (spriteTag2 == 4)) || ((spriteTag1 == 4) && (spriteTag2 == 3)) {
CCPhysicsSprite* heroSprite = (CCPhysicsSprite*)[self getChildByTag:4];
b2World* world;
world->DestroyBody(heroSprite.b2Body);
heroSprite.b2Body = NULL;
[heroSprite.parent removeChild:heroSprite];
}
我得到一个信号 SIGABRT 指向
b2Assert(m_bodyCount > 0);
在搜索了这个问题之后。我读到必须在时间步之后保存和销毁接触体。鉴于我在 CCPhyscisSprite 中设置了我的联系条件,我该怎么做。