CCSpriteBatchNode

来源:互联网 发布:网站域名申请 编辑:程序博客网 时间:2024/05/21 16:04

 <1>

对于CCSpriteBatchNode这个类比较有用,它能够降低渲染批次,比如要添加1000只相同的精灵,如果一个个精灵去添加到层中,那么需要渲染1000次,如果用CCSpriteBatchNode,那么只会渲染一次就会把这1000只精灵绘制出来。

当然实际运用中,不仅仅就这么使用,我使用的是:比如,游戏中有5种不同类型的小怪,那么我会将这5种小怪的图片用TexturePacker打包一下,然后加入到CCSpriteBatchNode中.


<2>代码如下

1,加载plist文件到缓存.CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("enemy.plist", "enemy.png");   //少个这个是不行的,不然断言pFrame为空错误2,加载大图片到CCSpriteBatchNodeenemyBatchNode = CCSpriteBatchNode::create("enemy.png");  //addChild(enemyBatchNode);3,加载plist文件中的小图片到CCSpriteBatchNode,从而把图片显示出来CCSprite* sp = CCSprite::createWithSpriteFrame("xxx.png");sp->setPosition(ccp(x, y));enemyBatchNode->addChild(sp);


这里的enemy.png里面包含了我所有的小怪图片,从而可以一起进行碰撞检测。

0 0