CCSpriteFrameCache的使用

配置环境:win7+Cocos2d-x.2.0.3+VS2012


CCSpriteFrameCache是帧缓存类。

通过plist文件导入图片

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("XXX.plist","XXX.png");

//或者

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("XXX.plist");//仅plist文件与对应png放在同一个文件夹下时可以这样写
CCSpriteFrame *pFrame = CCSpriteFrameCache::sharedSpriteFrameCache()
		->spriteFrameByName("XXX_XXX.png");//XXX_XXX.png对应的图片是图片XXX.png的一部分

用SpriteFrame来创建精灵

CCSprite *pSprite = CCSprite::createWithSpriteFrame(pFrame);
CCSprite *pSprite = CCSprite::createWithSpriteFrameName("XXX_XXX.png");

更改精灵当前的帧

pSprite->setDisplayFrame(pFrame);//CCSprite *pSprite

FAQ

问:
将plist载入CCSpriteFrameCache后,能否直接通过plist中的子图片名称从CCTextureCache获取纹理?

答:
不行,CCSpriteFrameCache载入plist后,直接把整张图作为一个纹理放入CCTextureCache。图片的分割工作交给了CCSpriteFrameCache保存的CCSpriteFrame对象列表。而CCSpriteFrame不会把得到的纹理放到CCTextureCache中去。如果使用CCSpriteFrame的getTexture方法,那么得到的将是一整张的纹理图。


转载注明出处!原地址http://www.cnblogs.com/tangyikejun/p/3917002.html

作者:唐衣可俊
出处:http://www.cnblogs.com/tangyikejun/
版权:本文版权归作者本人所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任