来自:http://blog.csdn.net/yirancpp/article/details/11324607

我们这个Demo的效果就是点击屏幕实现武器的更换.人物换装应该是游戏中很常见的一个需求,故写此Demo以分享给需要的人.

一、我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码:

[cpp] view plaincopy
  1. CCSize szWin = CCDirector::sharedDirector()->getVisibleSize();
  2. CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("knight.png","knight.plist","knight.xml");//加载骨骼动画文件
  3. CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("weapon.png","weapon.plist","weapon.xml");//加载骨骼动画文件
  4. setTouchEnabled(true);//开启触屏响应
  5. pArmature = CCArmature::create("Knight_f/Knight");
  6. pArmature->getAnimation()->playByIndex(0);//播放第一个动作
  7. pArmature->setPosition(ccp(szWin.width/2-100,szWin.height/2));
  8. pArmature->setScale(1.5f);
  9. this->addChild(pArmature);
  10. std::string sWeaponName[] = {"weapon_f-sword.png", "weapon_f-sword2.png", "weapon_f-sword3.png", "weapon_f-sword4.png", "weapon_f-sword5.png"};
  11. CCSpriteDisplayData sprDisplayData;
  12. for (int i=0;i<sizeof(sWeaponName)/sizeof(sWeaponName[0]);i++)
  13. {
  14. sprDisplayData.setParam(sWeaponName[i].c_str());
  15. pArmature->getBone("weapon")->addDisplay(&sprDisplayData,i);
  16. }

二、由于我们用到了COCOS2D-X中extensions中的类,故需要加入对应的目录和相应的头文件以及lib文件

①、在 工程->属性->配置属性->VC++目录->包含目录中添加extensions文件夹的路径:$(SolutionDir)\extensions
        ②、添加头文件、命名空间以及涉及的库文件如下:

[cpp] view plaincopy
  1. #include "cocos-ext.h"
  2. #include "CCArmature/utils/CCArmatureDataManager.h"
  3. #include "CCArmature/CCArmature.h"
  4. #pragma  comment(lib,"libBox2d.lib")
  5. #pragma  comment(lib,"libExtensions.lib")
  6. using namespace extension;

三、注册触屏分配器和设置其优先级

[cpp] view plaincopy
  1. void TestUseMutiplePicture::registerWithTouchDispatcher()
  2. {
  3. CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0, true);
  4. }

三、响应触屏事件以实现换装.代码如下:

[cpp] view plaincopy
  1. bool HelloWorld::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
  2. {
  3. static int nDisplayIndex  = -1;
  4. ++nDisplayIndex;
  5. nDisplayIndex = (nDisplayIndex)%5;
  6. pArmature->getBone("weapon")->changeDisplayByIndex(nDisplayIndex,true);
  7. return false;
  8. }

四、程序运行效果截图.是不是觉得霸气外露

五、补充说明:程序中涉及的骨骼动画文件下载链接http://t.cn/z86kmpg

PS:因为是基础学习,故不作过多分析.后继会有更多精彩内容,敬请大家关注
本人郑重声明如下 一、本文来自CSDN博客,本文地址http://t.cn/z86s8xJ 二、All Rights Reserved. 任何个人或网站转载本文时不得移除本声明. 三、不得对文章进行修改,除非明确说明.同时欢迎大家评论转载和分享.

