cocos2d-x创建精灵动画
创建动画一般过程:
1、创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画
CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();cache->addSpriteFramesWithFile("animations/grossini.plist");cache->addSpriteFramesWithFile("animations/grossini_gray.plist", "animations/grossini_gray.png");CCSpriteBatchNode *spritebatch = CCSpriteBatchNode::create("animations/grossini.png");//用于批量生产精灵 CCArray* animFrames = CCArray::createWithCapacity(15);//动态生成数组,类似于vectorfor(int i = 1; i < 4; i++){//sprintf的作用是字符串格式化,主要功能是把格式化的数据写入某个字符串中。sprintf(str, “ani_conch_%d.png”, 1)后str的值就变成了:ani_conch_1.pngsprintf(str, "grossini_blue_%02d.png",i);//两位数字,不够的话,用零补全CCSpriteFrame *frame = cache->spriteFrameByName(str);animFrames->addObject(frame);}animation = CCAnimation::createWithSpriteFrames(animFrames, 0.2f); //创建动画集,切换时间为0.2s// Add an animation to the CacheCCAnimationCache::sharedAnimationCache()->addAnimation(animation, "dance_blue"); // 把此动画集加入动画集缓存中,并命名为dance_blueCCAnimationCache *animCache = CCAnimationCache::sharedAnimationCache(); //共享动画集缓存 CCAnimation *normal = animCache->animationByName("dance"); //获得动画集缓存CCAnimate *animN = CCAnimate::create(normal); //创建动画
另外,CCString * str = CCString ::createWithFormat ( "market_chipsLogo%d.png" , idx);也可以实现替换数字的效果。
2、直接传人多个图片文件,生成动画
CCSprite *mainsprite=CCSprite::create("catBody1.png");CCAnimation *animation=CCAnimation::create();animation->addSpriteFrameWithFileName("catBody1.png");animation->addSpriteFrameWithFileName("catBody2-4.png");animation->addSpriteFrameWithFileName("catBody3.png");animation->addSpriteFrameWithFileName("catBody2-4.png");animation->setDelayPerUnit(0.1f);//设置动画的间隔时间animation->setRestoreOriginalFrame(true);//是否返回第一帧mainsprite->runAction(CCRepeatForever::create(CCAnimate::create(animation)));
3、直接传入一张大图,包含多个小图,生成动画
CCTexture2D *pTexture=CCTextureCache::sharedTextureCache()->addImage("hero.png");CCSpriteFrame *frame0=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(0,0,32,32));CCSpriteFrame *frame1=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(32,0,32,32));CCSpriteFrame *frame2=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(64,0,32,32));CCSpriteFrame *frame3=CCSpriteFrame::createWithTexture(pTexture,CCRectMake(96,0,32,32));CCArray *animFrames=CCArray::create();CC_BREAK_IF(!animFrames);animFrames->addObject(frame0);animFrames->addObject(frame1);animFrames->addObject(frame2);animFrames->addObject(frame3);CCAnimation *animation=CCAnimation::createWithSpriteFrames(animFrames,0.2f);heroSprite0->runAction(CCRepeatForever::create(animate));
欢迎转载,转载请注明出处:http://blog.csdn.net/somestill/article/details/9852159
cocos2d-x创建精灵动画相关推荐
- cocos2dx:addAnimation如何创建精灵动画并在工程中调用展示
cocos2dx:addAnimation如何创建精灵动画并在工程中调用展示 设备/引擎:Mac(11.6)/cocos 开发工具:Xcode(13.0) 开发需求:cocos2dx:addAnima ...
- 小鬼学cocos2dX笔记01——创建精灵动画(二)
接上部分,我们完成了上面的操作后,就要开始往我们的cpp里写代码啦~~~ bool HelloWorld::init() {//// 1. super init firstif ( !CCLayerC ...
- 小鬼学cocos2dX笔记01——创建精灵动画(一)
刚学cocos2dx,想做一个动画,翻书+查资料,太多无关代码,不太适合像我一样的新人看.下面是我的一些学习笔记: 目标是在窗口中创建一个人物移动动画. 要准备的工作有如下: 1.下载红孩儿工具箱(最 ...
- 精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状态:Idle(空闲) ...
- Unity精灵动画 2D碰撞
图片导入 设置等: 常用的格式png jpg 将图片textureType设置为Sprite 将单个图片设置为SpriteMode设置为Single 将包含多个小图的一张大图SpriteMode设置为 ...
- unity学习笔记-精灵集和精灵动画
2D游戏中,对精灵的操作需求,往往是两点: 1. 静态精灵:一般做背景展示等 2. 精灵动画:帧动画.骨骼动画等 声明:以下对Unity的操作,基于Unity3D 4.3.4,本人初学Unity,没用 ...
- Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
创建精灵表单: 创建动画先要把图片整合到一个图片上然后生成plist文件: 方法下载Zwoptex软件:http://www.zwopple.com/zwoptex/ 然后打开选择 create ne ...
- Cocos2D研究院之精灵与动画
转载自雨松MOMO程序研究院本文链接地址:Cocos2D研究院之精灵与动画(六) 通过对导演.场景.层和节点的剖析,现在我们已经可以写出一个完整的游戏体系了,在实际应用中,场景一般都是作为游戏的关卡, ...
- cocos2d-x 中创建 CCSprite 精灵动画
本文原创版权归 博客园 Terry_龙 所有,转载请标明原创作者及出处,以示尊重! 作者:Terry_龙 原文:http://www.cnblogs.com/TerryBlog/archive/201 ...
最新文章
- mysql 错误记录
- Windows Thin PC中文化
- step1 . day6 C语言基础练习之数组和字符串
- Mysql数据库(二)——mysql数据库管理
- 算法(9)--两个数的最大公约数
- Linux什么时候在pc机上有一席之地
- replace()替换文字
- NetBeans Weeldy News 刊号 # 53 - Apr 23, 2009
- jquery easyUI第一篇【介绍、入门、使用常用的组件】
- 接口测试(二)--APP抓包
- 计算机笔记本电脑加固态硬盘,笔记本固态硬盘,教您怎么给笔记本加固态硬盘...
- linux移除硬盘命令,在Linux中在线添加及移除SCSI硬盘方法
- java图片上传数量限制_bootstrap fileinput实现限制图片上传数量及如何控制分批多次上传...
- 搭建 PHP 开发环境(手把手图文教程)
- RPM软件包管理命令简介
- 仿大逃杀源码_破咒不是您的典型大逃杀
- 企业面试题|最常问的MySQL面试题集合(二)
- Android自动更新时间去除WIFI无法连接互联网提示
- Pop!_OS版机器人仿真实践镜像测试中(2021)
- MySQL自学笔记详细版(从安装到入门)
热门文章
- Android Systrace 基础知识(9)-MainThread 和 RenderThread 解读
- Android手机应用接口大全
- MySQL 留存率和复购率的场景分析
- 又改考408了!杭州师范大学阿里巴巴商学院!
- windows线程之CreateThread与_beginthreadex区别详解
- 将MethodInfo转化为Delegate的方式
- div模拟自适应表格(表头表身分离,表身出现滚动条)
- Windows自带强大的入侵检测工具——Netstat 命令 查询是否中木马
- 不用科学上网,免费的GPT-4 IDE工具Cursor保姆级使用教程
- 激活函数的比较和优缺点,sigmoid,tanh,relu,softmax