spine 局部换装
spine 换装接口 setAttachment
首先你在制作骨骼的时候,需要给一个 slot 设置多个 attachment,spine在一个时刻只会显示其中的一个 attachment,动态切换 attachment 调用 SkeletonRenderer::setAttachment
接口。这个接口自动绑定并未提供,社区版手动绑定提供给开发者使用。
接口示例:(注:只有第一个参数时,表示去掉slot的Attachment,不显示图片)
local hero = sp.SkeletonAnimation:create("build_yellowlightfinished.json", "build_yellowlightfinished.atlas")
hero:setAttachment("changegun", "pc_gungirl_crossbow3")
c++:
SkeletonRenderer.cpp
bool SkeletonRenderer::setAttachment (const std::string& slotName, const std::string& attachmentName) {return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str()) ? true : false;
}
Skeleton.c
int spSkeleton_setAttachment (spSkeleton* self, const char* slotName, const char* attachmentName) {int i;for (i = 0; i < self->slotsCount; ++i) {spSlot *slot = self->slots[i];if (strcmp(slot->data->name, slotName) == 0) {if (!attachmentName)spSlot_setAttachment(slot, 0);else {spAttachment* attachment = spSkeleton_getAttachmentForSlotIndex(self, i, attachmentName);if (!attachment) return 0;spSlot_setAttachment(slot, attachment);}return 1;}}return 0;
}
void spSlot_setAttachment (spSlot* self, spAttachment* attachment) {if (attachment == self->attachment) return;CONST_CAST(spAttachment*, self->attachment) = attachment;SUB_CAST(_spSlot, self)->attachmentTime = self->bone->skeleton->time;self->attachmentVerticesCount = 0;
}
总结:
制作spine时 一个插槽slot上需要预制多个attachment附件,需要切换显示时 调用setAttachment方法,第一个参数slotName,第二个参数 attachmentName。
最终是spSlot对象 调用了spSlot_setAttachment方法。
spine 局部换装相关推荐
- Spine动画局部换装(切换武器)
最近在用spine动画做微信小游戏,涉及到角色的武器升级后会切换到另一形态,就研究了一下spine的换装,搜了一些资料发现专门介绍的资料有点少,而且spine官网上说的也不太清楚,好在最后搞出来了,记 ...
- cocoscreator 中 spine局部换皮
1 多attachment切换 let goblingirl = this.spine2.findSlot("left-arm");let attachment = gobling ...
- cocoscreator中spine局部换皮的探索
1.需求情况 书之国中需要一个人物捏脸系统,要求可以让用户自由选择身体不同部位的形象,比如头发.眼睛.眉毛.上衣.裤子等.已经支持RegionAttacment和MeshAttachment,而且在r ...
- Cocos Creator 龙骨DragonBones(导出骨骼/使用骨骼/局部换装/全局换装)
https://www.cnblogs.com/gamedaybyday/p/13021916.html Cocos Creator 龙骨DragonBones(导出骨骼/使用骨骼/局部换装/全局换装 ...
- Unity Spine 局部换皮
1.Spine元素主要包含皮肤(Skin).骨骼(Bone).插槽(Slot).附件(Attachment).及附件下的图片. 2.而皮肤(Skin)包含了插槽信息.附件信息,如果我们有两套相同构成的 ...
- Cocos Creator 的 web/原生多平台 Spine 换装方案解析,附 Demo 源码
引言:Spine 换装是游戏开发中的一种常见实现方案,本次,羽毛先生将介绍自己对整体换装和局部换装实现方案的探索与选择. 运行环境 Cocos Creator 3.5.2 web/native 需求 ...
- 换装心得-DragonBones
换装层级遮挡处理1 场景举例: 手握武器,剑柄在大拇指和四指之间. 这时处理方式是把拇指和四指分两部分,程序单独调整层级(setChildIndex) 换装层级遮挡处理2 场景举例: ...
- laya龙骨换装_分享:Dragonbones/Spine的换肤操作
目前LayaAir下支持龙骨的局部换肤(根据插槽索引换肤.根据插槽name换肤.纹理换肤.网格换肤).全局换肤 需注意: 1.Dragonbones不支持全局换肤,Spine支持全局换肤 2.使用到I ...
- 关于cocos creator换装功能的实践与思考
2019独角兽企业重金招聘Python工程师标准>>> 最近在做一个基于cocos creator的微信小游戏,其中一个主要的功能是给角色进行换装.先来说下开发环境: cocos c ...
- spine 动态换皮功能
前言: cocos2dx 中spine 的换皮功能是一种静态的方法,也就是在创建 spine 动画的时候就必须将所有的皮肤全部加载,然后在代码中直接换皮,并且这种换皮是整体的切换,对于我们实际开发中这 ...
最新文章
- Linux 播号上网
- 杂记整理二:linux与程序安装
- Struts2配置文件中传递参数的一个小问题
- c language compile process.
- android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...
- swift java_swift语法和java的比较
- 联发科完成双模芯片实验室测试 首批5G终端明年一季度问世
- 好东西!适合电商促销C4D场景模型海报素材!
- UI登录表单使用模板素材
- 在vmware server中部署linux redhat 5.4 ORACLE RAC11g +ASM
- [Noip2007]Core树网的核
- webpack+vue动态加载组件尝试
- linux 在字符界面中如何查看超出屏幕显示范围的内容
- 手机连上蓝牙耳机没有声音
- pytorch geometric GraphSAGE代码样例reddit和ogbn_products_sage,为何subgraph_loader将sizes设成[-1]
- GCC编译器和CC编译器的区别
- Python爬虫之bili站的正确打开方式
- 长沙十大情调情侣约会餐厅,你们去过哪几家?
- Android SQLite在应用中数据保存查询,但是拷贝的xxx.db没有数据或没有更新,.db_wal和.db_shm文件
- IE浏览器下载文件会自动打开,无弹框保存
热门文章
- BPM实例分享——金额规则大写
- 职场职位缩写 PM,TM,PL,TL,SE,PG,CEO,CFO
- iPhone7 plus分辨率行不行
- 第1章 Cookie模拟登录(1.1 模拟登录的原理)
- 关于电子计算机的热点,计算机如何成为热点? 8台计算机wifi热点软件推荐
- 基于routeros的ADSL带宽叠加
- 威廉玛丽学院计算机专业好吗,威廉玛丽学院计算机
- SharePoint 2013 图文开发系列之列表定义高级篇
- 互联网巨头开放给创业者的新机会!
- python创建一个列表、用于存储同学姓名_python学习日记04,Python