zoukankan      html  css  js  c++  java
  • 五、微信小游戏 --- 资源管理(加载远程服务器资源)

    由于代码包的限制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下并没有这张图片,导致上传后使用真机扫码访问测试时,不能获取显示这张图片。

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

  • 相关阅读:
    select查询语句
    springboot的热部署
    springboot入门
    java学习之Semaphore信号量
    Java学习之自定义线程池
    java学习之生产者消费者模式
    sql通过其中一个字段计算另一个字段的值
    activeMq用mysql实现持久化方式
    idea创建Hystrix入门实例
    idea创建Eureka Server入门实例
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/9073608.html
Copyright © 2011-2022 走看看