let node = null;
switch (layer) {
case Layer.Brick:
// node = Utils.LayerManager.LayerBrick.getTileAt(tilePos);
this.addBrick(tilePos, new Tile(tilePos.x, tilePos.y, layer, node, gid, properties));
break;
case Layer.Hide:
node = Utils.LayerManager.LayerHide.getTileAt(tilePos);
this.addHide(tilePos, new Tile(tilePos.x, tilePos.y, layer, node, gid, properties));
break;
default:
break;
}
先交待下工程背景:
Creator : 1.10.2
TiledMap : 1.2.3制作
Creator启动时输出的是
Cocos Creator v1.10.2
cocos2d: TMXFormat: Unsupported TMX version: 1.2
不调用getTileAt(xx)就是正常的,如果把注释的代码打开就出现图2里的样子,网上找了一些资料,并没找到解决方法。
就算只是调用 Utils.LayerManager.LayerBrick.getTileAt(tilePos); 不赋值也会出错
疑问就是:
1。很奇怪为啥会出现这种现象
2。查了下API,没发现其它能拿到对应NODE节点的方法了
LayerBrick也是通过API获取的TiledLayer
private map : cc.TiledMap; ... this._layerBricks = this.map.getLayer(LayerManager.LayerName[Layer.Brick]); // 砖块层, 可交互层 this._layerHide = this.map.getLayer(LayerManager.LayerName[Layer.Hide]); // 隐藏层
正常

错误
