游戏开发使用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. ShareSDK第三方登录代码

    - (IBAction)YYSJBut:(UIButton *)sender{    if (sender.tag == 7)    {        [self AuthLogin:SSDKPlat ...

  2. react native 学习资料汇总

    http://www.ejiakt.com/album/show/252 http://www.cocoachina.com/ios/20150408/11513.html http://www.os ...

  3. 1. Swift基本变量|运算符|控制流

    Swift基于cocoa Touch框架,苹果官方为了保证Swift的可靠性,结合多种语言的特性,同时独立了一套属于自己的单独语言,结合了C,C++,OC,Java等语言. 基本变量: 1 . swi ...

  4. Linux Shell 文本处理工具集锦

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

  5. [转] 控制Arduino的利器-Windows Remote Arduino

    原文地址:控制Arduino的利器-Windows Remote Arduino 1. 概述 相信很多朋友已经在玩 Arduino了,而且一般都是使用官方的Arduino IDE来写程序控制Ardui ...

  6. Hibernate中两种删除用户的方式

    第一种,是比较传统的,先根据主键列进行查询到用户,在进行删除用户 //删除数据 public void deleteStudent(String sno) { init() ; Student qu ...

  7. JAVA的UDP协议交互信息

    由于要做app的UDP协议交互,所以就特地学习了下,其实也就类似于java的server和socket,下面就写了个简单的demo 服务端: package com.test1; import jav ...

  8. iOS - OC NSStream 文件流

    前言 @interface NSStream : NSObject @interface NSOutputStream : NSStream 1.文件流的使用 NSString *filePath = ...

  9. 【转载】jQuery1.5之后的deferred对象详解

    原文:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html 原文作者 ...

  10. Android 之计算控件颜色透明度

    Android 之计算控件颜色透明度 1.UI会给一个数值,例如:#EFE000,透明度30% 2.用255乘以30%等于76.5,然后四舍五入等于77 3.用计算器将十进制的77转成十六进制的数据为 ...