Iphone 核心动画还是OpenGLES?

Iphone 核心动画还是OpenGLES?,iphone,cocoa-touch,opengl-es,drawing,core-animation,Iphone,Cocoa Touch,Opengl Es,Drawing,Core Animation,我想做以下工作: 轻触屏幕并在轻触点周围绘制3个圆环。 使用核心动画或OpenGL ES来实现这一点更好吗 从何处开始?这最好使用Quartz 2D(也称为Core Graphics)完成 如前所述,核心图形框架可能就是您想要的。一个很好的方法是将UIView子类化,然后重写两个方法drawRect:和touchesend:withEvent: 当触摸事件在UIView上结束时,您可以从传递到touchesend:withEvent:的事件中获取最后一次触摸的点,并以某种方式将其存储在子类UIV

我想做以下工作:

轻触屏幕并在轻触点周围绘制3个圆环。 使用核心动画或OpenGL ES来实现这一点更好吗


从何处开始?

这最好使用Quartz 2D(也称为Core Graphics)完成


如前所述,核心图形框架可能就是您想要的。一个很好的方法是将UIView子类化,然后重写两个方法
drawRect:
touchesend:withEvent:

当触摸事件在UIView上结束时,您可以从传递到
touchesend:withEvent:
的事件中获取最后一次触摸的点,并以某种方式将其存储在子类UIView的实例中


然后,在您的
drawRect:
实现中,您将获得存储的最后一个接触点,并使用对
CGContextAddEllipseInRect
的三次调用围绕它画三个圆,如本文所述:(注册为Apple Developer required)。

核心图形肯定更简单,更适合2D。OpenGL ES用于3D,但也可用于2D。两者都可以使用,所以如果你已经知道一个,就使用它。其实没什么大不了的


我已经知道OpenGL,所以我倾向于使用OpenGL ES,即使是2D,但如果你以前没有使用过,请使用核心图形。

我的经验是:我的应用程序越复杂,我就越意识到我应该使用OpenGL ES来完成我的工作

所以,对于你的情况,如果你所描述的是所有的,当然,核心图形会起作用。但是,我猜这不仅仅是三个圆圈

由于没有使用OpenGL的经验,ES的学习曲线大约为20天


因此,我的建议是:对于几乎每一个基于帧到帧图形的应用程序,学习OpenGL ES的好处是,你花时间学习它,将来在iPhone应用程序和其他设备上会很好地为你服务


在OpenGL ES中,没有内置的绘制圆的方法,因此使用正弦和余弦从线段构建圆。

OpenGL中没有空间。此外,在IPhone上,它是OpenGL ES(嵌入式系统)。我已经编辑了你的问题。哇,超级方法和docu开始!谢谢。好的,OpenGL ES看起来很有前途。下次我会试试,我有几个小时的空闲时间。很酷,20天就可以了。你是只使用Apple docu,还是有什么书值得推荐?我推荐红皮书()。接下来,查看Khronos()中的OpenGL页面。当然还有谷歌。为什么2D的核心图形比OpenGL ES更好?