通过cc.loader.loadRes(url,cc.SpriteAtlas,function(err, atlas){})加载的资源,可以重复使用吗?

通过cc.loader.loadRes(url,cc.SpriteAtlas,function(err, atlas){})提前加载的资源保存为全局变量,在需要使用的时候,通过atlas.getSpriteFrame(name)找到对应的资源。请问官方推荐保存全局变量,还是需要使用的时候再cc.loader.loadRes()加载资源

loadRes 一次后,会缓存下来的,2 个方法都可以,看个人习惯

那这个cc.SpriteAtlas缓存在哪里呢?能不能用代码获取到,在cc.loader类吗?

请问下,能否保持原有数据不变呢?目前猜测您这边存的是引用
目前遇到一个问题,下载下来的数据是一个json对象,层次较深,之后赋值给了变量A,变量A需要修改该数据,在同一场景,又重新下载了一次,赋值给了变量B,发现B的值变了(期望是初始值, 结果跟A一样)。

这种场景下,如何解决呢?目前这边是通过JSON.parse(JSON.stringify(res))来解决这个问题,有更好的方式吗?

3.x的话 resources本身就是一个bundle 可以直接用get获取缓存