'TypeError:参数1必须是pygame.Surface,而不是list':不理解

我看过其他类似的页面,但是答案是对他们的代码的,但我不理解,错误提示:

  

TypeError:参数1必须是pygame.Surface,而不是list

代码如下:

def get_mask(self):
    return pygame.mask.from_surface(self.img)

def draw_window(win,block):
    win.blit(BG_IMG,(0,0))
    block.draw(win)
    pygame.display.update()

def main():
    block = Block(200,200)
    win = pygame.display.set_mode((WIN_WIDTH,WIN_HEIGHT))

    run = True
    while run:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False

            draw_window(win,block)

    pygame.quit()
    quit()

main()

因此,如果您有答案,请告诉我们!

oejdhoigfiugfiug 回答:'TypeError:参数1必须是pygame.Surface,而不是list':不理解

初始化BG_IMG时,可能已经创建了一个列表:

BG_IMG = [pygame.image.load(...)]

因此,变量BG_IMG不是单个pygame.Surface实例。这是一个包含1个元素的列表。

声明一个对象而不是一个列表:

BG_IMG = pygame.image.load(...)
本文链接:https://www.f2er.com/3000272.html

大家都在问