Python自定义生成egret中的xxx.res.json文件

10 篇文章 0 订阅
import re
import sys
import os
#遍历文件
def ErgodicFiles(path,resjsonPath,urlPath):
    print(path)
    fileGroupsList=[]	
    fileResourcesList=[]		
    for filename in os.listdir(path):
        strs = filename.split(".")
        keyName = strs[0]
        groupName = keyName
        type = strs[1]
        if type == "png" or type =="jpg":
           type = "image"
        elif type == "json":
           type = "json"
        url = os.path.join(urlPath,filename)
        groupsList=[]
        groupsList.append(keyName)
        groupsList.append(groupName)
        fileGroupsList.append(groupsList)	
		
        resourcesList=[]	
        resourcesList.append(url)			
        resourcesList.append(type)
        resourcesList.append(keyName)	
        fileResourcesList.append(resourcesList)		
        print(keyName)
        print(filename)
    GenerateResJson(resjsonPath,fileGroupsList,fileResourcesList) 	
	
#生成xxx.res.json文件	
def GenerateResJson(resjsonPath,fileGroupsList,fileResourcesList):
    
    ff = open(resjsonPath,'w',encoding='utf-8')
    ff.write("{ \n")	

	#全部图片,生成为一组,组名preload
    index = 0	
    length = len(fileGroupsList)
    ff.write("    \"groups\":[ \n")	
    ff.write("        { \n")	
    ff.write("            \"keys\":\"")		
    for list in fileGroupsList:
        i=0
        index=index+1			
        for file in list:
            i = i+1
            if i == 1:	
                	
                if index == length:				
                    ff.write(file+"\",\n")
                else:		
                    ff.write(file+",")	
    ff.write("            \"name\":\"preload\"\n")	
    ff.write("        }\n")	
    ff.write("    ],\n")
	
	#每张图片生成为一组
    # index = 0	
    # length = len(fileGroupsList)
    # ff.write("    \"groups\":[ \n")	
    # for list in fileGroupsList:
        # i=0
        # index=index+1			
        # for file in list:
            # i = i+1
            # if i == 1:
                # ff.write("        { \n")	
                # ff.write("            \"keys\":\""+file+"\",\n")	
            # elif i == 2:	
                # ff.write("            \"name\":\""+file+"\"\n")		
                # if index == length:				
                    # ff.write("        }\n")
                # else:		
                    # ff.write("        },\n")						
    # ff.write("    ],\n")	
	
    ff.write("    \"resources\":[\n")
	
    index=0    
    length = len(fileResourcesList)
    for list in fileResourcesList:
        i=0	
        index=index+1		
        for file in list:
            i = i+1
            if i == 1:
                ff.write("        {\n")	  			
                ff.write("            \"url\":\""+file+"\",\n")	
            elif i == 2:  			
                ff.write("            \"type\":\""+file+"\",\n")	
            elif i == 3: 			
                ff.write("            \"name\":\""+file+"\"\n")	
                if index == length:				
                    ff.write("        }\n")
                else:		
                    ff.write("        },\n")				
    ff.write("    ]\n")	
    ff.write("}")		
    ff.close()
    print("GenerateResJson finished")

def openFile(type):
    print('type', type)
    if type == '0':
        path = "E:/SvnProjects/xxx/xxx/resource/Arts/Textures/GameSceneUI/Card/"
        urlPath = "Arts/Textures/GameSceneUI/Card/"
        resjsonPath="E:/SvnProjects/xxx/xxx/resource/RoleCard.res.json"
        ErgodicFiles(path,resjsonPath,urlPath)
    elif type == '1':
        path = "E:/SvnProjects/xxx/xxx/resource/Arts/Textures/GameSceneUI/image/"
        urlPath = "Arts/Textures/GameSceneUI/image/"
        resjsonPath="E:/SvnProjects/xxx/xxx/resource/RoleCardImage.res.json"
        ErgodicFiles(path,resjsonPath,urlPath)
    elif type == '2':
        print('修改中...')
    else:
        print('输入错误')

type = input('\n选择资源类型: 0.角色卡牌[小图]  1.角色卡牌-[大图]\n')
if type != '4':
    openFile(type)
else:
    for i in range(0,1):
        openFile(str(i))

print('finished!')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值