Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; comment_reply_notification has a deprecated constructor in /home/wwwroot/hector/www.yiwuye.com/wp-content/plugins/comment-reply-notification/comment-reply-notification.php on line 13
游戏资源的脚本处理与Cocostudio二次拼图 « 一梧叶

游戏资源的脚本处理与Cocostudio二次拼图

 - by Hector

目前已通过脚本实现游戏多版本资源处理,图片自动拼图加密,资源筛选同步,Icon,Spash,音效更新替换等等,总之只需一个脚本就可以处理所有有关资源的事情。

1.Cocostudio二次拼图与加密

看下代码不难发现cocos2d-x的所有图片资源都存在Texture内存里面,framespritecache存储了plist对应的小图资源,所有plist图片包括cocostudio最终都是通过SpriteFrameCachegetSpriteFrameByName函数得到。

Cocostudio的导出文件ExportJson中存储了所用到的plist文件路径,在加载ExportJson时,首先加载Plist资源。所以我们只要保证在cocostudio加载Plist之前将Plist手动加载好Cocostudio就可以通过SpriteFrameCache找到了,至于拼图与加密直接用TexturePacker加密和拼图了。而原来ExportJson中的Plist文件路径,你可以随便换个 已有的plist路径就可以了。

2.自动拼图

TexturePacker是一个非常好的拼图工具,选择好需要拼图的目录、格式、全局加密密码后,会生成一个tps配置文件,TexturePacker有个命令行工具TexturePacker Command Tools,安装好之后就可以运行TexturePacker xxx.tps就可以自动拼图了。

3.搜索ExportJson文件并处理

利用find -exec cp 组合命令可以搜索设计目录下所有的ExportJson文件并拷贝出来,然后用find -exec sed 组合命令可以将ExportJson文件中Plist文件进行改名(原因见第一条内容)。

4.拼图的特殊处理

可能cocostudio有些特殊图片需要删掉(如PS生成文件也会拼图需要删掉,psd,psd.png),可以用find -exec rm删掉,或者rsync --delete同步时筛选出来。

可能一些特殊版本不需要某些资源,或者要将资源改名,可以用find -exec awk sed组合命令改名。

5.资源与游戏资源目录同步

可以用rsync与游戏资源目录进行同步,包括音效,多语言文件,Icon,Splash等等,适当加一些排除,覆盖的参数。 如果是挑选的个别资源直接cp强制覆盖也可。

6.适当为脚本添加参数

如果游戏有多个版本,为脚本添加参数,可以根据条件方便的筛选资源,特殊处理,特殊拼图等等。

Leave a comment