7

我已经用 AndEngine 测试了几个月,但仍然没有制作任何游戏原型。我想切换到 libgdx 的原因有几个:

    - AndEngine 正在为 Box2d 使用 libgdx 的 INI 包装器,但更新到达 Andengine 的速度很慢
    - 我主要针对 Android,但选择轻松移植到其他平台可能会派上用场
    - 文档!AndEngine 绝对没有文档,除了示例。
    - 我想获得尽可能高的性能,这在 libgdx 上似乎更容易。

我担心 libgdx 的几件事是我需要编写较低级别的代码并且完整游戏的开发需要更长的时间?但是话又说回来,有时我会浪费几天时间来了解 AndEngine 的某些部分是如何工作的,所以我是否有可能使用 libgdx 更快地编写代码,因为它已完全记录在案?

在切换之前我应该​​注意什么有关 libgdx 的信息?编码游戏和设计代码时的主要区别是什么?

4

3 回答 3

8

您应该注意以下事项:

  1. 它的性能更高,这是事实并且广为人知。Libgdx 使用本机代码来完成更困难的任务。
  2. 它的开发速度非常快,我不明白为什么(有些)人说做简单的任务需要很多行,这根本不是真的。该库是非常高级的,可以根据需要进行低级编程。尤其是能够立即在桌面上进行测试,而不是等待应用程序部署到 Android 设备或更糟……模拟器。这使得开发时间更快。
  3. 图书馆提供了很大的自由度,你可以随心所欲地制作东西。例如,我为每个新游戏制作了一个模板,这让我的工作变得更快。
  4. 你不必知道 opengl、androidsdk 或 lwjgl,实际上你只需要知道库的抽象。但是如果需要,您可以制作特定于平台的代码。那是有据可查的。
  5. 作为 PT 点的补充,libgdx 有一个用于 box2d 物理和子弹(3d)物理的包装器,它们非常易于使用(子弹除外:S 不开玩笑)。我想说,新的 3d api 几乎完成了,下一个稳定版本不会有太大变化,我什至在 irc 上读到它已经完成了。我使用它,可以告诉你它非常易于使用。

总之,Libgdx 是一个开发速度非常快的库。它非常高效且完整。有一个很好的帮助社区,还有很棒的文档。我会建议你改变:)

于 2013-10-21T19:45:27.613 回答
4

PT 和 Lestat 在他们的回答中都提出了很好的观点。但对我来说,我认为关于 libgdx,您只需要了解一件事,那就是libgdx 是一个工具包,而不是一个引擎或框架。这一事实意味着你没有被锁定在一种特定的做事方式上。如果你想要一个微框架,用 libgdx 写一个。如果你想写“Unity 2D”,用 libgdx 写。如果您想将所有内容放在一个文件中,将面向对象的原则抛诸脑后,您可以使用 libgdx。

  • 有据可查是有帮助的。
  • 它速度快是有帮助的。
  • 它有一个强大、知识渊博的社区。
  • 它有助于源代码可用并且编写良好。
  • 它带有示例,这很有帮助。
  • 它有助于它是一个平台抽象层,因此相同的代码将在多个平台上运行。
  • 它有助于它被积极开发。

但从根本上说,它是一个工具包,尽管是一个优秀的工具包。您选择使用该工具包做什么取决于您。

于 2013-10-21T20:27:25.393 回答
3

如果您在完成原型时遇到问题,我将专注于您的工具的可用性(例如,过度性能)以生产原型。因此,Box2d 的更新速度应该不重要(它处于足够好的状态)。在没有 Android 设备的情况下,在桌面上进行开发的能力应该很重要(构建/测试时间要快得多)。文档和示例应该非常重要。对于从未完成的原型,高性能并不重要。以后担心这个。(目标 #1 应该完成一些事情。)

Libgdx 有一组广泛的库和包装器,主要围绕图形 API(例如,Scene2d、SpriteBatch 或 TiledMap 基础设施)。有一个 3d API,但它仍在快速发展,还不是一个稳定的开发场所。我想说它没有很多“游戏”抽象(尽管它确实有一些),但我真的没有足够的经验与其他更高级别的库进行比较。

与其用现有工具的缺点和缺陷换取新工具的缺陷和缺陷,不如坚持使用你熟悉的工具。

于 2013-10-19T15:55:35.163 回答