实现web和原生都能换肤的功能心得

CocosCreator版本:3.4
一开始没有思路,也是看各位大佬的方法,通过region替换的方法实现了web端换肤,结果兴高采烈打个包,发现在原生中new sp.SkeletonTexture()会报错。也有大佬说改底层引擎能解决这个问题,感觉很麻烦,就换了种做法,就是挂点换肤。
结果挂点换肤好多帖子用的都是2.x的api,很多api找不到可平替的,又耗费了大量精力,终于实现了,哼哼,开心ing。
不多废话了,上代码:


隐藏插槽的思路借鉴了论坛一位前辈的思路,把slot.color.a赋值为0。原帖下说 slot.color.a赋值为0原生会报错,但是我测试了并没有报错,可丝滑运行,可能是官方后面把这个问题修了。

1赞