2.3.3 TiledMap.setTileGIDAt在原tile为空时不生效

如题,只有原tile不为空时才能修改tile

这是原tiledmap

这是遍历修改后的效果,原来有tile的都改变,没有的没有效果

有大佬帮忙看下吗

这个接口的作用是将指定的 tile 坐标替换为指定的 TiledTile,所以当坐标位置没有 tile ,那么就不会替换。

使用getTiledTileAt生成新tile再设置gid,也是一样的效果
let tile = this.numLayer.getTiledTileAt(pos.x, pos.y, true);
tile.gid = index + 1;

其实你可以搞个透明的图块,在空的图块上都放上透明图块。

现在就是这样搞的,只是我这tilemap 是100*100的,有没有批量点的啊,难道要点1万次

用油漆桶呀

因为老项目要升级 到 2.4.0 ,有这方面的需求,这里能修改引擎源码实现吗,如果可以,需要修改哪里呢,看了一段时间,还是没找到解决方式,如果去修改 地图文件的话,文件确实有点多

直接修改 setTileGIDAt 这个接口。

你这样设置,能把title的 texture 给 改了?