我希望创造出大约50-80个球#39;在屏幕上,每个球都是一个扩展CCNode的类的对象。每个球约为20 x 20px
。
会更有效率吗?
void draw()
并使用ccDrawCircle()
答案 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