2019独角兽企业重金招聘Python工程师标准>>>

最近在做一个基于cocos creator的微信小游戏,其中一个主要的功能是给角色进行换装。先来说下开发环境:

  • cocos creator1.9.3
  • spine 在官方的文档中只有设置皮肤的接口,实际上是存在可以部分换装的接口的。我去下载了引擎源码,然后找到了相关方法。这里先贴出换装的代码,之后再来分析其原理和注意事项。
function changeCloth(skeleton, slotName, targetSkinName, targetAttaName){console.log('change cloth:', slotName, targetSkinName, targetAttaName);const slot = skeleton.findSlot(slotName);const skeletonData = skeleton.skeletonData.getRuntimeData();const skin = skeletonData.findSkin(targetSkinName);const slotIndex = skeletonData.findSlotIndex(slotName);const atta = skin.getAttachment(slotIndex, targetAttaName);slot.setAttachment(atta);
}

要想了解其作用过程,你需要对spine的一些概念有一些基本的认识:spine动画的"根节点"是一个骨架,其下有很多骨骼,每个骨骼下都拥有一个或者多个插槽,每个插槽下可以有多个附件,但每个插槽最多只能显示一个附件。 了解完以上知识,那么上面的代码就很好理解了。无非就是获取对应的插槽,然后查询某个皮肤的附件,设置插槽罢了。但是这里还是有个坑的,因为皮肤并不直接使用附件,而是将附件放在皮肤占位符上,因此使用skin.getAttachment(slotIndex, targetAttaName)中的attaName实质上是其占位符的名字,和真正的附件名字毫无关联。而在默认情况下,spine是没有皮肤的(但在内部是一个名为'default'的皮肤,区别在于不适用皮肤占位符),使用的是真正的附件名。

转载于:https://my.oschina.net/ForeverZi/blog/1844674

关于cocos creator换装功能的实践与思考相关推荐

  1. 浅谈角色换装功能--前置篇【骨骼,蒙皮,动作】

    无论是AAA级的主机游戏,还是层出不穷的移动端游戏,角色换装几乎都是必不可少的功能,有的甚至是核心功能,像暗黑3和魔兽世界的幻化系统(如图1).这个功能没什么新鲜点.网上关于Unity换装的文章不胜枚 ...

  2. Unity简易实现人物换装功能

    人物换装是动作类游戏必不可少的一个功能,本篇就介绍一个简易的换装功能,如要换装,人物身体肯定会拆分成几个部分,如头部,武器,身体等,每个部分都有一个SkinnedMeshRenderer组件,这个组件 ...

  3. 纯前端实现登记照压缩宽高体积大小和换装功能

    感觉目前绝大部分的登记照制作网站和APP们,都是通过把图片传输到后台来进行图片的各种处理的.但实际上这样非常消耗服务端的各种资源,并且对于服务端的网络带宽也带来很大压力.其实在前端使用canvas实现 ...

  4. unity2d 换装功能实现

    相关文档 https://docs.unity3d.com/Packages/com.unity.2d.animation@3.1/manual/FFanimation.html 1 导入图片,点击S ...

  5. 飞机大战-Cocos Creator 碰撞系统实践

    本文概要 本文主要是讲解Cocos Creator碰撞系统的简单实践,并且结合一个简单小项目-飞机大战,来一起熟悉碰撞系统的使用.demo效果如下图. ​ 关于Cocos Creator 碰撞基本介绍 ...

  6. Cocos Creator入门(一)之查漏补缺

    Cocos Creator开发笔记 前言 小白一个记录一下自己creator(开发版本2.0.x)开发过程中遇到的一些问题以及解决方案,如有错误和不足之处还请大佬指出,文章原创,转载注明出处,本文有部 ...

  7. unity 3d换装之 SkinMeshRenderer

    http://www.cnblogs.com/shamoyuu/p/6505561.html 关注公众号 风色年代(itfantasycc) 200G Unity资料合集送上~ 一.换装原理 游戏角色 ...

  8. unity换装骨骼、蒙皮、动作之美

    无论是AAA级的主机游戏,还是层出不穷的移动端游戏,角色换装几乎都是必不可少的功能,有的甚至是核心功能,像暗黑3和魔兽世界的幻化系统(如图1).这个功能没什么新鲜点.网上关于Unity换装的文章不胜枚 ...

  9. unity中Avatar换装实现(三)之美

    前言 最近学习了Unity中Avatar换装功能实现,参考了网上的几篇文章,总结了一个Demo.Unity的换装实现参考网上的教程,总体有两种实现,一种是官方Demo给出的合并Mesh实现, 还有一种 ...

最新文章

  1. [转载] 晓说——第16期:古代科举那些事——由来
  2. 布谷鸟哈希函数的参数_用于并发读密集型的乐观Cuckoo(布谷鸟) Hashing
  3. 【知识星球】几个人像分割数据集简介和下载
  4. 方立勋_30天掌握JavaWeb_JSTL标签库
  5. H3C通过端口ID决定端口角色
  6. Spark推荐系列之Word2vec算法介绍、实现和应用说明(附代码)
  7. 巧用DOS命令打印上线文件列表
  8. CUDA ---- Hello World From GPU
  9. 操作系统—进程控制和进程通信
  10. asp.net core 返回的Server Kestrel是什么
  11. Google Code Review在代码审查中寻找什么
  12. Allegro导入Altium Designer的pcb文件
  13. Linux用户层和内核文件读写
  14. Floating Point Determinism
  15. Android android-times-square一款好用的日历控件
  16. 云计算在美国的五年是如何发展的?
  17. 高手教你ie主页被篡改怎么办|加个参数永远不怕IE主页被修改
  18. 海康大华宇视等等安防监控摄像头转成WebRTC流实现Web浏览器超低延迟无插件直播新方案...
  19. mac上如何将python2.7修改为python3
  20. 程序员眼中的 Eclipse

热门文章

  1. matlab中方波信号的谐波表示
  2. linux kvm安装win7,ubuntu14.04 使用kvm安装win7系统
  3. 刚发现的2011年最给力的春联
  4. 【莫比乌斯反演】10.30破译密码
  5. 22Java之JDBCTemplate总结
  6. TensorFlow 官方文档中文版
  7. 第一次写,python爬虫图片,操作excel。
  8. JAVA编码(41)—— 线程池队列执行任务(ThreadPoolQueue)(1)
  9. android中xmlns:tools属性详解
  10. java base64解码出错_Java Base64解码错误及解决方法