iPhone:Quartz2d 与 OpenGL ES
Posted
技术标签:
【中文标题】iPhone:Quartz2d 与 OpenGL ES【英文标题】:iPhone: Quartz2d vs. OpenGL ES 【发布时间】:2009-11-26 03:51:25 【问题描述】:好的,我还是 iPhone 开发的新手。我在应用商店有一款免费游戏,Winner Pong,但它只是一个使用标准 UIImageViews 的 Pong 克隆(谁会猜到)。现在我想做一些更复杂的事情,并将我的 Xbox 360 游戏 Trippin Alien 移植到 iPhone 上。我显然不能继续使用 UIImageViews,所以我想知道哪个会更好:更简单但会阻碍性能的 Qurtz2D,或者运行平稳但复杂得令人望而生畏的 OpenGL ES。
我的游戏基本上是一个直升机游戏,屏幕上有大约 8-10 个精灵加上一个简单的粒子系统(视频here)。不太复杂,但性能确实很重要。我之前唯一的游戏编程经验是在 Microsoft 的 XNA 和 C# 中,它有一个内置的 SpriteBatch 框架,可以非常容易地在屏幕上绘制、缩放和旋转预渲染的精灵。学习OpenGL ES值得吗?性能差距有多大?石英真的那么简单吗?
另外,如果有人知道其中任何一个的教程,请在此处发布。我需要尽可能多的帮助。
【问题讨论】:
【参考方案1】:查看每个代码示例以实际了解复杂性。您可能会发现 OpenGL 并不那么令人生畏。
关于性能。 Quartz2d 所属的核心动画在幕后使用 OpenGL,因此对于简单的精灵动画,我希望您的游戏表现得相当好。
在做出最终决定之前,我还会浏览一下编程指南foreach。
【讨论】:
【参考方案2】:另一种选择是使用类似Unity 的东西。我最近刚开始使用这个开发环境的试用版,如果您主要使用图形对象和精灵进行游戏开发,这可能是一个可以考虑的选项。您可以使用 C#、javascript 或 Boo 编写脚本。开发环境允许您以图形方式设置场景和关卡。然后,您可以将脚本附加到图形对象以制作动画以处理用户事件等。 我从其他人那里听说过 Unity 的一个缺点是,如果您想使用 UIKit 中熟悉的 UI 控件,实例化它们并不容易……我自己还没有验证过。
【讨论】:
以上是关于iPhone:Quartz2d 与 OpenGL ES的主要内容,如果未能解决你的问题,请参考以下文章
iPhone 成本与收益 - OpenGL ES 1.x 与 2.0
iPhone开发中如何制作这种动画效果? Quartz 2d,Vore 动画?