在iphone上绘制矢量图形

Jas*_*ebb 1 iphone objective-c

请原谅新手问题.我有一个iphone游戏,目前使用大量的png图像进行动画制作.虽然效果很好,但图像占用了大量内存.我也有矢量格式的图像,我宁愿使用那些而不是pngs.

有原生方式吗?

Cos*_*que 5

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

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