檢索壘球的篩選數據我用壘球在我的項目&想改變它的對groupIndex而它與某種類型的障礙物相撞....對我有下面的代碼使用EXC_BAD_ACCESS錯誤而cocos2dx
void HelloWorld::collide()
{
for (int i=0; i<13; i++) {
b2Body *body=(b2Body *)node->bodies->objectAtIndex(i);
b2Fixture *fixture=body->GetFixtureList();
b2Filter filterdata=fixture->GetFilterData();
filterdata.groupIndex=-8;
fixture->SetFilterData(filterdata);
}
b2Fixture *fixture=node->innerCircleBody->GetFixtureList();
b2Filter filterdata=fixture->GetFilterData();
filterdata.groupIndex=-8;
fixture->SetFilterData(filterdata);
world->SetGravity(b2Vec2(0, 0));
}
,但在b2Filter filterdata獲取EXC_BAD_ACCESS = fixture-> GetFilterData();
不知道發生了什麼事錯在這個....
13號從哪裏來?循環使用「主體」列表中的項目數量會更安全。 – iforce2d
在我的情況下,我已經取代(int i = 0; i <13; i ++); to(int i = 0; i bodies-> count(); i ++);仍然有相同的錯誤... –
你是否在這段時間摧毀任何身體或固定裝置?使用調試器查看所涉及的物體和夾具的值,您可以判斷它們是否無效。 – iforce2d