前言

因为换了设施,导致旧版受权无奈在新设施上应用,而且买了软件也只反对固定以后版本,不能降级,苦于mac版没有“失常”能应用的版本,于是试试对plist做解决。

顺便说一下过后买texturepacker的初衷,是因为它反对swf间接输入贴图,为了这个性能掏了钱,但发现几点:

  • 软件并非永恒收费
  • 软件只反对2台设施
  • 软件不给大版本升级性能,想要降级须要再花钱
  • swf直出性能并没有用到 (对于我来说)
  • 非永恒次要也不便宜,如果便宜的话还是会反对的

texture packer的免费版用旧后,输入会呈现贴图谬误,提醒付费。
既然有原始图片和输入图, 那么从新依照plist的设置再解决一份不就好了。就这么简略

这里用到了python比较简单的模块,只是解决json/正则,以及坐标转换,加上PIL贴图。

不到100行代码,我这里对应5.4版本进行解决

解决要求:

  • 只能是文件夹图集
  • 不保障其余版本输入格局可用
  • 不保障cocos2d框架以外的模块可用

实现:

  • 通过tps文件剖析源目录和生成目录
  • 通过生成的plist文件从新绘制png文件
  • 多线程解决
  • 只须要给定目录地位
  • 测试了一些文件,进行文件比对,没有位移问题,但边缘像素有所区别,它用到了一些“压缩”算法,我这里间接存png,没有呈现文件过大问题,大小根本类似

推论:

  • tps自身反对命令行解决,兴许能够在批处理的同时对其进行fix
  • tps文件能够加密,但须要软件降级,而软件自身并没有‘特地’的性能,现有版本都已齐全满足
  • tps即使加密,也不会太影响整体解决流程,一样能够做到上述性能的实现

有趣味的能够钻研下:
https://github.com/zszen/tpfr...