Cocos2d-x SpriteFrameCache的使用
2017-01-07 19:09
453 查看
根据官方文档与其他c++属性实现的类似书中示例:
图中的小人是会动的。
首先使用texturepacker制作出一张拼图,导出plist等文件:
plist类似:
3.x的cocos似乎不再鼓励使用什么BatchNode等优化方式,官方支持的是SpriteFrameCache,类似TextureCache。
使用的方式是在某个位置加载plist文件,然后直接通过getSpriteFrameByName就可以获取SpriteFrame。
核心代码:
ostringstream是我用来实现string格式化的一个方式,这个流的置空大部分文章都认为是str("")这个函数。同时注意不要给流后加上std::endl;
以上。
图中的小人是会动的。
首先使用texturepacker制作出一张拼图,导出plist等文件:
plist类似:
3.x的cocos似乎不再鼓励使用什么BatchNode等优化方式,官方支持的是SpriteFrameCache,类似TextureCache。
使用的方式是在某个位置加载plist文件,然后直接通过getSpriteFrameByName就可以获取SpriteFrame。
核心代码:
1 bool SpriteScene::init(){ 2 if (!Layer::init()){ 3 return false; 4 } 5 auto visibleSize = Director::getInstance()->getVisibleSize(); 6 7 /*可以用来取代TextureCache来进行图片预加载*/ 8 auto spriteCache = SpriteFrameCache::getInstance(); 9 spriteCache->addSpriteFramesWithFile("runs.plist"); 10 Vector<SpriteFrame*> frames; 11 std::ostringstream osr; 12 for (int i = 1; i <= 15; ++i){ 13 osr << "run" << i << ".png"; 14 frames.pushBack(spriteCache->getSpriteFrameByName(osr.str())); 15 osr.str(""); 16 } 17 auto animation = Animation::createWithSpriteFrames(frames, 0.1f); 18 auto animate = Animate::create(animation); 19 20 auto sprite = Sprite::createWithSpriteFrame(spriteCache->getSpriteFrameByName("run1.png")); 21 sprite->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2)); 22 this->addChild(sprite); 23 sprite->runAction(RepeatForever::create(animate)); 24 25 return true; 26 }
ostringstream是我用来实现string格式化的一个方式,这个流的置空大部分文章都认为是str("")这个函数。同时注意不要给流后加上std::endl;
以上。
相关文章推荐
- Cocos2d-x SpriteFrameCache的使用
- cocos2d-x的Sptrite Action SpriteFrame Animation texture使用的简单方法---学习笔记
- 【cocos2d-js官方文档】十四、cc.spriteFrameCache 改造说明
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- cocos2d-SpriteBatchNode与SpriteFrameCache加快渲染的优缺点
- cocos2d-x中的缓存CCTextureCache、CCSPriteFrameCache、CCAnimationCache
- cocos2d-x SpriteFrameCache/TextureCache/AnimationCache
- cocos2d-x 3.x学习之SpriteFrameCache
- 【cocos2d-x3.5】Lua Plist与SpriteFrameCache
- Cocos2d-x--使用CCSpriteFrameCache,CCAnimationCache预加载资源
- cocos2d-x3.0 SpriteFrameCache
- cocos2d-x3.0 SpriteFrameCache
- cocos2d-x SpriteFrameCache
- Sprite和SpriteFrameCache的使用
- cocos2d - JS 精灵帧缓存 ( SpriteFrameCache )
- 【Cocos2dx 3.3 Lua】SpriteBatchNode和SpriteFrameCache使用
- cocos2d-x3.0 SpriteFrameCache
- Cocos2d-x--使用CCSpriteFrameCache,CCAnimationCache预加载资源
- [cocos2d-x]TextureCache和spriteFramecache
- cocos2d-x【小菜在学习】如何增加光晕效果以及CCSpriteFrameCache使用