ios - OpenGL 与 Cocos2d : What to choose?

标签 ios xcode opengl-es cocos2d-iphone

我知道 cocos2d 它是非常简单的 API,我可以用它来做简单而庞大的 2D 甚至有时是 3D 游戏/应用程序。我也知道 OpenGL 更复杂,它是较低级别的 API 等。

问题:
实现2D/3D游戏用什么比较好?
如果我们有cocos2d这样简单的框架,为什么还要学习OpenGL?
哪些 OpenGL 可以做而 cocos2d 做不到的事情?

提前致谢!

最佳答案

什么更适合实现 2D/3D 游戏?

  • 很难说,但总有一个更高级别的 API 可以让您的工作变得更轻松。例如,您正在编写 2D 射击游戏。您可能会使用游戏循环,您会想要使用 Sprite 并使它们在屏幕上移动。您可能想要发生爆炸之类的动画。您最终将编写自己的更高级别的 API 来执行这些操作。 Cocos2D 已经为您解决了这些问题。任何其他 frameworld 应该已经解决了它。

如果我们有像cocos2d这样简单的框架,为什么还要学习OpenGL?

  • 如果您想自定义框架的标准行为,尤其是绘图部分,您应该使用 openGL。如果有一些你喜欢的东西不是开箱即用的,你可能会发现自己重新实现了一个基础框架类。例如,查看 Cocos2D 2.0 中使用的着色器。如果你喜欢一些特殊的混合模式,比如着色效果,你不会免费得到它。 CCSprite 有一个颜色属性,但这可能不是您期望的结果。因此,您必须编写自己的着色器并将其插入到您希望以不同方式显示的 Sprite 中。

有哪些 OpenGL 可以做而 cocos2d 做不到的事情?

  • 这种比较并没有真正奏效,因为 cocos2d 促进了绘图部分的 opengGL 以构建更高级别的 api 并使您作为游戏开发者的生活更轻松。

关于ios - OpenGL 与 Cocos2d : What to choose?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9768034/

相关文章:

iOS模拟器拒绝保存截图

ios - 使用 Cocos2d 更新 XCode 5 的问题

android - 生成图 block 的更好方法

java - 着色器乘法矩阵

iphone - 将顶点数组和面索引加载到 OpenGL-ES 中的最快方法?

ios - 使用未声明的标识符,仅在分析应用程序时

ios - 在自定义 UIView 中渲染 CAShapeLayer

ios - 将 CGRect 表达式分配给 CGFloat - Swift

ios - 谷歌地图多个圆圈

ios - Xcode 6 Storyboard Unwind Segue with Swift 不连接退出