我是 Unity 新手,我已经在互联网上搜索了大约 5 天,了解如何为 Tic Tac Toe 游戏创建无限板以及无限板 Tic Tac Toe 游戏中的获胜组合是什么。请问有人可以帮我吗?
类似这样的事情
https://tic.netlify.app/
我尝试了许多不同的选项,例如使用这样的 C# 脚本生成网格
public void GenerateGrid()
{
_tiles = new Dictionary<Vector2, Tile>();
for (int x = 0; x < _width; x++)
{
for (int y = 0; y < _height; y++)
{
var spawnedTile = Instantiate(_tilePrefab, new Vector3(x, y), Quaternion.identity);
spawnedTile.name = $"Tile {x} {y}";
var isOffset = (x % 2 == 0 && y % 2 != 0) || (x % 2 != 0 && y % 2 == 0);
spawnedTile.Init(isOffset);
_tiles[new Vector2(x, y)] = spawnedTile;
}
}
_cam.transform.position = new Vector3((float)_width / 2 - 0.5f, (float)_height / 2 - 0.5f, -10);
}
但现在的问题是如何无限生成这个网格?为了处理这种情况,我决定当相机移动到屏幕边缘附近时生成新的网格,但什么也没有发生。然后我决定使用 Tilemap ,仍然没有希望。有人可以帮我吗?如何生成无限网格板?最好的方法是什么。存档这个?
伪代码形式的字典方法:
当相机移动时
当玩家移动时
棘手的部分是平滑地生成瓦片地图。我建议将相机游戏对象保持在原点,因为浮点错误很远(如果你有足够的耐心到达那里)将会很明显。让图块地图在到达终点时快速向后移动。就游戏玩法而言,我想指出的是,你有一个非常大的游戏环境,但并不是真正无限的游戏环境。当到达坐标类型范围的末尾时,您将环绕。崩溃的唯一危险是如果你玩的时间足够长而内存不足。