5

我想做以下事情:

点击屏幕并在点击的点周围绘制 3 个 cricles。使用 Core Animation 或 OpenGL ES 会更好吗?

我从哪里开始?

4

5 回答 5

10

我的经验是这样的:我的应用程序变得越复杂,我就越意识到我应该使用 OpenGL ES 来做我想做的事情。

因此,对于您的情况,如果您所描述的就是全部,那么 Core Graphics 可以解决问题。但是,我猜它不仅仅是三个圆圈。

完全没有 OpenGL 经验的情况下,ES 的学习曲线大约是 20 天。

因此,我的建议是:几乎所有基于帧到帧图形的应用程序都使用 OpenGL ES

于 2009-05-10T19:51:40.247 回答
4

如前所述,Core Graphics 框架可能是您想要的。一个好的方法是继承 UIView,然后覆盖这两个方法drawRect:touchesEnded:withEvent:.

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

然后,在您的实现中drawRect:,您将获得存储的最后一个接触点,并使用三个调用在其周围绘制三个圆圈CGContextAddEllipseInRect,如下所述:Quartz 2D 编程指南:路径(需要注册为 Apple 开发人员)。

于 2009-05-10T19:20:33.713 回答
3

学习 OpenGL ES 的优势在于,您花在学习上的时间将在未来的 iPhone 应用程序和其他设备上为您服务。

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

于 2009-05-10T19:57:22.857 回答
2

Core Graphics 绝对更简单,更适合 2D。OpenGL ES 是为 3D 设计的,但也可以用于 2D。两者都可以使用,所以如果您已经知道一个,请使用它。应该没那么重要。

我已经了解 OpenGL,所以即使是 2D,我也倾向于使用 OpenGL ES,但如果您以前没有使用过,请使用 Core Graphics。

于 2009-05-10T19:32:49.683 回答
1

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

请参阅Apple 的 Quartz 编程指南

于 2009-05-10T17:02:27.020 回答