[Cocos2d-x]CCSpriteFrameCache的使用
文档:
http://cocos2d.cocoachina.com/document/index/class?url=dc/dda/classcocos2d_1_1_c_c_sprite_frame_cache.html
简单描述:
CCSpriteFrameCache提供CCSpriteFrame的缓存,可以使用它创建动画,并且具有较高的效率。
使用场景:
需要创建帧动画时,可以使用CCSpriteFrameCache
如何使用:
1.把多张图片通过Zwoptex软件(http://zwoptexapp.com/),生成一张png图,并且创建生成对应的plist文件
2.使用plist文件创建CCSpriteFrameCache
注意:
1.创建cache时候,如果plist文件与大png图名字不相同,则需要显示指定png图片名
2.卸载场景时候,需要remove添加的plist资源
EX:
//获取单例CCSpriteFrameCache
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); //向cache中添加plist文件和对应的大图
cache->addSpriteFramesWithFile("Jar.plist","Jars.png"); //数组,用于保存使用cache创建的CCSpriteFrame对象,之后用于创建动画
CCArray* animFrames = CCArray::create();
char str[100] = {0};
for(int i = 1; i < 7; i++)
{
sprintf(str, "Default_Jar_%d.png", i); //从CCSpriteFrameCache中获取CCSpriteFrame,用来创建动画
CCSpriteFrame* frame = cache->spriteFrameByName(str); animFrames->addObject(frame);
} //使用CCSpriteFrame集合创建CCAnimation
CCAnimation* animation = CCAnimation::createWithSpriteFrames(animFrames, 0.3f);
m_pFoot = CCSprite::create("Default_Jar_1.png");
addChild(m_pFoot); //CCSprite执行动画
m_pFoot ->runAction(CCRepeatForever::create(CCAnimate::create(animation)));
remove资源:
void FirstSprite::onExit()
{
CCNode:onExit(); //需要清理cache..
CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->removeSpriteFramesFromFile("Jar.plist");
}
[Cocos2d-x]CCSpriteFrameCache的使用的更多相关文章
- cocos2d触碰例子代码
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...
- 如何优化cocos2d程序的内存使用和程序大小
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...
- cocos2d学习笔记
doxygen工具 生成cocos2d的api文档 位图字体编辑工具 Glyph Designer http://www.71squared.com/glyphdesigner 收费的 CCLabl ...
- 如何优化cocos2d程序的内存使用和程序大小:第一部分
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...
- Cocos2d 初学基本知识
1. 纹理(Texture) 游戏角色的图像文件在使用前必须解压缩,并转换成 iPhone 和 iPad 的 GPU 可以理解的 格式,同时要加载进 RAM(随机存储器),这样的图像称为纹理.GPU ...
- [一位菜鸟的COCOS-2D编程之路]精灵表单的制作以及简易动画的生成
1.第一步:使用Zwoptex 制作精灵表单 2.制作的表单的名称为 cocos2Dpng,cocos2D.plist: 3.精灵的动画效果 主要分为五部分. // on "init&quo ...
- [cocos2d]关于CCSprite的若干问题与误区
文章 [cocos2d] 利用texture atlases生成动画 中介绍了如何生成动画并绑定在CCSprite实例上. 使用该代码遇到了几个问题,值得mark下 问题1.多实例 问题描述: 新建一 ...
- 如何优化cocos2d程序的内存使用和程序大小:第一部分_(转)
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...
- 如何优化cocos2d/x内存使用和程序大小的程序
从最初的:http://www.himigame.com/iphone-cocos2d/1043.html 译者: 在我完毕第一个游戏项目的时候.我深切地意识到"使用cocos2d来制作游戏 ...
随机推荐
- C# - Byte类型与String类型互转
byte[] bs = Encoding.UTF8.GetBytes("你的字符串"); string str = Encoding.UTF8.GetString(bs);
- 【linux驱动】linux驱动总览
欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...
- vi命令提示:Terminal too wide
putty: 在我的电脑上,缺省的设置是这样的: localhost:~ eygle$ stty -aspeed 9600 baud; 51 rows; 171 columns; 在远程编辑文件时,减 ...
- telerik 控件 SCRIPT5007: 无法获取未定义或 null 引用的属性“documentElement” (IE 文档模式)
IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有 ...
- 记录Log4Net的使用
最近项目中有一个记录错误日志的功能模块,以前采用的是写TXT的做法.代码如下 /// <summary> /// 写入日志 /// </summary> public stat ...
- Windows 7 taskbar and startmenu pin
原文 Windows 7 taskbar and startmenu pin 在Windows 7上,用户可以将自己喜欢的软件“钉”在开始菜单或任务栏,使用起来更加方便.但有时候我们也需要用程序来将这 ...
- 基于visual Studio2013解决C语言竞赛题之1018数组求和
题目 解决代码及点评 /************************************************************************/ ...
- innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
区分innerHeight与clientHeight.innerWidth与clientWidth.scrollLeft与pageXOffset等属性 标签: innerheight clienthe ...
- C++数据结构之二叉树
之前打算编算法类的程序,但是搞了几次英雄会后,觉得作为一个还在学习阶段的学生,实在是太浪费时间了,并不是没意义,而是我的基础还不牢固啊.所以转变了思路,这个学期打算分别用C++.Python.Java ...
- oracle维护表空间和数据文件
1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑 ...