如何以编程方式将Tilemaps添加到网格

时间:2019-01-04 18:41:00

标签: unity3d

我是Unity3d的新手,我正在尝试制作我的第一个2d游戏。
为了在Unity中创建Tilemap,我们通常使用right-click then choose 2D Object > Tilemap,它为我们提供了Grid + Tilemap,该网格中的每个子tile图都被视为一个图层。

我想要的是能够使用脚本生成/添加图块到空的网格(每次清空网格然后添加图层)。

我想制作一个地图系统,在每次玩家更改地图时都使用二进制文件生成地图。

有可能吗?

1 个答案:

答案 0 :(得分:0)

由于@ryeMoss,我最终完成了以下操作:

private Tilemap CreateTilemap(string tilemapName)
{
    var go = new GameObject(tilemapName);
    var tm = go.AddComponent<Tilemap>();
    var tr = go.AddComponent<TilemapRenderer>();

    tm.tileAnchor = new Vector3(AnchorX, AnchorY, 0);
    go.transform.SetParent(_mapGrid.transform);
    tr.sortingLayerName = "Main";

    return tm;
}