我使用 cocos2d-iphone-0.99.2 并集成在 box2d 中。我有 2 种带有标签 1 和 2 的精灵。我还为它们创建了身体和形状定义。我想要做的是让 sprite1 种类在 sprite2 与它们碰撞时充当实体或不实体。我试过这段代码:
for(b2Body *b = _world->GetBodyList(); b; b=b->GetNext())
{
if (b->GetUserData() != NULL)
{
CCSprite *sprite = (CCSprite *)b->GetUserData();
if (sprite.tag == 1)
{
b2Fixture* f = b->GetFixtureList();
f->SetSensor(solid);
}
}
}
固体是布尔值。当我第一次将夹具更改为传感器时,一切都很好,但是当我尝试恢复并再次更改为固态时,我的应用程序崩溃并出现以下错误:断言失败:(manifold->pointCount > 0),函数 b2ContactSolver,文件 /Documents /myapp/libs/Box2D/Dynamics/Contacts/b2ContactSolver.cpp,第 58 行。
是否有可能以某种方式更改fixture->SetSensor 几次,如果是这样......如何?非常感谢任何帮助。