内容包括
- 背景
- 准备swf文件
- 使用TextureMerger 命令方式来批量转换swf动画
背景
在游戏制作中,有大量的怪物动画,比如一个怪物有5个动作,攻击动作,受击动作,死亡动作,待机动作,跑动动作,每个动作,每个动作是有5个方向,那么每个怪物就有5*5=25个动画。10个怪物就是250个动画,这样一来工作量就非常大了,然而做动画的同学只输出给我们这些程序是动作的序列帧图片,需要程序自己做成动画。这个是一个非常大的工作量的。
准备swf文件
这一步必不可少,做动画必须借助Adobe Flash Professional CS5.5工具,先把序列帧做成swf文件,这里我另外一篇文章有说到。这一步貌似也没有什么捷径可走,一个个动作导入图片到场景,对好位置,crel+enter生成swf。
使用TextureMerger 命令方式来批量转换swf动画
这步是是重点,我现在就是要处理250个动画,swf花了我一个上午时间做好了,然后就开始把swf转换成json和png
第一步:把所有的swf文件拷贝到一个文件夹里面
先把swf搜出来再拷贝到swf文件夹里面
第二步:写脚本保存run.bat文件
在swf文件夹里面新建run.bat文件,里面的内容是:
echo off & color 0A
::指定起始文件夹
set DIR="%cd%"
echo DIR=%DIR%
:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
:: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件
for /R %DIR% %%f in (*.swf) do (
D:\PROGRA~1\Egret\TextureMerger\TextureMerger.exe -mc %%f -o E:/projects/h1/ouput
)
pause
注意:
1、里面的路径记得要换下自己对应的目录
2、PROGRA~1 对应的“Program Files” 目录,这里用PROGRA~1来代替,因为批处理中不能有空格,除非你的TextureMerger安装路径不存在空格
第三步:双击run.bat执行批处理
双击运行一段时间后 E:/projects/h1/ouput 这个目录下就会有生成json和png文件了。
看看效果,一共500个文件