写了一个小工具,拿出分享分享。
先说一下背景吧。
项目中为了重复利用图片资源,把json和图片都放在Resource/ui目录,但有一些图片,比如说道具,是在Resource/images/item下面,
所以,在CocosStudio中编辑完UI之后,需要把资源的相对路径改到item目录,因此就写了这个脚本。
-------------------------------------------------------------------- -- add by 寒风 on 2014/12/26 -- UI中用到了一个资源,路径不在ui下面 -- 此脚本用于矫正资源路径 -------------------------------------------------------------------- local function getFile(file_name) local f,err = io.open(file_name, 'r') if not f then print(err) return nil end local string = f:read("*all") f:close() return string end local function replace(file_name, content, src, dst) content, count = string.gsub(content, src, dst) print(file_name, src, count) return content end local function writeFile(file_name,string) local f = assert(io.open(file_name, 'w+')) f:write(string) f:close() end local function main() local configs = { {"\"path\": \"1jijyd.png\"", "\"path\": \"../images/item/1jijyd.png\""}, {"\"path\": \"chujishengshi.png\"", "\"path\": \"../images/ship/chujishengshi.png\""}, {"\"path\": \"fanpaidazuozhan_0.png\"", "\"path\": \"../images/ui/tiaozhan/fanpaidazuozhan_0.png\""}, {"\"path\": \"guishouzhaofan_0.png\"", "\"path\": \"../images/ui/tiaozhan/guishouzhaofan_0.png\""}, {"\"path\": \"Icon_chongwujinghua.png\"", "\"path\": \"../images/item/Icon_chongwujinghua.png\""}, {"\"path\": \"mofjt.png\"", "\"path\": \"../images/item/mofjt.png\""}, {"\"path\": \"Icon_skill_ATK.png\"", "\"path\": \"../images/ui/feichuanjineng/Icon_skill_ATK.png\""}, {"\"path\": \"Icon_skill_crystal2.png\"", "\"path\": \"../images/ui/feichuanjineng/Icon_skill_crystal2.png\""}, {"\"path\": \"Icon_skill_fire.png\"", "\"path\": \"../images/ui/feichuanjineng/Icon_skill_fire.png\""}, {"\"path\": \"juedizhizhan_0.png\"", "\"path\": \"../images/ui/tiaozhan/juedizhizhan_0.png\""}, {"\"path\": \"miaomiaoweisi1.png\"", "\"path\": \"../images/ui/touxiang/miaomiaoweisi1.png\""}, {"\"path\": \"miaomiaoweisi2.png\"", "\"path\": \"../images/ui/touxiang/miaomiaoweisi2.png\""}, {"\"path\": \"miaomiaoweisi3.png\"", "\"path\": \"../images/ui/touxiang/miaomiaoweisi3.png\""}, {"\"path\": \"miaomiaozhanjian1.png\"", "\"path\": \"../images/ui/touxiang/miaomiaozhanjian1.png\""}, {"\"path\": \"monengshizhu1.png\"", "\"path\": \"../images/ui/touxiang/monengshizhu1.png\""}, {"\"path\": \"shandiandun1.png\"", "\"path\": \"../images/ui/touxiang/shandiandun1.png\""}, } local file_names = { "ui/bangzhu_UI_1.json", "ui/bangzhu_shangdian_UI_1.json", "ui/bangzhu_mojing_UI_1.json", "ui/bangzhu_meiritiaozhan_UI_1.json", "ui/bangzhu_emota_UI_1.json", "ui/bangzhu_chongwupeiyang_UI_1.json", "ui/bangzhu_chongwu_UI_1.json", } for k, file_name in pairs(file_names) do local content = getFile(file_name) if content then for k, configItem in pairs(configs) do content = replace(file_name, content, configItem[1], configItem[2]) end writeFile(file_name, content) end end end main()
file_names中保存的是需要修改路径的json文件;
configs保存的是需要修改资源的原始路径和目标路径。
原文地址:http://blog.csdn.net/xufeng0991/article/details/42174255