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

问题表现

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

问题排查

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

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

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

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

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

如何修复

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

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

最终修改

修改后就正常了

总结

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

相关推荐
飞鸟malred3 分钟前
vite+tailwind封装组件库
前端·react.js·npm
Angindem4 分钟前
从零搭建uniapp项目
前端·vue.js·uni-app
java干货11 分钟前
深度解析:Spring Boot 配置加载顺序、优先级与 bootstrap 上下文
前端·spring boot·bootstrap
Uyker32 分钟前
微信小程序动态效果实战指南:从悬浮云朵到丝滑列表加载
前端·微信小程序·小程序
小小小小宇1 小时前
前端按需引入总结
前端
小小小小宇1 小时前
React 的 DOM diff笔记
前端
小小小小宇1 小时前
react和vue DOM diff 简单对比
前端
我在北京coding1 小时前
6套bootstrap后台管理界面源码
前端·bootstrap·html
Carlos_sam1 小时前
Opnelayers:封装Popup
前端·javascript