适合这项工作的工具:CoreAnimation,Cocoa Animation或OpenGL ES?

时间:2010-08-06 13:30:22

标签: iphone opengl-es core-animation

我在iPhone上做图形工作比较陌生,希望得到一些关于我应该采用哪种技术的指导。我面临的问题是我需要创建一个将有旋转轮的iPhone应用程序,请考虑Price Is Right wheel

我不是在寻找任何人提供详细的解决方案,这会破坏我的乐趣!我只想知道使用直接Cocoa动画并在车轮旋转时手动绘制和移动每个单元格会更好,还是应该尝试使用Core Animation Layers?我还想过使用OpenGL ES并在3D中构建一个真正的圆柱然后旋转它,这对我来说似乎是最合乎逻辑的,但我再次对这一切都不熟悉。

2 个答案:

答案 0 :(得分:3)

对于这样的情况,我通常建议先查看核心动画,如果你无法获得所需的性能,那么只能去OpenGL ES。仅使用Quartz重新绘制轮子会导致性能极差,因此这不是一个真正的选择。

使用Core Animation,您可以执行复杂的动画,例如旋转,而无需太多代码。您还可以利用UIViews和其他UIKit组件轻松提供触摸交互。您甚至不需要逐步使用图层,因为每个UIView都是图层支持的,并且它们往往非常轻量级。

OpenGL ES将为您提供最佳性能,但我不认为您在使用Core Animation旋转滚轮时会遇到限制,即使在旧设备上也是如此。 OpenGL ES需要更多代码来实现相同的效果,并且更难以与您可能希望进行的任何触摸交互集成。

答案 1 :(得分:0)

根据反馈,我深入挖掘了Core Animation,并且能够完成我需要的使用它。感谢您的所有建议。