现在的位置: 首页 > 综合 > 正文

[项目]VersionTool版本文件生成工具

2018年02月02日 ⁄ 综合 ⁄ 共 1554字 ⁄ 字号 评论关闭

对于网页游戏,加载资源,flash默认采取的策略是,第一遍的时候是从服务器远程加载的,第二遍的就是从本地缓存进行加载,如果服务器的资源有更新的话怎么办?怎么通知客户端不从本地缓存加载,重新到服务器拿最新的资源呢?

解决办法是,使用Loader/URLLoader加载时候,参数的url地址后面加一个随机的字符串就可以了,通常做法是添加一个资源的修改时间戳,把所有的资源的修改时间戳记录保存在一个文件中,比如是version.ver文件,每次加载游戏都重新加载这个版本文件,加载资源时候根据资源地址读取这个版本文件中相应的时间戳信息,添加到地址后面,这样就能保证客户端能加载到最新的资源了,此后,每次发版本相关人员只需要更新下这个version.ver版本文件即可

这里不详述加载机制了,鄙人献丑提供一个自己写的自动生成版本号文件的工具

svn主页(主页有svn地址):
http://www.oksvn.com/Project/Detail-16678.shtml

注意:
1、checkout出来是fb4.6的工程,如果是其他版本fb用户,请自行复制src建立工程
2、MaliuLib类库http://www.oksvn.com/Project/Detail-12081.shtml(fdt工程)

只要设置好config.json,双击一下就能VersionTool.exe就能自动生成version.ver到指定位置

以下是配置说明

{
	//这里的路径皆为具体例子,对应的项目需要根据自己的需要填写config.json
	//其中压缩编码使用MaliuLib类库的ByteArrayUtil工具类进行编码解码,附类库地址http://www.oksvn.com/Project/Detail-12081.shtml
	//生成的version.ver解码出来是一个键值类型的object 键:相对rootUrl的相对路径 值:文件修改时间的时间戳
	//例
	//{
	//	"help/help.txt": 1393858681128,
	//	"template/template.json": 1393859628709
	//}
	//具体可以输出log.txt查看检验
	
	"rootUrl":"E:/project/flash/4.7Project/ExcelToJsonTool/bin-debug", //需要遍历的根目录
	"outputUrl":"E:/project/flash/4.7Project/ExcelToJsonTool/src", //version.ver文件输出目录
	"log":0, //生成可读性log.txt文件,用于人员检验生成的版本的正确性 0: 不生成 1:生成
	"compressionAlgorithm":"lzma", //压缩方式,支持"none"(无压缩)、"lzma"、"zlib"
	
	"includeUrls":"", //丢空则默认递归遍历根目录下所有目录/文件,不为空则只遍历指定目录/文件(绝对地址)
	"includeFileNames":"", //只遍历的文件名称(存在不同路径相同名称情况)
	"includeExtensions":"", //只遍历指定的扩展名文件
	"excludeUrls":"", //排除的目录/文件(绝对地址)
	"excludeDirNames":".svn|VersionTool|output", //排除的目录名(存在不同路径相同名称情况)
	"excludeFileNames":"log.txt|ExcelToJsonTool.swf|ExcelToJsonTool-app.xml", //排除的文件名(存在不同路径相同名称情况)
	"excludeExtensions":"ver|ink" //排除的扩展名
}

抱歉!评论已关闭.