Unity Tilemap和存储单个Tile数据

我一直在学习Unity,并且想制作类似《最终幻想战术》 /《火焰纹章》的游戏。 我认为最好的方法是使用Unity Tilemaps和“广度优先搜索”。 为了使它起作用,尽管我们需要在放置的每个图块上存储数据。 这是我的做法。

如果您不熟悉Unity Tilemaps或要查找有关它们的更多信息,在我们开始之前,我强烈建议您查看其中的Brackeys视频:

在Tilemap_Ground上,我放下了所有可行走的瓷砖。

现在,Tilemaps有点时髦。 我发现了大量关于创建调色板,铺设磁贴,创建对撞机的教程,但是关于如何在“广度优先搜索”所需的每个磁贴中存储数据的内容却一无所获。 尽管我想出了解决方案,也不要害怕!

我们要做的第一件事是为Tiles创建一个POCO模型,我称其为“ WorldTile”,主要是因为我带来的2d Extras(参见上面的视频)具有一个名为“ Tile”的类,而我没有要与名称冲突。 我还添加了一些在以后进行“广度优先搜索”时需要的属性。

重要的是,不要忘记我们正在使用脚本中的 using UnityEngine.Tilemaps; 来包含 using UnityEngine.Tilemaps;

成功! 我可以单击并将瓷砖变绿! 我们还可以在该场景中的任何地方使用这些数据。 我真的希望这可以帮助我知道是否可以。