я использую 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);
}
}
}
Где твердое тело - bool. В первый раз, когда я заменяю прибор на датчик, все в порядке, но когда я пытаюсь вернуться и снова перейти в сплошное состояние, мое приложение вылетает со следующей ошибкой:
Ошибка подтверждения: (manifold-> pointCount> 0), функция b2ContactSolver, файл /Documents/myapp/libs/Box2D/Dynamics/Contacts/b2ContactSolver.cpp, строка 58.
Можно ли как-то несколько раз поменять крепеж -> SetSensor и если да ... как?
Любая помощь высоко ценится.