文档:
http://cocos2d.cocoachina.com/document/index/class?url=dd/d95/classcocos2d_1_1_c_c_sprite_batch_node.html
简单描述:
使用CCSpriteBatchNode可以提供程序的效率。因为它使用同一个纹理渲染多个精灵,在Open GL调用draw方法时,只需一次渲染就可以完成一批精灵的渲染。
使用场景:
当同一层需要很多相同纹理创建一堆精灵时,考虑使用CCSpriteBatchNode,从而提高程序效率。可以把多个样式放到一张图中,通过显示不同的区域达到显示具体纹理区域的效果
(没错,使用CCSprite也能完成需求。是使用CCSpriteBatchNode还是使用CCSprite,只是一个职业素养或者解决方案的选择而已)
注意:
这一批精灵使用同一纹理,并且加入到同一层中。
EX:
//使用图片创建CCSpriteBatchNode对象 CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create("Icon-114.png", 10); addChild(batchNode); //使用CCSpriteBatchNode的纹理创建精灵 m_pBody = CCSprite::createWithTexture(batchNode->getTexture()); //把精灵添加到CCSpriteBatchNode层中 batchNode->addChild(m_pBody);