前言
因为换了设备,导致旧版授权无法在新设备上使用,而且买了软件也只支持固定当前版本,不能升级,苦于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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。