TileMap中具有地形更新功能的api有:set_cells_terrain_connect和set_cells_terrain_path。
这边用的set_cells_terrain_connect来实现放置方块、删除方块的效果。
文档:
放置方块没问题,自动更新地形。删除方块怎么办呢?答案是:同样用set_cells_terrain_connect。
首先想到的是:放置空气地形就相当于删除,文档中提到了“相同地形连接...更新相邻图块”,这里更新相邻图块需要地形集terrain_set相同,保证在一个地形集下,地形terrain设为-1的话,就能实现删除方块的同时,更新周围的方块。
(你要专门弄一个空气地形也是可以的,只要地形集相同)
@onready var tile_map: TileMap = $TileMap
# ...
tile_map.set_cells_terrain_connect(terrain_layer, [tile_local_position], terrain_set, -1)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。