我正在尝试在Python 3.35中创建一个简单的基于2D平铺的游戏,但我遇到了多维数组的问题。
我有一个16 * 10大小的区域,我用“floor”对象填充,然后我尝试通过tile调用每个楼层对象的draw方法迭代16 * 10区域区块。这是我遇到麻烦的地方。对于我的生活,我无法弄清楚如何在迭代时调用对象。
这就是我用地板填充区域的方式:
self.tiles = [[],[]]
self.tiles = [[floor() for x in range(self.width)] for x in range(self.height)]
这是我尝试过的:
for x in range(bar.width):
for y in range(bar.height):
bar.tiles[x][y].draw(x,y)
我也尝试过:
for x in range(bar.width):
for y in range(bar.height):
bar.tiles[0][x][1][y].draw(x,y)
第一个版本尝试遍历列表维度(对于x),并在达到2后超出范围。 第二种选择看起来很有希望,但会出现以下错误:
TypeError:'floor'对象不支持索引
有任何帮助吗?感谢。
解决: 好的,第一行应该是
tiles = [[]]
此后第一个版本正常工作