Python Error (TypeError: 'pygame.表面对象不可调用)



在使用图像创建函数时,我有一个python问题,下面是代码:这通常发生在创建带有我想要运行的函数的类时,该函数在屏幕上显示图像。

import pygame
white = (255,255,255)
width,height = 800,500
win = pygame.display.set_mode((width,height))
pygame.display.set_caption("Test")
class Game:
def __init__(self):
self.player = pygame.image.load("graphics/player/player.png")
def player(self):
win.blit(self.player, (0,0))
pygame.display.update()


game = Game()
def functions():
game.player()
def loop():
flag = True
clock = pygame.time.Clock()
while flag:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
flag = False
pygame.quit()
functions()
pygame.display.update()

loop()

错误信息是:

Traceback (most recent call last):
File "C:", line 35, in <module>
loop()
File "C:", line 32, in loop
functions()
File "C:", line 19, in functions
game.player()
TypeError: 'pygame.Surface' object is not callable
class Game:
def __init__(self):
self.player = pygame.image.load("graphics/player/player.png")
def player(self):
win.blit(self.player, (0,0))
pygame.display.update()

__init__()定义了一个名为self.player的属性。

还有一个类实例方法叫做player

你不能那样做。为其中一个选择不同的名称。

最新更新