COCOS2D-X之骨头架子动画武器换装效果Demo相关推荐

  1. COCOS2D-X之骨骼动画武器换装效果Demo

    我们这个Demo的效果就是点击屏幕实现武器的更换.人物换装应该是游戏中很常见的一个需求,故写此Demo以分享给需要的人. 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我 ...

  2. cocos 龙骨动画如何换装,换武器

    第一步:做好龙骨动画的武器,一种武器,一个元件 第二步,人物 第三步:先把武器的龙骨动画拖到场景中 第四步:把人物也拖到场景上 第五步:新建一个hero.js组件,拖到人物身上 B站上有一个DEMO, ...

  3. qq秀源码 php,JavaScript_js实现仿QQ秀换装效果的方法,本文实例讲述了js实现仿QQ秀换 - phpStudy...

    js实现仿QQ秀换装效果的方法 本文实例讲述了js实现仿QQ秀换装效果的方法.分享给大家供大家参考.具体实现方法如下: 仿QQ秀换装效果 #cs img{cursor:hand} var obj=ev ...

  4. Spine动画局部换装(切换武器)

    最近在用spine动画做微信小游戏,涉及到角色的武器升级后会切换到另一形态,就研究了一下spine的换装,搜了一些资料发现专门介绍的资料有点少,而且spine官网上说的也不太清楚,好在最后搞出来了,记 ...

  5. dnf剑魂buff等级上限_DNF:还在犹豫新老BUFF换装?一把胜武器完爆一切

    DNF:还在犹豫新老BUFF换装?一把胜武器完爆一切 尽管五一版本降临之后,地下城与勇士更新了一套新的BUFF换装.尽管现在人所共知,新的BUFF换装的BUFF提升率肯定是比现有的BUFF换装强的.但 ...

  6. 如何用Unity3D实现游戏中的角色换装?

    换装系统是游戏中较为常见的功能,我们给它一个专业词avatar,可以做到装备与人物分离,实现自由换装效果.我们可以将头部.身体.手.脚.武器独立建模.贴图,利用avatar来动态换装,实现各种搭配.实 ...

  7. Cocos Creator 的 web/原生多平台 Spine 换装方案解析,附 Demo 源码

    引言:Spine 换装是游戏开发中的一种常见实现方案,本次,羽毛先生将介绍自己对整体换装和局部换装实现方案的探索与选择. 运行环境 Cocos Creator 3.5.2 web/native 需求 ...

  8. 基于图像的虚拟换装:Towards Photo-Realistic Virtual Try-On by Adaptively Generating-Preserving Image Content

    Image Based Virtual Try-On 基于图像的虚拟换装,可以直接生成换好装的人物图片.VITON提供了一个被广泛使用的pipeline,现在的方法大多遵循类似的框架. 利用网络泛化能 ...

  9. CVPR 2020 | ACGPN: 基于图像的虚拟换装新思路

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! CVPR 2020之117篇GAN论文分类清单 编辑  AI科技评论 本文介绍的是 ...

最新文章

  1. Spring 泛型依赖注入
  2. mySQL优化 my.ini 配置说明
  3. 开源 软件测试自动化工具,开源Web自动化测试工具Selenium IDE
  4. 晒晒公司整改后的拓扑图和设备
  5. 你必须会的--Dijkstra算法--单源最短路径问题
  6. Simulink中进行电容充放电的一种简单仿真
  7. C#代码规范 .NET程序员需要提升的修养
  8. win10 mysql 远程连接_win10 docker部署mysql并启动远程连接
  9. Kafka入门经典教程【转】
  10. 使对易失性字段的操作原子化
  11. mysql排序自段为字符串类型问题解决
  12. 我的世界服务器启动后自动关闭,求解,服务器老师莫名其妙自动关闭,为什么会这样呢?...
  13. 机房收费系统个人重构版:透过文档谈文档驱动开发
  14. Turtlebot2 ROS配置超详细教程 ubuntu16.04
  15. XP访问windows 2003终端服务显示到期的解决
  16. java做求立方体,Java工具集-数学(立方体操作工具类)
  17. 组装台式计算机配置清单,diy之家 - 2017组装电脑配置清单_电脑diy主机配置推荐...
  18. iOS开发 字体适配
  19. 【转】美团O2O供应链系统架构设计解析
  20. 加密市场的「五维投资法」

热门文章

  1. android auto 定位不准,驱使用户远离Android Auto的原因是“不一致”
  2. 中国移动首颗MCU芯片——CM32M101A
  3. 【STM32多路温控—第六章】ADC单通道电流检测处理/晶振处理
  4. python实现文字转语音_Python 文字转语音
  5. 扑捉和捕捉的区别照相_CAD捕捉和对象捕捉的区别,两者有什么不同?
  6. 37-【什么叫规矩 什么叫体统】谓词
  7. 直播推荐、搜索中的召回、相关性、多目标精排、特征、重排 - 多目标精排(3) - loss权重的4种方案
  8. 腾讯一shell试题.
  9. x264运动补偿技术
  10. 推荐:深入研究ITL阻塞与ITL死锁(转载)