CCSpriteFrameCache
它是管理CCSpriteFrame的内存池,跟CCTextureCache功能一样,不过跟CCTextureCache不同的是,如果内存池中不存在要查找的帧,它会提示找不到,而不会去本地加载图片。它的内部封装了一个字典:CCDictionary *m_pSpriteFrames,key为帧的名称。CCSpriteFrameCache一般用来处理plist文件(这个文件指定了每个独立的精灵在这张“大图”里面的位置和大小),该文件对应一张包含多个精灵的大图,plist文件可以使用TexturePacker制作。如下图所示:
下面是使用CCSpriteFrameCache的使用代码示例:
1
2
3
4
|
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile(
"animations/grossini.plist"
,
"animations/grossini.png"
);
m_pSprite1 = CCSprite::spriteWithSpriteFrameName(
"grossini_dance_01.png"
);
m_pSprite1->setPosition( ccp( s.width/2-80, s.height/2) );
|
只要plist文件跟对应的png图片在同一目录下,且名字相同,则addSpriteFramesWithFile(“animations/grossini.plist”, “animations/grossini.png”)可以改成addSpriteFramesWithFile(“animations/grossini.plist”);
原文转载自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/795.html