如何动态加载地图,打印出资源了,但是没有正确渲染

我的代码是这样的 :

cc.loader.loadRes(“map/map” + Global.mapID, function (err, map) {
var tiledMap = this.mapNode.addComponent(cc.TiledMap);
tiledMap.tmxAsset = map;
cc.log(map);
}.bind(this));

打印出来map已经是对应的资源了 没有错 可是没有渲染出来

@617976080
是否可以提供测试资源用以重现问题呢?另外,你也可以自己从以下几个方面排查一下:

  1. mapNode 是否添加到了节点树?
  2. mapNode 显示位置是否超出了屏幕范围?

mapNode也可以打印出来 mapNode的坐标是(0,0)

mapNode也可以打印出来 mapNode的坐标是(0,0)

我也遇到了相同的问题。

代码片段如下:
var self = this;
cc.loader.loadRes(“courses/course_1/course_1”, function (err, map) {
if (err) {
cc.error(err);
return;
}
self.mapNode.tmxAsset = map;
self.mapNode.enabled = false;
self.mapNode.enabled = true;
}.bind(this));

场景层次结构如下:

问题大概解决了 现在问题就是 我先加载地图 但是这个加载资源是异步加载, 程序继续执行后面的代码 因为后面的东西和地图有关 所以就出错了

我解决了 是异步加载资源的问题, 把跟地图相关的操作放到回调里(我是直接把游戏的逻辑都放到回调里面了 因为基本离不开地图)