巧用TexturePacker命令行

游戏开发使用TexturePacker来生成图片的atlas sheet, 工具非常好用。 一般GUI的方法, 新建一个tps文件, 将要图片加载进来,调整参数和输出路径, 最后点publish。

在实际的项目中, 需更新atlas sheet,每次都要打开tps,等着TexturePacker启动, 点publish,尤其是要支持多个设备分辨率的时候, 比如iphone, 需要至少iphone, iphone retina, iphone5三种分辨率, 如果是同时支持ipad的,则需要5个tps文件,像我的项目, 每个分辨率有3个atlas sheet, 这样美术资源更新时,最糟的情况需要5x3=15次手动开启TexturePacker点publish的操作。 不但麻烦,而且容易出错。

其实,可用TexturePacker提供的命令行工具, 将这些操作写到脚本里, 每次执行一下脚本就自动更新了。 TP的命令行工具非常强大,它提供了很多参数, 可以用命令行的方式从无到有创建atlas sheet(我猜想GUI实际就是调用的命令行)。去看TP的官网命令行介绍, 未免有些头大,参数太多, 一下子不知道该怎么写。

好在大部分人都是已经有了tps文件, 需要使用命令行来代替手动操作。如果是这样,那么那些选项就和你没什么直接关系了。你只需要在tps里面, 把参数都设好, 然后终端里执行一句:

  /usr/local/bin/TexturePacker xxx.tps

- 前者是TP命令行工具的默认路径,注意, 要事先安装命令行工具, 在TP里点TexturePacker/Install Command Line Tool, 安装到该默认路径。

- 后者xxx.tps是你的tps文件的路径

只需要这一句话, 就相当于你点开TexturePacker, open xxx.tps文件, 再点击publish.

另外, 还有个窍门,就是尽量使用Add Folder添加图片, 每次只需将新的美术资源放到对应的文件夹下, 新的美术图片自动会被打包,而无需启动GUI手动添加图片.这在美术资源经常变动时,非常方便.

注意, 很多例子(比如大名鼎鼎的Ray Wenderlich)将命令行集成到xcode中,每次clean的时候清除atlas sheet, 每次build的时候再重新生成. 这样虽然帅气, 但是我个人不推荐. 因为日常开发, 更新美术资源的情况毕竟是少数, 如果集成到xcode中,每次clean之后, 不管是否真的有美术资源的更新, 都要重新生成, 编译的时间会增加很多, 一个大的atlas可能接近10M, 生成一个是需要一点时间的, 每次编译这样搞是完全没有必要的. 所以我自己另外写了个脚本, 更新美术后, 执行一次即可.

上一篇:FFmpeg编译以及遇到的问题_Windows平台


下一篇:jQuery触发标签的点击事件后URL不跳转的解决办法