2014-05-10 20 views
0

我必须绘制一个数字精灵,也是一个非常大的圆圈,我想知道是使用ccDrawCircle绘制该圆形还是制作圆形精灵并将其绘制为常规精灵是否更好?在记忆方面,我会用很多东西来存储基本上只有一个巨大的圆圈;但是将所有绘图作为一个批次更快吗?如果我不得不将它分成两批,一批用于圆,另一批用于其他精灵?绘制原始形状还是绘制精灵更快?cocos2d - 绘制原始形状(例如ccDrawCircle,drawDot)还是绘制sprite更快?

回答

0

ccDraw *方法不是批处理并且意味着用于调试,它们不是特别有效。

CCDrawNode是一个更好的选择,因为它可以批量绘制基元,但不允许在不重新创建基元的情况下删除基元。

分批的精灵通常是最好的选择。这对fps有多大影响取决于您的用例和目标设备。问题是它们不能很好地“缩放”,因此最好将每个所需的形状大小作为单独的图像。另一方面,您可以对灰度图像进行着色(彩色化)以获得更多颜色,而不必将每种形状都用不同的颜色作为单独的图像。

+0

我认为CCDrawNode对我来说可能是最好的选择 - 我是否会将形状添加到与其他精灵相同的批处理节点,还是我需要一个仅用于基元的新批处理节点? – Adam

+0

没有批处理节点,它们用于精灵。 ccdrawnode是它自己的batchnode – LearnCocos2D