Creator 动态加载地图时候,完全加载成功后有回调吗?

  • Creator 版本: 2.0.1

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率: 100%

  • 额外线索:
    先上代码

      cc.loader.loadRes(url, cc.TiledMapAsset, (err, tmxAsset) => {
          if (err) {
              cc.error(err);
              return;
          }
          this.createMap(tmxAsset,mapNode);
      });
    

地图里面的一个对象层里配置的有主角的出生点。
现在的情况是我在onLoad里开始使用loadRes加载地图, this.createMap是将加载的地图资源挂到指定nodeA上, 然后onload后面的代码逻辑是
nodeA.getChildByName(“对象层名”).getComponent(cc.TiledObjectGroup).getObject(“SpawnPoint”)获取主角的出生点.
实际运行时发现代码运行到这一段时候,虽然loadres回调了,但实际上地图并没有创建完, nodeA 下面还没有生成指定的对象层, 导致nodeA.getChildByName(“对象层名”)获取到的一直是null, 就开始报错。
这个有什么比较好的解决办法吗?

this.createMap(tmxAsset,mapNode);

//代码放在这个后面,loadRes是异步执行的
nodeA.getChildByName(“对象层名”).getComponent(cc.TiledObjectGroup).getObject(“SpawnPoint”)获取主角的出生点.

1赞

感谢,已解决。

现在引擎有同步加载的函数吗? 现在异步加载 还是会有一些问题,调用的时候实际没有加载完成。

比如loadRes 和 loadResSync