我最近开始学习用于iPhone开发的OpenGL ES,但一些人在Stack Overflow上提到,使用图像的核心动画比OpenGL (对于2D游戏)容易得多。我在CA上读到,我找到的一个网站上写着Core Animation主要用于制作棋盘游戏。这是真的吗?
我正在尝试制作的游戏类似于小行星,所以我发现这很有用:http://cocoawithlove.com/2009/02/asteroids-style-game-in-coreanimation.html然而,我们大多数人都知道Mac/iPhone模拟器与实际的iPhone设备是完全不同的世界。所以,底线是: Core Animation能满足我的需求吗?它能达到OpenGL ES的每秒60帧吗?
发布于 2011-06-22 03:59:34
与任何与性能相关的问题一样,答案将取决于您正在尝试执行的操作以及您尝试在其上执行操作的硬件。正如我在回答here中报告的那样,我能够使用核心动画在原始iPhone硬件上以60FPS的速度动画50个移动的半透明CALayers。目前销售的设备,如iPhone 4、iPad,尤其是iPad 2,比第一代硬件要快得多。
我建议尝试将Matt的Mac Core动画小行星示例移植到iOS上作为练习。正如你所说,除非你在实际的设备上运行它,否则你无法判断它的性能如何,所以为什么不试一试呢?看看他的所作所为,把这个例子带到iOS应该不会那么难,因为大部分核心动画代码都会保持不变。
您可能从Jens Alfke的GeekGameBoard代码中得到了"Core Animation只适用于棋盘游戏“的印象,它确实使用Core Animation实现了一个棋盘游戏系统。一些人已经在此基础上开发了其他应用程序。这并不意味着核心动画只对特定的流派有用。
是的,OpenGL ES将为您提供从硬件中提取最后一点性能的能力,但如果您不利用像cocos2d这样的框架,则需要更多的代码才能做到这一点。如果使用得当,核心动画可以非常快,并且更容易使用。
https://stackoverflow.com/questions/6430867
复制相似问题