1

我正在 iPad 上开发一个小应用程序,用户可以将对象拖到一起。当物体接触时,我创建了一个将物体粘在一起的距离关节。这工作正常。

如果用户再次触摸对象来拖动它,我希望能够单独移动对象,而不是将关节中的所有对象一起移动。我已经编写了以下代码,但它并没有真正起作用:

for (b2JointEdge *jointEdge = theBody->GetJointList(); jointEdge; jointEdge=jointEdge->next) {
    b2Joint *joint = jointEdge->joint;
    _world->DestroyJoint(joint);
}

有什么建议么?

遗传算法

4

1 回答 1

3

迭代关节列表时不要删除关节。因为当关节被移除时 - 列表被更改并且您的迭代器将变得无效。将关节​​保存到数组中,然后在遍历数组时删除它们。

于 2013-10-10T09:55:06.913 回答