新的瓦片地图
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);
}
}
迭代如下所示。
你好,我正在尝试创建一个带有图块的地图,允许我将它们单独放置在地图上的特定区域。正如你在这张图片中看到的
瓷砖使用数字放置在特定区域,我在 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);
}
}
迭代如下所示。