我应该使用什么来为 iOS 创建 2D 游戏?有几种选择,但我不知道性能影响是什么。我正在考虑使用 OpenGL ES 2.0 和 GLKit、Cocos 2D 或者只是带有 Core Graphics 的 UIKit。
4 回答
OpenGL (GLKit, ES 2.0) 肯定会有更好的性能,但需要你付出更多的努力。CoreGraphics 是最简单的解决方案,但对于复杂的游戏可能不够强大。Cocos2D 将为您提供不错的性能(比 CoreGraphics 好得多,但可能比 OpenGL 差),并且具有中等难度和复杂性。所以:
如果游戏非常简单并且您想快速完成它,请使用 CoreGraphics。
如果游戏很复杂,并且想尽快完成,请使用 Cocos2D。
如果游戏很复杂,并且您想完全控制它的工作方式,请使用 OpenGL。您将能够做出其他两个选项无法实现的事情,但您将花费更多时间来学习 OpenGL 和编写游戏。
Cocos2d 非常强大,可以帮助您更快地构建应用程序,但它会隐藏很多底层细节。OpenGL 和 UIKit 图形将使您更好地理解和控制事物,但需要更多的时间来学习。这些方法中的任何一种在网上都有很好的教程。
就个人而言,我使用过 Sparrow 框架,我强烈推荐它: http ://www.sparrow-framework.org
完整披露:我是 Sparrow 社区的版主和活跃成员
自己编程 GL 可能是一项可怕的任务……而 CoreGraphics 只适用于简单的事情。Cocos2D 也有很好的声誉,但无论出于何种原因,我都尝试了 Sparrow。
只是想添加到另一个答案。
除了你需要花多少时间来学习考虑和引擎的易用性,其中两点是非常重要的考虑点,你还应该看看你的游戏需要什么,以及这些选择中的哪一个最适合你的项目.
如果说你的游戏处理刚体碰撞检测,那么像 Sparrow Framework 之类的东西肯定可以通过球形碰撞算法让你到达那里,但如果你说你要制作一个像 Worms 这样的具有可破坏环境的游戏呢?
您需要处理像素操作,例如在单独的缓冲区中擦除位掩码。这些都是低级的东西,可能需要 OpenGL ES。
此外,明智的做法是检查该项目是否仍在积极开发中。
所以选择归结为:
1次
2) 易用性
3) 性能
4)开箱即用的功能
5) 是否仍在积极开发中