在 pygame 中制作 tilemap 时出现地图宽度和高度值问题

Problem with map width and height values when making a tilemap in pygame

所以,我正在尝试使用 pygame 在 python 中创建游戏地图制作工具。我写了一些代码,用于用边界图块初始化地图。为此,我有两个主要变量:tiles_wide 和 tiles_tall。即地图的宽和高有多少瓦片。当它们的值相同时(比如都是 25),我的代码就可以工作。但当它们不存在时,它就会崩溃。我不知道为什么,这让我很沮丧。

我的代码:

tiles_wide = 30
tiles_tall = 25

# Create world list
world_data = []
for row in range(tiles_tall):
    # Create the set number of columns
    num_columns = [0] * tiles_wide
    world_data.append(num_columns)

# Create boundary
for tile in range(0, tiles_wide):
    world_data[tiles_wide - 1][tile] = 2
    world_data[0][tile] = 1
for tile in range(0, tiles_tall):
    world_data[tile][0] = 1
    world_data[tile][tiles_tall - 1] = 1

我得到的确切错误是:

IndexError: list index out of range

这段代码看起来很可疑,因为第一个索引是高度,第二个索引是宽度:

# Create boundary
for tile in range(0, tiles_wide):
    world_data[tiles_wide - 1][tile] = 2
    world_data[0][tile] = 1
for tile in range(0, tiles_tall):
    world_data[tile][0] = 1
    world_data[tile][tiles_tall - 1] = 1

也许应该是:

# Create boundary
for tile in range(0, tiles_wide):
    world_data[tiles_tall - 1][tile] = 2
    world_data[0][tile] = 1
for tile in range(0, tiles_tall):
    world_data[tile][0] = 1
    world_data[tile][tiles_wide - 1] = 1

?