0

我正在使用 Starling 和 Box2D 开发游戏引擎。我正在努力确保它在正确删除对象方面是气密的,即没有内存泄漏。

不幸的是,我对 Box2D 没有非常深入的了解,所以我不确定如何确保正确删除正文。

目前我只是在使用:

b2World.DestroyBody(b2Body);

当我在 10 到 15 分钟内对它进行分析时,记忆似乎处于停顿状态。然而,我确实注意到还有一些其他方法b2Body.DestroyFixture(b2Fixture),例如暗示可能需要更多的清理工作。

完全删除 a 涉及什么b2Body

作为一个小问题;我需要做什么才能完全摧毁 a b2World?(例如,当我回到菜单时)。

4

1 回答 1

0

我使用 C++,没有任何问题。删除世界会释放所有 box2d 内存。只有当您想在模拟过程中破坏身体、关节或夹具时,才需要像 DestroyBody、DestroyJoint 和 DestroyFixture 这样的方法。尝试检查内存泄漏简单的 box2d 应用程序。当然,麻烦不在box2d。

于 2013-07-24T19:00:15.460 回答