使用ccCircle绘制圆圈效率更高吗?

时间:2014-03-11 12:36:01

标签: cocos2d-x

我希望创造出大约50-80个球#39;在屏幕上,每个球都是一个扩展CCNode的类的对象。每个球约为20 x 20px

会更有效率吗?
  • 覆盖void draw()并使用ccDrawCircle()
  • 或制作一张照片并用它制作一个CCSprite(需要将它添加到节点中)?

1 个答案:

答案 0 :(得分:1)

绘制使用单一材质(纹理)的多个节点的最有效方法是CCSpriteBatchNode

// we create base bach node with texture
CCSpriteBatchNode *batch = CCSpriteBatchNode::create(textureFile, 50 /* initial capacity of node */);

// then we create our sprites with the same texture
CCSprite::sprite = CCSprite::create(textureFile);
batch->addChild(sprite);

CCSpriteBatchNode只能包含具有相同纹理的CCSprite,用于批处理节点,但所有精灵都是在单个函数调用中绘制的(批量绘图)。

可以更改每个精灵的颜色和不透明度。要为精灵着色,您可以创建白色的球纹理。当您使用setColor方法时,白色会转换为颜色,在setColor

中指定