位置: 编程技术 - 正文

2015.3.25--2.cocos精灵移动 动画控制(一)

编辑:rootadmin
昨天已经成功的创建了一个场景跟一个精灵。今天研究了很久动画播放。其实播放出来按照教程就可以了。不过远远达不到我们需要的效果 对于动画的控制。 auto animation = Animation::create(); for( int i=1;i<;i&#;&#;) { char szName[] = {0}; sprintf(szName, "Images/grossini_dance_%d.png", i); animation->addSpriteFrameWithFile(szName); } // should last 2.8 seconds. And there are frames. animation->setDelayPerUnit(2.8f/); //animation->setRestoreOriginalFrame(true); m_pAction = runAction(RepeatForever::create(Animate::create(animation)));动画创建的代码 从cpp_test里面扣的 这里首先研究了一下Animation对象 发现他是一个动画控制器 包括Animate RepeatForever其实这里是有一个疑问的 为何都是动画控制器 却又有层级尤其是RepeatForever Animate 为何一个循环播放的动画控制器一定要在动画控制器之上创建。我这里先留一个疑问 明日继续研究其实这里的思路是非常清晰的 用一个资源管理器来保存资源 序列帧 骨骼动画等截个部分图 官方文档上有很清晰的结构图 &#;得参照 花了点时间每个都进去看了一下 只是不同的控制器效果的处理主要方式在update上时有所不同。 这里就不一一赘述了。其实在搞动画播放控制的时候踩了很多坑1.我想要持久化一个Action对象 用来控制动画的暂停与继续播放,这时候踩到了autoRelese的坑 一直以为是个智能指针,没成想是每tick都会回收被标记为autoRelease的对象 若要持久化 请调用Retain当然 cococs有个更安全的宏 CC_SAFE_RETAIN 个人更推荐使用宏2.我想要在初始化玩家对象的时候就初始化好所有的动作。这样我只需要控制动作的播放时机就行了 结果发现我在init的时候创建了动画 然后runAction(这个函数不能被重复执行 不然会挂掉 明天需要研究怎么判定动画的播放状态) 这样会发现哪怕是我pauseTarget也不行,后来发现 cocos对于一个Node对象的创建流程是这样的。create之后 会调用init若需要初始化的代码可以在这里去做一次,然后就是autoRelease 若需要持久化手动调用retain,再之后会进入场景 回调一个onEnter,这里的坑是这样的 onEnter时会调用一次这个Node的resumeTarget 导致我在init时设定的pause又被继续播放了。也就是说 我们要记得 资源等的初始化需要放在init里面 而行为的初始设定需要在进入场景之后进行 也就是onEnter(这里要注意的是 重写基类方法的时候一定要去看一下基类实现 例如 /** * Event callback that is invoked every time when Node enters the 'stage'. * If the Node enters the 'stage' with a transition, this event is called when the transition starts. * During onEnter you can't access a "sister/brother" node. * If you override onEnter, you shall call its parent's one, e.g., Node::onEnter(). * @js NA * @lua NA */ virtual void onEnter();这里一定要记得主动调用基类的方法。)明天的目标是要找到绑定多个动画并按照不同的(技能)来播放动画 并且绑定自己的模式这些基础搞完之后 我们就不能在cpp-Test上继续去研究了 已经越写越乱了 导致我今天控制动画时找对应代码都找好久后天 也就是周一要建立起自己的工程 github也引入 这样在公司跟家里就可以维护一段代码了。

推荐整理分享2015.3.25--2.cocos精灵移动 动画控制(一),希望有所帮助,仅作参考,欢迎阅读内容。

2015.3.25--2.cocos精灵移动 动画控制(一)

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

android 接入移动基地SDK android接入移动基地SDK可以说移动基地不可能所有的开发工具每个版本都试过接入,在接入中难免有一些问题,特别是cocos2dx这种每个版本变化挺多的引

什么时候用removeUnusedSpriteFrames和removeUnusedTextures 在一个使用cocos2d的项目中,当切换关卡或者说切换layer时,经常需要释放上一个关卡或者layer中使用的图片资源,这个时候需要用到下面两个函数:[CCSpr

cocos2dx 3.4 lua加密 setXXTEAKeyAndSign 转载来源于:

标签: 2015.3.25--2.cocos精灵移动 动画控制(一)

本文链接地址:https://www.jiuchutong.com/biancheng/368891.html 转载请保留说明!

上一篇:Cocos2dx知识点总结(cocos2djs)

下一篇:android 接入移动基地SDK(安卓接入点)

  • 已认证进项税额转出怎么做账务处理
  • 减免税额和免税额一样吗
  • 季报利润总额是填本季度金额还是本年累计数
  • 股东退股如何清算表格
  • 申报个税是按照当月工资,做账时候发的是上月工资
  • 附加税减免所得税汇缴的时候需要调整吗
  • 教育费附加免税政策
  • 销售退款怎么做分录
  • 增值税期初应补税额计算
  • 企业所得税滞纳金从什么时候开始算
  • 土地出让金返还的禁止性规定
  • 哪些纳税人需要实名办税
  • 企业政府性征地补偿款如何合法使用
  • 转让房产的单位和个人都需要缴纳契税吗?
  • 其他流动资产待抵扣进项税额
  • 客户预付货款会计分录
  • 以前年度损益调整属于哪类科目
  • 小规模纳税人开专票税率是1%还是3%
  • 开专票一定要公章吗
  • 本年已预缴所得税
  • 残保金所属期与税款所属期
  • 生产企业出口发票数量开错有什么影响
  • 普通发票需要什么
  • 公司注销未缴纳社会保险费
  • 土地开垦费怎么征收
  • 资产处置收益属于利润表项目吗
  • 商业承兑汇票需要银行审核吗
  • 发工资时忘记扣个税了怎么做账
  • 修改远程桌面端
  • safedownloader是什么
  • os x yosemite dp6下载 os x 10.10 dp6官方下载地址
  • 上市公司发行股票是好还是坏
  • ahqtb.exe是啥进程 ahqtb进程信息查询
  • PHP:pg_query()的用法_PostgreSQL函数
  • PHP:iconv_get_encoding()的用法_iconv函数
  • thinkphp 登录功能
  • vue获取设备id
  • 记账凭证错误用什么更正
  • vue全家桶学多久能上手项目
  • 劳务派遣工资的发放单位
  • 对方发票丢了能红冲重开吗
  • sqlserver2008数据库备份和恢复步骤
  • mysql数据库死锁
  • 合伙企业法人股东税收
  • 定期定额户用财务制度备案吗
  • 债券到期收益率被定义为使债券的()
  • 什么是现金什么是现金流
  • 年度纳税申报时间
  • 小规模企业提现到自己个人银行卡需要交多少税
  • 社会保险中断后还可以续保吗
  • 进口报关费入什么科目
  • 出国人员差旅出差补贴标准
  • 子公司注销前资金怎么办
  • 代理记账需要什么章
  • 原材料暂估入库成本结转处理
  • 工资流水贷款需要什么手续
  • 取得投资时支付的相关税费
  • 日常修理费用如何记账
  • 空头支票如何处罚
  • 开票6个点怎么计算
  • 会计信息质量特征哪个最重要
  • mysqldump -h
  • vim如何操作
  • solaris安装教程
  • Linux系统配置IP
  • linux怎么配置vim
  • Win8系统怎么安装
  • js 数组取值
  • 菜单下一章
  • vue的ssr渲染
  • android音频播放器
  • unity2019图集
  • centos6.5设置网络
  • java script入门
  • 江苏税务个人所得税app怎么下载不了?
  • 个人经营所得申报时间
  • 税务部门政务公开
  • 企业所得税
  • 海南海葬需要多少费用
  • 一巩固三衔接
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设