Cocos2d-x如何用plist制作帧动画?更准确的说是一个plist文件读取创建多个帧动画,今天我们就来看Cocos2d-x用plist制作帧动画的实现过程。
       那么首先我们要用工具将多个帧动画生成一个plist文件(手写plist就太脑残了),且这个plist里面包含了多个帧动画信息,然后我们再到程序中去调用刚生成的plist,我用的工具是红孩儿工具箱,大家可以去下载用用,方正目前我要用的功能它是都有了。
       首先我们将所需的所有的单图片合拼为一张大图(切/拼图栏),然后保存导出.plist 即 PackSpr.plist,
        动画编辑栏,Root下绑定新图片Image,右键Image,名字命名为die,创建固定帧关键帧动画,这时候是单图片生成,查找图块,
        图片起始和图片结束为一个动画,数值是1而后连续值且图片名字后缀也要如此,第一个动画就弄好了保存die.plist,第二个动画也是同样做法,不过图片起始是上一个图片结束+1了再保存为walk.plist,
       我们想想,还是多个plist啊,是啊,其实我们还需要一个步骤才能只生成一个plist,那就是我们在生成2个动画文件plist的时候附带还生成了2个ani文件,只要将这2个ani文件合成一个plist即可,我们打开角色编辑一栏,在空白区域右键,创建新角色类,取名为RoleAni,添加新角色,也取名为RoleAni,最后逐个添加动作倒入我们的动画文件ani吧分别为die和walk,好了保存为RoleAni.plist 这时候plist就大功告成了,最后我们在程序中去调用吧
[cpp]
CCSpriteFrameCache *frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
frameCache->addSpriteFramesWithFile("PackSpr.plist");
 // Purge previously loaded animation
CCAnimationCache::purgeSharedAnimationCache();
CCAnimationCache *animCache = CCAnimationCache::sharedAnimationCache();
 // Add an animation to the Cache
animCache->addAnimationsWithFile("RoleAni.plist");
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCAnimation *die = animCache->animationByName("die");
die->setRestoreOriginalFrame(true);
CCAnimate *animdie = CCAnimate::create(die);
CCSequence *seqdie = (CCSequence*)CCSequence::create(animdie, NULL);
CCSprite *sprdie = CCSprite::create();
CCSpriteFrame *framedie = frameCache->spriteFrameByName("role_10.bmp");
sprdie->setDisplayFrame(framedie);
sprdie->setPosition(ccp(winSize.width/2-100, winSize.height/2));
sprdie->setScale(0.5);
addChild(sprdie);
 // run the animation
sprdie->runAction(seqdie);
CCAnimation *walk = animCache->animationByName("walk");
walk->setRestoreOriginalFrame(true);
CCAnimate *animwalk = CCAnimate::create(walk);
CCSequence *seqwalk = (CCSequence*)CCSequence::create(animwalk, NULL);
CCSprite *sprwalk = CCSprite::create();
CCSpriteFrame *framewalk = frameCache->spriteFrameByName("role_1.bmp");
sprwalk->setDisplayFrame(framewalk);
sprwalk->setPosition(ccp(winSize.width/2, winSize.height/2));
addChild(sprwalk);
 // run the animation
sprwalk->runAction(seqwalk);
CCSpriteFrameCache *frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
frameCache->addSpriteFramesWithFile("PackSpr.plist");
 // Purge previously loaded animation
CCAnimationCache::purgeSharedAnimationCache();
CCAnimationCache *animCache = CCAnimationCache::sharedAnimationCache();
 // Add an animation to the Cache
animCache->addAnimationsWithFile("RoleAni.plist");
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCAnimation *die = animCache->animationByName("die");
die->setRestoreOriginalFrame(true);
CCAnimate *animdie = CCAnimate::create(die);
CCSequence *seqdie = (CCSequence*)CCSequence::create(animdie, NULL);
CCSprite *sprdie = CCSprite::create();
CCSpriteFrame *framedie = frameCache->spriteFrameByName("role_10.bmp");
sprdie->setDisplayFrame(framedie);
sprdie->setPosition(ccp(winSize.width/2-100, winSize.height/2));
sprdie->setScale(0.5);
addChild(sprdie);
 // run the animation
sprdie->runAction(seqdie);
CCAnimation *walk = animCache->animationByName("walk");
walk->setRestoreOriginalFrame(true);
CCAnimate *animwalk = CCAnimate::create(walk);
CCSequence *seqwalk = (CCSequence*)CCSequence::create(animwalk, NULL);
CCSprite *sprwalk = CCSprite::create();
CCSpriteFrame *framewalk = frameCache->spriteFrameByName("role_1.bmp");
sprwalk->setDisplayFrame(framewalk);
sprwalk->setPosition(ccp(winSize.width/2, winSize.height/2));
addChild(sprwalk);
 // run the animation
sprwalk->runAction(seqwalk);

