贴一些关于精灵帧,精灵表的加载方式。
图片加载
//方式一,直接用resouces中的图片加载
// auto a = Sprite::create("123.png");
// a -> setPosition(visibleSize.width/2,visibleSize.height/2);
// addChild(a);
//方式二,精灵区域矩形图片加载,某个图片中的矩形区域
// auto b = Sprite::create("123.png",Rect(101,102,201,202));(101,102)为左上角坐标,(201,202)为图片的宽和高
//*方式三,纹理缓存,加载入内存,从内存中读(使用精灵图集,一种优化方式,有利有弊)。
// Texture2D* cache = Director::getInstance()->getTextureCache()->addImage("123.png");
// auto c = Sprite::create();
// c -> setTexture(cache);
// c -> setTextureRect(Rect(101,102,103,104)); //(101,102)为左上角坐标(103,104)为图片的宽和高,plist文件可以有相关信息。
// c -> setPosition(144,144);
// addChild(c);
//方式四,精灵帧缓存,SpriteFrameCache为单例的plist中为图片的坐标信息,后面的程序可以继续使用SpriteFrameCache::getInstance()->addSpriteFramesWithFile继续加载其它文件进内存若名字一样,则进行覆盖。
// SpriteFrameCache::getInstance()->addSpriteFramesWithFile("123.plist");
// auto d = Sprite::createWithSpriteFrameName("chuShou0003.png");//未命名-10001.png为大图中某小图的名字。☆不能为中文名
// d ->setPosition(visibleSize.width/3,visibleSize.height/3);
// addChild(d);
删除图片的一些操作
//指定具体精灵帧名移除
//void removeSpriteFrameByName(const std::string &name);
//指定清空精灵缓存。
//void removeSpriteFrames()
//指定具体坐标文件移除精灵帧
//void removeSpriteFramesFromFile(const std::string &plist)
//移除没有使用的精灵帧
//void removeUnusedSpriteFrames()