繁体   English   中英

Python 错误(类型错误:'pygame.Surface' object 不可调用)

[英]Python Error (TypeError: 'pygame.Surface' object is not callable)

当使用图像创建函数时,我遇到了 python 的问题,代码如下: 这通常发生在使用 function 创建类时,我想运行它在屏幕上显示图像。

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的 class 实例方法。

你不能那样做。 为其中之一取一个不同的名字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM