Back to blog

场景#
框架推荐每个 Bundle 有一个自己的场景(公共资源 Bundle 除外),因为这样才能让 BundleManage 的生命周期生效, 如果你不使用 BundleManage 也可以使用单场景来进行开发
资源/脚本结构#
传统的方式是资源和脚本分为两个文件夹存放,但是这样在项目体量增大时导致开发极其不便,你需要上下跳转文件夹才能进行开发, 所以框架推荐使用一个模块一个文件夹,模块内包含自己的预制体、音频、图片等等。这样可以方便模块移动和删除
Bundle 划分#
首场景 Bundle#
首场景 Bundle 也叫做 main Bundle,这是引擎默认的 Bundle,即首场景及其依赖资源的所属 Bundle, 我们在这里存放首屏展示的资源,然后代码内检测更新决定跳转到热更还是登录页面
热更 Bundle#
如果你需要热更,那就得创建一个热更 Bundle,其内存放热更界面资源和代码逻辑
大厅 Bundle#
从首场景或者热更场景可以跳转到大厅 Bundle 的场景,并根据你的游戏逻辑从这个 Bundle 加载登录界面或者大厅界面
大厅 Bundle 之所以单独划分可以方便缩小首包大小,如果你想做到极致首包大小也可以把登陆界面单独划分为一个 Bundle, 这样首包只需要包含首场景、热更、登录三个 Bundle
游戏 Bundle#
游戏 Bundle 分为不同的情况
单游戏模式#
只需要一个游戏 bundle 包含游戏的所有资源及脚本
大厅子游戏模式#
每个子游戏都是一个 Bundle,同时可视项目情况决定是否增加一个公共资源 bundle
多关卡模式#
如果你使用按需加载(使用什么加载什么)的模式,那么一个 Bundle 就可以
如果你使用 Zip 加载,那么则每个关卡为一个 Bundle,方便打包为 Zip