Cocos2d-x 2.0 - 如何利用Sprite自动批处理工作?

时间:2014-05-21 08:58:08

标签: cocos2d-x

我在Cocos2d-x 3.0中看到了对新的“自动批处理”功能的引用,甚至看到他们不再推荐使用SpriteBatchNodes的地方。那么如何在不使用BatchNodes的情况下批量绘制调用?

我在文档中找不到任何内容,但对此功能的引用最为模糊。 - https://docs.google.com/document/d/17zjC55vbP_PYTftTZEuvqXuMb9PbYNxRFu0EGTULPK8/edit#heading=h.3ssqg87hovgw

我试过简单地摆脱我的SpriteBatchNode并使用文件创建我的精灵,但是每个精灵的绘制调用次数增加了大约1个。)

1 个答案:

答案 0 :(得分:1)

我想我已经解决了这个问题,而且非常简单。我刚刚将所有SpriteBatchNodes更改为节点并使用

预装了我的地图集
SpriteFrameCache* spriteFrameCache = SpriteFrameCache::sharedSpriteFrameCache();
spriteFrameCache->addSpriteFramesWithFile("spritesheets/xxx.plist");

与SpriteBatchNode相比,绘制调用的数量没有变化。

这种新架构比SpriteBatchNode更灵活。例如,如果您这样做,则可以正确批量调用    节点 - >节点 - >雪碧 你永远不会做的地方    SpriteBatchNode - >节点 - >雪碧 因为SpriteBatchNode只能将Sprite作为子项。