1

我设法制作了一个 hello world JBox2D应用程序,并且它可以工作(我有一些弹跳球)。但是,我刚刚阅读了论坛帖子上的评论,该评论声称 JBox2D 会产生大量垃圾,因此会导致动画效果不佳。这是真的?

如果是,那么我可以使用哪些其他 2D 引擎?我非常想为我的 2D 游戏使用物理引擎,即使它只是一个非常简单的游戏。

更新:

刚刚尝试在我的手机上运行 JBox2D 弹跳球演示,性能很糟糕。看起来libgdx是物理的方法,因为我认为它带有一个在 Android 上运行良好的 Box2D 的本机版本。至于AndEngine,这是一个游戏引擎而不是物理引擎,但我可以将它与 libgdx 结合使用,让自己领先一步。

更新 2:

我已经快速使用了 libgdx 和 AndEngine。我发现它们都是 Android 游戏引擎,但 AndEngine 的学习曲线不那么陡峭,但代价是受到更多限制。因此,如果您想构建一个严肃的游戏,您可能希望使用 libgdx,因为它可以让您做更多事情(但更难使用)。

4

4 回答 4

4

JBox2D 是本地版本的一个端口,称为 Box2D。本机版本显然不需要担心垃圾收集,因为它是为使用手动内存管理的语言(我认为是 C++)编写的。

问题在于 Java JBox2d 的端口尚未优化,因此,创建了许多临时变量,这些变量会大量触发垃圾收集,因此确实会降低帧速率。

正如克里斯蒂安建议的那样,您可以尝试使用 AndEngine。我不记得这是使用 JBox2d 还是使用本机 Box2D。

我个人会建议 BadLogicGames 的引擎在这里称为 LibGDX:

http://code.google.com/p/libgdx/

它绝对是原生使用 Box2D 的,并且可以选择在桌面上开发整个应用程序,并且偶尔只移植到 android 进行测试。移植只需要几行代码,并且有几个示例应用程序,所以它不是太棘手!:)

它也维护得很好,一直在对其进行更新!

无论如何,希望这会有所帮助!

安迪。

于 2010-12-21T12:49:33.377 回答
1

你见过AndEngine吗?你可以看看这个应用程序:农场塔。他们使用 AndEngine 来编写它,它使用物理学。

于 2010-12-20T15:55:24.627 回答
0

Cocos2Dx 因为便携性、效果和游戏性能

于 2013-07-31T11:42:49.933 回答
0

我肯定会推荐LibGdx。它Box2d确实包括一种为桌面构建的简单方法,可以方便地进行快速测试。有据可查,背后有一个伟大的社区。

于 2013-07-31T20:21:35.293 回答