我试着做一个在屏幕上画一个矩形地图的函数。此函数为:

def parseMap(mapIndex):
    tileRect = pygame.Rect(0, 0, 32, 32)
    for x in maps.mapData[mapIndex]:
    tileRect.x = x*16
    for y in x:
        tileRect.y = y*16
        c.blit(maps.grass, tileRect)
        if maps.mapData[mapIndex][x][y] == 1: c.blit(maps.tallGrass, tileRect)

不过,我犯了个错误,
TypeError: invalid rect assignment

在线:
tileRect.x = x*16

我看不出密码有什么问题。谢谢!

最佳答案

如果x是一个列表,那么x * 16是列表重复,而不是乘法。
也就是说,你得到了

tileRect.x = [1, 1, 1, 1, ...]

07-26 05:07