前言
因为换了设施,导致旧版受权无奈在新设施上应用,而且买了软件也只反对固定以后版本,不能降级,苦于 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…