比如同步加载资源并创建prefab spine等,封装对象池时发现没法写,如:
var gameObject = instantiate( resources.load(“test.prefab”))
gameObject.parent = parent;
现在这个代码动态loadResource是异步有办法同步吗,否则传回调又开始无限套娃了
比如同步加载资源并创建prefab spine等,封装对象池时发现没法写,如:
var gameObject = instantiate( resources.load(“test.prefab”))
gameObject.parent = parent;
现在这个代码动态loadResource是异步有办法同步吗,否则传回调又开始无限套娃了
我们的做法是用async重新封装了一下
应该是没有同步的,预先加载吧,用async感觉不是很好用,太多异步,普通的逻辑都搞复杂了
修改assetManager.downloader 的方法,改用XmlHttprequest中open的第三个参数为false就会阻塞性下载资源了, 不过代码写上去也是以callback形式, 或者在下载并解析好后塞到assetManager.assets里, 然后如下代码处理:
cc.assetManger.loadAny(…);
const prefab = cc.assetManger.get(‘xxxxx’);
用Promise包一层吧,我这边是这么处理的 