我想做以下事情:
点击屏幕并在点击的点周围绘制 3 个 cricles。使用 Core Animation 或 OpenGL ES 会更好吗?
我从哪里开始?
我想做以下事情:
点击屏幕并在点击的点周围绘制 3 个 cricles。使用 Core Animation 或 OpenGL ES 会更好吗?
我从哪里开始?
我的经验是这样的:我的应用程序变得越复杂,我就越意识到我应该使用 OpenGL ES 来做我想做的事情。
因此,对于您的情况,如果您所描述的就是全部,那么 Core Graphics 可以解决问题。但是,我猜它不仅仅是三个圆圈。
在完全没有 OpenGL 经验的情况下,ES 的学习曲线大约是 20 天。
因此,我的建议是:几乎所有基于帧到帧图形的应用程序都使用 OpenGL ES。
如前所述,Core Graphics 框架可能是您想要的。一个好的方法是继承 UIView,然后覆盖这两个方法drawRect:
和touchesEnded:withEvent:
.
当 UIView 上的触摸事件结束时,您可以从传递给的事件中获取最后一次触摸的点touchesEnded:withEvent:
,并将其以某种方式存储在子类 UIView 的实例中。
然后,在您的实现中drawRect:
,您将获得存储的最后一个接触点,并使用三个调用在其周围绘制三个圆圈CGContextAddEllipseInRect
,如下所述:Quartz 2D 编程指南:路径(需要注册为 Apple 开发人员)。
学习 OpenGL ES 的优势在于,您花在学习上的时间将在未来的 iPhone 应用程序和其他设备上为您服务。
在 OpenGL ES 中,没有内置的方法来绘制圆,因此使用正弦和余弦从线段构建圆。
Core Graphics 绝对更简单,更适合 2D。OpenGL ES 是为 3D 设计的,但也可以用于 2D。两者都可以使用,所以如果您已经知道一个,请使用它。应该没那么重要。
我已经了解 OpenGL,所以即使是 2D,我也倾向于使用 OpenGL ES,但如果您以前没有使用过,请使用 Core Graphics。
这最好使用 Quartz 2D(也称为 Core Graphics)来完成