(转) TexturePacker 3.0 使用教程

著名的TexturePacker 已经升级到3.0了,下载地址: http://www.codeandweb.com/texturepacker
免费 license 申请地址:
http://www.codeandweb.com/request-free-license
如何使用
TexturePacker 的使用非常简单,启动后的界面如下:

看箭头说明,只需要把包含小图片的文件夹拖动到右侧的‘Sprites’栏中即可,如下:

可以看到,TexturePacker立即生成了一个SpriteSheet。在左侧TextureSettings中设置各种参数和文件输出路径:

点击上方工具栏中的Publish,就可以把对应的纹理图片和数据文件输出到指定位置了。
上方Save按钮可以将整个设置保存成一个工程文件,以后做修改时可以直接打开这个工程。
TexturePacker 会”监听“右侧的Sprites文件夹,需要增加、删除或修改单独的图片,只需要在直接在文件系统中增加、删除或修改就可以了,不需要再次从TexturePacker工程中添加或删除,这是TexturePacker一个非常好用的功能。
TexturePacker支持的游戏引擎和文件格式非常丰富,几乎涵盖了目前所有常见技术。

Retina支持:AutoSD
这是一个3.0中新曾的功能,也是我一直期待的。在此之前,想要制作retina和非retina的两种spritesheet,需要手工操作:先 生成retina的spritesheet,调整scale参数为0.5,修改输入文件名称,然后重新publish。虽然看起来不是很麻烦,但是对于游 戏开发来说,这个过程每天可能要重复几十次,出了错还往往很难发现。
所以这是一个非常实用的功能:点击左侧设置中的AutoSD齿轮图标:

在弹出框中可以看到有几个预设,这里我们选cocos2d hd/sd,点击Apply,设置就会添加到下方的列表中:

列表中每一项代表一个新增的输出设置,上图中这个设置就是把现有设置缩放0.5倍,然后把文件扩展名中”-hd.”替换成”.” 所以在前面的基础设置中,输出文件名称一定要是“-hd.”的后缀,如spritesheet-hd.png 和spritesheet-hd.plist,这样这里才会正确识别。
设置完成后,点击publish重新输出,可以看到,TexturePacker已经同事输出了4个文件:

是不很爽啊,哈哈:)
XCode 集成
虽然TexturePacker已经大大简化了我们生成SpriteSheet的过程,但是对于游戏开发,我们总是在不停的修改图片,重新生成 SpriteSheet,这样一个机械化的动作,明显是在向程序员们挑衅。TexturePacker的作者Andreas显然是个合格的程序员,早已经 为大家做了命令行接口,让这一切自动化吧:
- 为项目需要的每个SpriteSheet建立一个TexturePacker工程文件,做好各种设置,将其添加到XCode工程中。
- 在XCode中添加一个build phase,如何添加参考 https://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/AddingaRunScriptBuildPhase.html shell命令如下:
#! /bin/sh
TP=/usr/local/bin/TexturePacker
if [ "${ACTION}" = "clean" ]
then
# remove sheets - 这里要和 *.tps 中指定的输出文件匹配
rm ../Resources/sheet*.png
rm ../Resources/sheet*.plist
else
# 执行说有的tps工程文件,重新输出所有SpriteSheet
${TP} *.tps
fi
exit 0
这样,每次在XCode中build时,都会重新生成所有的SpriteSheet,再也不用手工生成了,久而久之,你甚至会忘记TexturePacker的存在!
关于XCode的集成,TexturePacker官网有更详尽的教程,参见:
关于TexturePacker,著名的RayWenderlich有一篇非常详细的文章:
这篇文章的中文译文是 @子龙山人 翻译的,参见在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
(转) TexturePacker 3.0 使用教程的更多相关文章
- Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...
- Swift3.0语言教程字符串与URL的数据转换与自由转换
Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...
- Swift3.0语言教程字符串与文件的数据转换
Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- Swift3.0语言教程使用URL字符串
Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...
- Swift3.0语言教程使用路径字符串
Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...
- Swift3.0语言教程删除字符与处理字符编码
Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除.在NS ...
- Swift3.0语言教程分割字符串与截取字符串
Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...
- Swift3.0语言教程字符串大小写转化
Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...
随机推荐
- HDU 1010 Tempter of the Bone(深度+剪枝)
http://acm.hdu.edu.cn/showproblem.php?pid=1010 题意:就是给出了一个迷宫,小狗必须经过指定的步数到达出口,并且每个格子只能走一次. 首先先来介绍一下奇偶性 ...
- 数据获取以及处理Beta版本展示
产品描述 这个产品的目的是为了学霸网站提供后台数据获取以及处理操作.在alpha阶段基本调通的基础至上,我们希望在bate版本中加入对于问答对的处理,图片的获取等功能. 预期目标 在alpha阶段,我 ...
- spring4.2.3+mybatis+spring-security配置文件
1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- 20141203图片Base64编码与解码
最近需要将图片通过转码的形式传给移动端,使用了Base64转码与 解码 import java.io.FileInputStream; import java.io.FileOutputStream; ...
- s2 devMode cmdshell
s2 devMode cmdshell 仅支持批量验证,命令执行 链接:http://pan.baidu.com/s/1sl7tgRV 密码:wud8 也可以通过outscan一键获取,之后导入t ...
- 谈事件冒泡(Bubble)和事件捕捉(capture)
事件的发生顺序 假设在一个元素中又嵌套了另一个元素并且两者都有一个onClick事件处理函数(event handler).如果用户单击元素2,则元素1和元素2的单击事件都会被触发.但是哪一个事件先被 ...
- HDU 5966 Guessing the Dice Roll
题意有 N≤10 个人,每个猜一个长度为L≤10的由1−6构成的序列,保证序列两两不同.不断地掷骰子,直到后缀与某人的序列匹配,则对应的人获胜.求每个人获胜的概率. 思路:建立trie图,跑高斯消元. ...
- 【以前弄的老东西】DLLspy超犀利后门 (源代码+程序+使用手册+二次开发文档)
这个玩意儿是很久之前的整的.一直没有做完,但是基本功能和框架都做好了,现在发出来,希望有能力的家伙一起完成.DLLspy,绝对免杀,隐藏,HTTP请求劫持,居家旅行,杀人放火必备良药.有时间我会继续开 ...
- html框架
1.框架的概念 框架:将一个浏览器窗口划分成若干个小窗口 2.框架集合框架页 框架集<frameset>:主要用来划分窗口的. 框架页<frame>:主要用来指定窗口默认显示的 ...
- JSON.stringify 在OA差旅中转换为字符串传给后端,(使用from表单的形式)
$('#bookForm').find('#formData').val(transInfo.fromData).end().submit(); 这里的val()中的transInfo.fromDat ...