CCTextureCache和CCSpriteFrameCache
来源:互联网 发布:长沙房地产 知乎 编辑:程序博客网 时间:2024/05/27 06:54
为了节省资源,我们通常将很多的小png合成一张然后配合图片的pList信息(使用TexturePicker)可以节约内存资源,
可以看到 ,SpriteFrameCache使用了CCTextureCache,将图片添加到了纹理缓存中
CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();cache->addSpriteFramesWithFile("test.plist", "test.png");
进入到该方法内部可以看到:
void CCSpriteFrameCache::addSpriteFramesWithFile(const char* plist, const char* textureFileName){ CCAssert(textureFileName, "texture name should not be null"); CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage(textureFileName); if (texture) { addSpriteFramesWithFile(plist, texture); } else { CCLOG("cocos2d: CCSpriteFrameCache: couldn't load texture file. File not found %s", textureFileName); }}
可以看到 ,SpriteFrameCache使用了CCTextureCache,将图片添加到了纹理缓存中
在其中的addSpriteFrameWithFile中,cocos2d会去解析这个pList,然后遍历pList,根据pList的信息,来创建CCSpriteFrame,以 CCDictionary* m_pSpriteFrames;来保存这写信息,spriteFrame中存储有该贴图引用(大图),以及贴图的位置。
所以我们在使用的时候可以通过
CCSprite *player = CCSprite::createWithSpriteFrameName("*.png");//会在shareFrameCache中取得这个frame
这种方式来取得一个sprite,这种方式的本质还是
CCSprite* CCSprite::createWithTexture(CCTexture2D *pTexture,constCCRect& rect)
通过这种方式来创建一张图片
所以真正缓存的并不是CCSprite而是SpriteFrame和一个Texture
0 0
- CCTextureCache 和 CCSpriteFrameCache
- CCSpriteFrameCache和CCTextureCache
- CCTextureCache和CCSpriteFrameCache
- CCSpriteFrameCache、CCTextureCache的使用
- CCTextureCache CCSpriteFrameCache CCSpriteBatchNode
- CCTexture2D CCSpriteBatchNode CCTextureCache CCSpriteFrameCache 分析
- cocos2dx CCTextureCache 、CCSpriteBatchNode 、CCSpriteFrameCache区别
- Cocos2d-x中的 CCSpriteFrameCache , CCTextureCache的使用
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- cocos2d-x之CCTextureCache、CCSpriteFrameCache、CCSpriteBatchNode用法总结
- 场景切换时清理缓存!!CCTextureCache、CCSpriteFrameCache、CCAnimationCache
- 1.CCSpriteFrame CCSpriteFrameCache CCTexture CCTextureCache 基本功能与延伸
- Cocos场景切换时清理缓存!!CCTextureCache、CCSpriteFrameCache、CCAnimationCache
- CCSpriteFrameCache和帧动画
- CCSpriteFrameCache和CCTextureCac…
- CCSpriteFrameCache
- CCSpriteFrameCache
- perl函数说明(chroot)
- openstack HA--1(rabbitMQ cluster)
- JAVA必备——EJB,通向大型软件的路!
- 三星数码相机照片恢复,相机格式化后恢复
- 《从菜鸟到测试架构师》简要总结(4)----开发人员测试
- CCTextureCache和CCSpriteFrameCache
- TaskQueryService
- Java中LinkedList类详解
- VC/MFC奇怪问题集锦
- perl函数说明(close)
- mysql on ubuntu
- android 自带主题样式(theme )
- 屌丝,不要以为这样你就可以逆袭了
- Unsupported compiler 'com.apple.compilers.llvmgcc42' selected for architecture 'armv7'