c# - 统一生成一个空的tilemap
问题描述
我想创建一个 TD 游戏,其中地图是在运行时生成的 tilemap。目前我正在尝试创建带有空瓷砖的瓷砖地图,然后,我将使用 A-star 算法来制作路径。目前,我在下面写了这个函数。一切正常,当游戏开始时我可以在编辑器中看到网格和瓷砖地图,但瓷砖不存在......
void initTilemap(){
GameObject grid = new GameObject("Grid");
GameObject tilemap = new GameObject("Tilemap");
grid.AddComponent<Grid>();
tilemap.AddComponent<Tilemap>();
tilemap.transform.SetParent(grid.transform);
collidableMap = tilemap.GetComponent<Tilemap>();
collidableMap.ClearAllTiles();
Tile tile = (Tile) Resources.Load("Tile/grass");
for (int x = 0; x < 10; x++)
{
for (int y = 0; y < 10; y++)
{
Vector3Int p = new Vector3Int(x,y,0);
// GameObject tile = new GameObject("TileBase");
collidableMap.SetTile(p, tile);
}
}
}
解决方案
修改代码后,您可能需要在 TileMap 上调用RefreshAllTiles() 。
推荐阅读
- xamarin.forms - 在 xamarin 表单中将按钮对齐到右侧
- python - 递归检索 id 值的最佳数据结构是什么?
- java - 如何将 Json(来自过程)映射到 Java 对象
- sql - SQL:针对 chinook 数据库更高效的 sql 查询
- azure - 将本地存储的文档文档移动到 azure
- r - 在对线性模型应用对比之前解决组之间的不等方差?(r)
- r - 在 R 中对二维列表进行排序(字符和数字的混合)
- regex - BASH:使用正则表达式从 dd_mm_yyy 获取文件名的日期
- javascript - 我不能用javascript做一个简单的计算器
- reactjs - 警告:函数作为 React 子级无效。如果您返回 Component 而不是
从渲染