iPhone桌面游戏:OpenGL ES还是CoreGraphics?

tit*_*coy 17 iphone opengl-es core-graphics

我想为iPhone编写一个棋盘游戏(类似于跳棋).OpenGL ES或CoreGraphics会是更好的选择吗?App Store上大多数此类游戏都使用什么?

Bra*_*son 21

实际上,我在这个案例中建议的是Core Animation,甚至只是UIViews本身.如果您通过Core Graphics直接在单个视图中绘制所有元素,然后为每个动画帧刷新该视图,您将获得可怕的性能.

我建议将游戏板的离散元素(棋子,计数器,棋盘方块等)绘制为单独的UIViews或CALayers,然后为这些层或视图设置动画.UIViews并不比CALayers重得多,他们在幕后使用Core Animation来进行简单的移动,缩放或淡化动画.他们还可以响应触摸事件.如果您想构建更多跨平台(Mac和iPhone)游戏,或者您需要执行更复杂的动画,CALayers非常有用.

对于2D游戏,我会推迟使用OpenGL,直到您完全确定无法从Core Animation获得所需的性能.OpenGL对代码的优雅程度要低得多.

有关如何使用Core Animation进行棋盘游戏的一个很好的例子,A​​pple提供了GeekGameBoard示例代码.虽然它是一个Mac应用程序,但Core Animation代码可以直接转换到iPhone.


Joh*_*ohn 6

您也可以查看cocos2d for iphone - 它是一个功能齐全的二维游戏库; 它有平铺地图,精灵,视差,日程安排等.我正在将它用于我的游戏,这对我有很大的帮助.

http://code.google.com/p/cocos2d-iphone/