TypeError:'pygame.Surface'对象不可调用,pygame窗口崩溃

时间:2014-05-04 22:14:12

标签: python crash pygame

我对Pygame和Python很陌生,我刚刚制作了我的第一个代码之一,但不知怎的,我一直收到这个错误:

TypeError: 'pygame.Surface' object is not callable

我不知道代码中是否有问题,或者只是因为Pygame / Python没有正确安装。

bif="bg.jpg"
mif="ball.png"

import pygame, sys
from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((640,360),0,32)

background=pygame.image.load(bif).convert()
mouse_c=pygame.image.load(mif).convert_alpha()

while True:
   for event in pygame.event.get():
     if event.type == QUIT:
        pygame.quit()
        sys.exit()

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

x,y = pygame.mouse.get_pos()
x -= mouse_c.get_width()/2
y -= mouse_c.get_height()/2

screen.blit(mouse_c(x,y))

pygame.display.update()

运行此代码后,pygame窗口崩溃。

1 个答案:

答案 0 :(得分:2)

您缺少逗号:

screen.blit(mouse_c(x,y))

应该是

screen.blit(mouse_c, (x,y))
                 # ^

在第一个版本中,mouse_c(x, y)被解释为尝试使用参数{{调用 mouse_cpygame.Surface,因此无法调用) 1}}和x,当它们实际上是单独的参数(ysource)到screen.blit时。