cocos2d-x 动画
来源:互联网 发布:统计网络直报系统 编辑:程序博客网 时间:2024/05/16 10:15
做了1年多后端 一直对前端的东西比较感兴趣 就学学cocos2d.
想做个标准策略战棋 于是就开始了.
地图用的是tiled 然后用画线画出网格 先忽略美观 这里要注意的是ccDrawLine这个东西画出来的是0层 所以要注意不要被盖住
//==========================================================================
接下类就是人物动画啦
没搞过动画 想起有个CocoStudio 就用它好了 里面有个做动画的 看了一下文档 不难上手
暂时不用骨骼动画 就用帧动画就行了
拿了RPGMaker的素材 那个人物的 切了人物的几个走动图 放进去 这里要把不同的图片放置不同的Layer (这一步也找了好久= =)
//=========================================================================
然后运用隐藏帧 把同一时刻的其他动作隐藏起来 循环几张图片 我记得是60帧/秒 所以这里也是刚好60帧为一个完整动作
//=========================================================================
搞定了之后用 导出 项目 会自动生成所需PNG和一份plist文件 全部放到一个文件夹放入Resource文件夹 制作动画的就搞定了。
//=========================================================================
接下来就是要把动画运用到实际项目中了 看了一下CocoStudio文档 在一个角落找到了代码块 用之 = =
都是基本步骤 重要的就是知道有那个类 注意要 #include "CocoStudio\Armature\utils\CCArmatureDataManager.h" 不然会报错
还有USING_NS_CC_EXT; 加入命名空间
this->addChild 置入层中 就会自己播放啦
//=========================================================================
接下来就是和菜单响应一起合作 实现移动中播动画啦 (还有要用到动作 CCSequence 因为要在moveTo之后做一些事情)
写个菜单 还有响应函数
这里按移动之后只是记录了需要移动的CCSprite实例 真正移动的响应需要在CCLayer的触摸响应中做
//=========================================================================
层注册一下带目标的触摸 (这里还没有分层 只是为了测试动画 后面再分)
//=========================================================================
触摸响应函数中隐藏CCSprite英雄 播动画
//=========================================================================
这一步比较重要了 使用了序列动作CCSequence,因为我们需要moveTo之后隐藏掉动画 重新显示CCSprite英雄
用了CCCallFuncND 可以传入void*指针
void HelloWorld::afterMoveAction(CCNode* pSender, void* data) 回调函数第一个参数为动作执行者 这里就是animation动画实例
这样我们在动作结束后就可以隐藏掉动画 设置英雄新的位置 然后显示英雄
至此完成了移动的完整过程 TOT
//=========================================================================
现在才发现原来前端要注意的细节不少
一个小小的移动就有这么多步骤 还要做地图坐标逻辑坐标转换 一些细节甚至还包括 P的图片的大小 不然就会很难看
不过整个过程充满乐趣
接下来需要做一些微调 遇到啥再写吧 (插图真不方便=。=)
- cocos2d-x动画工具
- cocos2d-x 动画
- Cocos2d-x切换动画
- cocos2d-x CCAnimate 动画
- Cocos2d-x 系统动画
- Cocos2d-x 自定义动画
- Cocos2d-x 帧动画
- Cocos2d-x 系统动画
- Cocos2d-x 自定义动画
- cocos2d-x帧动画
- Cocos2d-x-->CCSprite 动画
- cocos2d-x:动画 Animations
- cocos2d-x 过度动画
- Cocos2d-x 反复动画
- cocos2d-x所有动画
- cocos2d-x 动画
- cocos2d-x 的动画
- cocos2d-x 动画CCAnimation
- NYOJ-117 求逆序数(树状数组或归并排序)
- Android visibility中VISIBLE、INVISIBLE、GONE的区别
- ubuntu 13.10安装oracle sdk和PyCharm教程详解
- ps -eo uname,comm|grep `whoami`失败 用户名长度限制
- linux suse iP config
- cocos2d-x 动画
- kettle插入更新操作
- c2java 第4篇 二叉堆和Huffman编码在视频编码中的运用
- POJ 1837
- hdu 1163 Eddy's digital Roots(九余数定理,快速幂)
- week7晚作业
- Container With Most Water
- 项目二。深复制的构造函数
- 第四周作业——图的表示