请原谅这个新手问题。我有一个iPhone游戏,目前使用大量的动画PNG图像。虽然这个效果很好,但图像占用了大量的内存。我也有矢量格式的图像,我宁愿使用那些而不是png。在iphone上绘制矢量图形
有没有一种原生的方式来做到这一点?
请原谅这个新手问题。我有一个iPhone游戏,目前使用大量的动画PNG图像。虽然这个效果很好,但图像占用了大量的内存。我也有矢量格式的图像,我宁愿使用那些而不是png。在iphone上绘制矢量图形
有没有一种原生的方式来做到这一点?
我假设你想使用的Core Animation,对不对?在这种情况下,你的选择是相当有限的。有几种显示图形的图层:CALayer绘制位图,CAShapeLayer绘制一条贝塞尔路径,CAGradientLayer绘制线性渐变,CATextLayer绘制文本。您也可以将OpenGL与CAEAGLLayer一起使用,但它不会与其他Quartz图形在性能方面很好地结合。最有可能的是,您仍然必须使用PNG,因为即使您拥有可以通过Core Graphics显示的PDF文件,也必须对它们进行光栅化处理,然后才能将其显示在CALayer中。此外,光栅化将在CPU上完成,您不希望每个动画帧都发生这种情况。
关于记忆的使用,我感到你的痛苦。很多图像==很多内存。核心动画不完全是一个游戏引擎,它的设计考虑了UI动画。我曾经做过一个带有CA的iPhone游戏,除了内存使用外,还有太多的动画同时出现时性能问题。看看Cocos2D,它更适合游戏并正在积极开发。当然,它有它自己的问题,值得提及作为一种选择。
这是一段时间以前,但cocos2d是我最终结束了。我推荐给任何人。 – 2010-12-12 16:06:58
重复?
编辑:
你有没有通过Quartz2D Programming Guide读?通过“矢量图像”,我不确定你的意思是什么格式。我假定你的意思是SVG。如果你真的不能使用这个UIWebView
,那么Quartz2D可能是我会做自定义渲染的方式。
不重复。我需要操作的图像超过uiwebview将允许。绘制到图层等 – 2009-10-05 16:35:39
您可能会在Objective-C和SVG下的几个GitHub项目中找到更多信息。
https://github.com/search?type=Everything&language=objective-c&q=SVG
你的解决方案是什么? – Jonathan 2010-03-22 17:24:17
我从来没有过。 – 2010-04-15 20:30:48
你有没有得到你的问题的答案。 我还需要在iphone中绘制SVG。 – 2012-05-22 06:05:43