static Sprite * create()
static Sprite * create(const std::string &filename)
static Sprite * create(const::string &filename,const Rect &rect)
2. 创建精灵类对象 例:
1⃣️使用纹理对象创建Sprite对象
背景
auto bk=Sprite::create(“background.png”);
background->setAnchorPoint(Vec2::ZERO);
this->addChild(bk,0);
2⃣️使用纹理图集
需要的各种图片 在一张图上集合 使用时 裁切下来
auto mountain=Sprite::create(“Picture.png”,Rect(2,15,300,300));
mountain->setPosition(Vec2(100,200));
this->addChild(mountain,0);
3⃣️使用精灵帧缓存
SpriteFrameCache * fc=SpriteFrameCache::getInstance();// 创建精灵帧缓存对象
既然上面创建了精灵帧缓存对象,那么怎么用这个缓存来读取里边的SpriteFrame(精灵帧对象)呢 两种方法如下
//创建精灵帧对象获取
SpriteFrame * hero =fc->getSpriteFrameByName(tree.png);
auto tree=Sprite::createWithSpriteFrameName(“hero.png”);
[创建精灵帧缓存和添加.plist可以合并为一句]
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(“Picture.plist”);
请注意:精灵帧缓存和精灵帧是两个类 , 创建对象时要分清 。其实精灵帧缓存fc里边缓存的就是精灵帧 如( tree,hero,…….) 这些图片
而精灵帧不再使用后需要移除,函数如下
(1)void removeSpriteFrameByName(const std::string &name); //
从精灵帧缓存中删除一个精灵帧.
原文链接:https://www.f2er.com/cocos2dx/344373.html