似乎每次我在pygame中创建一些东西时,我都必须切换行和列才能正确打印。例如,如果我有:
for col in range(COLS):
board[3][col] = 'tree'
我设置了一个绘制函数,每当板单元格等于3时绘制一个精灵。但是,它绘制一条垂直的树而不是水平线。因为我想迭代第3行中的所有列,所以正确的输出应该是水平的树行。
这只是众多例子中的一个例子,但有没有人知道为什么pygame这样做?
答案 0 :(得分:1)
我认为你的问题是因为在现实世界中我们使用两个系统来描述位置。
首先使用(x,y)
,您可以在
PyGame
,不仅仅是Python
)第二次使用(y,x)
,您可以在
(row, column)
中的(floor, door)
(row, place)
(latitude, longitude)
您使用第二个系统(y,x)
来保存数据,但Pygame使用第一个系统(x,y)
来绘制数据
所以你必须记住将(y,x)
切换到(x,y)
([row][column]
到[column][row]
)
或者您必须将数据保留为[column][row]
((x,y)
)