配合CocosCreator发布新版本v0.7,提供了这么好的编辑器,我也分享一个json格式的文件列表工具。
python写的,可以根据自己需求任意修改代码
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
# author: 良辰
# email: 521401@qq.com
# time: 2016-01-20 13:02:07
# 功能:热更新用的,json文件列表
import hashlib
import os,sys
import json
from collections import OrderedDict
import codecs
# 版本号,数字
versionCode = 1
# 版本标识
versionName = "1.0.0"
# 下载地址
downUrl = "http://127.0.0.1/"
outFile = "file.txt"
print u"开始生成热更新json文件,请稍等..."
alldata = {}
alldata'versionCode'] = versionCode
alldata'versionName'] = versionName
alldata'dirPaths'] = {}
alldata'fileInfoList'] = {}
# 获取文件md5接口
def GetFileMd5(filename):
if not os.path.isfile(filename):
return
myhash = hashlib.md5()
f = file(filename,'rb')
while True:
b = f.read(8096)
if not b :
break
myhash.update(b)
f.close()
return myhash.hexdigest()
# 获取所有文件
fdir="./" #当前路径
expSuffix = ".exe .py .svn" #这些后缀不加入文件列表
expFile = "version.txt" #不加入列表的文件
arrFolder = ] #文件夹列表
arrFileList = ] #文件列表
# 列出目录下的所有文件和目录
def ListFilesToDirt(curdir):
files = os.listdir(curdir)
for name in files:
fullname=os.path.join(curdir,name)
exts = expSuffix.split(" ")
if (os.path.isdir(fullname)):
if name == ".svn":
break
if name == ".git":
break
jname = fullname
jname = jname.replace("\\", "/")
tmp = {}
tmp'name'] = jname
arrFolder.append(tmp)
ListFilesToDirt(fullname)
else:
isnext = True
for ext in exts:
if(name.endswith(ext)):
isnext = False
break
if outFile == name or expFile == name: #输出文件不加入列表
isnext = False
pass
if isnext:
jname = fullname
jname = jname.replace("\\", "/")
# jname = unicode(jname, 'gbk') #window版本上这样写
tmp = {}
tmp'name'] = jname
tmp'code'] = GetFileMd5(fullname)
tmp'size'] = os.path.getsize(fullname)
arrFileList.append(tmp)
pass
ListFilesToDirt(fdir)
file = codecs.open(outFile, 'w', 'utf-8')
alldata'dirPaths'] = arrFolder
alldata'fileInfoList'] = arrFileList
print u"文件夹个数:",len(arrFolder), u"\t\t\t文件个数:",len(arrFileList)
print u"ok 成功生成文件md5验证文件,输出路径:",outFile
file.write(json.dumps(alldata,sort_keys=True))
file.close()
# 版本号
version = {}
version'versionCode'] = versionCode
version'versionName'] = versionName
version'downUrl'] = downUrl
file = codecs.open("version.txt", 'w', 'utf-8')
file.write( json.dumps(version, sort_keys=True) )
file.close()
PS: cocos creator真是甩cocostudio几条街啊,谁用谁知道!