新的瓦片地图

New with tile map

你好,我正在尝试创建一个带有图块的地图,允许我将它们单独放置在地图上的特定区域。正如你在这张图片中看到的

:

瓷砖使用数字放置在特定区域,我在 visual studio 上使用 Monogame,我在这样做时找不到 methods/explanations,这不是一个容易回答的问题,因为有很多选项可以给,但任何东西都会受到赞赏。

编辑:

我也在尝试放置瓷砖以用单块瓷砖铺路。

您可以像下面这样从二维数组构建它,最重要的部分是绘图上图块的位置

x * texture.Width 确保在 x 轴上一个接一个地绘制纹理。

y * texture.Height 确保将纹理线绘制在彼此下方。

tilesPosition[y][x] 包含将要绘制的图块的位置(在您的情况下为 0 到 18)

var textures = new Texture2D[]
{
    Content.Load<Texture2D>("texture0"),
    // others
    Content.Load<Texture2D>("texture18")
}

int[][] tilesPosition = new int[][]
{
    new[] {0, 0, 0, 0, 0, 0, 0},
    // others
    new[] {0, 0, 1, 2, 3, 4, 0},
    // others
    new[] {18, 18, 18, 18, 18, 18, 18}
};

for (int y = 0; y < tilesPosition.Length; y++)
{
    for (int x = 0; x < tilesPosition[x].Length; x++)
    {
        var texture = textures[tilesPosition[y][x]];
        Vector2 position = new Vector2(x * texture.Width,y * texture.Height)
        spriteBatch.Draw(texture, position, Color.White);
    }
}

迭代如下所示。