距离第一版的 untp 发布已经有一年半的时间了, 在这个项目上我收获了很多的第一次:

第一次有一个项目的 star 数超过 50
第一次往 pypi 上上传项目
第一次如此认真的维护一个项目

这篇文章已经是关于 untp 的第三篇文章了, 所有的文章列表可以查看这里. 下面我来讲讲 untp 最近的几次更新以及后续的一个维护计划.

一. 更新

1.1.5

  1. 修复: plist 中图片没有后缀会拆解失败的 bug

1.1.4

  1. 修复: 图片 mode 是 P 的情况下会拆解失败的 bug

1.1.3

  1. 新增: 支持 CocoStudio v0 导出的动画格式

1.1.2

  1. 新增: 拆解文件夹也支持指定输出目录了
  2. 新增: 单元测试, 以后发版本会稳很多

1.1.1

  1. 修复: plist + jpg 会拆解失败的 bug

1.1.0

  1. 添加了简易 GUI 界面的支持, 已经不能说是 A command line tool
  2. 同时兼容了 Python2 和 Python3

安装最新版本后, 输入 untp 不加任何参数就会打开 GUI 界面, 一个按钮拆解单个文件, 一个按钮拆解文件夹, 下方是日志窗口.

1.0.9

  1. 修复: 解析 plist 时因为数据中含有空白符号导致解析失败的 bug

1.0.8

  1. 新增: 支持 cocos2d-0.99.4 v1 格式支持

1.0.7

  1. 修复: 解析文件返回值错误导致解析失败

1.0.6

  1. 新增: 可以将 fnt 转化为图片
  2. 修复: 将 pvr 转化为 png 时会污染原始目录
  3. 修复: 当 plist 中的图片含有路径时无法正确生成图片
  4. 修复: 当 offset 为 float 值时解析 plist 出错

1.0.5

  1. 拆解单个文件时支持 -o 参数指定输出目录
  2. 可以在 pythonimport
  3. 支持 cocos2d/cocos2d-x v3 格式

1.0.4

  1. 使用 argparse 解析调用参数, 支持更多选项
  2. 捕获图片打开异常, 程序更加健壮
  3. 支持文件夹递归查找所有 plist 拆解

1.0.3

  1. 修复依赖 Pillow 模块版本大于 3.0 时图片输出错误

1.0.2

  1. 兼容 python3
  2. 放弃之前的打包发布, 改为 pypi 发布
  3. 修复一处路径错误
  4. 根据 python code style 优化代码
  5. pvr,pvr.czz 格式支持 (需要安装 TexturePacker 命令行工具)

二. 后续计划

untp 这个项目最初来源于项目中的一个需求, 所以开始只是为了自用, 开源之后发现有能帮助一些人, 顺便实现一下他们的一些小需求, 自我更新动力并不是很足, 因此更新的频率不是很高.

之前的发展策略我一直都是按着更便捷安装, 更方便使用方向上走的, 从一开始的 PyInstaller 打包到后面的上传到 pypi , 从开始只支持单一文件到支持目录, 都是按照这个思路搞的.至于后面如何发展我也没有很好的想法, 或许让它停留在这一版也很好. 今天看到张小龙的一篇内部分享, 一个好的工具就应该只是一个工具, 想到就用, 用完就走, 不要想着把用户黏住.

所以, untp 就只是一个拆解大图的工具, 绝对不做其他的功能. 在这个原则的基础上, 有这么几个方向去搞:

  1. GUI 界面的支持 supported since version 1.1.0
  2. 支持更多的格式

我想使用这个工具的人可能不一定是程序员, 他们不一定懂 pip , 不一定会打开终端. 所以一个 GUI 的界面就很重要了. 第二个是可以让更多引擎的开发者来使用, 现在只支持 cocos 是有些狭隘了, 对自己也是一个很好地的锻炼.

如果你还有更好的建议, 欢迎在评论里或者 issue 中提出.

三. 中文使用说明(持续更新)

1. 安装

现在可以采用两种方式安装, 在终端中键入 pip install untp 或者 clone 代码到本地, 在根目录 python setup install .

2. 使用

当我们在终端中键入 untp -h 后, 会得到下面这段输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
usage:
untp ../btn.plist
untp ../btn.plist -i ../btn.png
untp ../data
untp ../data -r
positional arguments:
path plist/fnt file name or directory
optional arguments:
-h, --help show this help message and exit
-o output, --output output
specified output directory
For file:
-i image_file, --image_file image_file
specified image file for plist
For directory:
-r, --recursive

对于单个 plist 文件, 可以 untp xxx.plist 来拆解它, 会读取 plist 中配置的图片输出到同名的目录中, 可以使用 -i 指定图片.

对于目录, 使用 untp path path 是包含 plist 文件的目录, 可以使用 -r 参数指定遍历子目录.

以上两种都可以使用 -o/--output 指定输出目录.

(以上)