我正在尝试构建一个简单的 tilemap thingy,作为一个更大项目的一部分,我提出的解决方案之一是使用这样的函数:
def tile((value, X, Y)):
if value == 1:
pygame.draw.rect(screen, (0, 0, 0) (X, Y, 64, 64), 0)
我的想法是我将级别设置为一个元组列表,其中包含一个值,该值表示要在此处绘制的图块,然后是该图块的坐标。
当然,这不起作用,因为您不能使用元组作为参数。
我对此的解决方案是从列表中的元组中获取值:
def tile(value, X, Y):
if value == 1:
pygame.draw.rect(screen, (0, 0, 0) (X, Y, 64, 64), 0)
level = [(1, 0, 0), (rest of list)]
tile(level[0[0]], level[0[1]], level[0[2]])
哪个没用,给了我
Traceback (most recent call last):
tile(level[0[0]], level[0[1]], level[0[2]])
TypeError: 'int' object has no attribute '__getitem__'
有没有人有解决方法?我可以通过某种方式将元组作为一系列参数输入函数?或者我只是在使用一种永远不会奏效的完全特殊的方法?我猜这只是由于我的盲目无能,尽管我想被告知其他情况。
Python 2.7,pygame 1.9