发现cocos2d-x 3.4版本中只支持spine换skin,但是现在有换衣服、换裤子、换发型等需求,这个该如何实现啊?
有没有什么办法能够直接获取皮肤图片,然后直接替换的方法?
谢谢大家!!
发现cocos2d-x 3.4版本中只支持spine换skin,但是现在有换衣服、换裤子、换发型等需求,这个该如何实现啊?
有没有什么办法能够直接获取皮肤图片,然后直接替换的方法?
谢谢大家!!
可以更换槽内图片, 不过只能换一张图, 复杂东西得多个槽实现, 多个槽会有不少蛋疼问题…难度系数都会提高
setAttachment(“weapon_slot”, “weapon_name”)
spine没有提供便捷的动态换装功能
Hi~
也就是说如果要换一件衣服,就要换掉2个手臂的,一个身子等等好几个部件,是这样做吗?
那要换装应该用什么好呢?
最复杂的用皮肤, 简单的一个或者两个槽可以搞定的可以用槽内换图片
我们只换武器和衣服, 武器是换槽内图片, 衣服就换皮肤实现
5楼的方法可行
但是一个人只能有一个皮肤呀,那么只能全套衣服都换吗?我想只换衣服或者只换裤子,该怎么做呢?
好滴~~谢谢哦!~
在更换皮肤无法解决的情况下, 只能换槽内图片, 如果要换多个槽内图片, 就要约定好美术和程序对于槽和槽内图片的命名规则, 或者提供给策划一套配置规则
另外, 涉及的槽越多这东西大规模制作起来成本就越高, 做起来会比较蛋疼…有时候美术做动画需要隐藏槽内图片都会增加阻力…
我没想出什么特别好的办法, 建议在当前spine支持情况下不要轻易尝试纸娃娃系统
glhf
那你们之前有做过换装吗?现在我们就是想做纸娃娃系统,让玩家任意搭配服饰。OMG,听你这么说好像踩到坑了%>_<%
一般一件衣服氛围三部分,近手、远手、body,也就是说要换3张图片,是吗?
谢谢你,感觉你好专业!
LZ是要做奇暖之类的游戏吧
你可以问问你们美术, 近手, 远手, 身体需要分为多少个槽, 具体情况都是要和美术制作沟通而来
修改下源码,写一个接口替换对应slot下面的图片纹理就行了。
是滴,要动起来的奇迹暖暖~
嗯,这个他都跟我说过了。也就是说换slot里的attachment就可以咯?
是不是就是换slot里的attachment就可以啦?
局部换装需要跟踪源码,修改下源码。
cocos2d-x可行,cocos2d-js版本貌似实现不了。
修改\cocos2d\cocos\editor-support\spine下面修改SkeletonAnimation.cpp
bool SkeletonAnimation::replacementParts(const std::string& skinName, const std::string& attachmentName)
{
if (skinName.empty())
{
return false;
}
spSkin *skin = spSkeletonData_findSkin(_skeleton->data, skinName.c_str());
if (!skin) return false;
for (int i = 0; i < _skeleton->slotsCount; ++i)
{
spSlot* slot = _skeleton->slots*;
if (strcmp(slot->data->name, attachmentName.c_str()) == 0)
{
spAttachment* attachment = spSkin_getAttachment(skin, i, slot->data->attachmentName);
if (attachment) spSlot_setAttachment(slot, attachment);
return true;
}
}
return false;
}
}
楼主实现了吗?有什么方案吗?
大家快来看,这里有一只妹子程序员






