资源已经打包成了资源包,如果想在游戏中使用资源包中的内容,需要先装入资源包到内存中,然后解压该资源包,获得资源包中包含的部分资源。
1.有关项目的建议。
因为之前文章中讲述了加载方式都有各自的使用情况和特点,所以建议按照下列情景在我们的项目中使用这些方法:
随游戏一起发布新的文件夹:
l 打包时,可以将LZ4压缩格式打包。
l 该方法在运行时需要加载对象。
其优点是:
l 可以将文件进行压缩,又能兼顾加载速度并节省内存。
l 要求以更新包形式从服务器端下载。
l 当使用包时,使用默认的格式压缩。
l 下载缓存软件包的方法。
其优点是:可获得最大的压缩率,并可在下载期间减少数据传输量。与此同时,在本地磁盘创建缓存后,还可以考虑加载后的速度,并节省内存。
自行加密:当运行时需要装入对象时,可以使用方法装入,这个使用场景也只有对象是通过使用流数据从内存载入的。
对于生成的包文件,我们也可以使用第三方库或者工具压缩,如果需要的话,我们最好不要再使用,所以在打包时选择打开,方法在运行时需要加载对象时进行异步加载。
2.加载和卸载资源。
这一部分包括:
l 将资源从对象装载。
l 卸载资源。
2.1.从对象装载资源:API名加载和卸载的新旧版本的API名有所改变,但机制没有什么改变。
从对象中装载资源在旧版本4.X中所用主要包括以下几个:
l 从包载入指定的资源。
l 装入当前资源包中的全部资源。
l 异步从资源包加载资源。
新版本的中,装入资源变成了几个:
l 从资源包载入指定资源。
l 装载当前资源包中的所有资源。
l 异步从资源包载入资源。
2.2卸载资源。
l 对资源卸载部分没有什么改变,仍然使用Unload方法。
l 无读取:这个方法卸载运行时内存中包含在包内的所有资源。
l 如果传入参数为true,那么内存中包含的资源不仅是AssetBundle对象。基于这些资源实例化后,游戏中的对象也被销毁。
l 如果传递的参数,就会销毁对象在内存中包含的资源。
此外,还提供了资源冗余预警机制,比如上文中带有的案例的资源出现在多个中,小编需要分别对该资源进行分组。
>>>>>>点击进入游戏开发专题
上一篇:Web前端与H5游戏开发的区别?
下一篇:人工智能如何优化策略游戏?
¥98.00
¥98.00
¥698.00
¥108.00