Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从AndEngine切换到libgdx-需要知道什么?_Java_Android_Libgdx_Andengine_Game Engine - Fatal编程技术网

Java 从AndEngine切换到libgdx-需要知道什么?

Java 从AndEngine切换到libgdx-需要知道什么?,java,android,libgdx,andengine,game-engine,Java,Android,Libgdx,Andengine,Game Engine,我已经用AndEngine进行了几个月的测试,但仍然没有生成任何游戏原型。我想切换到libgdx的原因很少: -AndEngine正在为Box2d使用libgdx的INI包装,但更新缓慢到达AndEngine -我的主要目标是Android,但如果能选择方便地移植到其他平台,可能会很方便 -文档!AndEngine除了示例之外,没有任何文档。 -我希望获得尽可能高的性能,这在libgdx上似乎更容易实现。 关于libgdx,我关心的几件事是,我将需要编写较低级别的代码,而整个游戏的开发将花费更长

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

    -AndEngine正在为Box2d使用libgdx的INI包装,但更新缓慢到达AndEngine
    -我的主要目标是Android,但如果能选择方便地移植到其他平台,可能会很方便
    -文档!AndEngine除了示例之外,没有任何文档。
    -我希望获得尽可能高的性能,这在libgdx上似乎更容易实现。
关于libgdx,我关心的几件事是,我将需要编写较低级别的代码,而整个游戏的开发将花费更长的时间?但话说回来,有时我花了几天的时间来理解AndEngine的某些部分是如何工作的,那么,既然libgdx已经有了完整的文档,我是否有可能更快地编写代码呢


在切换之前,我应该注意哪些关于libgdx的信息?编写游戏代码和设计代码的主要区别是什么?

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

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


与其用当前工具的缺点和陷阱换取新工具的缺点和陷阱,不如坚持使用您知道的工具。

您应该注意以下几点:

  • 这是事实,也是众所周知的。Libgdx使用 用于更困难任务的本机代码
  • 它的发展非常快,我不明白为什么(有些)人会这么说 做简单的任务需要很多行,但事实并非如此。这个 库的级别非常高,可以作为 低水平,因为你需要。尤其是测试的能力 立即使用桌面,而不是等待应用程序部署到 安卓设备或更糟的。。。模拟器。这使得发展成为可能 时间要快得多
  • 图书馆给你很大的自由,你可以随意制作 我想要它。例如,我制作了一个模板,用于每项新任务 游戏,这让我的速度更快
  • 你不必知道opengl、AndroidDK或lwjgl,实际上你只需要 需要知道图书馆的摘要。但是你可以 平台特定代码(如果需要)。这是有据可查的
  • 作为对P.T.点的补充,libgdx有一个box2d物理和物理的包装器 bullet(3d)物理,非常容易使用(bullet:S除外 不开玩笑)。我要说的是,新的3d api几乎完成了, 下一个稳定的版本不会有太大的变化,我甚至在irc上读到过 已经差不多完成了。我用它,可以告诉你它很容易 使用

  • 总之,Libgdx是一个开发速度非常快的库。它非常出色、完整。有一个很好的帮助社区,还有很好的文档。我建议你改变一下:)

    p.T.和莱斯特的回答都很好。但对我来说,我认为关于libgdx,你只需要知道一件事,那就是libgdx是一个工具包而不是一个引擎或框架。这一事实意味着你不会被某一特定的做事方式所束缚。如果您想要一个微框架,请使用libgdx编写一个。如果您想编写“Unity2D”,请使用libgdx编写。如果您想将所有内容都放在一个文件中,将面向对象的原则抛诸脑后,您可以使用libgdx来实现这一点

    • 有很好的文档记录是有帮助的
    • 它的速度很快,这很有帮助
    • 它有一个强大的、知识渊博的社区,这会有所帮助
    • 它有助于源代码的可用性和良好的编写
    • 它有助于提供示例
    • 它是一个平台抽象层,因此相同的代码将在多个平台上运行,这很有帮助
    • 它有助于它的积极发展

    但从根本上说,它是一个工具包,尽管是一个优秀的工具包。如何使用该工具包取决于您。

    我不同意libGDX的低级别。它有很多高级的东西,比如TileMap装载机。你也不需要知道任何关于OpenGL的知识就可以使用libGDX…也许我不清楚这个问题。当我说“用安德林测试几个月”时,我并不是说我在安德林工作了这么长时间。所以,我决不会说我知道。这就是为什么我觉得现在是转换的正确时机。如果我实际上不了解这个工具,“最好还是坚持使用你知道的工具”就不适用了。和以前不同的是,现在我决定创建一个完整的游戏(不仅仅是原型),不管它需要什么或者结果有多糟糕。重点是在过程中学习。这就是为什么我觉得我需要从一开始就选择正确的环境。@OpenGL和Libgdx没有人是对的。仅仅因为我这样使用它并不意味着它就是这么做的(而且它变得更广泛)。我想说的是,它没有提供“游戏化”的抽象(它们仍然是面向图形和声音的),但也许我给了其他工具包太多的荣誉。我将改变一下我的答案。谢谢,我也应该