排查plist中offset字段导致的抖动问题

💡 原文中文,约2800字,阅读约需7分钟。
📝

内容提要

最近遇到一个bug,plist制造的动画在creator中会颤动。排查发现是plist里的offset导致的。offset是trim通明像素前后,中心点的偏移。问题关键在于trimWidth-originWidth的结果是否能被2整除。使用TexturePacker来打包plist可以避免这个问题。测试例验证了creator能够正常处理offset为小数的情况。

🎯

关键要点

  • 遇到bug,plist制造的动画在creator中颤动,原因是plist里的offset导致的。
  • offset是trim透明像素前后的中心点偏移,关键在于trimWidth-originWidth的结果是否能被2整除。
  • 使用TexturePacker打包plist可以避免offset导致的问题。
  • 测试例显示,offset计算中小数部分会被丢弃,导致bug出现。
  • 不同软件打包plist时,宽度可能出现偏差,根本原因是TrimDiff无法被2整除。
  • 建议尽量使用TexturePacker打包plist,以减少问题发生。
  • TexturePacker可能会自动调整尺寸以处理小数offset,确保解析功能正常。
  • Cocos Creator能够正常处理offset为小数的情况,验证了结论的正确性。
🏷️

标签

➡️

继续阅读