作为以后端选手,吭哧吭哧的好不容易用cocos开发了一款小游戏,
 上传的时候发现包太大了,主包超过4M;
 
 我不是选小游戏分包了吗? 怎么还超?
 
 分包的方案:
- 功能裁剪
 - 资源压缩
 - 主包迁移
 - WASM分离
 
1. 功能裁剪
 项目设置中引擎管理器中 功能裁剪里面有很多个引擎,我们剔除掉没用的引擎,就可以减少小程序报的大小; 我做的是一个简单的2D小游戏,只选择了下面的几种引擎

 
2. 资源压缩
 我做的小游戏,资源包里面塞了很多图片,有些用不到的剔除掉;
 很多图片是可以进行压缩的,这也能不少体积
 我是通过 docsmall 这种网站进行压缩的的
3. 主包迁移
 还有一种比较苟的方式, 但是特别彻底;
 原理就是主包只放一个非常简单的开始场景;
 真整的游戏场景放到子包里,
 我的做法比较粗,
 第一步 把原有的游戏和资源 全部塞到一个文件夹中,取名game
 第二步, 创建一个开始场景, 分包不会自动加载,所以我们要手动加载
 第三步, 添加一个按钮,绑定事件,跳转到真整的游戏场景
  protected onLoad(): void {
    assetManager.loadBundle("game", (err, bundle: AssetManager.Bundle) => {});
  }
start_button_clicked() {
    director.loadScene("game_scene");
  }
 
4. WASM分离
 WASM这玩意儿干啥的,我不也不清楚,只是说了这句话
 所有开启了 WASM 的模块,都会在打包时,放入子包,以减少主包占用。
 
这是我写的小游戏 ,用来练手的, 跟屎一样




















