龙骨使用自定义SpriteFrame尺寸不一致导致的bug

问题表现

后续反馈一个问题,局部换肤后,图片非常大

问题排查

对比了前后的ske.json,龙骨工程调整了龙骨的长度

为了减小龙骨的整体体积,制作人员使用了更小的图片,这也是为了龙骨整体看起来变小的原因。

龙骨的纹理和tex.json也发生了变化,比如下图中

yu10.png这个纹理在换肤的plist龙骨的tex.json中的width/height是一致的,龙骨调整后,两者就不一致了。

并且我发现换肤的局部纹理,比龙骨的纹理,到这里基本就确认了就是换肤的散图纹理尺寸不一致导致的这个bug。

如何修复

既然换肤纹理时等比例放大了,那么我只需要知道龙骨在运行时显示的width/height即可

对比发现,在龙骨的导出数据中记录的有这个width/height信息,尝试者修改:

最终修改

修改后就正常了

总结

这个问题虽然修复了,但是也暴露制作过程中的不规范,换肤就应该尺寸一致

相关推荐
阿虎儿几秒前
React 引用(Ref)完全指南
前端·javascript·react.js
Ratten17 分钟前
解决 error when starting dev server TypeError crypto$2.getRandomValues
前端
coding随想19 分钟前
深入浅出DOM3合成事件(Composition Events):如何处理输入法编辑器(IME)的复杂输入流程
前端
六月的雨在掘金20 分钟前
狼人杀法官版,EdgeOne 带你轻松上手狼人杀
前端·后端
Ratten25 分钟前
【npm 解决】---- TypeError: crypto.hash is not a function
前端
前端小大白25 分钟前
JavaScript 循环三巨头:for vs forEach vs map 终极指南
前端·javascript·面试
晴空雨26 分钟前
面试题:如何判断一个对象是否为可迭代对象?
前端·javascript·面试
嘻嘻__27 分钟前
掘金沸点屏蔽脚本分享
前端·掘金社区
用户479492835691528 分钟前
🎨 Prettier 深度解析:从历史演进到内部格式化引擎的完整拆解
前端
Man28 分钟前
uniapp中使用unocss适配多端
前端·css