由于代码包的限制4MB。我们在项目有50MB的时候,需要将部分资源放到远程服务器下载。

我们要做的事情有:

1. 将大部分资源放到远程服务器(支持https,wss) 。

2. 上传微信平台时,只上传小于4MB的必要代码和资源。

3. 在游戏运行时,从远程服务器加载资源。

参考论坛水友的帖子:微信小游戏包内资源、包外资源分开加载

 

 

一、代码包大小限制

由于代码包大小只有4MB。假如游戏有50MB,只能上传4MB以内主项目的代码和小部分资源,将多余资源放在自己服务器上远程加载。

二、游戏资源分组(没有https服务器,所以没有实践成功。)

(补充:后来发现可以勾选不校验域名)

我们在assets中放入多张图片,让项目超过4MB。

 

这时,代码包的大小超过4MB限制,不让上传了。

 

 将大部分图片资源放在远程服务器上,我这里服务器是阿里云的,IP是120.24.188.118。

 

在代码里加载外部服务器资源配置文件。game.res.json是新建的资源配置文件,主要放远程资源,原来的default.res.json放直接上传到微信平台的资源。

 

 结果报错。不合法。因为不支持IP,所以IP换成域名,同样也不合法。

 

到微信公众平台去配置服务器,在平台上找到设置->开发设置->服务器域名

 

 

如果不设置服务器域名,则需要勾选微信开发者工具-详情-不校验合法域名...

这样方能测试..

 

 

 

//代码开始开启纹理跨域,没有这句webgl纹理跨域
egret.ImageLoader.crossOrigin = "anonymous";

  

问题:

1. 主项目assets中的图片资源,在微信开发者工具中assets里却没有。

主项目中有rank_bg.png,直接在微信开发者工具中运行,能够获取并显示这张图片。

但是微信开发者工具文档栏中assets下并没有这张图片,导致上传后使用真机扫码访问测试时,不能获取显示这张图片。

重启微信开发者工具,就有了,然后上传,才能在真机扫码测试时获取和显示这张图片

 

posted on 2018-05-22 19:14  gamedaybyday  阅读(2278)  评论(0编辑  收藏  举报