游戏蛮牛学习群(纯技术交流,不闲聊):959392658
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2370

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

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

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

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

[复制链接]  [移动端链接]
6蛮牛粉丝
1127/1500
排名
2194
昨日变化
13

11

主题

76

帖子

1127

积分

Rank: 6Rank: 6Rank: 6

UID
228559
好友
7
蛮牛币
2517
威望
0
注册时间
2017-6-25
在线时间
404 小时
最后登录
2018-12-11

专栏作家

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, 下载次数: 143

售价: 1 蛮牛币  [记录]


回复

使用道具 举报

5熟悉之中
591/1000
排名
6885
昨日变化
3

0

主题

285

帖子

591

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
365/500

0

主题

87

帖子

365

积分

Rank: 4

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

回复

使用道具 举报

7日久生情
1518/5000
排名
1576
昨日变化
2

6

主题

224

帖子

1518

积分

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

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

回复

使用道具 举报

7日久生情
1998/5000
排名
1245
昨日变化
5

14

主题

254

帖子

1998

积分

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

UID
158398
好友
3
蛮牛币
2105
威望
0
注册时间
2016-8-30
在线时间
800 小时
最后登录
2018-12-11
发表于 2018-3-23 15:53:22 | 显示全部楼层
写写网络吧。加载,裁包之类的!!!

回复 支持 反对

使用道具 举报

5熟悉之中
770/1000
排名
4453
昨日变化
1

6

主题

129

帖子

770

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
922/1000
排名
5079
昨日变化
5

2

主题

454

帖子

922

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

2初来乍到
102/150
排名
13610
昨日变化
5

0

主题

12

帖子

102

积分

Rank: 2Rank: 2

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

回复 支持 反对

使用道具 举报

7日久生情
3423/5000
排名
1717
昨日变化
5

0

主题

2127

帖子

3423

积分

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

UID
219676
好友
1
蛮牛币
2612
威望
0
注册时间
2017-7-12
在线时间
554 小时
最后登录
2018-12-11

活力之星

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

回复

使用道具 举报

3偶尔光临
155/300
排名
16506
昨日变化
10

0

主题

32

帖子

155

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

7日久生情
2954/5000
排名
212
昨日变化
1

0

主题

243

帖子

2954

积分

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

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1366/1500
排名
1753
昨日变化

14

主题

197

帖子

1366

积分

Rank: 6Rank: 6Rank: 6

UID
159315
好友
3
蛮牛币
4876
威望
0
注册时间
2016-7-28
在线时间
483 小时
最后登录
2018-12-11
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 是有问题的

小小建议



回复 支持 反对

使用道具 举报

6蛮牛粉丝
1185/1500
排名
2507
昨日变化
2

0

主题

306

帖子

1185

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

5熟悉之中
945/1000
排名
2859
昨日变化
13

1

主题

142

帖子

945

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
493/500
排名
6991
昨日变化
57

0

主题

166

帖子

493

积分

Rank: 4

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

回复

使用道具 举报

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

本版积分规则

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