我的代码是这样的 :
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已经是对应的资源了 没有错 可是没有渲染出来
我的代码是这样的 :
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已经是对应的资源了 没有错 可是没有渲染出来
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));
场景层次结构如下:

问题大概解决了 现在问题就是 我先加载地图 但是这个加载资源是异步加载, 程序继续执行后面的代码 因为后面的东西和地图有关 所以就出错了
我解决了 是异步加载资源的问题, 把跟地图相关的操作放到回调里(我是直接把游戏的逻辑都放到回调里面了 因为基本离不开地图)