【发布时间】:2010-12-07 16:59:10
【问题描述】:
我正在使用一个 UIView 和 GraphicsContext 开发 iPhone 游戏应用程序。以下是我正在做的事情:
UIGraphicsBeginImageContext(CGSizeMake(320, 480));
CGContextRef contextRef = UIGraphicsGetCurrentContext();
使用 contextRef 绘图:
UIImage* imageContext = UIGraphicsGetImageFromCurrentImageContext();
... call [self setNeedsDisplayInRect];
(void)drawRect:(CGRect)rect {
[imageContext drawAtPoint:CGPointMake(0, 0)];
// it takes a lot time (about 0.120 seconds) to draw imageContext on iPhone 4 device....
}
问题是绘制 imageContext 需要很多时间。大约需要 0.12 秒或更长时间。在 iPhone 设备上,绘制图像需要很长时间。因此,我正在寻找一种解决方案来解决问题或在更短的时间内绘制图像。
有人知道如何减少时间吗? 如何在 iPhone 上开发游戏?在 App Store 中,有很多游戏。每场比赛都有适当的速度。
请推荐我用一个UIView开发游戏的方法或例子。
提前致谢!
【问题讨论】:
-
一般来说,我同意下面的 Bonegh 和 lm2s 的观点,即您应该考虑为您的游戏使用游戏引擎,因为它们在 API 和性能方面都更适合游戏需要能够做的事情。也就是说,我想知道您为什么要在 drawRect: 之外绘制图形上下文。通常,您应该在 drawRect: 中进行绘图,该上下文已经为您设置好了。
标签: iphone image-processing drawing cgcontext