Python 当我尝试使用图像作为背景而不是使用黑色背景时,我的程序将无法运行错误:pygame.surface';对象不可调用

Python 当我尝试使用图像作为背景而不是使用黑色背景时,我的程序将无法运行错误:pygame.surface';对象不可调用,python,pygame,Python,Pygame,我尝试运行此程序,但出现以下错误: Traceback (most recent call last): File "C:/Python/ComputingCW/ComputingCW.py", line 12, in <module> Surface = pygame.image.load('Pygame_Background.jpg')((W, H), 0, 32) TypeError: 'pygame.Surface' object is not callable

我尝试运行此程序,但出现以下错误:

Traceback (most recent call last):
  File "C:/Python/ComputingCW/ComputingCW.py", line 12, in <module>
    Surface = pygame.image.load('Pygame_Background.jpg')((W, H), 0, 32)
TypeError: 'pygame.Surface' object is not callable

这看起来像是名称冲突。Surface是一个模块(或子模块),但此行似乎覆盖了此Surface对象:

Surface = pygame.image.load('Pygame_Background.jpg')((W, H), 0, 32)

我会尝试在左侧使用不同的变量,例如surf_bg。

这看起来像是名称冲突。Surface是一个模块(或子模块),但此行似乎覆盖了此Surface对象:

Surface = pygame.image.load('Pygame_Background.jpg')((W, H), 0, 32)

我会尝试在左侧使用不同的变量,例如surf_bg。

尝试使用
'Pygame_Background.jpg'文件的绝对路径。


从驱动器的字母开始跟踪目录

尝试使用
'Pygame\u Background.jpg'文件的绝对路径


从驱动器的字母开始跟踪目录

这一行
pygame.image.load('pygame\u Background.jpg')
从硬盘加载图像并将其转换为对象。现在,您有了这个曲面,并尝试像调用函数一样调用它,
((W,H),0,32)
,这会导致
类型错误,因为曲面对象不是函数(它不可调用)

你真正想做的是:

  • 创建显示窗口(我在这里称之为
    screen

  • 加载背景图像(最好称之为
    background
    ,因为
    Surface
    pygame.Surface
    类的名称)

    另外,调用
    pygame.Surface.convert
    convert\u alpha
    方法来提高性能

  • 在主while循环中将
    背景
    和其他所有内容显示在屏幕上

    screen.blit(background, (0, 0))
    screen.blit(text, text_rect)
    

  • 这一行
    pygame.image.load('pygame\u Background.jpg')
    从硬盘加载图像并将其转换为对象。现在,您有了这个曲面,并尝试像调用函数一样调用它,
    ((W,H),0,32)
    ,这会导致
    类型错误,因为曲面对象不是函数(它不可调用)

    你真正想做的是:

  • 创建显示窗口(我在这里称之为
    screen

  • 加载背景图像(最好称之为
    background
    ,因为
    Surface
    pygame.Surface
    类的名称)

    另外,调用
    pygame.Surface.convert
    convert\u alpha
    方法来提高性能

  • 在主while循环中将
    背景
    和其他所有内容显示在屏幕上

    screen.blit(background, (0, 0))
    screen.blit(text, text_rect)
    
  • screen.blit(background, (0, 0))
    screen.blit(text, text_rect)