Cocos Creator 2.0 之后推出了AssetBundle系统,类似于Unity3D的AssetBundle。先简单讲一下AssetBundle的原理作用,不涉及具体引擎的具体细节,各个游戏引擎之间也略有差异。
AssetBundle是将游戏中使用的资源分成若干个包,这样做的意义在于减少安装包的体积,让用户快速下载并进入游戏,剩下的资源包在游戏过程中后台下载,甚至可以在需要使用某一整块的资源时再下载,节约用户的流量。
另外,可以给AssetBundle增加版本管理,这可以针对不同的玩家提供不同版本的资源,比如针对不同地区的玩家提供不同的语言包。同时,也能够热更新资源。
在Unity3D中,C#是静态语言,安装之后就无法通过AssetBundle或其他方式更新脚本了(不采用动态库的情况下)。但是,依然可以对传统的文本、声音、图片、动画等资源更新,并且可以通过修改挂载在预制上的脚本中的参数,实现某些更新需求。腾讯提供XLua框架,C#+lua脚本的方式实现Unity3D下的热更新方案。但必须预先由C#提供好接口,并且两种语言开发,负担也不小。
Cocos Creator 是支持javascript/typescript语言的,本身就是动态脚本运行,那么是否可以在不重启游戏的情况下实现热更新?
下面我以大厅+子游戏为需求背景,在Cocos 技术栈内,列举几个本人或设想或接触或实现的几种方式。
Cocos Creator AssetBundle 游戏分包方案评估
最新推荐文章于 2023-04-15 22:39:06 发布