开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2180

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 1882|回复: 30

[游戏小猪] 小猪日记,assetbundle完结

[复制链接]  [移动端链接]
5熟悉之中
613/1000
排名
4493
昨日变化
30

8

主题

68

帖子

613

积分

Rank: 5Rank: 5

UID
228559
好友
5
蛮牛币
1430
威望
0
注册时间
2017-6-25
在线时间
247 小时
最后登录
2018-4-26

专栏作家

QQ
发表于 2018-3-23 10:45:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
      在这里首先纠正一点,我前边以为Instantiate需要在继承自MonoBehaviour的类中调用,后来看了一下官方的API,发现并不是,疏忽了;那么我现在就改写,从AB中拿到Prefab后,直接克隆就可以了。调用UnityEngine.Object.Instantiate  方法;另外就是由于我是本地测试的,所以我本地的IP是经常会变的,但是我每次都去重写一下IP地址的配置,真的是太麻烦了,所以我直接得到本地的IP,然后拼接一下就可以了,但是在实际项目中,肯定不能是这样的;一般来说,在实际项目中,给到的是一个域名。那么我们需要解析一下域名,网上有很多,直接ctrl+c  ,  ctrl+v 就可以了,我也是这样干的;
      这里主要说一下更新资源,更新资源先比对配置文件;这个我放在了一个协程中来做这件事,因为协程可以等待,这时候我们可以做个进度条的东东,当然了,基本上所有的游戏都是这样干的,连接资源服务器....,这种;然后在这时候就去拉取服务端的ABconfig,和得到本地的ABconfig;得到本地的ABconfig的时候,如果沙盒路径下有,我就从沙盒路径下读取,如果沙盒路径下没有,那么就从只读路径下读取;
      当获得ABconfig后,这是两个json字符串,我们将它转换成 AllBundleInfo 类,然后通过对比服务端和本地 AllBundleInfo 类中,名字相同的AB资源的 hash128值,来获取有差异的AB文件,将有差异的AB文件名字存起来,然后在对比 服务端 的AB文件中,本地没有的,将他也加入到差异列表中;
     如果说差异列表的个数是大于0的,那不用说,肯定是有资源跟新了,将需要将服务端的manifest文件也加入进来;如果说差异列表个数大于0了,那么就需要跟新资源,这时候可以提示玩家,资源跟新;等到资源更新结束以后,就可以快了的加载AB了;
       0.jpg
      在加载AB的过程中,我们应当首先判断这个资源是不是在沙盒路径下,如果是在沙盒路径下的话,那么从沙盒路径下加载,如果不是的话,那么从只读路径下加载;
    1.jpg
   我这里把颜色改成了红色,以前是黑色;当我按下资源跟新按钮后,开始从服务器跟新资源
2.jpg

我从服务器跟新资源后,沙盒路径下多了最新的资源
    3.jpg
然后我再辞加载,这时候克隆出来的cube是黑色的,和服务器上的是一样的,一切以服务器上的资源为准
4.jpg




事例工程我上传到了附件,里边有服务器模拟软件,都在里边。象征性的收取一个慢牛币哈;额,想想下一个写什么,你们想看什么,也可以说出来哈,如果我会的话,那就写出来


小猪的demo.zip

1.57 MB, 下载次数: 95

售价: 1 蛮牛币  [记录]


回复

使用道具 举报

5熟悉之中
501/1000
排名
7629
昨日变化
4

0

主题

260

帖子

501

积分

Rank: 5Rank: 5

UID
250350
好友
1
蛮牛币
430
威望
0
注册时间
2017-10-23
在线时间
103 小时
最后登录
2018-4-19
发表于 2018-3-23 11:45:46 | 显示全部楼层
谢谢分享

回复

使用道具 举报

3偶尔光临
151/300

0

主题

68

帖子

151

积分

Rank: 3Rank: 3Rank: 3

UID
269736
好友
0
蛮牛币
32
威望
0
注册时间
2018-2-27
在线时间
84 小时
最后登录
2018-4-26
发表于 2018-3-23 13:04:07 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
931/1000
排名
2703
昨日变化
10

6

主题

167

帖子

931

积分

Rank: 5Rank: 5

UID
162659
好友
1
蛮牛币
1233
威望
0
注册时间
2016-8-16
在线时间
294 小时
最后登录
2018-4-26
发表于 2018-3-23 14:08:09 | 显示全部楼层
[发帖际遇]: 十二点的BigBen 被钱袋砸中进医院,看病花了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

6蛮牛粉丝
1422/1500
排名
1770
昨日变化
5

14

主题

192

帖子

1422

积分

Rank: 6Rank: 6Rank: 6

UID
158398
好友
3
蛮牛币
1394
威望
0
注册时间
2016-8-30
在线时间
552 小时
最后登录
2018-4-26

迈向小康

发表于 2018-3-23 15:53:22 | 显示全部楼层
写写网络吧。加载,裁包之类的!!!

回复 支持 反对

使用道具 举报

4四处流浪
466/500
排名
7187
昨日变化
1

