1)笔记
1)H5游戏资源加载的流程
H5游戏,资源最开始是在网络服务器上;
启动H5游戏-->从服务器上,第一个当前场景的依赖的资源,从远程服务器下载下来,并运行;
a: 当前没有使用的资源,依然在服务器上;
b: 你其它的模块的场景这些资源,也还会在服务器上;
H5游戏,预加载:
H5: 都有一个启动预加载,还没开始进入游戏场景,先加载;-->微信小游戏/H5 启动加载;
在场景切换的过程中:我们可以有2种方式做到资源预加载:
加载资源比较多的切换,那么这个时候,我们会使用进度条进行处理;
如果加载比较短,我们可加一个等待的方式,来处理,隐藏掉等待;
框架,只有一个场景,每个模块会有自己的资源,资源管理;
creator资源加载都是异步的,cc.loader.loadRes("", function(){在回到里面进行处理})
2)creator cc.loader异步,我们的策略
(1)每个模块自己的 "场景" 的资源的依赖,由自己管理,资源配置表;
(2)每个模块,都要有自己的预加载函数来加载我们的资源;
(3)在切换的时候,我们要卸载当前模块的资源,如果你希望卸载的话;
资源管理模块,是基于我们的场景模块集合的管理模式:
step1:我们会定义一个资源集合包:{场景里面所需要的所有资源}
step2: 预加载这个场景资源包
step3:直接进去,这样子你就可以来使用已经加载好的资源;
step4: 离开的时候,我们就可以释放这个资源包,如果内存允许,也可以不释放;
3)资源加载模块的实现
(1)实现的资源加载模块是一个组件实例的单例模式;
(2)cc.loader重要接口: 代码加载资源cc.loadRes(url); // url必须要在resources路径下;
cc.release(资源对象, url, url数组均可)
(3)预制体你要特别的注意: 因为预制体,他依赖其他的资源,所以你释放一个预制体,你还要释放他的依赖;
cc.loader.获取依赖;
骨骼动画等做成预制体即可;
传进来是url,因此获取也是url
4)测试:添加第一次启动的资源
creator进度条,第一次加载场景;
creator场景里面只有一个空场景,黑了;
预加载需要时间,所以有一段时间是黑的;
方法1: 绑定,在进度条的时候转载进来;
直接Prefab拖到编辑器上;
方法2: 启动页面,进入到你的第一个场景;
我的思考?
预加载完后,图片, ab包, plist 在内存中存在形式是什么?
来源:CSDN
作者:cocos+unity+node
链接:https://blog.csdn.net/themagickeyjianan/article/details/103893036