小弟刚转做手游不久 coco还用的不是很熟 请教点问题
在处理静态纹理图片的时候 使用CCSpriteBatchNode 可以让多个相同纹理的图片只调用一次渲染
然后做动画的时候.
参考网上的资料使用了CCSpriteFrameCache
代码如下
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("role.plist");
CCSpriteBatchNode* spriteSheet = CCSpriteBatchNode::create("role.png");
CCArray* frameArray = new CCArray();
for (int i = 12; i < 18; i++)
{
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(
CCString::createWithFormat("role_%d.png", i + 1)->getCString()
);
std::cout <getCString();
std::cout <addObject(frame);
}
CCAnimation* animation = CCAnimation::createWithSpriteFrames(frameArray, 0.1f);
for (int k = 0; k < 10000; k++)
{
CSprite* sprite = CCSprite::create();
sprite->runAction(CCRepeatForever::create(CCAnimate::create(animation)));
sprite->setPosition(ccp(300 * CCRANDOM_0_1(), 300 * CCRANDOM_0_1()));
this->addChild(sprite);
}
```
运行后发现渲染方面没优化
内存方面应该是有所优化的
请问下做动画的话 有类似静态纹理时的CCSpriteBatchNode 一样功能的方法
可以让多个一样的动画 只渲染一次吗?