您的位置:首页 > 移动开发 > Unity3D

对于unity3d 对于热更新的思考!!!(版本管理)

2016-01-14 11:24 411 查看
远程加载模型

WWW.LoadFromCacheOrDownload(path,version);

逻辑:先比较版本号,相同则从本地区,不同就从网络下载。这只是获取资源(从缓存或网络得到放到程序运行内存吧?)。要将资源放在相应位置,或进行其他操作。还需自己写后续代码

第一次version为1只要以后version大于1不管文件有没有更改都下载

www.loadfromcatchorDownload(path,version)

将资源分类分开打包assetbundle(便于少量文件资源更新),用一个version.txt (string)管理 后续更新时只需更改对应数值即可。

比如说version.txt的第一个数字表示模型一,第二个数字表示模型二。

将本地的version.txt取出

将文本值取出存为数组,两个version的值一一对比,将大的数组值

一 一传递给各个资源对应的www.loadfromcatchorDownload(每个资源对应一个www.loadfromcatchorDownload),将version.txt替换然后进行相应操作

或是用循环但因为要继续操作资源所以并没有省多少事!

举例说明:

一:第一种没用循环。

文件一

1,www.loadfromcatchorDownload(path1,version1)

得到文件一

2,对文件一进行操作;

文件二

www.loadfromcatchorDownload(path2,version2)

得到文件一

2,对文件二进行操作;

如此进行直到所有文件完成

二:for(i=1;i<=资源个数;i++)

{

if(i=1)

{

WWW www1=www.loadfromcatchorDownload(path1,version1)

}

if(i=2)

{

WWW www2=www.loadfromcatchorDownload(path2,version2)

}

…………..

}

然后再对www1,www2。。。。等进行操作

因为每次的path,version都不同。所以比较第一种用循环不可靠!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息