有关loadres()函数资源加载问题

我知道这个动态加载只能在回调函数中生效,可是我现在需要将动态加载的json文件保存在回调函数之外(在update中调用),目前尝试了在onload()作用域使用var,this创建变量,使用全局变量,可是变量的更改只在回调中生效。
想请问下各位大佬有没有解决方法。

是因为我没有贴图吗。。。都没人回我

好吧我找到问题了,因为是异步加载,所以外部代码得等一会儿才会有数据。

献丑了。

楼主请问你是怎么从外部获取数据呢

cc.loader.getRes

https://docs.cocos.com/creator/manual/zh/scripting/load-assets.html
这是官方文档,有关资源获取的。
https://docs.cocos.com/creator/api/zh/classes/loader.html?h=loader
这个是关于loader的,里面有多种获取外部资源的函数。
要记住creator是异步加载,所以使用的时候一定要判断再使用,不然就没有值。

依赖于异步方式产生的数据,一定要await来等待异步过程完成哦。

你好,做了个挂机游戏,因为功能比较多,所以都是动态加载释放资源,玩了一个小时候后明显卡顿,主要是打开UI重新加载明显变慢了,显示正常后不掉帧,初步定位是_queueDeps这个池越来越大导致循环费时,请问如何快速合理解决呢?
for (var id in _queueDeps) {
var queue = _queueDeps[id];
// Found root queue
if (queue.deps.indexOf(depId) !== -1 && queue.completed.indexOf(depId) === -1) {
queue.completed.push(depId);
}
}

gitHub针对这个有过对应的修改
https://github.com/cocos-creator/engine/commit/a4f7c2c939c1cb8bf8ece4c9dc0b9ea1ac899bdf#diff-7f10959f223b7907b5d32a9b6524a0bd

于此之外,也可能和 _cache 的有关系,资源越来越多,没有被正常释放掉。关于这个你可以检测一下。
不知道是否对你有帮助。

1赞