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

问题表现

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

问题排查

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

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

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

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

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

如何修复

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

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

最终修改

修改后就正常了

总结

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

相关推荐
BigTopOne几秒前
ArLiveLite 用到的 C++/JNI 技术点
前端
BigTopOne1 分钟前
ArLiveLite 技术架构-Lite
前端
BigTopOne6 分钟前
ArLiveLite-具体功能
前端
BigTopOne9 分钟前
ArLiveLite -具体功能
前端
Sherotree11 分钟前
理解 JWT:三段分别是什么
前端·ai·开源
BigTopOne11 分钟前
ArLiveLite 用到的 FFmpeg API
前端
BigTopOne18 分钟前
ArLiveLite -功能架构详解
前端
winfredzhang20 分钟前
一个 HTML 文件的备忘录:纸间备忘(Memo on Paper)源码全解析
前端·html·导出·localstorage·备忘录·json和html
智商偏低24 分钟前
bindFramebuffer
前端·javascript·html
林恒smileZAZ28 分钟前
前端如何实现在线预览office常见文件功能?
前端