Cocos2d-x SpriteFrameCache的使用
2015-06-03 21:47
585 查看
根据官方文档与其他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。
核心代码:
bool SpriteScene::init(){ if (!Layer::init()){ return false; } auto visibleSize = Director::getInstance()->getVisibleSize(); /*可以用来取代TextureCache来进行图片预加载*/ auto spriteCache = SpriteFrameCache::getInstance(); spriteCache->addSpriteFramesWithFile("runs.plist"); Vector<SpriteFrame*> frames; std::ostringstream osr; for (int i = 1; i <= 15; ++i){ osr << "run" << i << ".png"; frames.pushBack(spriteCache->getSpriteFrameByName(osr.str())); osr.str(""); } auto animation = Animation::createWithSpriteFrames(frames, 0.1f); auto animate = Animate::create(animation); auto sprite = Sprite::createWithSpriteFrame(spriteCache->getSpriteFrameByName("run1.png")); sprite->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2)); this->addChild(sprite); sprite->runAction(RepeatForever::create(animate)); return true; }
ostringstream是我用来实现string格式化的一个方式,这个流的置空大部分文章都认为是str("")这个函数。同时注意不要给流后加上std::endl;
以上。
相关文章推荐
- cocos2dx 3.2截屏功能
- cocospods老是卡在Analyzing dependencies~~
- cocos2d-x 3.6版本学习笔记-内存管理之Node对象
- cocos2d安卓android长音效播放不完全
- cocos2d-x lua 触摸事件
- cocos2d-x lua 使用自定义消息EventCustom
- cocos2d-x lua 实现状态机
- cocos2d-x lua 实现单例(管理类)
- 在 quick-cocos2d-x 中导出 CCFileUtils::getFileData 给Lua使用
- cocos2dx 之 多个Sprite同时进行操作
- Quick-Cocos2d-x的热更新机制实现
- 在MFC 窗口中运行 cocos2d-x 3.2 (一) 基本配置
- 在MFC 窗口中运行 cocos2d-x 3.2 (二) 让其在MFC picture控件中运行
- Cocos2d-X之别踩白块
- quick-cocos2d-x游戏开发【7】——scheduler 定时器
- 【末世旅行之Cocos2d-x】Cocos3.x中对标签Label的更改
- cocos2d-html5 碰撞检測的几种方法
- cocos2dx-3.0------场景切换效果
- cocos2dx中的cocosDenshion对不同平台音频支持格式
- 我的Cocos2d-x学习笔记(十九)CCString、CCArray