- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有兴趣制作一款依赖于像素、绘图的游戏每个像素一次一个。
但是我很难找到准系统源代码展示如何做到这一点。一切都必须通过 OpenGL 吗?
我知道开发套件中有一个示例,但它没有绘制 1 个像素,而是绘制了一个大像素圆圈,我需要 1 像素映射。
是否有一个允许简单注册手指的准系统示例在屏幕上输入并绘制 1 像素?
最佳答案
有两种常见方法可以将原始像素绘制到屏幕上:使用 OpenGL ES 渲染或使用 Quartz 2D 绘制。两者都有各自的优点和缺点。
在进行大量显示更新时,OpenGL ES 将为您提供最佳的绘图性能。您可以查看Apple的GLPaint sample application有关如何使用 OpenGL ES 进行手指驱动绘画的示例。如果您愿意,您甚至可以将该示例中使用的画笔修改为仅一个像素宽。
但是,OpenGL ES 使用起来可能很复杂,并且需要大量代码来完成您想要的绘图,即使是在 2D 中也是如此。您可以引用问题Learning OpenGL ES 1.x获取可帮助您了解这些 API 的资源。
对于定期更新的内容,Quartz 2D 绘图要慢得多,但它比 OpenGL ES 更容易上手。 Quartz 2D 基于矢量图形,因此它并不是真正旨在成为逐像素渲染框架。我在对 this question 的回答中给出了有关此框架的教程的一些指示。 .
第三种替代方案可能不像这两种方案那么简单,它是创建一个 UIImage 并手动更改其像素以响应绘图操作,并在每次更改后重新显示图像。同样,您将遇到与使用 Quartz 2D 相同的性能缓慢问题。有关更多信息,请参阅 this question 中发布的答案.
关于iphone - 如何在 iPhone 上绘制单个像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5076573/
我是一名优秀的程序员,十分优秀!