cocos2d-x 2.x创建帧序列动画
2019独角兽企业重金招聘Python工程师标准>>>
手动添加
手动添加的方法需要将每一帧要显示的精灵有序添加到Animation类中,并设置每帧的播放时间,让动画能够匀速播放。另外,还要通过setRestoreOriginalFrame来设置是否在动画播放结束后恢复到第一帧。创建好Animation实例后,需要创建一个Animate实例来播放序列帧动画。
CCAnimation *animation = CCAnimation::create();for (int i = 1; i <= 4; i++){char szName[100] = {0};sprintf(szName, "an1_anim%d.png", i);animation->addSpriteFrameWithFileName(szName);}animation->setDelayPerUnit(2.8f/14.0f);animation->setRestoreOriginalFrame(true);CCAnimate *action = CCAnimate::create(animation);CCSprite *sprite = CCSprite::create("an1_anim1.png");sprite->setPosition(ccp(100, 100));this->addChild(sprite);sprite->runAction(action);
在创建Animation实例时会用到以下几个接口:
- addSpriteFrame,添加精灵帧到Animation实例
- setDelayUnits,设置每一帧持续时间,以秒为单位
- setRestoreOriginalFrame,设置是否在动画播放结束后恢复到第一帧
- clone,克隆一个该Animation实例
文件添加
/*加载图片帧到缓存池*/CCSpriteFrameCache *frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
//3.x版本获得缓存池方法如下
//SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();
frameCache->addSpriteFramesWithFile("scene1atlasiPhone.plist");hero = CCSprite::createWithSpriteFrameName("sv_anim_10.png");hero->setPosition(ccp(100, 100));this->addChild(hero);int iFrameNum = 15;CCSpriteFrame *frame = NULL;CCArray *frameArray = CCArray::create();/*用一个列表保存所有CCSpriteFrame对象*/for (int i = 10; i <= 29; i++){
frame = frameCache->spriteFrameByName(CCString::createWithFormat("sv_anim_%d.png", i)->getCString());frameArray->addObject(frame);}/*使用CCSpriteFrame列表创建动画对象*/CCAnimation *animation = CCAnimation::createWithSpriteFrames(frameArray);animation->setLoops(-1);animation->setDelayPerUnit(0.1f);CCAnimate *action = CCAnimate::create(animation); hero->runAction(action);/*从缓存池中获取CCSpriteFrame对象*/
转载于:https://my.oschina.net/BingzhaoChen/blog/470263
cocos2d-x 2.x创建帧序列动画相关推荐
- 【Creator Kit - RPG 代码分析】(4)-游戏玩法-对话框、云朵系统、帧序列动画控制器、动画状态回调、音乐控制
GamePlay 对话框 上一章说的输入控制器里,还有对对话框输入的控制,这小节就看看对话框的整体实现方式. 对话框输入控制 先看一下对话框输入控制,我对其有一点点修改. void DialogCon ...
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧以及动画创建!【二】...
Himi这里就不细说了,直接提供给大家Himi封装好的两个方法:(Himi使用的cocos2d-iphone版本是1.0.0) 先唠叨一句,刚才上面说过了,创建精灵一种是利用直接索引 ...
- Unity 3D模型动画导出为帧序列
问题:将用于Unity的3D模型改成2D图片. 思路:把3D动画播放一遍,逐帧对模型截图. 代码说明: 1.要引用的命名空间 using System.IO; using UnityEngine; u ...
- cocos2d-x 中创建 CCSprite 精灵动画
本文原创版权归 博客园 Terry_龙 所有,转载请标明原创作者及出处,以示尊重! 作者:Terry_龙 原文:http://www.cnblogs.com/TerryBlog/archive/201 ...
- ps倒出gif只有html,PS中我做好了帧(动画没问题),但是怎么导出GIF的动画?
回答: 大概分为6个步骤,具体如下: 1.首先我们要准备一组序列图,尺寸是700*700的. 2.然后我们在PS中创建一个新的场景,尺寸为700*700.找到[文件]-[脚本]-[将文件载入堆栈],把 ...
- Pr 入门教程之如何创建新序列?
欢迎观看 Premiere Pro 教程,小编带大家学习 Pr 中常用的重要剪辑技巧,了解如何创建新序列.每个序列都有着特定的帧尺寸和每秒帧数,即帧速率.可以根据需要,在一个项目中创建多个序列,但通 ...
- 利用Unity插件Anima2D创建2D骨骼动画
利用Unity插件Anima2D创建2D骨骼动画 创建步骤 导入Anima2D插件 准备2D素材 配置2D骨骼 对2D角色应用IK(反向动力学) 利用Animation创建2D人物动画 创建步骤 导入 ...
- linux+gif+编辑,从Ubuntu的命令行创建和编辑动画GIF | MOS86
动画GIF在过去几年中变得非常受欢迎,而且他们的流行度日益增长.唐那么清楚引导您创建GIF吗?如果是的话,你但是,如果你在Linux上,并且为这份工作寻找一个命令行工具,那么我们将不会再讨论Gifsi ...
- 如何使用React创建视频和动画
点击上方关注 TianTianUp,一起学习,天天进步 大家好,我是小弋. 分享的内容是: 如何使用 React Remotion 来创建视频的,如果你之前对视频很感兴趣的话,这篇文章可以参考. 正文 ...
最新文章
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
- 为2440搭建NFS开发环境【ZT】
- golang基础02
- 记录——《C Primer Plus (第五版)》第八章编程练习第八题
- Linux emacs考场配置及对拍脚本
- negative binomial(Pascal) distribution —— 负二项式分布(帕斯卡分布)
- 测试用例经典练习之淘宝app购物车测试用例
- Lasergene DNASTAR 8.1.3 特别版 Mac 专业的医学生物综合性序列分析工具
- 《Machine Learning in Action》—— hao朋友,快来玩啊,决策树呦
- 单面打印机=》双面打印
- miui修改Android,无法修改小米MIUI设备中的系统设置
- 乐视max70老款_这货是电视?超大尺寸乐视TV Max70试玩
- web(html运行)设置字体大小、样式及字体名称
- 大数据行业常用的软件工具有哪些?
- Unity IOS游戏内好评
- 无线射频专题《无线局域网排错,第二层重传问题3@多径现象》
- uniapp 全局数据(globalData)的设置,获取,更改
- ipfs 云服务器_安丘ipfs服务器,ipfs云算力组装
- DNS部署之动态域名解析DDNS
- 模糊控制洗衣机MATLAB模型,基于matlab的洗衣机模糊控制仿真