如何解决在pygame中制作tilemap时地图宽度和高度值的问题
所以,我正在尝试使用 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
?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。