3

主题

108

帖子

466

积分

Rank: 4

UID
216290
好友
0
蛮牛币
256
威望
0
注册时间
2017-4-5
在线时间
203 小时
最后登录
2018-4-26
发表于 2018-3-23 16:13:12 | 显示全部楼层
谢谢分享

回复

使用道具 举报

3偶尔光临
167/300
排名
17906
昨日变化
5

0

主题

107

帖子

167

积分

Rank: 3Rank: 3Rank: 3

UID
112390
好友
0
蛮牛币
109
威望
0
注册时间
2015-7-7
在线时间
32 小时
最后登录
2018-4-4
发表于 2018-3-23 16:16:27 | 显示全部楼层
谢谢分享
[发帖际遇]: 一个袋子砸在了 swordlegend 头上,swordlegend 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

排名
12565
昨日变化
5

0

主题

12

帖子

99

积分

Rank: 2Rank: 2

UID
268043
好友
0
蛮牛币
212
威望
0
注册时间
2018-2-7
在线时间
29 小时
最后登录
2018-4-22
发表于 2018-3-23 17:12:43 | 显示全部楼层
666666666666666

回复 支持 反对

使用道具 举报

7日久生情
2444/5000
排名
3419
昨日变化
14

0

主题

1749

帖子

2444

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
0
蛮牛币
2309
威望
0
注册时间
2017-7-12
在线时间
319 小时
最后登录
2018-4-26

活力之星

发表于 2018-3-23 17:33:42 | 显示全部楼层
谢谢分享

回复

使用道具 举报

2初来乍到
121/150
排名
16461
昨日变化
15

0

主题

23

帖子

121

积分

Rank: 2Rank: 2

UID
225787
好友
0
蛮牛币
100
威望
0
注册时间
2017-6-8
在线时间
64 小时
最后登录
2018-4-6
发表于 2018-3-23 18:21:47 | 显示全部楼层
{:106:}

回复

使用道具 举报

7日久生情
2577/5000
排名
249
昨日变化

0

主题

246

帖子

2577

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
50486
好友
0
蛮牛币
3676
威望
0
注册时间
2014-10-22
在线时间
555 小时
最后登录
2018-4-26
发表于 2018-3-24 09:26:58 | 显示全部楼层
謝謝分享好資源
學習中

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1181/1500
排名
1951
昨日变化
1

14

主题

187

帖子

1181

积分

Rank: 6Rank: 6Rank: 6

UID
159315
好友
3
蛮牛币
4588
威望
0
注册时间
2016-7-28
在线时间
420 小时
最后登录
2018-4-26
QQ
发表于 2018-3-24 12:28:15 | 显示全部楼层
本帖最后由 13551527194 于 2018-3-24 12:31 编辑

BUG:在 SelectionVerifyResult(string strpath, bool isClear) //验证选中的东西,是不是包含.
你的         string[] strs = strpath.Split('.'); //如果包含.的话,分割        int idex = strs[0].LastIndexOf('/'); //得到这个包含.的选中的文件系统的父级所在的索引
        string parentDir = strs[0].Substring(0, idex);//父级目录
        DirectoryInfo directory = new DirectoryInfo(parentDir);
        FileSystemInfo[] fileSystemInfo = directory.GetFileSystemInfos(); //得到父级目录下的所有文件系统

包含了同级目录的文件

应为
       string[] strs = strpath.Split('.'); //如果包含.的话,分
        string parentDir = strs[0];//父级目录
        DirectoryInfo directory = new DirectoryInfo(parentDir);
        FileSystemInfo[] fileSystemInfo = directory.GetFileSystemInfos(); //得到父级目录下的所有文件系统


这个才是子目录的文件

然后,把你的这个增量写入到ABconfig.json 是有问题的

小小建议



回复 支持 反对

使用道具 举报

5熟悉之中
624/1000
排名
4848
昨日变化
19

0

主题

204

帖子

624

积分

Rank: 5Rank: 5

UID
228538
好友
2
蛮牛币
864
威望
0
注册时间
2017-6-24
在线时间
164 小时
最后登录
2018-4-26
发表于 2018-3-26 09:45:45 | 显示全部楼层
感谢分享

回复

使用道具 举报

4四处流浪
466/500
排名
5194
昨日变化
34

1

主题

84

帖子

466

积分

Rank: 4

UID
236305
好友
0
蛮牛币
601
威望
0
注册时间
2017-8-7
在线时间
145 小时
最后登录
2018-4-26
发表于 2018-3-26 09:47:04 | 显示全部楼层
学习学习

回复

使用道具 举报

3偶尔光临
238/300
排名
10900
昨日变化
130

0

主题

86

帖子

238

积分

Rank: 3Rank: 3Rank: 3

UID
243107
好友
0
蛮牛币
288
威望
0
注册时间
2017-9-13
在线时间
75 小时
最后登录
2018-4-26
发表于 2018-3-26 11:04:16 | 显示全部楼层
[发帖际遇]: 一个袋子砸在了 ererererererer 头上,ererererererer 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表