问题
试用原生 Tilemap 取地图大小时发现在地图上绘制图块后,就算擦掉图块,Grid 的 cellBounds 大小也会一直保留被擦掉的图块占用的部分。
原因
来自官方解释
The size of the Tilemap represents the largest bounds which was previously covered by the Tilemap. For performance reasons, erasing tiles does not automatically reduce the size of the Tilemap .
解决
- 对 Tilemap 组件点击设置按钮 -> Compress Tilemap Bounds
或
- 使用代码
1 | tilemap.CompressBounds(); |