首先我将游戏分为大厅公用模块和子游戏模块,对资源进行分组然后进行分步分功能加载.
1.每个资源组公用脚本,相当于每个资源组的配置文件,我想的是直接加载对应的一个预制体就想当与加载了整个资源组
@class
export default class AssetLoaderConfig extends cc.Component{
@property([cc.JsonAsset])
public json:cc.JsonAsset[]=[]
@property([cc.Prefab])
public prefabcc.Prefab[]=[]
@property({type:[cc.AudioClip]})
public audioClip:cc.AudioClip[]=[]
@property([cc.SpriteFrame])
public spriteFrame:cc.SpriteFrame[]=[]
}
2.我建立了统一的资源管理模块用来加载和管理资源组。AssetLoaderModule
整个目录结构
- assets
++ outAssets //存放游戏资源组资源
+++ game01 //game01用的图片声音预制体等资源
+++ game02 //game02用的图片声音预制体等资源
+++ 。。。。。
++ resources
+++ game01 //存放game01的资源组
++++ Game01.prefab
+++ game02 //存放game02的资源组
++++ Game02.prefab
…
那么问题来了
1.我打包后相较于资源方在 resource下确实减少了 很多资源的json文件,但是整个包的容量并没减少,好像因为我拖到预制体上的原因,我预制体大了。我这么做起到优化作用了吗???
优点:打包后资源json文件少 项目内可以直接得到图片不许要异步 资源释放加载好管理
缺点:容量方面我简单测试并没有减少,并不知道是否是我测试文件太少,加载资源组不能制作进度条
2.由于我是加载后自行进行资源管理会不会反而存在浪费资源的情况
对于资源组我建立相对应的数据表存放在 AssetLoaderModule中 但是我发现在cc.loader中同样存在一份,会不会浪费了内存呢?
3.有没有更好的优化建议呢?比如说怎样直接生成资源组的配置