2009-10-05 117 views
1

请原谅这个新手问题。我有一个iPhone游戏,目前使用大量的动画PNG图像。虽然这个效果很好,但图像占用了大量的内存。我也有矢量格式的图像,我宁愿使用那些而不是png。在iphone上绘制矢量图形

有没有一种原生的方式来做到这一点?

+0

你的解决方案是什么? – Jonathan 2010-03-22 17:24:17

+0

我从来没有过。 – 2010-04-15 20:30:48

+0

你有没有得到你的问题的答案。 我还需要在iphone中绘制SVG。 – 2012-05-22 06:05:43

回答

5

我假设你想使用的Core Animation,对不对?在这种情况下,你的选择是相当有限的。有几种显示图形的图层:CALayer绘制位图,CAShapeLayer绘制一条贝塞尔路径,CAGradientLayer绘制线性渐变,CATextLayer绘制文本。您也可以将OpenGL与CAEAGLLayer一起使用,但它不会与其他Quartz图形在性能方面很好地结合。最有可能的是,您仍然必须使用PNG,因为即使您拥有可以通过Core Graphics显示的PDF文件,也​​必须对它们进行光栅化处理,然后才能将其显示在CALayer中。此外,光栅化将在CPU上完成,您不希望每个动画帧都发生这种情况。

关于记忆的使用,我感到你的痛苦。很多图像==很多内存。核心动画不完全是一个游戏引擎,它的设计考虑了UI动画。我曾经做过一个带有CA的iPhone游戏,除了内存使用外,还有太多的动画同时出现时性能问题。看看Cocos2D,它更适合游戏并正在积极开发。当然,它有它自己的问题,值得提及作为一种选择。

+0

这是一段时间以前,但cocos2d是我最终结束了。我推荐给任何人。 – 2010-12-12 16:06:58