Cocos2d-x + CocosBuilder + TexturePacker 批处理资源生成(Only for windows)

开发上的不便

我们开发过程中,资源图经常更新。更新原因可能是 CocosBuilder 工程需要加入新资源,或者要替换某一张图片。
这个时候有一个麻烦的无脑的事情,就是要把新资源或者替换图,在多个目录下进行替换,如果要打包为 plis/png ,那还需要启动 TexurePacker 工程,如果 TexurePacker 工程资源安排不合理,还要手动再调整。
放置图片的目录至少有三个:CocosBuilder/PicSrc , CocosBuilder/Resource/CCBResource , Resource/CCBResource
放置完之后,还要提交SVN,避免以后忘了,导致以后找图片的时候,某一个地方的图片资源是新的,某一个地方的图片资源是老的。造成不必要的混乱。

另外一个不便利的是,我们如果同时要操作 Windows 上的 VS 和 Mac os 上的 CocosBuilder ,两者资源要保持统一,如果单纯靠拷贝文件的话,不能保证资源最新不说,还有就是复制来粘贴去麻烦。用虚拟机是可以指定同样的资源目录是可以的,但是没有虚拟机的情况下,有没快速一些的方法呢?我的处理方式是使用SVN。两台机器都从SVN上更新,在 WINDOWS上更新资源图片,在 MAC OS上更新 ccb和ccbi.

所以,保证 svn 同步 , 保证多目录资源同步,是我这里要解决的目标。

方案:批处理



@echo ***************************************
@echo **本文件的作用是自动打包 *.tps 的工程
@echo   并且将输出的资源文件复制到我们应用的 CocosBuilder目录与 Resource目录
@echo **使用要求:
@echo          *请把本文件放到 *.tps 的同级目录下
@echo          *在该目录下创建 output 目录
@echo          *将 *.tps 的输出 .plist 和 .png(或者其他)设置到 output 目录下
@echo          *将非打plist包的资源,比如大图 background.jpg 这种图也放置到 output 目录
@echo           这样的话,可以统一拷贝资源
@echo **
@echo 注意: 系统 path 环境变量要设置 TexturePacker 的安装目录哦
@echo ****************************************

@set currentPath=%~dp0
@echo "the path of now is %currentPath%" 

@echo 得到当前文件夹名,请保证 .tps 的名字和文件夹名字一致,否则打包时候就可能失败
set file=%currentPath:~0,-1%
set str=%file%
::echo %str%

:: 我们用一个循环来遍历当前路径得出最后一个目录
:loopgetdirName
set str=%str:*\=%
echo %str% | findstr /i "\\" >nul && goto loopgetdirName
::echo %file% ---^> %str%

@set tpsProjectName=%str%
@echo "work file name = %tpsProjectName%" 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

echo 当前盘符:"%~d0" 
cd %~d0

@set tpsFileName=%currentPath%%tpsProjectName%.tps
@echo "tps work file name = %tpsFileName%" 

@set cocosBuilderOutPutPath=%currentPath%..\..\Resources\ccbResources\%tpsProjectName%\
@echo "cocosBuilderOutPutPath=%cocosBuilderOutPutPath%" 

@set appResourceOutPutPath=%currentPath%..\..\..\Resources\ccbResources\%tpsProjectName%\
@echo "appResourceOutPutPath=%cocosBuilderOutPutPath%" 

@set originOutPutPath=%currentPath%output\*.*
@echo "originOutPutPath=%originOutPutPath%" 

@set cocosbuilderSVN=%currentPath%..\..\
@echo "cocosbuilderSVN=%cocosbuilderSVN%" 

@echo 执行 TexturePacker 打包
TexturePacker %tpsFileName%

@echo 准备复制

copy /y %originOutPutPath% %cocosBuilderOutPutPath%
copy /y %originOutPutPath% %appResourceOutPutPath%

@echo 提交cocosbuilder 目录 svn
TortoiseProc.exe /command:commit /path:%cocosbuilderSVN%
@echo 提交app Resource 目录 svn
TortoiseProc.exe /command:commit /path:%appResourceOutPutPath%

@echo 操作结束~~
pause

你可能感兴趣的:(Cocos2d-x + CocosBuilder + TexturePacker 批处理资源生成(Only for windows))