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

扫一扫,访问微社区

开发者专栏

关注:2257

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

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

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

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

[复制链接]  [移动端链接]
5熟悉之中
789/1000
排名
3537
昨日变化
18

9

主题

69

帖子

789

积分

Rank: 5Rank: 5

UID
228559
好友
6
蛮牛币
1940
威望
0
注册时间
2017-6-25
在线时间
313 小时
最后登录
2018-7-16

专栏作家

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

售价: 1 蛮牛币  [记录]


回复

使用道具 举报

5熟悉之中
519/1000
排名
7520
昨日变化
9

0

主题

262

帖子

519

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

3偶尔光临
264/300

0

主题

84

帖子

264

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

6蛮牛粉丝
1186/1500
排名
2122
昨日变化
11

6

主题

195

帖子

1186

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

7日久生情
1642/5000
排名
1562
昨日变化
2

14

主题

233

帖子

1642

积分

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

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

回复 支持 反对

使用道具 举报

5熟悉之中
624/1000
排名
5335
昨日变化
38

6

主题

123

帖子

624

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

3偶尔光临
281/300
排名
11783
昨日变化
180

0

主题

151

帖子

281

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

2初来乍到
102/150
排名
12983
昨日变化
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日久生情
3048/5000
排名
2427
昨日变化
9

0

主题

2080

帖子

3048

积分

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

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

活力之星

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

回复

使用道具 举报

2初来乍到
134/150
排名
16122
昨日变化
6

0

主题

24

帖子

134

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

7日久生情
2749/5000
排名
226
昨日变化

0

主题

245

帖子

2749

积分

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

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1273/1500
排名
1843
昨日变化
3

14

主题

193

帖子

1273

积分

Rank: 6Rank: 6Rank: 6

UID
159315
好友
3
蛮牛币
4732
威望
0
注册时间
2016-7-28
在线时间
456 小时
最后登录
2018-7-15
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熟悉之中
809/1000
排名
3783
昨日变化
19

0

主题

247

帖子

809

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
632/1000
排名
3970
昨日变化
26

1

主题

112

帖子

632

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
464/500
排名
7000
昨日变化
59

0

主题

160

帖子

464

积分

Rank: 4

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

回复

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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