被遗弃的CCSpriteBatchNode 还记得前面提到的纹理渲染的三个步骤么(准备,绘制,收尾)? 如果你的项目属于cocos2d- 2.x版本的,推荐你使用CCSpriteBatchNode类来优化渲染. CCSpriteBatchNode可以将多个CCSprite添加到渲染队列中去,然后只需要提交一次渲染操作就可以将需要绘制的CCSprite一次全部绘制完成. CCSpriteBatchNode *batchNode = [CCSpriteBatchNode node]; CCSprite *s1 = [CCSprite spriteWithImageNamed 尽管在最新的cocos2d版本中依然保留了CCSpriteBatchNode,但你基本上都不会怎么用到它了.
android:SimpleGame分析 播放动画点击由此进入–>cocos2d-x for android:CCSprite 精灵动画 角色缓存 角色缓存使用CCSpriteFrameCache ,配合CCSpriteBatchNode setPosition(ccp(size.width-sprite->getContentSize().width,size.height/ 2)); spriteBatchNode=CCSpriteBatchNode spriteBatchNode->addChild(sprite); addChild(spriteBatchNode); 以上代码,CCSpriteFrameCache负责加载sg.plist,CCSpriteBatchNode 负责加载sg.png,然后创建一个精灵指定初始化位置和精灵纹理,并添加进CCSpriteBatchNode。 hero->setPosition(ccp(hero->getContentSize().width,size.height/ 2)); 54 heroBatchNode=CCSpriteBatchNode
5.CCSpriteBatchNode only support CCSprite 错误原因:将非CCSprite对象加入到了CCSpriteBatchNode对象上 6.预期出现标题移动的效果。
2、cocos2dx对tiled的支持,每一层只支持一张图片,因为是使用TMXLayer是使用CCSpriteBatchNode方式实现的,这个局限对于大地图影响很大,我的4000*4000的图如果使用整图
首先在HelloWorld.h中添加两个成员: [html] view plaincopy private: CCSpriteBatchNode* batchNode; CCSprite* ship; 然后在init的时候初始化这俩个成员: [cpp] view plaincopy batchNode = CCSpriteBatchNode::create