游戏开发使用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, 生成一个是需要一点时间的, 每次编译这样搞是完全没有必要的. 所以我自己另外写了个脚本, 更新美术后, 执行一次即可.

巧用TexturePacker命令行的更多相关文章

  1. mac 查找当前目录下所有同一类型文件,并执行命令行

    以TexturePacker举例 MAC下用TexturePacker命令行打包当前目录下所有的 *.tps文件 1.配置好tps文件需要配置好路径.参数等.(也可不配置,用命令行实现.具体参考:ht ...

  2. [原创]使用命令行工具提升cocos2d-x开发效率(一)之TexturePacker篇

    TexturePacker是一个常用的制作sprite sheet的工具,它提供了很多实用的功能. 一般我们制作sprite sheet都是使用他的gui版本,纯手工操作,就像下面这张图示的一样. 刚 ...

  3. 巧用命令行工具 redis-cli

    我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...

  4. 用命令行来安装mac应用

    今天看了下唐巧的博客,发现了这样一种宝贝呀,哈哈,分享一下 命令行工具,brew cask是一个用命令行管理Mac下应用的工具,它是基于homebrew的一个增强工具. brew cask insta ...

  5. 命令行上的narrowing(随着输入逐步减少备选项)工具

    前面在介绍zsh的时候,说过它的补全用来起比bash的Tab补全方便多了,在有多个备选项是你只要用光标键来挑选就是了,而不是全列出来提示你再多输入几个字符.而Emacs的anything / helm ...

  6. Oracle安装后命令行中运行sqlplus / as sysdba出现错误ora-01031:insufficient privileges

    Win10安装Oracle后命令行中运行sqlplus as sysdba出现错误ora-01031insufficient privileges的解决方法 情景描述 错误样例 错误分析 解决方法 情 ...

  7. 用 shell 脚本做命令行工具扩展

    问题的提出 公司开发机与远程服务器之间有严格的隔离策略,不能直接使用 ssh 登录,而必需通过跳板机.这样一来,本地与服务器之间的一些文件传输变得非常不便.经过咨询,运维教了我一招: $ nc -l ...

  8. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  9. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

随机推荐

  1. 单调队列 hdu2823

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 48608   Accepted: 14047 ...

  2. 3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)

    一般我们常用的浏览器肯定是基于可视化界面的图文结合的浏览界面效果,比如FireFox.Chrome.Opera等等,但是有些时候折腾和项目 的需要,在Linux环境中需要查看某个页面的文字字符,我们需 ...

  3. Await Async Task

    class Program { static void Main(string[] args) { Console.WriteLine("=======Start Main!======== ...

  4. PLS-00221: 'function' 不是过程或尚未定义

    直接调用addOrgunitInfoByBatch(r_user_batch.seq_id,'01');   报错PLS-00221: 'function' 不是过程或尚未定义   原因是在调用函数时 ...

  5. 关于Jquery动画滞后问题(转)

    jQuery中slideUp .slideDown.animate等动画运用时,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,其表现不雅.非常影响使用体验. ...

  6. C语言中system()函数的用法总结(转)

    system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include <sys/types.h> #include <sys/wait ...

  7. APP自动化测试中Monkey和 MonkeyRunner

    在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程步步执行测试,得到实际结果与期望结果的比较.在此过程中,为了节省人力.时间或硬件资源,提高测试效率,便引入了自动化测试的概念.自动化测 ...

  8. ionic build android--> Build failed with an exception. Execution failed for task ':processDebugResources'.

    执行 ionic build android,   ionic 自动化生成安卓apk包, 出现以上报错的原因为:打包的文件中含有中文名,把中文名的文件去掉或改名即可打包成功.

  9. SQL Server如何删除多余tempDB文件

    某时,创建了多个tempDB文件,已经超过了服务器核心数,现象删除tempDB文件,使其保持与CPU核心数相同.但是在删除的时候,发现无法删除,报出错误:无法删除文件“tempdev3”,因为它不能为 ...

  10. Teleport Ultra/Teleport Pro的冗余代码批量清理方法

    Teleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列软件下载的离线网页里会包含大量冗余代码(如tppabs),手动去修改工作 ...