繁体   English   中英

TypeError:pygame.Surface对象不可调用

[英]TypeError: pygame.Surface object not callable

我在更长的python3程序的末尾运行了这段代码:

pygame.init()

size = width, height = 1920, 1080
black = 0, 0, 0

screen = pygame.display.set_mode(size)

scoreboard = pygame.image.load("scorebug.png")
scoreboardrect = scoreboard.get_rect()

screen.fill(black)
screen.bilt(scoreboard, scoreboardrect)
pygame.display.flip()

运行此命令时,出现错误消息pygame.surface对象不可调用。 有什么建议么?

我不完全确定这里发生了什么(由于缺少有关错误的更多信息),但是我有一些猜测。 另外,我会猜测您上面编写的代码不是完整的代码,因为您没有导入pygame。 因此,如果您运行上述代码,则可能会收到此错误(我认为)的原因是因为blit()的使用不正确。 记住,blit()的用法如下:

window.blit(Surface, (x, y))

(x,y)也称为dest,如果我错了,请更正。 但是,您给它提供了一个具有4个索引的元组,它是这样的:

(0, 0, scoreboardrect.get_size()[0], scoreboardrect.get_size()[1]

您可以解决此问题,而不是这样做

 scoreboardrect = scoreboard.get_rect()

只是简单地在(0,0)

screen.blit(scoreboard, (0, 0))

但是,这可能不是正确的答案,因为您没有包括所有代码(while循环在哪里?while循环包含代码吗?如果是的话,为什么在那儿初始化pygame?尝试包括更多代码。)也许我的解决方案不正确。 告诉我,这行得通。

暂无
暂无

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

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