您的位置:首页 > 其它

TexturePacker 自定义模板

2015-07-31 01:06 344 查看
基础用法教程 http://cocos2d.9tech.cn/news/2013/1217/39227.html
自定义模板的两个网址
http://www.cppblog.com/sunicdavy/archive/2014/02/06/205645.html http://www.cnblogs.com/cg-Yun/p/4110762.html?utm_source=tuicool
当然最全最权威的还是官方教程,百度个半天还不出官方教程来的实在
https://www.codeandweb.com/texturepacker/documentation#filedata-type
事由:1、本来TexturePacker可以用--formate sparrow 实现Starling的SpriteSheet,无奈项目SubTexture name一开始就没有去掉后缀,带上了.png

而自带的模板默认去掉了后缀,--trim-sprite-name ( 剪裁掉拼接图片的后缀名),此属性也只能去掉不能定义要不要去掉

2、不知道是cs6的SpriteSheet导出xml默认格式是UTF-16(Unicode),反正生成和用的地方都这么写了,我也不想去改了

方案1:如果用sparrow,格式为utf-8,把读取格式改一下也是可以的,不过.png不见了,兼容一下比较恶心,毕竟都之前的都带了.png

方案2:自定义模板starling,用sprite.fullName,可是为什么导出来的编码格式是ANSI呢,所以又要转换格式了

bat为:

TexturePacker "%2" --data "%3" --format starling --sheet "%4" --pack-mode Best --no-trim --size-constraints AnySize --png-opt-level 0 --algorithm MaxRects

cmd /u /c type %5>>%6 //cmd的转换格式

del %5

自定义模板:

<supportsRotation>false</supportsRotation> 定义不能旋转

exporter.xml比较简单了,就是要什么写什么

模板里面也是一些简单的循环

<?xml version="1.0" encoding="UTF-16"?>

<!-- SmartUpdateHash: {{smartUpdateKey}} -->

<TextureAtlas imagePath="{{texture.fullName}}">{% for sprite in texture.allSprites %}

<SubTexture name="{{sprite.fullName}}" x="{{sprite.frameRect.x}}" y="{{sprite.frameRect.y}}" width="{{sprite.frameRect.width}}" height="{{sprite.frameRect.height}}"/>{% endfor %}

</TextureAtlas>

觉得SmartUpdateHash没什么用,也不知道做什么的

可以写js的filter过滤字符

{% load filter} 然后 {{sprite.fullName|filte}} 过滤

说到转换文本编码格式。。。。。。

当然想要最方便的方式解决,用网上的vbs可以解决

想着用cmd处理命令一次性解决,当然是更好了,接下来说说网上那些用cmd 将ansi转unicode的说法

cmd基本命令:http://www.360doc.com/content/12/0204/10/2352298_184056835.shtml

1、cmd /u /c type %5>>%6 // /U 使向内部管道或文件命令的输出成为Unicode

del %5

2、改进版

copy 1.txt #>null//1.txt 为一个unicode的空头文件"戴帽"

cmd /u /c type 2.txt >>#&move # 22.txt 或者

cmd /u /c type 2.txt>>#

move # 22.txt

3、高大上的写法,果断看不懂

@echo off&setlocal enabledelayedexpansion>nul 3>nul

wmic os>tmp

for /f "delims=" %%a in (cmd /u /c echo 字符转换,全天占线制作) do echo>tmp2 %%a

chcp 437

set /p fffe=<tmp

set /p first=<tmp2

echo !first!

echo !fffe:~,2!!first!>unicode.tmp

chcp 936

cmd>空.tmp /u /c echo;

cmd /u /c "for /r %%a in (*.txt) do type %%~sa>源.tmp© /b Unicode.tmp+空.tmp+源.tmp "%%~dpa#%%~nxa""

echo 转换完成,任意键退出

pause

4、BAT利用BOM,VBS则是ADODB.STREAM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: