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

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

最近在做一个基于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖店一件代发实操,干货满满!

我是电商珠珠 没有货源的新手,在店铺刚开始的时候可以搞无货源模式,也就是一件代发,去搬运别人店铺的商品到自己店铺,再去利用信息差去赚取差价。 很多人不知道具体要怎么做,今天我就来给大家讲一讲。 一、入驻 入…

Unity3D学习笔记之三Prefab组件的使用

本次教程,我们来创建一个简单的Prefab组件。教程参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》。说到Prefab,中文翻译为预设体,在Unity官方的书本《Unity4.X从入门到精通》中的解释是:可以理解为是一个…

tomcat闪退解决方案

在这几天,遇到一个Tomcat启动闪退的问题,通过查阅各种资料,算是完美解决。在此分享给朋友们。 首先,确定你的问题在哪里 1.查询错误:winR 输入cmd,进入一般处理程序。通过cd 找到你Tomcat的bin文件夹&#…

NFS4文件锁机制探秘

2019独角兽企业重金招聘Python工程师标准>>> 简介 NFS4实现“租赁锁”。每个锁拥有一样的“租赁期”。客户端的读写操作将刷新“租赁期”。租赁期到期后,锁将被服务器释放。NFS4通过下述“模型”实现对锁的管理: 1) 清晰地划分客户端和服务器…

Stay Hungry Stay Foolish——网络学习平台分享

从1月24号回家也有一阵子了,今天已经是31号,这一个周的中心思想就是一个字,玩。 学生一但远离学校,就会碰到许多学习的阻力,有来自外界的,家里有活要干,有亲戚要访,有同学邀约&…

Unity3D学习笔记之四完善Prefab并添加First Person Controller

好久没学东西并用博客记录了,这个年过的很懒散,慢慢临近开学了,也要提前适应一下,写写东西,这样开学才能更好的进入状态呀~~本次笔记中,我们将来雕琢一个更加完善的Prefab&#xff0…

Unity3D学习笔记之五为Prefab添加材质

本次笔记中,我们将利用unity来创建并使用材质,把材质添加到我们的Prefab中去。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。继续上次笔记中所记录的东西&a…

分布式版本控制系统之Git

Git Git 是目前世界上最先进的分布式版本控制系统(没有之一)作用 源代码管理为什么要进行源代码管理? 方便多人协同开发方便版本控制Git的诞生 作者是 Linux 之父:Linus Benedict Torvalds当初开发 Git 仅仅是为了辅助 Linux 内核的开发&…

oo第三次博客-JML规格

这三周的作业主要是围绕以JML来约束代码开发,以确保程序的正确性与鲁棒性。 Part 1:三次作业的实现与bug 第一次作业没有任何算法和数据结构上的难度,对于Path和PathContainer的各个方法的实现按照给出的规格复读即可。唯一的难点&#xff08…

Kinect开发笔记之一Kinect详细介绍

毕业设计的课题我选择了结合Kinect和Unity3D开发体感游戏,这是我十分感兴趣的一个课题,所以做好当然责无旁贷。准备再写一系列Kinect的学习笔记,记录自己毕设一步一个脚印的历程。1、Kinect背景介绍众所周知,Kinect是一款集成了很…

获取2个地址之间的距离(高德API)

2019独角兽企业重金招聘Python工程师标准>>> string startLonLat SiteHelper.GetLonLat("大连"); //获取起始地经度纬度 string endLonLat SiteHelper.GetLonLat("沈阳"); //获取目的地经度纬度 int distance SiteHelper.GetDistance(star…

WPF属性学习

一.WPF属性系统 CLR属性 .NET中的属性称为CLR属性 转载于:https://www.cnblogs.com/programme-maker/p/10910166.html

Unity3D学习笔记之六创建更多的Prefab

在写完第五篇后,因为不知名的原因,我突然不能够上传100KB以上的图片在博客中了。等了几天还是这样,所以我用PS把图片的分辨率一张张调低,让图片的大小都在100左右,将积攒了四篇的学习笔记一起发上来,也算弥…

四、构建Node Web程序

---恢复内容开始--- 一、HTTP 服务器的基础知识 1、Node如何向开发者呈现HTTP请求 2、一个用“Hello World”做响应的HTTP服务器 它用了默 认的状态码200(表明成功)和默认的响应头 3、读取请求头及设定响应头 Node提供了几个修改HTTP响应头的方法&#x…

datagrid 什么时候结束编辑_2020年中考结束后,什么时候出分?什么时候报志愿?...

导语7月19日下午16:00,2020年北京中考正式落下帷幕。考试结束后,很多家长和考生都会长舒一口气,但北京中考在线团队提醒你,现在还不是放松的时刻,中考结束后,还有成绩查询和填报志愿等重要事件等着你。那么…

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab,已经可以创建宏大的游戏场景,并以第一人称视角在场景中漫游了。这里给大家做个小的示范,建一个小场景大家在创建场景的时候需要自由发挥,做个尽量大的场景出来。这一系列教程以及素材均…

excel if in函数_【Excel函数】Small+Index+IF 一对N返回

通常情况下,Vlookup和lookup函数只能返回满足条件的第一个,剩余的都不会返回。 这也是其函数的一个弊端之一。 若是按照条件,返回所有满足条件的数据(1->N)的,可是适用组合函数。 Index返回位置&#xf…

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。我花了30分钟做了一个中等大小的迷宫场景,不知道大家自己发挥,做的场景大小如何。在完成场景之后&#xff0c…

哪个app最费电_微波炉和烤箱,买哪个划算?

微波炉和烤箱不能说买哪个划算,而是看哪个更适合?我家微波炉和烤箱两个都有,所以这个问题我来回答一下。虽然外形上看起来,微波炉和烤箱似乎没有多大的区别,从功能上看,它们也都是加热,但它们侧…

Unity3D学习笔记之九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头,本节我们来利用Prefab,将场景细节都添加进去,并且做的更完善。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习…