Cocos2d-x如何用plist制作帧动画相关推荐

  1. unity 2D游戏开发 制作帧动画的两种方法

    本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...

  2. 利用Animation控件制作帧动画过程详解

    利用Animation控件制作帧动画过程详解 前言 通过Animation控件来达到序列图的播放(素材和示例视频在文章末尾) 一.序列图 (此素材为已经分割好的序列图) 如若序列图在一张图片上,请参考 ...

  3. 用animation的steps属性制作帧动画

    昨天火急火燎地接到一个任务,说是要做一个掷骰子的游戏,关于掷骰子期间的过渡动画,我本来是想用css 3d制作一个立体的骰子,然后叫UI给6张平面图贴上去.再用translate3d来操作.然而UI考虑 ...

  4. 如何用matlab制作演示动画

    随着这信息技术的发展,"南抖音北快手"走进大家的生活,更多的人喜欢上看视频,这种能动的图像,科研学习领域有时候为了能够很好的把事情说清楚也需要能够动态展示计算结果,过冷水本期就和大 ...

  5. 如何用python制作三维动画_用Python制作3D动画

    很多小伙伴可能不知道,在3D动画甚至电影制作的过程中,Python也在其中扮演了很重要的角色呢! 比如皮克斯的动画片一般使用Maya软件制作,并且流程中使用到了大量的Maya Python插件. 另外 ...

  6. 如何用python制作三维动画_课件中三维动画的Python实现

    课件中三维动画的 Python 实现 李保源 [期刊名称] <福建电脑> [年 ( 卷 ), 期] 2007(000)007 [摘要] 课件设计必须满足内容科学.交互性好.界面简洁漂亮.使 ...

  7. 手把手教你如何用PhotoShop制作gif动画 (转)

    转载:https://blog.csdn.net/qwertyupoiuytr/article/details/53999184 首先需要打开PhotoShop的图层和动画窗口,动画窗口可以通过在顶部 ...

  8. 如何用python制作三维动画_python-如何在m??atplotlib中更新3D箭头动画

    正如Azad所建议的那样,一个不大但有效的解决方案是简单地编辑mpl_toolkits / mplot3d / axes3d.py以删除标准化.因为我不想弄乱我的实际matplotlib安装,所以我只 ...

  9. Cocoa利用TexturePacker创建的纹理图集实现角色的帧动画

    Cocoa利用TexturePacker创建的纹理图集实现角色的帧动画 by 大熊猫侯佩 什么是TexturePacker TexturePacker是一个非常棒的纹理集制作工具,广泛应用在2D游戏的 ...

  10. canvas 擦除动画_帧动画的多种实现方式与性能对比

    作者: 前端向朔 from 迅雷前端 本文目录 Web 动画形式 应用场景 素材准备 实现方案 一.GIF 图 二.CSS3 帧动画 三.JS 帧动画 方案总结 注意事项 总结 Web 动画形式 首先 ...

最新文章

  1. 网站seo工作不能忽视
  2. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用37
  3. 2017计算机基础教学大纲,2017级大学计算机基础教学大纲设计.doc
  4. 面向空天地一体多接入的融合6G网络架构展望
  5. c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇
  6. java RuntimeException
  7. 移动端touch实现下拉刷新
  8. BAT警示:没试过这个方法就别说会数据分析!!
  9. 计算机第二显示器黑屏的处理,电脑显示器黑屏的维修处理办法
  10. 嵌入式linux运行编译器,gcc编译器的使用
  11. windows下文件路径太深,删除解决方案
  12. asp.net配置web.config显示详细错误信息
  13. CIO:人工智能将改变企业IT
  14. 2.4 zio入门——ZIO类型参数
  15. 同样是程序员 为什么薪资不同
  16. 帆软单元格格式属性设置
  17. CAN IP SjA1000ip核 verilog写的 项目以在稳定的用
  18. 使用Fiddler对手机APP抓包渗透测试实战
  19. 我的爸爸,在滴滴做自动驾驶
  20. python爬虫——爬取淘票票正在热映电影

热门文章

  1. 解决webpack5打包html中图片后图片无法显示问题
  2. C语言数据结构与算法--------图论全面总结(附有详细动态图解)
  3. 合肥师范学院c语言题库,二级c语言题库
  4. DCMM GBT 36073-2018 数据管理能力成熟度评估模型(Word版)
  5. C#调用python深度学习项目排坑
  6. 100道Python经典练习题.pdf(附答案)
  7. 微信小程序代码体积压缩到最小
  8. android镊 姩瀹夎 apk,用java寫的jodconverter借用openoffice來轉換office成pdf的示例代碼...
  9. 学JAVA需要学数据结构吗?选择哪版数据结构教程合适?
  10. python函数手册pdf_Python参考手册(第4版 修订版) ([美]大卫 M.比兹利) 中文pdf扫描版[102MB]...