我已经填充了一组 b2bodys。使用以下方法:
-(void)populateBodiesToDestroy:(b2Body*)body {
NSValue *bodyValue = [NSValue valueWithPointer:body];
[bodiesArray addObject:bodyValue];
}
每个主体相互连接以形成链。使用上述方法,我已经填充了数组。我在 HelloWorldLayer 中每 1/60 秒更新一次 Sprite 类中的以下方法,以销毁身体并移除它们的 CCPhysicsSprites。
-(void)updateBodies {
if (bodiesArray) {
for (int i = 0; i < bodiesArray.count; i++) {
b2Body *removeLinkBody = (b2Body*) [[bodiesArray objectAtIndex:i] pointerValue];
bWorld->DestroyBody(removeLinkBody); //signal SIGABRT happens here
removeLinkBody = NULL;
[self removeChildByTag:10 + i];
}
}
}
我不断收到信号 SIGABRT 在线:
bWorld->DestroyBody(removeLinkBody); //signal SIGABRT happens here
链条也冻结了。我不确定是全部还是部分身体都被摧毁了,只是出现了 CCPhyscisSprites。我该如何解决这个问题?